tallyСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (9)
alpha
0.1.94-mod
0.1.94-mod17 сент. 2026 г.200Minecraft: 26.3fabric, forge, neoforge, quilt
Что нового
add support for Minecraft v26.3
beta
v0.1.94-datapack
v0.1.94-datapack17 сент. 2026 г.44Minecraft: 26.3datapack
Что нового
add support for Minecraft v26.3
beta
0.1.94-plugin
0.1.94-plugin17 сент. 2026 г.33Minecraft: 26.3bukkit, paper, spigot
Что нового
add support for Minecraft v26.3
beta
0.1.86-mod
0.1.86-mod1 сент. 2026 г.98Minecraft: 26.2fabric, forge, neoforge, quilt
Что нового
# Tally Datapack — v0.1.86
**Minecraft 26.2** · Pack format **116**
**Previous public release:** **v0.1.64** (datapack zip and mod jar carried the same `data/` + `assets/`).
This note covers the **datapack product** — advancement tree, rewards, and `/function tally:admin/reward/*` operator tools. It applies equally whether you install **`Tally.zip`** or **`tally-0.1.86-mod.jar`**.
**Not covered here:** the **Paper plugin** (`tally-plugin-0.1.86.jar`) — that is a separate install with `/tally` commands and admin GUI. See [v0.1.86 plugin release notes](v0.1.86-plugin.md).
---
## Install variants (same content, different packaging)
| Variant | What it is | Operator tools | Player-facing |
|---------|------------|----------------|---------------|
| **`Tally.zip`** | Datapack in `world/datapacks/` | `/function tally:admin/reward/*` | Advancements + rewards |
| **`tally-0.1.86-mod.jar`** | **Same** `data/` + `assets/` embedded for Fabric / Quilt / NeoForge — no Java code, no entrypoints | **Same** functions as zip | **Same** as zip |
| **`tally-plugin-0.1.86.jar`** | Paper plugin; bundles zip + convenience layer | `/tally` + chest GUI **and** functions | **Same** advancements; optional bootstrap card |
**Pick one datapack delivery path:** zip **or** mod jar — **not both**. Do not also drop `Tally.zip` if the mod jar is installed.
The mod jar is **not** a separate feature line. It does **not** add `/tally`, chest menus, fuzzy search, or `/tally advancement`. Those exist only on **Paper + plugin**.
---
## Product overview
- **10,255 advancements** in one vanilla-style tree across **six tabs**
- **Treasure Tally** (obtain) · **Workbench Wonders** (craft) · **Curated Collections** (sets) · **Wide World** (explore) · **Bestiary** (combat) · **Gear & Glory** (progression)
- **Hold tiers** on many lines: discover → stockpile → vault → hoard (inventory counts)
- **Tally Keeper** voice in advancement descriptions: criterion, place in tree, what unlocks next
- **XP + item rewards** on tier completion, multiplayer-safe (direct `@s` payout on natural completion)
- **Runtime reward policy** — mute or retune payouts without repackaging
---
## What changed in the datapack since v0.1.64
These changes ship in **both** `Tally.zip` and `tally-0.1.86-mod.jar` (same groom output).
### Admin functions
- **`enable_global_items` / `disable_global_items`** — explicit global item gate set/clear
- **`enable_global_experience` / `disable_global_experience`** — explicit global XP gate set/clear
- **`enable_defaults`** — clear all global overrides (default ON)
- **`help`** — expanded operator reference (global, per-entry, bulk scope, maintenance)
- **`status`** — richer policy summary
- **`version`** — reports **0.1.86**
- **`load.mcfunction`** — startup wiring for reward admin
### Groom / build
- **`reward-admin-toggles.mjs`** — admin reward toggle macros (also dispatched by Paper plugin GUI)
- **`reward-server.mjs`** — server-side reward function generation
- **`build-lore-sync.mjs`** — lore sync pipeline tweaks
### Metadata
- Pack format **116**, version stamp **0.1.86** across zip and mod jar
---
## Reward policy system
Policy is stored in **`storage tally:reward_overrides`** at runtime.
**Flag rule:** absent or `1b` = pays · `0b` = blocked
**Layers (most specific wins):**
1. **Global** — master rewards, items, experience gates
2. **Scopes** — tab, wing, tier, frame
3. **Per-advancement entries** — path keys like `craft/blocks/g036/composter/first`
**Duplicate protection:** `storage tally:completion` records paid advancement slugs.
---
## Admin functions (`tally:admin/reward/*`)
Zip and mod installs use **only** these (plus vanilla `/advancement` for progress).
### Inspect
| Function | Purpose |
|----------|---------|
| `status` | Global gates + raw storage dump |
| `help` | Operator command reference in chat |
| `info` | One entry (`rel` on `storage tally:admin`) |
| `version` | Build id (**0.1.86**) |
| `ping` | Connectivity check (+ 1 XP) |
| `test_grant` | 150 XP + compass smoke test |
| `diag_grant` | Grant trace + storage dump |
### Global gates
`disable_all_rewards` / `enable_all_rewards` / `toggle_global_rewards`
`disable_global_items` / `enable_global_items` / `toggle_global_items`
`disable_global_experience` / `enable_global_experience` / `toggle_global_experience`
`enable_defaults`
### Per-advancement
Set `rel` on `storage tally:admin`, run `with storage`:
`toggle_rewards` · `toggle_items` · `toggle_experience` · `toggle_advancement` · `set_experience` · `set_item_count` · `adjust_experience` · `adjust_item_count` · `clear` · `info`
### Bulk scope
Set `scope` on `storage tally:admin`:
`toggle_scope_rewards` · `toggle_scope_items` · `toggle_scope_experience` · `clear_scope`
### Maintenance
`init` · `reset_testing` · `run_reconcile` · `sync_lore` · `flush_lore`
---
## Reward display lore
“You earn” tooltips use **`assets/tally/lang/en_us.json`** inside the pack. No second datapack required.
---
## Install
### Datapack zip
1. Put `Tally.zip` in `world/datapacks/`
2. **Full server restart** (not `/reload`)
### Mod jar (Fabric / Quilt / NeoForge)
1. Put `tally-0.1.86-mod.jar` in `mods/`
2. **Do not** also install `Tally.zip`
3. **Full server restart**
### Verify (zip or mod)
```
/function tally:admin/reward/version
/function tally:admin/reward/ping
/function tally:admin/reward/test_grant
```
Expect **1 XP** from `ping`, **150 XP + compass** from `test_grant`. Version should report **0.1.86**.
---
## Upgrade from v0.1.64
| From | Steps |
|------|--------|
| **Zip** | Replace `Tally.zip`, restart, verify |
| **Mod jar** | Replace `tally-0.1.64-mod.jar` with `tally-0.1.86-mod.jar`, remove duplicate zip if present, restart, verify |
`storage tally:reward_overrides` is preserved unless you run `reset_testing`.
---
## What zip and mod do **not** include
- No `/tally` commands
- No chest admin GUI or fuzzy advancement search
- No `/tally advancement grant/revoke` — use vanilla `/advancement` or install the **Paper plugin**
For that surface, use [v0.1.86 plugin release notes](v0.1.86-plugin.md) on **Paper 26.2+**.
beta
0.1.86-datapack
0.1.86-datapack1 сент. 2026 г.15Minecraft: 26.2datapack
Что нового
# Tally Datapack — v0.1.86
**Minecraft 26.2** · Pack format **116**
**Previous public release:** **v0.1.64** (datapack zip and mod jar carried the same `data/` + `assets/`).
This note covers the **datapack product** — advancement tree, rewards, and `/function tally:admin/reward/*` operator tools. It applies equally whether you install **`Tally.zip`** or **`tally-0.1.86-mod.jar`**.
**Not covered here:** the **Paper plugin** (`tally-plugin-0.1.86.jar`) — that is a separate install with `/tally` commands and admin GUI. See [v0.1.86 plugin release notes](v0.1.86-plugin.md).
---
## Install variants (same content, different packaging)
| Variant | What it is | Operator tools | Player-facing |
|---------|------------|----------------|---------------|
| **`Tally.zip`** | Datapack in `world/datapacks/` | `/function tally:admin/reward/*` | Advancements + rewards |
| **`tally-0.1.86-mod.jar`** | **Same** `data/` + `assets/` embedded for Fabric / Quilt / NeoForge — no Java code, no entrypoints | **Same** functions as zip | **Same** as zip |
| **`tally-plugin-0.1.86.jar`** | Paper plugin; bundles zip + convenience layer | `/tally` + chest GUI **and** functions | **Same** advancements; optional bootstrap card |
**Pick one datapack delivery path:** zip **or** mod jar — **not both**. Do not also drop `Tally.zip` if the mod jar is installed.
The mod jar is **not** a separate feature line. It does **not** add `/tally`, chest menus, fuzzy search, or `/tally advancement`. Those exist only on **Paper + plugin**.
---
## Product overview
- **10,255 advancements** in one vanilla-style tree across **six tabs**
- **Treasure Tally** (obtain) · **Workbench Wonders** (craft) · **Curated Collections** (sets) · **Wide World** (explore) · **Bestiary** (combat) · **Gear & Glory** (progression)
- **Hold tiers** on many lines: discover → stockpile → vault → hoard (inventory counts)
- **Tally Keeper** voice in advancement descriptions: criterion, place in tree, what unlocks next
- **XP + item rewards** on tier completion, multiplayer-safe (direct `@s` payout on natural completion)
- **Runtime reward policy** — mute or retune payouts without repackaging
---
## What changed in the datapack since v0.1.64
These changes ship in **both** `Tally.zip` and `tally-0.1.86-mod.jar` (same groom output).
### Admin functions
- **`enable_global_items` / `disable_global_items`** — explicit global item gate set/clear
- **`enable_global_experience` / `disable_global_experience`** — explicit global XP gate set/clear
- **`enable_defaults`** — clear all global overrides (default ON)
- **`help`** — expanded operator reference (global, per-entry, bulk scope, maintenance)
- **`status`** — richer policy summary
- **`version`** — reports **0.1.86**
- **`load.mcfunction`** — startup wiring for reward admin
### Groom / build
- **`reward-admin-toggles.mjs`** — admin reward toggle macros (also dispatched by Paper plugin GUI)
- **`reward-server.mjs`** — server-side reward function generation
- **`build-lore-sync.mjs`** — lore sync pipeline tweaks
### Metadata
- Pack format **116**, version stamp **0.1.86** across zip and mod jar
---
## Reward policy system
Policy is stored in **`storage tally:reward_overrides`** at runtime.
**Flag rule:** absent or `1b` = pays · `0b` = blocked
**Layers (most specific wins):**
1. **Global** — master rewards, items, experience gates
2. **Scopes** — tab, wing, tier, frame
3. **Per-advancement entries** — path keys like `craft/blocks/g036/composter/first`
**Duplicate protection:** `storage tally:completion` records paid advancement slugs.
---
## Admin functions (`tally:admin/reward/*`)
Zip and mod installs use **only** these (plus vanilla `/advancement` for progress).
### Inspect
| Function | Purpose |
|----------|---------|
| `status` | Global gates + raw storage dump |
| `help` | Operator command reference in chat |
| `info` | One entry (`rel` on `storage tally:admin`) |
| `version` | Build id (**0.1.86**) |
| `ping` | Connectivity check (+ 1 XP) |
| `test_grant` | 150 XP + compass smoke test |
| `diag_grant` | Grant trace + storage dump |
### Global gates
`disable_all_rewards` / `enable_all_rewards` / `toggle_global_rewards`
`disable_global_items` / `enable_global_items` / `toggle_global_items`
`disable_global_experience` / `enable_global_experience` / `toggle_global_experience`
`enable_defaults`
### Per-advancement
Set `rel` on `storage tally:admin`, run `with storage`:
`toggle_rewards` · `toggle_items` · `toggle_experience` · `toggle_advancement` · `set_experience` · `set_item_count` · `adjust_experience` · `adjust_item_count` · `clear` · `info`
### Bulk scope
Set `scope` on `storage tally:admin`:
`toggle_scope_rewards` · `toggle_scope_items` · `toggle_scope_experience` · `clear_scope`
### Maintenance
`init` · `reset_testing` · `run_reconcile` · `sync_lore` · `flush_lore`
---
## Reward display lore
“You earn” tooltips use **`assets/tally/lang/en_us.json`** inside the pack. No second datapack required.
---
## Install
### Datapack zip
1. Put `Tally.zip` in `world/datapacks/`
2. **Full server restart** (not `/reload`)
### Mod jar (Fabric / Quilt / NeoForge)
1. Put `tally-0.1.86-mod.jar` in `mods/`
2. **Do not** also install `Tally.zip`
3. **Full server restart**
### Verify (zip or mod)
```mcfunction
/function tally:admin/reward/version
/function tally:admin/reward/ping
/function tally:admin/reward/test_grant
```
Expect **1 XP** from `ping`, **150 XP + compass** from `test_grant`. Version should report **0.1.86**.
---
## Upgrade from v0.1.64
| From | Steps |
|------|--------|
| **Zip** | Replace `Tally.zip`, restart, verify |
| **Mod jar** | Replace `tally-0.1.64-mod.jar` with `tally-0.1.86-mod.jar`, remove duplicate zip if present, restart, verify |
`storage tally:reward_overrides` is preserved unless you run `reset_testing`.
---
## What zip and mod do **not** include
- No `/tally` commands
- No chest admin GUI or fuzzy advancement search
- No `/tally advancement grant/revoke` — use vanilla `/advancement` or install the **Paper plugin**
For that surface, use [v0.1.86 plugin release notes](v0.1.86-plugin.md) on **Paper 26.2+**.
alpha
0.1.86-plugin
0.1.86-plugin1 сент. 2026 г.37Minecraft: 26.2bukkit, paper, spigot
Что нового
# Tally Paper Plugin — v0.1.86 (Initial Release)
**Minecraft 26.2** · **Paper 26.2+** · Requires the Tally datapack (bundled inside the JAR)
This is the **first public release** of the **Tally Paper plugin**. The datapack remains the product — **10,255 advancements**, reward policy, and payout logic. The plugin installs the bundled zip, exposes **`/tally` commands**, and gives staff a **searchable chest admin GUI** that dispatches the same **`tally:admin/reward/*`** functions as the datapack-only operator path.
**Prior shipping baseline:** Tally **datapack + mod v0.1.64**. There was no plugin JAR before this release.
---
## Highlights
- **Bundled datapack install** — ships `Tally.zip` inside the JAR; auto-extract and auto-enable on world save (configurable)
- **Chest admin hub** — reward policy, maintenance, bulk scopes, status, and advancement browse without typing function paths
- **Indexed fuzzy search** — ~9,500+ advancement rels built from bundled `advancement-reward-index.json` into an in-memory inverted + trigram index; sub-millisecond queries after index warm-up
- **Ranked search results** — relevance scoring; best matches first
- **Lazy paginated browse** — only **36 entries per page** materialized in the GUI (no full-catalog freeze)
- **Anvil search with Enter** — type a query, press **Enter** or click the spyglass output; **Esc** with unchanged text cancels
- **Full `/tally reward` CLI** — mirrors datapack admin functions (toggle, set, adjust, clear, global gates, status, test)
- **`/tally advancement`** — grant, revoke, and inspect datapack progress for one player
- **Clickable help** — `/tally help` and reward help use Adventure components
- **On-join bootstrap presence** — optional player-facing card (theme, hints, quick-start links)
- **Shirecraft admin navigation** — soul campfire = up one level; soul torch = back and pagination
---
## Install
1. Drop **`tally-plugin-0.1.86.jar`** into `plugins/` (remove any older `tally-plugin-*.jar`)
2. **Restart** the server — Tally never uses `/reload` for datapack updates
3. Verify:
```mcfunction
/function tally:admin/reward/version
/function tally:admin/reward/ping
/tally reward test
/tally admin
```
### Upgrade from datapack-only or mod (v0.1.64)
1. Install the plugin JAR and restart
2. The plugin refreshes `world/datapacks/Tally.zip` when `datapack.auto-install` is on (default)
3. Existing **`storage tally:reward_overrides`** is preserved
4. Run **`/function tally:admin/reward/status`** or **`/tally reward status`** to confirm policy after upgrade
5. If you run the **mod jar**, do **not** also drop `Tally.zip` manually — pick **mod** or **plugin-bundled zip**, not both
---
## Bundled datapack install
- Ships **`Tally.zip`** inside the plugin JAR
- On startup: extracts to `world/datapacks/Tally.zip` (`datapack.auto-install`, default **on**)
- Auto-enables on each world save (`datapack.auto-enable`, default **on**)
- **`post-enable-wait-ticks`** — delay after enable before plugin continues startup (default 100)
- **Full server restart** after every JAR or zip update
---
## Commands (`/tally`, alias `/tallyadmin`)
| Command | Purpose |
|---------|---------|
| `/tally admin` | Open the chest admin hub |
| `/tally help` | Clickable help (Adventure components) |
| `/tally reload` | Reload `config.yml` + rebuild advancement search index |
| `/tally reward …` | Full reward policy CLI (datapack function dispatch) |
| `/tally advancement grant\|revoke\|info <path> [player]` | Grant/revoke datapack progress or inspect an entry |
### `/tally reward` subcommands
| Subcommand | Purpose |
|------------|---------|
| `status` | Datapack policy summary + raw storage dump (in-game player required) |
| `global <items\|experience\|rewards> <on\|off\|default\|toggle>` | Global gate controls |
| `info <path>` | Effective payout for one advancement |
| `toggle <rewards\|items\|experience\|advancement> <path>` | Per-entry toggles |
| `set <xp\|item> <path> <amount>` | Set XP or primary item count |
| `adjust <xp\|item> <path> <delta>` | Adjust XP or item count by delta |
| `clear <path>` | Clear per-entry overrides |
| `test [player]` | Runs `tally:admin/reward/test_grant` |
| `help` | Clickable reward help |
### `/tally advancement`
```mcfunction
/tally advancement grant <path> <player>
/tally advancement revoke <path> <player>
/tally advancement info <path> [player]
```
### `/tally reload`
Reloads **`config.yml`** and rebuilds the **advancement search index** from bundled JSON. Does **not** replay `reward-overrides.yml` into the datapack — runtime policy stays in **`storage tally:reward_overrides`**.
---
## Admin chest GUI
### Hub (`/tally admin`)
| Control | Action |
|---------|--------|
| **Reward policy** | Global gates, maintenance, bulk scopes |
| **Reward status** (writable book) | Runs `tally:admin/reward/status` |
| **Browse advancements** (spyglass) | Fuzzy search + per-entry controls |
| **Up** (soul campfire) | — |
| **Close** | — |
### Reward policy menu
- Global master / items / XP gates — enable, disable, toggle, clear
- **Clear global gates** and **Reset all overrides** (wipes global, entries, scopes + completion ledger)
- **Bulk scopes** — tab, wing, tier, frame bulk toggles
- **Status**, **Help**, **Test grant**
- **Maintenance** submenu: `init`, `ping`, `diag_grant`, `run_reconcile`
### Browse advancements (~9,500+ indexed entries)
- **Paginated** — only the current page (~36 slots) is materialized
- **Page navigation** — `◀ Page 3/42` / `Page 3/42 ▶` on soul-torch controls with entry-range lore; center page indicator on multi-page browse
- **Fuzzy anvil search** — plain text, `@tally`, `#material`, `!title`, `$lore`, and multi-token queries (shared `shirecraft-bukkit-utils` search stack)
- **Enter or click** spyglass output to run search; **Esc** to cancel without searching
- **Ranked results** — best relevance first; full match set for pagination (no artificial 500-result browse cap)
- **Bulk actions on search results** — toggle rewards / items / XP / clear overrides; capped at **`bulk-max-targets`** (default **500**) with lore when truncated
- **Quick toggles from browse:** left-click detail, right-click rewards, shift-right items, shift-left XP
- **Up** (soul campfire) returns to admin hub
### Per-advancement detail screen
- Toggle rewards / items / XP / advancement payout gate
- Adjust XP and primary item count (±1, ±10; shift = ×10)
- Anvil set for exact XP / item count
- **Storage info** — dumps `entries."<path>"` from datapack storage to chat
- Clear override for that entry
- **Back** (soul torch) returns to browse at the same page/search
### Bulk scope menus
- By **tab** (obtain, craft, sets, combat, explore, progression)
- By **wing** (obtain + craft wing families)
- By **tier** (discover → hoard hold tiers)
- By **frame** (task, goal, challenge)
- Scope detail **Up** returns to the correct scope list (not the bulk hub)
---
## Advancement search (technical)
| Stage | Behaviour |
|-------|-----------|
| **Index build** (on enable + `/tally reload`) | Reads `advancement-reward-index.json`; builds inverted index per field + trigram lane on body text |
| **Query** | Posting-list lookup → fuzzy verify/score on candidates only (not a full 9.5k scan) |
| **Pagination** | Reuses memoized result list per distinct query string |
| **Browse materialization** | Snapshots built lazily — 36 per page |
### Search query syntax
| Input | Matches |
|-------|---------|
| Plain text | Title, lore, material, catalog path (multi-token fuzzy) |
| `@tally …` | Namespace + optional path filter |
| `#material` | Material field |
| `!title` | Display name field |
| `$lore` | Lore field |
---
## Architecture (operators)
| Rule | Detail |
|------|--------|
| **Source of truth** | `storage tally:reward_overrides` in the datapack |
| **Plugin writes** | Dispatches named `tally:admin/reward/*` functions only — no parallel Java policy engine, no direct `data modify` on reward storage |
| **GUI labels** | Action-only — buttons describe what a click *does*, not live ON/OFF state (use **Status** or `/tally reward status`) |
| **`reward-overrides.yml`** | Backup/replay artifact; synced *from* storage when readable after toggles; **`/tally reload` does not push YAML into the datapack** |
| **Resolver** | `/tally advancement info` and command-side labels use storage when readable; on some Paper 26.2 builds rely on datapack **Status** / **info** functions |
---
## Player-facing bootstrap
Optional **on-join presence** card via `config.yml` → `bootstrap.presence`:
- Theme, icon, edition label, rotating hints
- Quick-start links (`/tally help`, advancement browse)
- Community links through shared Shirecraft runtime
---
## Permissions (default: op)
```text
tally.*
└── tally.admin
├── tally.admin.gui
├── tally.admin.reload
├── tally.admin.reward
└── tally.admin.advancement
```
---
## Config (`plugins/Tally/config.yml`)
### Datapack
```yaml
datapack:
auto-install: true
auto-enable: true
post-enable-wait-ticks: 100
zip-file: Tally.zip
```
### Rewards (plugin-side master switches)
```yaml
rewards:
enabled: true
grant-items: true
grant-experience: true
```
### Admin GUI search
```yaml
admin:
gui:
search-max-results: 0 # 0 = no cap for browse/pagination
search-max-cached-queries: 0 # distinct query memo (0 = unlimited)
bulk-max-targets: 500 # bulk toggle/clear cap per search
```
Plus customizable search button names, lore, anvil title/prompt, and result messages.
### Bootstrap presence
```yaml
bootstrap:
presence:
enabled: true
on-enable: true
on-join: true
community-links: true
```
---
## Dependencies
- **`shirecraft-bukkit-utils` 1.4.19+** (shaded) — search index, fuzzy inventory search tokens, anvil submit helpers, admin GUI layout, bootstrap presence
---
## What the plugin does **not** do
- Edit advancement criteria, hold counts, or tree layout
- Run without the Tally datapack loaded
- Replace `/advancement` for non-Tally namespaces
- Show fabricated live toggle states when storage cannot be read
- Use `/reload` instead of a full server restart for datapack updates
---
release
v0.1.64-mod
v0.1.64-mod30 июл. 2026 г.147Minecraft: 26.2fabric, forge, neoforge, quilt
Что нового
now available as a mod (still a datapack under the hood)!

release
v0.1.64
v0.1.6425 июл. 2026 г.60Minecraft: 26.2datapack
Что нового
fix anvil deleting items (craft advancement check related)
release
tally 0.1.63
0.1.6319 июл. 2026 г.29Minecraft: 26.2datapack