cobbletracker-fabric-1.1.0.jar
Curse Maven Snippet
What's new
# Changelog
## 1.1.0
Built and tested against **Cobblemon 1.7.3**.
### ⭐ Legendary spawns
Cobblemon ships no legendary spawn data at all — out of the box they only ever come from shrines.
CobbleTracker now handles them, and steps aside when something else already does.
- **Context-aware director.** Legendaries are placed by biome, time of day, weather and height, judged
at the position the spawn would actually land at. Rayquaza on a peak in daylight, Regieleki in a
thunderstorm. If nothing fits, nothing spawns.
- **`mode: auto` respects your datapack.** Install a legendary spawn datapack and the director stands
down instead of doubling the rate and overriding its biome rules. Remove it and it takes over again.
The decision is logged whenever it changes.
- **New `legendaries.yml`**, written in the same vocabulary as Cobblemon's own spawn files
(`#cobblemon:is_mountain`, `timeRange`, `isRaining`).
- **`/checklegendary`** — reads Cobblemon's live spawn pool and lists what can appear where you're
standing, with per-attempt odds and a countdown to the next attempt. Chat-only, so it works without
the client mod. Also the quickest way to find out a legendary datapack failed to load.
- **`/spawnlegendary`** — spends one attempt immediately, by the same rules.
### ✨ New features
- **Personal notification settings.** A NOTIFY tab in the GUI and `/ct notify` in chat: silence a
category for yourself, keep the message but drop the sound, or narrow it to your own radius. A
personal radius only ever narrows, never widens.
- **Discord webhooks**, per category. Posted off the server thread with a bounded queue, so a slow or
unreachable Discord never costs tick time. Coordinates obey `hide-exact-position`.
- **Command hooks** — `on-spawn-commands` and `on-catch-commands` run console commands with
`%player%` / `%species%`, enough to wire up rewards or an economy with no extra dependency.
- **LuckPerms support** for every command, by soft detection — no compile-time dependency. Falls back
to vanilla operator levels when it isn't installed.
- **Action bar** announcement channel, alongside chat, title and sound.
- **Pokémon details on history cards** — level, gender, nature, ability and IVs with the count of
perfect ones. EVs too, where a spawn has any. Replaces the spawn distance.
- **`hunt:` config block** lets a server switch personal hunt mode off. The player's species list is
kept and comes back on a server that allows it.
- **Hunt list persists** across sessions, and shift-clicking a history card starts hunting that species.
- **Spec operators.** Prefix a token with `!` to negate it and use `|` inside a value for *or*:
`spec: "isShiny !species:magikarp"`, `spec: "isLegendary species:rayquaza|lugia"`.
- **New spec tokens**: `perfectIvs`, `ivs`, `scale`, `gender`, `nature`, `form`, `ability`, plus
context tokens `biome`, `dimension`, `time`, `weather` and `y`.
### 🐛 Fixes
- **Beams now survive a reconnect.** They were only ever pushed at the moment of the spawn, so anyone
who joined afterwards — or simply relogged — saw nothing over a legendary that was still standing
there.
- **`/checklegendary` odds were wrong by about two orders of magnitude.** Biome conditions were only
checked against a spawn entry's combined biome set, never inside each individual condition. Because
Cobblemon leans heavily on biome-only conditions and anticonditions (979 in the bundled pool alone),
this both reported impossible spawns as available and wrongly excluded most of the pool from the
odds calculation.
- **`/ct notify <category> sound off` switched a silenced category back on.** Sound and radius are now
independent of the on/off state.
- **`/spawnlegendary` failed at random near biome borders** — only one candidate position was tried.
- **`scale:1.15` never matched anything.** Cobblemon stores scale as a float, so an exact comparison
against the value written in config could not succeed.
- **`biome:minecraft:jungle` also matched a worldgen mod's own `jungle`.** A namespaced value now means
exactly that biome.
- **Hunt list changes could be lost** when quitting to the title screen inside the save debounce.
- Legendary rule descriptions rendered a lone height bound as `Y -40`, which reads as a negative number.
- A typo in a `legendaries.yml` weather flag silently became "don't care"; it now warns.
### 🔧 Changes
- **Beam radius, grace and height moved out of `/ct admin`.** Every spawn carries its beam settings to
the client when it happens, so editing them there could never affect what was already on screen.
They live in `config.yml` and apply on `/ct reload`.
- **`/ct admin` minimap rows** now show whether *you* have that mod installed, rather than claiming a
format is active when nothing can use it.
- **`/lastlegend`** opens the history GUI on its Legends tab when you have the client mod, and falls
back to the chat rundown when you don't.
- **`/checklegendary`** lists only what can actually spawn, with a one-line count of the rest, instead
of printing a hundred rows of "wrong biome".
- The unimplemented `kind: block` category option was removed. An old config that still sets it loads
fine — and the category now works, where before it was silently ignored.
### 🧹 Under the hood
- Removed per-frame string allocation in the history GUI and per-tick allocation in the spawner.
- `tracker.json` and `prefs.json` writes moved off the server thread; `hunt.json` off the render
thread. All ordered so a delayed write can't revert a newer one.
- Fixed a dispatch thread leak in the Discord worker across world reloads.
- Added a re-entrancy guard so a command hook that causes another tracked spawn can't loop.
- 80 unit tests.
---
## 1.0.0
First release. Spawn beam, minimap waypoints (Xaero's / VoxelMap / JourneyMap), configurable
announcements, browsable spawn history with a capture leaderboard, personal hunt mode, an optional
built-in spawner, six themes and an in-game admin panel.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

