Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
PokeBuilder
Server-side Cobblemon companion that turns Pokémon stat editing into a paid in-game feature — your players spend Impactor currency through a fully clickable GUI to polish IVs, lock in natures, swap abilities, change Tera types, raise Dynamax levels, rename their Pokémon, top up friendship, cure status conditions, and even edit Pokémon stored in their PC. No commands to memorize, no /op to hand out, no half-finished editing tools.
PokeBuilder 1.3.3 — for Minecraft 1.21.1 / Fabric. Requires Cobblemon 1.7+ and Impactor 5.3+. Mega Showdown is recommended for the Dynamax / G-Max / Tera display overlay.
What it does
Run /pb (or /pokebuilder, /pokebuild) to open the party screen — every slot renders the actual Cobblemon model of your Pokémon, not a generic icon. Click one to enter the editor and pay your way to the build you want:
Core stats:
- IVs — set any individual stat to 31 or 0, or max all six at once
- EVs — set any stat to 252 or 0, or wipe the spread entirely
- Nature — pick any of the 25 natures (priced flat per change)
- Ability — switch normal abilities or unlock the hidden ability (separate price + permission)
- Shiny — toggle the shiny flag on or off
- Gender — swap to the opposite gender when the species allows it
- Caught Ball — change which Poké Ball your Pokémon was captured in
Mega Showdown gimmicks:
- Dynamax Level — raise the level from 0 up to the server's Cobblemon-configured cap (price per level)
- G-Max Factor — grant or remove Gigantamax access
- Tera Type — re-type your Pokémon to any of the 19 types (18 elemental + Stellar)
Quality-of-life (new in 1.3.0):
- Nickname — chat-input prompt with length & color-code validation; type
resetto revert to the species name - Friendship — stepper GUI (+10 / +50 / max / reset) for evolution gates and Return/Frustration
- Status Cure — one-click heal of poison / burn / paralysis / freeze / sleep
Every modification is a real Impactor withdraw() — there is no shadow wallet. Big purchases pop a confirmation screen above a configurable threshold so nobody one-clicks away their savings.
PC storage access (new in 1.3.0, opt-in)
Edit Pokémon stored in your PC without taking them out of the box. A new "Switch to PC" button on the party screen opens a paginated browser of your boxes — click any Pokémon to send it through the same editor flow. Defaults off; admins enable it with features.pc-access = true in config and the per-player pokebuilder.use.pc permission (defaults true once the feature is on, denyable per-group via LuckPerms for VIP-only access).
The same per-transaction safety net protects PC editing: if a Pokémon gets traded or moved between "click to edit" and "click to buy", the transaction aborts with an automatic refund.
Themed mod-item icons everywhere
PokeBuilder uses the actual items from Cobblemon and Mega Showdown for every menu — not vanilla placeholders. Some highlights:
- The party screen renders real Pokémon models via Cobblemon's
PokemonItem - The IV editor uses hyper-training candies for each of the six stats
- The EV editor uses vitamins (HP Up, Protein, Iron, Calcium, Zinc, Carbos)
- The nature picker shows the matching nature mint for every entry
- The ability picker uses Ability Capsule / Ability Patch
- The ball picker shows the actual Cobblemon Poké Ball items
- The Dynamax level picker is a Dynamax Candy stack scaled to the level
- The G-Max toggle is a Dynamax Band + Max Mushroom
- The Tera type picker is the matching Mega Showdown Tera Shard
- The Nickname icon is a Name Tag, Friendship is a Poppy, Status Cure is a Honey Bottle
- The current-Pokémon header shows the caught ball for the species
Customization
Permission-based price tiers (new in 1.3.0) — multiplier per tier in config.conf:
tiers {
default = 1.0
vip = 0.80 # 20 % discount
mvp = 0.60
}
A player gets the first tier they hold pokebuilder.tier.<id> for, in declaration order. Tier resolution is per-transaction — LuckPerms grants/revokes take effect on the very next purchase. Audit log records both the sticker and the resolved price so VIP receipts aren't confusing.
i18n / language files (new in 1.3.0) — every UI string lives in assets/pokebuilder/lang/<locale>.json and can be overridden by dropping config/pokebuilder/lang/<locale>.json into the server's config dir. The message-locale config key picks the language ("auto" = JVM default with English fallback). Admin GUI message edits stack on top of the locale base and only the actual deltas get persisted to disk — your config.conf stays small.
In-game admin panel — every setting is clickable
Run /pokebuilder admin (default OP 4 or pokebuilder.admin.gui) to open the control panel. Every section is a clickable GUI, no chat-spam config:
- Prices — +/- steppers for every cost, shift-click for ×10 jumps
- Features — toggle individual purchases on or off; disabled features are hidden from
/pband refused server-side. 17 toggles after 1.3.0 (every editor + every shortcut + 4 new ones for Nickname / Friendship / Status Cure / PC Access) - Security — click cooldown, max modifications per minute, creative-mode toggle, fainted-Pokémon toggle
- Restrictions — block legendaries / mythicals / ultra beasts / paradox; chat-input managed blocked-species list
- Sounds — master toggle, volume, pitch
- Messages — left-click any message to rewrite it in chat with
&color codes; right-click to reset - Save to Disk — atomic
tmp + renamewrite, glows when there are unsaved edits - Reload from Disk — discards unsaved in-memory edits, re-reads the file; live-rebinds the Impactor economy so currency changes take effect without a restart
Edits go live immediately for all players but are only persisted when you click SAVE TO DISK (or run /pokebuilder save).
Built defensively
Because this mod lets players pay currency for irreversible game-state changes, the transaction layer is paranoid by design:
- Per-player locks — every modification runs inside a synchronized block keyed by player UUID, so two simultaneous clicks can't double-spend
- Atomic purchases — order is balance check → withdraw → mutate → audit. If the Cobblemon mutation throws, the currency is automatically refunded
- Balance-delta verification — every
withdraw/depositchecks the player's balance before and after, and logs a WARN if Impactor reports SUCCESS but the balance didn't actually change (another mod cancelling the event, a virtual account, a cached account, etc.). Catches the "everything looks like it works but currency isn't deducted" class of bug that's otherwise invisible. - Pokémon identity check — if your target gets traded, released, or boxed mid-edit (whether in party or PC), the transaction aborts with a refund instead of editing a stale reference
- Click cooldown + per-minute rate limit — block rapid-click and macro exploits
- GUI slot interception — items shown in menus cannot be dragged, swapped, dropped, cloned, or extracted into your inventory
- Permission re-check on every click — demoting a player mid-session locks them out immediately
- Transaction receipts (new in 1.3.0) — every successful purchase gets a unique 8-character base36 ID written to the audit log. Players see them in
/pb history; admins reference them in support tickets. - Atomic config writes — temp file + rename, so a crash mid-save can never corrupt the config
- Audit log — every transaction (player, Pokémon UUID, species, action, cost, balance before/after, success/failure, tier and sticker price if discounted) is appended to
logs/pokebuilder-transactions.log. Every admin GUI change records its old and new value - Feature gating — disabled features are checked at the GUI layer, the submenu layer, AND the transaction layer — defense in depth, no single bypass
Permissions (Fabric Permissions API / LuckPerms)
| Node | Default | What it does |
|---|---|---|
pokebuilder.use |
true | Open the GUI |
pokebuilder.modify.iv / .ev / .nature / .ability / .shiny / .gender / .ball |
true | Per-feature edit access |
pokebuilder.modify.ability.hidden |
true | Switch to a hidden ability |
pokebuilder.modify.dynamax / .gmax / .tera |
true | Dynamax / G-Max / Tera modifications |
pokebuilder.modify.nickname / .friendship / .status_cure |
true | New 1.3.0 features |
pokebuilder.use.pc |
true (once features.pc-access is on) |
Browse own PC via /pb |
pokebuilder.tier.<id> |
— | Price-tier membership (e.g. .vip, .mvp) |
pokebuilder.bypass.cooldown |
false | Ignore click cooldown |
pokebuilder.bypass.cost |
false | Free modifications (admins testing) |
pokebuilder.admin.gui |
OP 4 | Open the admin panel |
pokebuilder.admin.save |
OP 4 | Save config to disk |
pokebuilder.admin.reload |
OP 3 | Reload config from disk |
pokebuilder.admin.debug |
OP 4 | Run /pokebuilder debug |
pokebuilder.admin.history |
OP 3 | View any player's /pokebuilder history |
Bypass nodes default to nobody. Granting OP does not auto-grant bypass — use a permission plugin if you need it.
Commands
/pokebuilder Open the party selector
/pokebuild /pb Aliases
/pb history [page] Player's own purchase history with tx ids
/pokebuilder version Show installed version
/pokebuilder admin Open the admin panel (requires permission)
/pokebuilder save Persist live edits to disk (requires permission)
/pokebuilder reload Re-read config.conf + re-hook economy (requires permission)
/pokebuilder debug Dump live economy state for diagnostics (requires permission)
/pokebuilder history player <name> Any player's purchase history (requires permission)
Configuration
config/pokebuilder/config.conf is a HOCON file. Edit it by hand and run /pokebuilder reload, or use the admin GUI and click SAVE TO DISK. The file is generated on first launch with sensible defaults.
Notable subsections:
economy— currency-id (blank = server primary), display-name override, formatprices— every per-action costfeatures— 17 on/off togglestiers— permission-based price multipliersrestrictions— block legendaries / mythicals / ultra beasts / paradox + per-species block listsecurity— cooldown, rate limit, creative / fainted togglesmessage-locale—"auto"or a specific locale like"en_us"/"fr_fr"
Audit log lives at logs/pokebuilder-transactions.log.
Requirements
Hard dependencies:
- Minecraft 1.21.1
- Fabric Loader ≥ 0.17.2
- Fabric API
- Cobblemon 1.7+
- Impactor (Fabric) 5.3+ — provides the economy backend
Recommended (needed only if you want the Dynamax / G-Max / Tera display overlay on Pokémon summary screens; PokeBuilder's buy flows work without it because the underlying fields are native Cobblemon):
- Mega Showdown 1.7.3+
- Architectury API 13.0.8+ (hard dep of Mega Showdown)
- Accessories 1.1.0+ (hard dep of Mega Showdown)
- owo-lib 0.12.15+ (hard dep of Accessories)
PokeBuilder is server-side only. Players need Cobblemon and Fabric API on their client; they do NOT need PokeBuilder, Impactor, Mega Showdown, accessories, owo-lib, or architectury installed to use any of its features. Everything is delivered through standard inventory packets.
What it intentionally is not
- Not a client mod — runs server-side only, no client install required
- Not a shop — does not sell Pokémon, items, or Poké Balls; only modifies Pokémon you already own
- Not an economy plugin — Impactor is the only source of truth for balances; PokeBuilder mints nothing
- Not a PokéEditor replacement — exposes a curated subset of safe edits. Species / level / moves / held items / EXP / etc. are deliberately out of scope so players can't trivialize unearned content
Target audience
Cobblemon server owners who already run an Impactor economy and want to give their players a paid, self-service way to finalize competitively-viable Pokémon — without writing custom commands, without handing out /op, and without trusting moderators to manually honor "50k for a 6IV" requests in chat. With 1.3.0's PC access and the new bio-edit features (nickname / friendship / status cure), the mod now covers the full self-service "polish my collection" workflow without ever taking a Pokémon out of storage.
License: MIT Author: souljagger


