
Cobblebase
Palworld-style Pokemon base management for Cobblemon. Job system with unique per-Pokemon skills, abilities, and base mechanics.
Обновлён 19 мая 2026 г. · опубликован 2 апреля 2026 г.
Cobblebase
Palworld-style base management for Cobblemon — assign jobs, watch Pokemon work, build the ultimate base.
✨ Overview
Cobblebase transforms the Pasture Block into a living, breathing Pokemon base. Every Pokemon species has hand-crafted job skills and proficiency levels — not based on type, but on identity. A Charizard fills lava cauldrons and guards your base. An Alakazam mentors your entire team. A Mew recruits legendaries.
- 💎 1,367 Pokemon with unique skill assignments (996 hand-crafted + 371 Fakemon)
- ⚡ 43 jobs across 10 categories
- ⭐ Proficiency 1-5 per skill — faster cooldowns, better loot, wider range
- 🎮 Tabbed GUI — Skills, Buffs, Logs, and Discovery panels
- 🔧 Admin GUI — Edit species skills, jobs config, and loot tables live in-game (
/cobblebase admin) - 🍱 Loot Editor — change item drops for any job without writing a datapack, with autocomplete and
#tagbulk-add - 🔒 Multiplayer ready — Pasture lock, owner-only notifications
- 🛡️ Fully customizable via Cloth Config and JSON datapacks
🌐 Online Tools
- 📚 Full Documentation — Guides for every feature
- 📊 Species Database — Browse & edit all 1,367 Pokemon
- 🔧 Datapack Generator — Create custom skill datapacks
🌾 Jobs
| Category | Jobs |
|---|---|
| 🌾 Gathering | Harvester, Fishing, Mining, Producer |
| 🔍 Finding | Alchemist, Pharmacist, Architect, Excavator, Botanist, Collector, Scholar, Chef, Trainer, Armorer, Prospector, Smith |
| ⚔️ Combat | Guard |
| 💚 Support | Healer, Mentor |
| ✨ Buffs | Speed, Strength, Resistance, Night Vision, Water Breathing, Jump, Haste, Saturation, Aura Boost |
| 🌟 Legendary | Lucky Charm (shiny boost), Growth Aura, Extinguisher |
| 📦 Logistics | Item Gatherer |
| 🔭 Exploration | Scout |
| 🌿 Environmental | Irrigator, Lava/Water/Snow Fill, Furnace Fuel, Brew Fuel |
| 🤝 Recruiting | Friend Recruiter, Legendary Recruiter |
🛠️ In-Game Admin GUI
Open with /cobblebase admin. OP-only.
- Species tab — edit any species' skill set, search the full registry, sort by Pokedex number / A-Z / Z-A, filtered to mons your server actually has loaded
- Jobs tab — per-job cooldown, search radius, and enable/disable. Compact category sidebar with hover tooltips for every job
- Loot tab — edit any bundled loot table live. Per-job sidebar with rarity tabs (Common / Uncommon / Rare / Ultra Rare), item icon preview, autocomplete suggestions for item ids and item tags, bulk add via
#namespace:tag(e.g.#c:ores,#minecraft:logs), on/off toggle for default items, save / reset - Wiki tab — quick links to docs, the species database, the datapack generator, and the Discord
All edits persist in the world save and broadcast live to other players — no restart needed.
🎵 Immersion
- 🚶 Idle wandering (15 block radius)
- 🌙 Working mons sleep at night and wake up at sunrise to resume their job
- 🔇 Mute button + cry cooldown (60s per Pokemon)
- 🔄 Stuck detection + escape from solid blocks (clipping recovery)
- 🍃 Leaves escape — Pokemon drop to ground from tree canopies
🎨 Supported Fakemon Packs
Built-in skill assignments for 6 Fakemon packs (371 species):
- 🐾 Lively Mons (59)
- 🔥 Alatias AFP (87)
- ⚡ Laser's Pack (53)
- 🎭 Wilbayan's Fakemons (37)
- 👶 Baby Legends (22) — baby forms of legendaries, inherit their evolution target's skills with prof -1
- 👽 Extra Paradox Mons (27) — paradox alternates with ultra-rare-tier curated skills
Not using one of these? Use /cobblebase admin to assign skills manually — or build a datapack with the generator.
📥 Requirements
- Minecraft 1.21.1 · Cobblemon 1.7.0+ · Cloth Config (required)
- Fabric Language Kotlin (Fabric) or Kotlin for Forge 5.x (NeoForge)
Версии
| Версия | Канал | Игра | Загрузчики | Дата | Скачать |
|---|---|---|---|---|---|
| 2.0.0+1.7.0 | Релиз | 1.21.8, 1.21.9, 1.21.10, 1.21.11 | fabric | 19 мая 2026 г. | Скачать (15.6 МБ) |
| 2.0.0+1.7.0 | Релиз | 1.21.1 | neoforge | 19 мая 2026 г. | Скачать (15.6 МБ) |
| 1.5.4+1.7.0 | Релиз | 1.21.8, 1.21.9, 1.21.10, 1.21.11 | fabric | 15 апреля 2026 г. | Скачать (15.0 МБ) |
| 1.5.4+1.7.0 | Релиз | 1.21.11, 26.1, 26.1.1, 26.1.2 | neoforge | 15 апреля 2026 г. | Скачать (15.0 МБ) |
| 1.5.3+1.7.0 | Релиз | 1.21.8, 1.21.9, 1.21.10, 1.21.11 | fabric | 11 апреля 2026 г. | Скачать (14.9 МБ) |
| 1.5.3+1.7.0 | Релиз | 1.21.11, 26.1, 26.1.1, 26.1.2 | neoforge | 11 апреля 2026 г. | Скачать (14.9 МБ) |
| 1.5.2+1.7.0 | Релиз | 1.21.8, 1.21.9, 1.21.10, 1.21.11 | fabric | 10 апреля 2026 г. | Скачать (14.9 МБ) |
| 1.5.2+1.7.0 | Релиз | 1.21.11, 26.1, 26.1.1, 26.1.2 | neoforge | 10 апреля 2026 г. | Скачать (14.9 МБ) |
| 1.5.1+1.7.0 | Релиз | 1.21.8, 1.21.9, 1.21.10, 1.21.11 | fabric | 8 апреля 2026 г. | Скачать (14.9 МБ) |
| 1.5.1+1.7.0 | Релиз | 1.21.10, 1.21.11, 26.1, 26.1.1 | neoforge | 8 апреля 2026 г. | Скачать (14.9 МБ) |
| 1.5.0+1.7.0 | Релиз | 1.21.8, 1.21.9, 1.21.10, 1.21.11 | fabric | 7 апреля 2026 г. | Скачать (14.9 МБ) |
| 1.5.0+1.7.0 | Релиз | 1.21.10, 1.21.11, 26.1, 26.1.1 | neoforge | 7 апреля 2026 г. | Скачать (14.9 МБ) |
| 1.4.0+1.7.0 | Релиз | 1.21.8, 1.21.9, 1.21.10, 1.21.11 | fabric | 6 апреля 2026 г. | Скачать (16.9 МБ) |
| 1.4.0+1.7.0 | Релиз | 1.21.10, 1.21.11, 26.1, 26.1.1 | neoforge | 6 апреля 2026 г. | Скачать (16.9 МБ) |
| 1.3.8+1.7.0 | Релиз | 1.21.8, 1.21.9, 1.21.10, 1.21.11 | fabric | 5 апреля 2026 г. | Скачать (16.9 МБ) |
Показаны последние 15 из 26 версий.
Ченджлог
2.0.0+1.7.0Релиз1.21.9, 1.21.10, 1.21.11 · 19 мая 2026 г.
Cobblebase v2.0
A full UI overhaul, the long-awaited per-pasture settings, and an end-to-end NeoForge port. Everything since 1.5 has been consolidated into one release to mark the shift from "growing helper mod" to "feature-complete platform."
Per-Pasture Settings & Base Settings Modal
The biggest single addition. Each pasture owner now controls their own working radius and downward-scan reach inside admin-defined caps, plus a new access mode that gates who else can interact with their pasture's UI.
- Base Settings button — bottom-right of every Cobblebase screen. Opens a modal popup with two sliders (Pasture Range, Below-Pasture Reach) plus an access pill that cycles through 🔒 Private / 👁 View-Only / 🔓 Public.
- Per-pasture state persisted in
<world>/cobblebase_pasture_settings.json. Re-clamped automatically when the admin tightens the caps. - Owner gate — only the pasture's recorded Cobblemon
ownerId(or an OP) can mutate settings. Server-sideBaseManager.canEditPasturerevalidates every C2S packet, so a tampered client can't write. - Admin caps split — the single "Pasture Range" / "Below-Pasture Reach"
sliders are now MIN + MAX pairs. Owners pick any value in
[min, max]; legacy single-value behaviour preserved by defaulting overrides to MAX. - Every active block-scanning job (Harvester, Gatherer, Builder, Supplier, Cauldron-Fill, Extinguisher, FurnaceFuel, Fishing, Irrigator, Healer, Guard, Mining, EggHatcher, GenericLoot, Craftsman) reads the per-pasture value, not just the admin max. Auras / passive buffs stay on their own per-skill JSON radius (balance-tuned).
Show-Radius Wireframe — Now Server-Broadcast
RadiusVisible is the new server-side set of pastures whose wireframe is
currently shown. Toggling the Show-Radius button sends a C2S packet; the
server validates ownership and broadcasts the new set to every connected
player. Result: when a pasture owner enables their radius box, every
nearby player sees it simultaneously instead of just themselves. In-memory
only — cleared on server restart, since wireframes are diagnostic, not
world state.
Harvester Downward Reach
- Previously the harvest scan only checked Y at the pasture level and
above (
for (y in 0..radius)), which hid apricorns and berries on cliff-edge or stair-garden trees that grow a few blocks below the pasture block. - The Y loop is now asymmetric: full
radiusupward (tall berry bushes, hanging apricorns), but onlybelowPastureReachdownward — admin- and owner-configurable, default 6. Enough for stairs and small cliffs; nowhere near deep enough to drag mons into caves under the base. - Same buffer applies to every block-scanning executor's Y loop.
Pasture Range = Real Cap For Every Active Job
The admin's Pasture Range slider is now the hard cap for everything an active job does — scan range AND idle wander AND safety-teleport floor. Auras / passive buffs are intentionally exempt so balance-tuned effects keep their JSON-defined reach. The Show-Radius wireframe is now the literal truth of where work happens, not an approximation.
Pasture-Tab Redesign
The Pokemon → Pasture sub-tab was rebuilt around three goals: see more rows without scrolling, kill the "ragged silhouette" from variable-width chips, and bring the active-skill stand-out front and centre.
- Hero active chip — the assigned skill renders larger and tinted by its job category; available chips render muted so the eye knows where to look.
- Uniform chip height between active and available (no more bulging-row silhouette). Differentiation by colour, not size.
- Row 18 px so 10+ rows fit on screen without scrolling.
- Sprites slightly bigger, names slightly smaller; row layout brings every column on the same vertical centre line.
- New Relax column between Pokemon and Skills (icon-only zZz button).
- Auto-Assign Best button — Pasture sub-tab only, single click assigns the highest-prof skill per Pokemon.
Skill Chips Polish
Every chip in the Skills view got rebuilt:
- Alphabetical sort (sortedBy name.lowercase) — the previous prof-DESC order was confusing for users with mixed teams.
- Watermark-large job icon at the chip's left edge, vertically centred.
- 2-second hover tooltip with the skill's description.
- Long-name auto-shrink — chips with > 11-char names scale the text down so it never marquees.
- Drop-shadow on prof stars so they remain readable against any chip background colour.
- Uniform width (60 px) — no more dynamic 42–64 px range that made the right edge of the row look ragged.
- Job icons revamped for semantic match — Healer → Totem of Undying, Pharmacist → Potion, Friend Recruiter → Name Tag, Speed Boost → Feather, Haste Boost → Golden Pickaxe, Jump Boost → Slime Block, Aura Boost → Beacon.
Bottom Bar + Close Button + Footer
- Top-right X close button on every Cobblebase + Admin screen.
- Persistent bottom bar (Discord, Mute, Radius, Admin, Base Settings) across every tab — no more re-clicking through tabs to reach the radius toggle.
BOTTOM_BAR_H = 14(was 20). Sub-panels' 18-px dead zone above the bottom bar is gone.- Bottom bar uniform height across all tabs.
- Radius toggle no longer closes the GUI on click — flip ON/OFF without the PC GUI snapping shut every time.
NeoForge Parity Port
Cobblebase 2.0 ships in full feature parity on NeoForge. Every Fabric panel, packet codec, mixin equivalent, and renderer has a NeoForge counterpart wired through the same common code path. NeoForge users get the same Pasture redesign, Base Settings modal, per-pasture overrides, admin GUI, and Workshop / Hatchery panels.
Admin GUI
- Server Settings tab — real slider with default-value tick + ↻ reset for every numeric setting. Min/max sliders for Pasture Range and Below-Pasture Reach. Working-cap slider (max simultaneously working Pokemon per pasture; 0 = unlimited).
- Job-disabled hides its tab — admin disables a job, the corresponding player tab disappears from the user GUI entirely.
- Admin → Jobs → Craftsman → Recipes tab — enable/disable individual vanilla + mod recipes per Craftsman.
Hatchery + Workshop
- HatcheryPanel now uses UiTokens for every padding and font scale (3 scales instead of 6).
- Idle-state message — when no eggs are in the box, the Active Hatchers row says "X is ready, drop egg" instead of the misleading "assign the egg hatcher" hint.
- Egg-orphan periodic sweep every cleanup interval — floating egg
ItemDisplayentities surviving across restarts are now purged whenever the world re-loads, matching by display custom-name or by held ItemStack type. No more pile-up of un-pickupable eggs in the overworld. - Egg ItemDisplay hold position — eggs render in front of the hatcher's body, not floating in its head.
- WorkshopPanel also tokenised; Workshop sub-tabs renamed and laid out to match the rest of the GUI.
Logs Tab
- Match by pastureId instead of geometric-nearest pasture — fixes the cross-pasture log-leak where two pastures showed identical entries.
- Per-job colour palette (
JobColorsis the single source of truth). Each job's chip BG, Buffs name colour, and Logs row tint share the same hue. - Full-size Pokemon sprite (
renderIconByName16 px) in 14-px rows — Pokemon are recognisable at a glance instead of a tiny 11-px badge. - Drop zebra striping — uniform base + per-action tint stacked on
top so two consecutive same-action rows render identical (no zebra
- tint combinatorial confusion).
Buffs Tab
- Passive dedupe — only the highest-prof mon per buff actually applies its effect (no stack-on-stack waste).
- Per-buff name colour matches the effect it applies — Speed reads as sky-blue, Strength as fire-red, Aura as gold.
- Meaningful effect descriptions for every job. Diving, Builder, and Craftsman previously fell through to "Working" — now show "Diving for underwater treasure", "Building structures from chest materials", "Crafting items from chest materials" etc.
Pasture Mob Movement
- Idle wander = admin Pasture Range — mons no longer cluster near the centre when the pasture is large.
- Safety-teleport has an admin-radius floor so mons can be pulled back from anywhere the wander could reach them.
- Tether resize REMOVED — the previous attempt to shrink Cobblemon's 64-block tether to the admin radius caused mons to despawn into the PC the moment they were outside the new (smaller) box. Cobblemon's default 64-block tether is honoured.
UiTokens Design System
New UiTokens.kt centralises sizes that used to be scattered across
every panel. Three text scales replace the previous six; row heights,
button heights, cell paddings, and bottom-bar geometry all flow from
one file.
Bug Fixes Worth Calling Out
- Loot jobs broken since 1.5.5-beta.1 — 60s stale-sweep wiped active
cooldowns of 12 executors because the sweep used the cooldown timer
itself as the "last seen" heartbeat. Executors now use a dedicated
lastScanTimeheartbeat updated every tick. - Flying mons stuck in trees / fences —
escapeLeavesnow clears brain memory every tick (not only on the 1s sweep), has a wider scan radius, and re-registers leaf blocks dynamically when modded packs add new ones. - Cross-pasture log mix-up — Logs tab now keys by pasture ID, not by geometric distance.
- Cobblebase main button collides with other mods' buttons — fixed by making it position-configurable (four corners of the PC GUI) and by enforcing click priority via a new mixin.
- Sleeping mons still moving — added a state lock from
PokemonEntity.tickhead so we don't fight Cobblemon's sleep state. - Admin sliders snapped to wrong default on reset — every slider's ↻ now snaps to the documented default value with a yellow tick on the track marking it.
- Egg Hatcher effect description showed "Working" — now displays the prof-keyed speed multiplier ("Incubating Cobbreeding eggs · 3× speed").
Quieter Logs By Default
Cobblebase.LOGGER.info calls have been removed or downgraded to debug.
Server consoles at default log level no longer get the per-scan
Harvester radius readouts or the orphan-egg-purge tally. Errors and
warnings stay informational.
2.0.0+1.7.0Релиз1.21.1 · 19 мая 2026 г.
Cobblebase v2.0
A full UI overhaul, the long-awaited per-pasture settings, and an end-to-end NeoForge port. Everything since 1.5 has been consolidated into one release to mark the shift from "growing helper mod" to "feature-complete platform."
Per-Pasture Settings & Base Settings Modal
The biggest single addition. Each pasture owner now controls their own working radius and downward-scan reach inside admin-defined caps, plus a new access mode that gates who else can interact with their pasture's UI.
- Base Settings button — bottom-right of every Cobblebase screen. Opens a modal popup with two sliders (Pasture Range, Below-Pasture Reach) plus an access pill that cycles through 🔒 Private / 👁 View-Only / 🔓 Public.
- Per-pasture state persisted in
<world>/cobblebase_pasture_settings.json. Re-clamped automatically when the admin tightens the caps. - Owner gate — only the pasture's recorded Cobblemon
ownerId(or an OP) can mutate settings. Server-sideBaseManager.canEditPasturerevalidates every C2S packet, so a tampered client can't write. - Admin caps split — the single "Pasture Range" / "Below-Pasture Reach"
sliders are now MIN + MAX pairs. Owners pick any value in
[min, max]; legacy single-value behaviour preserved by defaulting overrides to MAX. - Every active block-scanning job (Harvester, Gatherer, Builder, Supplier, Cauldron-Fill, Extinguisher, FurnaceFuel, Fishing, Irrigator, Healer, Guard, Mining, EggHatcher, GenericLoot, Craftsman) reads the per-pasture value, not just the admin max. Auras / passive buffs stay on their own per-skill JSON radius (balance-tuned).
Show-Radius Wireframe — Now Server-Broadcast
RadiusVisible is the new server-side set of pastures whose wireframe is
currently shown. Toggling the Show-Radius button sends a C2S packet; the
server validates ownership and broadcasts the new set to every connected
player. Result: when a pasture owner enables their radius box, every
nearby player sees it simultaneously instead of just themselves. In-memory
only — cleared on server restart, since wireframes are diagnostic, not
world state.
Harvester Downward Reach
- Previously the harvest scan only checked Y at the pasture level and
above (
for (y in 0..radius)), which hid apricorns and berries on cliff-edge or stair-garden trees that grow a few blocks below the pasture block. - The Y loop is now asymmetric: full
radiusupward (tall berry bushes, hanging apricorns), but onlybelowPastureReachdownward — admin- and owner-configurable, default 6. Enough for stairs and small cliffs; nowhere near deep enough to drag mons into caves under the base. - Same buffer applies to every block-scanning executor's Y loop.
Pasture Range = Real Cap For Every Active Job
The admin's Pasture Range slider is now the hard cap for everything an active job does — scan range AND idle wander AND safety-teleport floor. Auras / passive buffs are intentionally exempt so balance-tuned effects keep their JSON-defined reach. The Show-Radius wireframe is now the literal truth of where work happens, not an approximation.
Pasture-Tab Redesign
The Pokemon → Pasture sub-tab was rebuilt around three goals: see more rows without scrolling, kill the "ragged silhouette" from variable-width chips, and bring the active-skill stand-out front and centre.
- Hero active chip — the assigned skill renders larger and tinted by its job category; available chips render muted so the eye knows where to look.
- Uniform chip height between active and available (no more bulging-row silhouette). Differentiation by colour, not size.
- Row 18 px so 10+ rows fit on screen without scrolling.
- Sprites slightly bigger, names slightly smaller; row layout brings every column on the same vertical centre line.
- New Relax column between Pokemon and Skills (icon-only zZz button).
- Auto-Assign Best button — Pasture sub-tab only, single click assigns the highest-prof skill per Pokemon.
Skill Chips Polish
Every chip in the Skills view got rebuilt:
- Alphabetical sort (sortedBy name.lowercase) — the previous prof-DESC order was confusing for users with mixed teams.
- Watermark-large job icon at the chip's left edge, vertically centred.
- 2-second hover tooltip with the skill's description.
- Long-name auto-shrink — chips with > 11-char names scale the text down so it never marquees.
- Drop-shadow on prof stars so they remain readable against any chip background colour.
- Uniform width (60 px) — no more dynamic 42–64 px range that made the right edge of the row look ragged.
- Job icons revamped for semantic match — Healer → Totem of Undying, Pharmacist → Potion, Friend Recruiter → Name Tag, Speed Boost → Feather, Haste Boost → Golden Pickaxe, Jump Boost → Slime Block, Aura Boost → Beacon.
Bottom Bar + Close Button + Footer
- Top-right X close button on every Cobblebase + Admin screen.
- Persistent bottom bar (Discord, Mute, Radius, Admin, Base Settings) across every tab — no more re-clicking through tabs to reach the radius toggle.
BOTTOM_BAR_H = 14(was 20). Sub-panels' 18-px dead zone above the bottom bar is gone.- Bottom bar uniform height across all tabs.
- Radius toggle no longer closes the GUI on click — flip ON/OFF without the PC GUI snapping shut every time.
NeoForge Parity Port
Cobblebase 2.0 ships in full feature parity on NeoForge. Every Fabric panel, packet codec, mixin equivalent, and renderer has a NeoForge counterpart wired through the same common code path. NeoForge users get the same Pasture redesign, Base Settings modal, per-pasture overrides, admin GUI, and Workshop / Hatchery panels.
Admin GUI
- Server Settings tab — real slider with default-value tick + ↻ reset for every numeric setting. Min/max sliders for Pasture Range and Below-Pasture Reach. Working-cap slider (max simultaneously working Pokemon per pasture; 0 = unlimited).
- Job-disabled hides its tab — admin disables a job, the corresponding player tab disappears from the user GUI entirely.
- Admin → Jobs → Craftsman → Recipes tab — enable/disable individual vanilla + mod recipes per Craftsman.
Hatchery + Workshop
- HatcheryPanel now uses UiTokens for every padding and font scale (3 scales instead of 6).
- Idle-state message — when no eggs are in the box, the Active Hatchers row says "X is ready, drop egg" instead of the misleading "assign the egg hatcher" hint.
- Egg-orphan periodic sweep every cleanup interval — floating egg
ItemDisplayentities surviving across restarts are now purged whenever the world re-loads, matching by display custom-name or by held ItemStack type. No more pile-up of un-pickupable eggs in the overworld. - Egg ItemDisplay hold position — eggs render in front of the hatcher's body, not floating in its head.
- WorkshopPanel also tokenised; Workshop sub-tabs renamed and laid out to match the rest of the GUI.
Logs Tab
- Match by pastureId instead of geometric-nearest pasture — fixes the cross-pasture log-leak where two pastures showed identical entries.
- Per-job colour palette (
JobColorsis the single source of truth). Each job's chip BG, Buffs name colour, and Logs row tint share the same hue. - Full-size Pokemon sprite (
renderIconByName16 px) in 14-px rows — Pokemon are recognisable at a glance instead of a tiny 11-px badge. - Drop zebra striping — uniform base + per-action tint stacked on
top so two consecutive same-action rows render identical (no zebra
- tint combinatorial confusion).
Buffs Tab
- Passive dedupe — only the highest-prof mon per buff actually applies its effect (no stack-on-stack waste).
- Per-buff name colour matches the effect it applies — Speed reads as sky-blue, Strength as fire-red, Aura as gold.
- Meaningful effect descriptions for every job. Diving, Builder, and Craftsman previously fell through to "Working" — now show "Diving for underwater treasure", "Building structures from chest materials", "Crafting items from chest materials" etc.
Pasture Mob Movement
- Idle wander = admin Pasture Range — mons no longer cluster near the centre when the pasture is large.
- Safety-teleport has an admin-radius floor so mons can be pulled back from anywhere the wander could reach them.
- Tether resize REMOVED — the previous attempt to shrink Cobblemon's 64-block tether to the admin radius caused mons to despawn into the PC the moment they were outside the new (smaller) box. Cobblemon's default 64-block tether is honoured.
UiTokens Design System
New UiTokens.kt centralises sizes that used to be scattered across
every panel. Three text scales replace the previous six; row heights,
button heights, cell paddings, and bottom-bar geometry all flow from
one file.
Bug Fixes Worth Calling Out
- Loot jobs broken since 1.5.5-beta.1 — 60s stale-sweep wiped active
cooldowns of 12 executors because the sweep used the cooldown timer
itself as the "last seen" heartbeat. Executors now use a dedicated
lastScanTimeheartbeat updated every tick. - Flying mons stuck in trees / fences —
escapeLeavesnow clears brain memory every tick (not only on the 1s sweep), has a wider scan radius, and re-registers leaf blocks dynamically when modded packs add new ones. - Cross-pasture log mix-up — Logs tab now keys by pasture ID, not by geometric distance.
- Cobblebase main button collides with other mods' buttons — fixed by making it position-configurable (four corners of the PC GUI) and by enforcing click priority via a new mixin.
- Sleeping mons still moving — added a state lock from
PokemonEntity.tickhead so we don't fight Cobblemon's sleep state. - Admin sliders snapped to wrong default on reset — every slider's ↻ now snaps to the documented default value with a yellow tick on the track marking it.
- Egg Hatcher effect description showed "Working" — now displays the prof-keyed speed multiplier ("Incubating Cobbreeding eggs · 3× speed").
Quieter Logs By Default
Cobblebase.LOGGER.info calls have been removed or downgraded to debug.
Server consoles at default log level no longer get the per-scan
Harvester radius readouts or the orphan-egg-purge tally. Errors and
warnings stay informational.
1.5.4+1.7.0Релиз1.21.9, 1.21.10, 1.21.11 · 15 апреля 2026 г.
Cobblebase v1.5.4
New Features
Producer Job — Admin GUI Configuration
- New Producer section in Species Tab — Configure what any Pokemon produces directly in the admin GUI. Appears for every species at the top of the skill editor.
- Item ID with autocomplete — Type an item ID and get suggestions from Minecraft's item registry. Dropdown auto-closes when a valid item is entered.
- Item icon preview — Shows a live preview of the configured item next to the input field.
- Per-species cooldown — Set a custom cooldown per species (30s–3600s in 30s steps). No longer tied to the global Producer cooldown in the Jobs tab.
- Enable/Disable toggle — Pause production without losing the item configuration. Toggle back on anytime.
- Auto-assign Producer skill — When you configure an item and save, the Producer skill is automatically assigned if it wasn't already.
- Buffs tab shows produced item — Instead of "Producing species-specific items", the Buffs tab now shows the actual item name and count (e.g. "Producing White Wool x1 · every 300s").
Diving Job
- 25 non-diving Pokemon removed — Water/Flying types (Pelipper, Wingull, etc.), surface dwellers (Surskit, Araquanid), and land-based water types (Suicune, Slowpoke, etc.) no longer have Diving. 168 species remain.
- Full loot table documentation — New diving detail page on the wiki with all 18 items, drop chances, and proficiency scaling.
Changes
Friend Recruiter
- Prof 5 no longer summons legendaries — Prof 5 now works like all other proficiency levels: recruits same-type Pokemon with better rarity odds. Higher proficiency = more Rare/Ultra Rare spawns, fewer Common.
- Cooldown scales normally — Prof 5 cooldown now scales with proficiency like every other level, instead of the old fixed 30-minute cooldown.
Compatibility
- Chiselmon PC mod — Cobblebase is now fully compatible with Chiselmon. The Cobblebase button in the Pasture GUI no longer causes crashes when Chiselmon is installed.
Bug Fixes
- Producer instant drop exploit — Producer now waits the full cooldown before the first drop. Switching jobs to skip cooldown no longer works.
- GenericLootExecutor search radius — Diving, Archeology, and Pickup jobs now use the admin-configured search radius instead of a hardcoded value of 15.
- Producer item namespace — Items like "lead" in the hardcoded map now display correctly as "minecraft:lead" in the admin GUI instead of showing "Unknown item ID".
- Producer cooldown mismatch — Buffs tab now uses the per-species cooldown instead of always using the global default, fixing the mismatch between Species tab and Buffs tab values.
- Water-type Pokemon tethering — Water-type Pokemon are no longer teleported out of water by the pasture tether system. They now swim freely and are placed directly in nearby water when on land.
- Deploy target — Build system now deploys to the correct modpack folder (Cobbleverse 1.7.31).
Wiki / Species Database
- Diving skill added to 168 species in the online Species Database.
- FAQ updated: Diving reintroduced in v1.8 (no longer marked as "removed").
- Full diving loot table page added to wiki with all items, weights, and proficiency scaling.
- Diving added to sidebar navigation on all job detail pages.
1.5.4+1.7.0Релиз26.1, 26.1.1, 26.1.2 · 15 апреля 2026 г.
Cobblebase v1.5.4
New Features
Producer Job — Admin GUI Configuration
- New Producer section in Species Tab — Configure what any Pokemon produces directly in the admin GUI. Appears for every species at the top of the skill editor.
- Item ID with autocomplete — Type an item ID and get suggestions from Minecraft's item registry. Dropdown auto-closes when a valid item is entered.
- Item icon preview — Shows a live preview of the configured item next to the input field.
- Per-species cooldown — Set a custom cooldown per species (30s–3600s in 30s steps). No longer tied to the global Producer cooldown in the Jobs tab.
- Enable/Disable toggle — Pause production without losing the item configuration. Toggle back on anytime.
- Auto-assign Producer skill — When you configure an item and save, the Producer skill is automatically assigned if it wasn't already.
- Buffs tab shows produced item — Instead of "Producing species-specific items", the Buffs tab now shows the actual item name and count (e.g. "Producing White Wool x1 · every 300s").
Diving Job
- 25 non-diving Pokemon removed — Water/Flying types (Pelipper, Wingull, etc.), surface dwellers (Surskit, Araquanid), and land-based water types (Suicune, Slowpoke, etc.) no longer have Diving. 168 species remain.
- Full loot table documentation — New diving detail page on the wiki with all 18 items, drop chances, and proficiency scaling.
Changes
Friend Recruiter
- Prof 5 no longer summons legendaries — Prof 5 now works like all other proficiency levels: recruits same-type Pokemon with better rarity odds. Higher proficiency = more Rare/Ultra Rare spawns, fewer Common.
- Cooldown scales normally — Prof 5 cooldown now scales with proficiency like every other level, instead of the old fixed 30-minute cooldown.
Compatibility
- Chiselmon PC mod — Cobblebase is now fully compatible with Chiselmon. The Cobblebase button in the Pasture GUI no longer causes crashes when Chiselmon is installed.
Bug Fixes
- Producer instant drop exploit — Producer now waits the full cooldown before the first drop. Switching jobs to skip cooldown no longer works.
- GenericLootExecutor search radius — Diving, Archeology, and Pickup jobs now use the admin-configured search radius instead of a hardcoded value of 15.
- Producer item namespace — Items like "lead" in the hardcoded map now display correctly as "minecraft:lead" in the admin GUI instead of showing "Unknown item ID".
- Producer cooldown mismatch — Buffs tab now uses the per-species cooldown instead of always using the global default, fixing the mismatch between Species tab and Buffs tab values.
- Water-type Pokemon tethering — Water-type Pokemon are no longer teleported out of water by the pasture tether system. They now swim freely and are placed directly in nearby water when on land.
- Deploy target — Build system now deploys to the correct modpack folder (Cobbleverse 1.7.31).
Wiki / Species Database
- Diving skill added to 168 species in the online Species Database.
- FAQ updated: Diving reintroduced in v1.8 (no longer marked as "removed").
- Full diving loot table page added to wiki with all items, weights, and proficiency scaling.
- Diving added to sidebar navigation on all job detail pages.
1.5.3+1.7.0Релиз1.21.9, 1.21.10, 1.21.11 · 11 апреля 2026 г.
Cobblebase v1.5.3
Bug fixes, Legendary Recruiter rework, and species skill rebalancing.
Legendary Recruiter Rework
Prof 5 Recruiter now summons Legendaries
Pokemon with Proficiency 5 Friend Recruiter will now summon random Legendary, Mythical, or Ultra Beast Pokemon instead of regular type-matched species. The legendary summon ignores the recruiter's type — any legendary can appear.
Cooldown: 30 minutes (fixed, not reduced by proficiency). This is intentionally high to prevent legendary spam.
Notification: Players see a special "summoned a Legendary" message with a level-up sound effect.
Species rebalancing
- Prof 5 Recruiter restricted to 6 species only: Mew, Celebi, Jirachi, Azelf, Mesprit, Uxie
- 18 pseudo-legendaries downgraded from Prof 5 to Prof 4: Dragonite, Garchomp, Tyranitar, Metagross, Salamence, Hydreigon, Goodra, Kommo-o, Dragapult, Baxcalibur, and others
- Arceus: Friend Recruiter removed entirely
- Celebi, Azelf, Mesprit, Uxie: Friend Recruiter added at Prof 5 (new)
Bug Fixes
LeafMixin console spam
The [LeafMixin] Pokemon vs leaf at ... isPastureLeaf=... message was still logging at INFO level despite the 1.5.2 debug log cleanup. This was in a Java mixin file that was missed during the Kotlin-only sweep. Now correctly uses LOGGER.debug().
Gatherer deposits into modded Crafting Tables (Visual Workbench)
The container detection filter introduced in 1.5.2 (LockableContainerBlockEntity) correctly blocked vanilla non-storage blocks, but modded crafting tables that expose Fabric Transfer API or NeoForge IItemHandler capabilities still passed the secondary check. Added a minimum slot count requirement (>= 9 slots) for modded containers detected via platform APIs. Crafting tables typically have fewer slots and are now excluded.
Traveler's Backpack infinite item duplication
The Gatherer had no item type filtering — it would pick up any dropped item, including container items (backpacks, shulker boxes) from mods like Traveler's Backpack. When the Gatherer removed the container item entity and the source mod respawned it, an infinite pickup-deposit loop created millions of duplicated items.
Fix: The Gatherer now skips container-type items during pickup. Items are classified as containers if they are Shulker Boxes or contain inventory NBT data (BlockEntityTag, Inventory, or Items components). This prevents the dupe loop while still allowing all normal item pickups.
Remaining runtime LOGGER.info calls
Five additional LOGGER.info() calls that fired during gameplay (NavigationHelper unstick, GathererExecutor recovery, RecruiterExecutor type map, BaseManager load, PastureLeavesTracker) were demoted to LOGGER.debug(). The production console is now completely clean.
Summary
| Change | Type | Impact |
|---|---|---|
| Legendary Recruiter (Prof 5) | Feature | 6 cute legendaries can summon any legendary with 30min cooldown |
| Species rebalancing | Balance | Prof 5 recruiter restricted, Arceus recruiter removed |
| LeafMixin spam | Fix | Zero console spam from leaf collision checks |
| Visual Workbench deposits | Fix | Gatherer ignores small modded inventories (< 9 slots) |
| Traveler's Backpack dupe | Fix | Gatherer skips container-type items |
| Debug log cleanup | Fix | All runtime logs demoted to DEBUG level |
1.5.3+1.7.0Релиз26.1, 26.1.1, 26.1.2 · 11 апреля 2026 г.
Cobblebase v1.5.3
Bug fixes, Legendary Recruiter rework, and species skill rebalancing.
Legendary Recruiter Rework
Prof 5 Recruiter now summons Legendaries
Pokemon with Proficiency 5 Friend Recruiter will now summon random Legendary, Mythical, or Ultra Beast Pokemon instead of regular type-matched species. The legendary summon ignores the recruiter's type — any legendary can appear.
Cooldown: 30 minutes (fixed, not reduced by proficiency). This is intentionally high to prevent legendary spam.
Notification: Players see a special "summoned a Legendary" message with a level-up sound effect.
Species rebalancing
- Prof 5 Recruiter restricted to 6 species only: Mew, Celebi, Jirachi, Azelf, Mesprit, Uxie
- 18 pseudo-legendaries downgraded from Prof 5 to Prof 4: Dragonite, Garchomp, Tyranitar, Metagross, Salamence, Hydreigon, Goodra, Kommo-o, Dragapult, Baxcalibur, and others
- Arceus: Friend Recruiter removed entirely
- Celebi, Azelf, Mesprit, Uxie: Friend Recruiter added at Prof 5 (new)
Bug Fixes
LeafMixin console spam
The [LeafMixin] Pokemon vs leaf at ... isPastureLeaf=... message was still logging at INFO level despite the 1.5.2 debug log cleanup. This was in a Java mixin file that was missed during the Kotlin-only sweep. Now correctly uses LOGGER.debug().
Gatherer deposits into modded Crafting Tables (Visual Workbench)
The container detection filter introduced in 1.5.2 (LockableContainerBlockEntity) correctly blocked vanilla non-storage blocks, but modded crafting tables that expose Fabric Transfer API or NeoForge IItemHandler capabilities still passed the secondary check. Added a minimum slot count requirement (>= 9 slots) for modded containers detected via platform APIs. Crafting tables typically have fewer slots and are now excluded.
Traveler's Backpack infinite item duplication
The Gatherer had no item type filtering — it would pick up any dropped item, including container items (backpacks, shulker boxes) from mods like Traveler's Backpack. When the Gatherer removed the container item entity and the source mod respawned it, an infinite pickup-deposit loop created millions of duplicated items.
Fix: The Gatherer now skips container-type items during pickup. Items are classified as containers if they are Shulker Boxes or contain inventory NBT data (BlockEntityTag, Inventory, or Items components). This prevents the dupe loop while still allowing all normal item pickups.
Remaining runtime LOGGER.info calls
Five additional LOGGER.info() calls that fired during gameplay (NavigationHelper unstick, GathererExecutor recovery, RecruiterExecutor type map, BaseManager load, PastureLeavesTracker) were demoted to LOGGER.debug(). The production console is now completely clean.
Summary
| Change | Type | Impact |
|---|---|---|
| Legendary Recruiter (Prof 5) | Feature | 6 cute legendaries can summon any legendary with 30min cooldown |
| Species rebalancing | Balance | Prof 5 recruiter restricted, Arceus recruiter removed |
| LeafMixin spam | Fix | Zero console spam from leaf collision checks |
| Visual Workbench deposits | Fix | Gatherer ignores small modded inventories (< 9 slots) |
| Traveler's Backpack dupe | Fix | Gatherer skips container-type items |
| Debug log cleanup | Fix | All runtime logs demoted to DEBUG level |
1.5.2+1.7.0Релиз1.21.9, 1.21.10, 1.21.11 · 10 апреля 2026 г.
Cobblebase v1.5.2
Bugfix release addressing three community-reported issues: item stacking when picked up by players, Gatherer depositing into non-storage blocks, and console log spam.
🐛 Bug Fixes
Produced items don't stack with regular items when picked up by players
Items dropped by Producer, Miner, Harvester and other jobs were tagged with a cobblebase_origin marker inside the ItemStack's CUSTOM_DATA component. This tag is used by the Gatherer to identify which Pasture Block produced the item. While the tag was correctly stripped when items went through the Gatherer → chest path, players who picked items up directly from the ground kept the tag on the ItemStack — making them unable to stack with vanilla-obtained items of the same type (e.g. produced diamonds wouldn't stack with mined diamonds).
Fix: Origin tracking now lives on the ItemEntity (via command tags) instead of the ItemStack. The actual item data stays completely clean regardless of how it's picked up. The Gatherer checks the entity tag before pickup, and items that enter a player's inventory are always tag-free and stack normally.
Gatherer deposits items into Waystones, modded Crafting Tables and other non-storage blocks
The Gatherer's container detection used a broad blockEntity is Inventory check, which matched any block entity that implements the Inventory interface — including Waystones, modded crafting tables, and other blocks that have an inventory for functional reasons but aren't actual storage containers.
Fix: Container detection now checks for LockableContainerBlockEntity (vanilla storage: chests, barrels, hoppers, dispensers, shulker boxes, furnaces) plus platform-specific storage APIs (Fabric Transfer API / NeoForge IItemHandler) for modded containers. Blocks that incidentally implement Inventory but aren't real storage are no longer targeted. No blacklist configuration needed.
Console log spam in production
Runtime debug logs ([Ambient], [Gatherer], [Harvester], etc.) were gated behind a config toggle (enableConsoleLogging) but logged at INFO level when enabled — flooding server consoles and Discord log channels. Some server owners had the toggle enabled from debugging sessions and couldn't easily find it.
Fix: All runtime debug logs now use LOGGER.debug() instead of LOGGER.info(). They are suppressed by Minecraft's default log4j configuration and only visible when explicitly enabling DEBUG level logging. The enableConsoleLogging config option is now obsolete.
📋 Summary
| Change | Type | Impact |
|---|---|---|
| Item origin tracking moved to ItemEntity | Fix | Produced items always stack with vanilla items |
| Smart container detection | Fix | Gatherer only deposits into real storage blocks |
| Debug logs demoted to DEBUG level | Fix | Zero console spam in production |
1.5.2+1.7.0Релиз26.1, 26.1.1, 26.1.2 · 10 апреля 2026 г.
Cobblebase v1.5.2
Bugfix release addressing three community-reported issues: item stacking when picked up by players, Gatherer depositing into non-storage blocks, and console log spam.
🐛 Bug Fixes
Produced items don't stack with regular items when picked up by players
Items dropped by Producer, Miner, Harvester and other jobs were tagged with a cobblebase_origin marker inside the ItemStack's CUSTOM_DATA component. This tag is used by the Gatherer to identify which Pasture Block produced the item. While the tag was correctly stripped when items went through the Gatherer → chest path, players who picked items up directly from the ground kept the tag on the ItemStack — making them unable to stack with vanilla-obtained items of the same type (e.g. produced diamonds wouldn't stack with mined diamonds).
Fix: Origin tracking now lives on the ItemEntity (via command tags) instead of the ItemStack. The actual item data stays completely clean regardless of how it's picked up. The Gatherer checks the entity tag before pickup, and items that enter a player's inventory are always tag-free and stack normally.
Gatherer deposits items into Waystones, modded Crafting Tables and other non-storage blocks
The Gatherer's container detection used a broad blockEntity is Inventory check, which matched any block entity that implements the Inventory interface — including Waystones, modded crafting tables, and other blocks that have an inventory for functional reasons but aren't actual storage containers.
Fix: Container detection now checks for LockableContainerBlockEntity (vanilla storage: chests, barrels, hoppers, dispensers, shulker boxes, furnaces) plus platform-specific storage APIs (Fabric Transfer API / NeoForge IItemHandler) for modded containers. Blocks that incidentally implement Inventory but aren't real storage are no longer targeted. No blacklist configuration needed.
Console log spam in production
Runtime debug logs ([Ambient], [Gatherer], [Harvester], etc.) were gated behind a config toggle (enableConsoleLogging) but logged at INFO level when enabled — flooding server consoles and Discord log channels. Some server owners had the toggle enabled from debugging sessions and couldn't easily find it.
Fix: All runtime debug logs now use LOGGER.debug() instead of LOGGER.info(). They are suppressed by Minecraft's default log4j configuration and only visible when explicitly enabling DEBUG level logging. The enableConsoleLogging config option is now obsolete.
📋 Summary
| Change | Type | Impact |
|---|---|---|
| Item origin tracking moved to ItemEntity | Fix | Produced items always stack with vanilla items |
| Smart container detection | Fix | Gatherer only deposits into real storage blocks |
| Debug logs demoted to DEBUG level | Fix | Zero console spam in production |
Комментарии
Загружаем…







