▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/PokeBuilder - Cobblemon
PokeBuilder -  Cobblemon

PokeBuilder - Cobblemon

Customize your Pokémon however you want!

Оцените первым
1.6K
7
Все версии🡲 Dont Download - Commands dont work in console. (Fixed V1)

🡲 Dont Download - Commands dont work in console. (Fixed V1)

Alpha31.05.2026

Список изменений

╔══════════════════════════════════════════════════════════════════════════════════╗ ║ P O K E B U I L D E R — COMPLETE GUIDE ║ ║ Server mod for Cobblemon · Fabric 1.21.1 ║ ╚══════════════════════════════════════════════════════════════════════════════════╝

PokeBuilder is a server mod that allows modifying Pokémon using a graphical menu system and tokens (internal currency). Everything is designed to be configured from JSON files without needing to restart the server (except for the first boot).

All configuration files are saved in: [Server]/config/pokebuilder/

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ INDEX ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  1. Commands
  2. Permissions (LuckPerms / OP)
  3. economy.json — General configuration and economy
  4. modules.json — Enable/disable modules
  5. prices.json — Prices and price overrides per species
  6. blacklist.json — Blocked Pokémon
  7. limits.json — Daily usage limits
  8. discounts.json — Schedule-based discounts
  9. events.json — Tokens from events (catch / defeat)
  10. ui.json — Interface: positions, items, and texts
  11. Transaction History
  12. Backup System
  13. Data files (read-only)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  1. COMMANDS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Available aliases: /pb and /pokebuilder (both do the same thing)

┌─────────────────────────────────────────────────────────────────────────────┐ │ USER COMMANDS (permission: pokebuilder.user) │ ├─────────────────────────────────────────────────────────────────────────────┤ │ /pb Opens the main menu │ │ /pb history Opens your transaction history │ │ /pb tokens balance Shows your token balance │ │ /pb tokens send Sends tokens to another player │ │ /pb tokens buy Buys tokens with server currency │ └─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐ │ ADMIN COMMANDS (permission: pokebuilder.admin) │ ├─────────────────────────────────────────────────────────────────────────────┤ │ /pb reload Reloads all JSON files │ │ (automatically creates a backup first) │ │ /pb history Views another player's history │ │ /pb tokens balance Checks another player's balance │ │ /pb tokens give Gives tokens to a player │ │ /pb tokens take Takes tokens from a player │ │ /pb tokens set Sets an exact balance │ │ /pb admin maintenance on Enables maintenance mode │ │ /pb admin maintenance off Disables maintenance mode │ └─────────────────────────────────────────────────────────────────────────────┘

NOTES ON COMMANDS: • /pb reload applies changes from ALL JSONs instantly, without a restart. • The history saves the last 50 operations per player (see section 11). • /pb tokens buy requires an economy plugin to be configured (see economy.json). • While maintenance is active, users cannot open the menu.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2. PERMISSIONS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

The mod uses the standard Fabric permission node. Compatible with LuckPerms. If no permission plugin is installed, OP levels are used as a fallback.

┌──────────────────────────┬───────────────────────────────────────────────────┐ │ Permission node │ Description │ ├──────────────────────────┼───────────────────────────────────────────────────┤ │ pokebuilder.user │ Normal access: open GUI, buy, send tokens │ │ │ Fallback: all players (OP level 0) │ ├──────────────────────────┼───────────────────────────────────────────────────┤ │ pokebuilder.admin │ Full access: admin commands, give/take tokens, │ │ │ view others' history, maintenance, reload │ │ │ Fallback: OP level 2 │ └──────────────────────────┴───────────────────────────────────────────────────┘

Example with LuckPerms: /lp group default permission set pokebuilder.user true /lp group admin permission set pokebuilder.admin true

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3. economy.json — General configuration and economy ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Path: config/pokebuilder/economy.json (If config.json from a previous version exists, it will be automatically migrated.)

{ "messages": { "prefix": "§8[§bPokeBuilder§8] §7", "insufficient_funds": "You do not have enough tokens!", "success": "Successfully updated your Pokemon!" }, "exchange": { "impactor": { "enabled": false, "rate": 1.0, "currencyName": "impactor" }, "ultraeconomy": { "enabled": false, "rate": 1.0, "currencyName": "Coins" }, "beconomy": { "enabled": false, "rate": 1.0, "currencyName": "beconomy" } }, "maintenanceMode": false, "maintenanceMessage": "§c[PokeBuilder] The shop is currently under maintenance." }

FIELDS:

messages.prefix Prefix that appears before the mod's messages in chat.

messages.insufficient_funds Message displayed when the player lacks tokens (plays a sound as well).

messages.success Confirmation message after a successful operation.

exchange. Integration with external economies to buy tokens using /pb tokens buy. ├─ enabled: true / false — enables that economy plugin. ├─ rate: tokens given per 1 unit of currency. │ E.g.: rate: 2.0 → $100 Coins buy 200 tokens. └─ currencyName: name of the currency displayed in messages. Compatible plugins: Impactor, UltraEconomy, BEconomy.

maintenanceMode If true, players without pokebuilder.admin cannot open the menu. Can be toggled live with /pb admin maintenance on/off.

maintenanceMessage Message sent to blocked players during maintenance.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4. modules.json — Enable / disable modules ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Path: config/pokebuilder/modules.json

{ "level": true, "ivs": true, "evs": true, "nature": true, "ability": true, "shiny": true, "gender": true, "appearance": true, "friendship": true, "evolution": true, "pokeball": true, "restrictAbilitiesToPokemon": false }

Each field set to true/false completely enables or disables that module for ALL players. If set to false, the button appears locked in the menu.

AVAILABLE MODULES: ┌──────────────┬────────────────────────────────────────────────────────────┐ │ level │ Submenu to level up with Exp. Candy or reset to 1 │ │ ivs │ IV editor stat by stat │ │ │ Left Click: +1 │ Right Click: -1 │ │ │ Shift+Left: +10 │ Shift+Right: -10 │ │ evs │ EV editor stat by stat (same controls as IVs) │ │ nature │ Nature selector (visual grid of the 25 natures) │ │ ability │ Ability selector (includes hidden ability) │ │ shiny │ Shiny/non-shiny toggle (can be enabled and disabled) │ │ gender │ Male/female toggle │ │ appearance │ Editor for visual aspects and alternative forms │ │ friendship │ Instantly maximizes friendship (255). Charges nothing if │ │ │ already at max — displays the current value in the lore. │ │ evolution │ Evolve or devolve to a previous form │ │ pokeball │ Change the Poké Ball it was caught with │ └──────────────┴────────────────────────────────────────────────────────────┘

restrictAbilitiesToPokemon If true, it only shows abilities that the Pokémon can naturally have (including the hidden one). If false, it shows all abilities in the game.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5. prices.json — Prices and price overrides per species ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Path: config/pokebuilder/prices.json

{ "shiny": { "toggle": 5000 }, "nature": { "change": 500 }, "ability": { "change": 1000 }, "gender": { "toggle": 500 }, "friendship": { "maximize": 300 }, "pokeball": { "change": 300 }, "ivs": { "costPerPoint": 100 }, "evs": { "costPerPoint": 50 }, "level": { "candyXS": 10, "candyS": 100, "candyM": 250, "candyL": 500, "candyXL": 1000, "reset": 500 }, "evolution": { "evolve": 1000, "devolve": 1000 }, "aspect": { "change": 500 },

"overrides": {
  "mewtwo": {
    "shiny":     { "toggle": 15000 },
    "evolution": { "evolve": 5000 }
  },
  "ditto": {
    "nature": { "change": 200 }
  }
}

}

BASE SECTION — prices for all Pokémon:

shiny.toggle Cost to enable OR disable shiny status (same price in both directions).

nature.change Cost to change nature (flat price regardless of the nature selected).

ability.change Cost to change ability.

gender.toggle Cost to change from male to female or vice versa.

friendship.maximize Cost to instantly maximize friendship to 255. NOTE: if the Pokémon already has 255 friendship, the action won't execute and no tokens will be charged.

pokeball.change Cost to change the Poké Ball (applies to ANY ball, does not vary by type). The price is displayed in the tooltip of each ball within the menu.

ivs.costPerPoint Cost per individual IV point added or removed from any stat. E.g.: costPerPoint=100, raising HP from 20 to 31 → 11 points × 100 = 1,100 tokens. Works with single clicks (±1) and Shift+clicks (±10).

evs.costPerPoint Same as ivs but for EVs (maximum 252 per stat).

level.candyXS / candyS / candyM / candyL / candyXL Cost to use each type of candy (raises level by 1, 10, 25, 50, 100).

level.reset Cost to reset the level back to 1.

evolution.evolve / devolve Cost to evolve or devolve to a previous form.

aspect.change Cost to change the visual aspect / alternative form.

───────────────────────────────────────────────────── "overrides" SECTION — custom prices per species: ───────────────────────────────────────────────────── Allows defining different prices for specific Pokémon. The species name must be in lowercase just as it appears in Cobblemon.

Structure: "overrides": { "<lowercase_species>": { "": { "": } } }

Valid modules and fields in overrides: shiny → toggle nature → change ability → change gender → toggle friendship → maximize pokeball → change ivs → costPerPoint evs → costPerPoint level → candyXS, candyS, candyM, candyL, candyXL, reset evolution → evolve, devolve aspect → change

If a species does not have an override for a specific field, the base price is used. Discounts from discounts.json are applied AFTER resolving the override.

Operations costing ≥ 500 tokens require confirmation before executing (a confirmation dialog to prevent misclicks).

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6. BLACKLIST.JSON — Blocked Pokémon ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Path: config/pokebuilder/blacklist.json

{ "enabled": true, "message": "§cThis Pokémon cannot be modified with PokeBuilder!", "blockedPokemon": [ "ditto", "mewtwo" ], "blockedByModule": { "dragonite": ["shiny", "evolution"], "pikachu": ["ivs"] } }

enabled If false, disables the entire block system.

message Text displayed when trying to modify a blocked Pokémon. Supports color codes using §.

blockedPokemon List of species that CANNOT be modified at all. The species name must be in lowercase (same as in Cobblemon). E.g.: "ditto" blocks all Dittos on the server.

blockedByModule Allows blocking only specific modules for a species instead of blocking the entire Pokémon. Format: { "species": ["module1", "module2", ...] }

Valid modules:
  shiny, nature, ability, gender, friendship, pokeball,
  ivs, evs, level, evolution, aspect

E.g.: "dragonite": ["shiny", "evolution"]
  → The Dragonite can modify its IVs or nature, but NOT shiny or evolution.

NOTES: • If a species is in blockedPokemon, it ignores blockedByModule for that species. • Blocked modules appear with their button disabled in the editor menu.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7. LIMITS.JSON — Daily usage limits ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Path: config/pokebuilder/limits.json

{ "enabled": false, "daily": { "shiny": -1, "nature": -1, "ability": -1, "gender": -1, "friendship": -1, "pokeball": -1, "ivs": -1, "evs": -1, "level": -1, "evolution": -1, "aspect": -1 } }

enabled Enables or disables the daily limit system. If false, no limits apply even if values are defined.

daily. Maximum number of times a player can use that module per day. -1 = no limit (unlimited).

E.g.: "shiny": 1  → each player can only toggle shiny ONE time per day.
E.g.: "ivs": 3    → can only modify IVs 3 times per day.

The counter resets automatically at midnight (server time). Remaining usage is shown in the lore of each button in the editor menu. When the limit is reached, the button appears locked with an explanatory message.

Daily usage data is saved in: config/pokebuilder/daily_usage.json (This file is automatically managed, do not edit by hand.)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8. DISCOUNTS.JSON — Schedule-based discounts ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Path: config/pokebuilder/discounts.json

{ "enabled": false, "schedules": [ { "name": "Weekend Sale", "daysOfWeek": ["SATURDAY", "SUNDAY"], "startHour": 0, "endHour": 24, "discountPercent": 20, "modules": ["shiny", "nature", "ability"] }, { "name": "Happy Hour", "daysOfWeek": [], "startHour": 20, "endHour": 22, "discountPercent": 10, "modules": [] } ] }

enabled Enables or disables the discount system.

schedules List of active discounts. You can define as many as you want. If multiple discounts overlap for a module, the HIGHEST is applied.

Fields for each schedule:

name Internal name of the discount (informative only, appears in the button lore).

daysOfWeek Days when it applies. Values: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY (in English and uppercase). An empty list [] = applies every day.

startHour / endHour Server hour range when the discount applies (24h format). E.g.: startHour: 20, endHour: 22 → from 20:00 to 22:00. startHour: 0, endHour: 24 → all day long.

discountPercent Discount percentage. E.g.: 20 = 20% off. A price of 5000 with a 20% discount becomes 4000.

modules List of modules to which the discount applies. An empty list [] = applies to ALL modules.

The discount appears in the lore of each button with the text: "🏷 Weekend Sale: 20% off!"

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9. EVENTS.JSON — Tokens from in-game events ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Path: config/pokebuilder/events.json

{ "enabled": false, "onCatch": { "legendary": 50, "mythical": 30, "shiny": 100, "any": 0 }, "onDefeat": { "legendary": 20, "mythical": 15, "shiny": 50, "trainer": 10, "any": 1 }, "catchMessages": { "legendary": "§6Legendary caught! §b+{amount} Tokens", "mythical": "§dMythical caught! §b+{amount} Tokens", "shiny": "§dShiny caught! §b+{amount} Tokens", "any": "" }, "defeatMessages": { "legendary": "§6Legendary defeated! §b+{amount} Tokens", "mythical": "§5Mythical defeated! §b+{amount} Tokens", "shiny": "§dShiny defeated! §b+{amount} Tokens", "trainer": "§eTrainer defeated! §b+{amount} Tokens", "any": "" } }

enabled Enables or disables the ENTIRE event reward system. If false, no tokens are given for any event.

───────────────────────────────────── "onCatch" SECTION — Rewards upon CATCHING: ───────────────────────────────────── Triggered when a player catches (throws a Poké Ball and captures) a Pokémon. Types stack: catching a Shiny+Legendary gives legendary + shiny tokens.

legendary Tokens for catching a Legendary Pokémon. mythical Tokens for catching a Mythical Pokémon. shiny Tokens for catching a Shiny Pokémon. any Tokens for any catch. 0 = disabled.

───────────────────────────────────── "onDefeat" SECTION — Rewards upon DEFEATING in battle: ───────────────────────────────────── Triggered when a player wins a battle (wild or trainer). Types stack just like in onCatch.

legendary Tokens for defeating a Legendary Pokémon in battle. mythical Tokens for defeating a Mythical Pokémon. shiny Tokens for defeating a Shiny Pokémon. trainer Tokens for winning a battle against a trainer/NPC. Applied ONLY ONCE per battle (not for each individual Pokémon). any Tokens for each wild Pokémon defeated. 0 = disabled.

───────────────────────────────────── "catchMessages" / "defeatMessages" SECTIONS: ───────────────────────────────────── Messages sent to the player when they receive tokens. Uses {amount} as a placeholder for the number of tokens received. Supports color codes (§6, §a, §b, etc.). An empty message "" = nothing is displayed for that type.

NOTE: Legendary/Mythical classification uses Cobblemon's internal tags. If a Pokémon lacks a tag, the mod uses an integrated fallback list featuring the most well-known species across all generations.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10. UI.JSON — Interface: positions, items, and texts ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Path: config/pokebuilder/ui.json

This file controls practically everything visual about the mod: window titles, the position of each button, items representing each function, and the texts that appear in the GUI.

IMPORTANT ABOUT SLOTS: Slots are positions in the inventory grid (6-row chest = 54 slots). They are numbered from left to right, top to bottom: Row 1: slots 0 – 8 Row 2: slots 9 – 17 Row 3: slots 18 – 26 Row 4: slots 27 – 35 Row 5: slots 36 – 44 Row 6: slots 45 – 53

IMPORTANT ABOUT ITEMS: Items are specified as "namespace:id", e.g., "minecraft:diamond" or "cobblemon:rare_candy". The mod resolves this automatically in real time.

══════════════════════════════════════════════ 10.1 selectionMenu (party Pokémon selection menu) ══════════════════════════════════════════════

title Window title. Supports §codes. Default value: "§l§fᴘᴏᴋᴇʙᴜɪʟᴅᴇʀ"

backgroundItem Filler item for empty slots. Default value: "minecraft:gray_stained_glass_pane"

slots.partyStart Slot where the first Pokémon of the party starts displaying. Default value: 10

slots.pcButton Slot where the button to access the PC appears. Default value: 8

slots.tokenBalance Slot where the item displaying the token balance appears. Default value: 26

texts.emptySlot Text that appears in party slots that are empty. Default value: "§8Empty Slot"

texts.pcButton Text for the button to access the PC. Default value: "§bSelect from PC"

══════════════════════════════════════════════ 10.2 builderMenu (editor menu for a specific Pokémon) ══════════════════════════════════════════════

title Title. Uses {pokemon} as a placeholder for the Pokémon's name. Default value: "§l§fEDITOR §7» §l{pokemon}"

slots.* Position of each button in the grid: ┌──────────────┬───────┬───────────────────────────────────────┐ │ Field │ Slot │ Description │ ├──────────────┼───────┼───────────────────────────────────────┤ │ pokemonPreview│ 31 │ 3D model of the Pokémon (decorative) │ │ tokenBalance │ 8 │ Item with your token balance │ │ level │ 19 │ Button to edit level │ │ ivs │ 20 │ Button to edit IVs │ │ nature │ 28 │ Button to edit nature │ │ evs │ 29 │ Button to edit EVs │ │ ability │ 37 │ Button to edit ability │ │ shiny │ 24 │ Button to toggle shiny status │ │ appearance │ 25 │ Button to edit appearance │ │ gender │ 33 │ Button to change gender │ │ evolution │ 34 │ Button to evolve/devolve │ │ friendship │ 42 │ Button to maximize friendship │ │ pokeball │ 43 │ Button to change Poké Ball │ │ back │ 49 │ Go back button │ └──────────────┴───────┴───────────────────────────────────────┘

items.* Item representing each button. You can put any item from Minecraft or Cobblemon. If the item does not exist, a barrier is used as a fallback. ┌──────────────────┬───────────────────────────────────────────┐ │ Field │ Default value │ ├──────────────────┼───────────────────────────────────────────┤ │ level │ cobblemon:rare_candy │ │ ivs │ cobblemon:potion │ │ evs │ cobblemon:protein │ │ nature │ cobblemon:serious_mint │ │ ability │ cobblemon:ability_capsule │ │ shiny │ cobblemon:star_sweet │ │ appearance │ cobblemon:heavy_duty_boots │ │ evolution │ cobblemon:upgrade │ │ friendship │ cobblemon:soothe_bell │ │ pokeball │ cobblemon:poke_ball │ │ back │ minecraft:barrier │ │ disabledModule │ minecraft:red_stained_glass_pane │ │ tokenBalance │ cobblemon:relic_coin │ │ genderMale │ cobblemon:muscle_mochi │ │ genderMaleFallback │ minecraft:blue_wool │ │ genderFemale │ cobblemon:resist_mochi │ │ genderFemaleFallback │ minecraft:pink_wool │ └──────────────────┴───────────────────────────────────────────┘

texts.* Labels for each button. You can use §codes for colors and {variable} for placeholders where applicable. The gender field accepts {gender} as a placeholder (Male / Female).

══════════════════════════════════════════════ 10.3 levelMenu (level submenu) ══════════════════════════════════════════════

title Accepts {pokemon} and {level} as placeholders. Default value: "{pokemon} > §l§fLevel §f{level}"

slots: candyXS(10), candyS(11), candyM(12), candyL(13), candyXL(14), reset(15), back(26)

items: exp candies from Cobblemon and Sinister Tea for the reset.

══════════════════════════════════════════════ 10.4 statEditorMenu (IV and EV editor) ══════════════════════════════════════════════

titleIV / titleEV Separate titles for the IV and EV menus. Accept {pokemon} as a placeholder.

slots.pokemonPreview Model slot (4) slots.statStart Slot where the stats row begins (19) slots.back Go back button slot (26)

texts.statNames List of 6 names for the stats: ["HP","Attack","Defence","Sp. Atk","Sp. Def","Speed"]

texts.clickLeft/Right/shiftLeft/shiftRight Instructions that appear in the tooltip of each stat. Default: Left Click +1, Right Click -1, Shift+Left +10, Shift+Right -10. NOTE: Shift+click is fully implemented for both directions.

items.ivItems / evItems List of 6 items (one per stat) for IVs and EVs respectively.

The header of each stat also displays its maximum value: "HP: 25 / 31"

══════════════════════════════════════════════ 10.5 natureMenu (nature selector) ══════════════════════════════════════════════

slots.pokemonPreview Model position (13) slots.gridStartRow Row where the nature grid begins (1) slots.gridStartCol Column where the grid begins (1) slots.gridCols Grid columns (7) slots.back Go back button (49)

══════════════════════════════════════════════ 10.6 abilityMenu (ability selector) ══════════════════════════════════════════════

title Accepts {page} and {pokemon}. Default value: "§l§fAbilities §7(Pg. {page}) » §l{pokemon}"

slots: pokemonPreview(13), gridStartRow(1), gridStartCol(1), gridCols(7), previousPage(48), nextPage(50), back(49)

══════════════════════════════════════════════ 10.7 aspectMenu (aspect / form editor) ══════════════════════════════════════════════

slots: gridStart(0), gridSize(36), previousPage(45), nextPage(53), back(49)

texts.activeLabel Text on currently active aspects. texts.resetOption Text for the option to revert back to default form.

══════════════════════════════════════════════ 10.8 evolutionMenu (evolution machine) ══════════════════════════════════════════════

slots.familySlots List of slots where members of the evolutionary chain are shown. Default: [10,11,12,13,14,15,16,19,20,21,22,23,24,25]

texts.currentForm Text on the Pokémon that is already the current form. texts.evolveAction Tooltip text for evolving. texts.devolveAction Tooltip text for devolving.

══════════════════════════════════════════════ 10.9 pokeBallMenu (Poké Ball selector) ══════════════════════════════════════════════

title Accepts {currentBall} and {pokemon} as placeholders. Default value: "§l§fPokeBalls §7(§f{currentBall}§7) » §l{pokemon}"

slots.back Go back button slot (49)

══════════════════════════════════════════════ 10.10 pcMenu (PC menu with pagination) ══════════════════════════════════════════════

title Accepts {page}, {totalPages}, and {total} as placeholders. Default value: "§l§fPC Storage §7(Pg. {page}/{totalPages} · {total} Pokémon)"

slots: previousPage(45), nextPage(53), back(48)

Each page shows up to 45 Pokémon (slots 0–44). Slot 49 always shows a book displaying "Page X / Y" (not configurable). The Box and Slot where it is stored appear in the tooltip of each Pokémon.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11. TRANSACTION HISTORY ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Every module within the mod logs purchases into the history system. It is saved in: config/pokebuilder/history.json

Commands: /pb history → View your own history (last 50 ops) /pb history → View another player's history (admin only)

The history GUI displays up to 45 transactions per page with full pagination. Each entry includes: • Action performed (SHINY, NATURE, IVS, LEVEL, etc.) • Name of the modified Pokémon • Tokens spent • Date and time of the operation • Additional detail (e.g.: "HP 20→31", "+25 levels → 85", "Timid")

MODULES THAT LOG TRANSACTIONS: ┌──────────────────────┬──────────────────────────────────────────────────┐ │ Module │ Logged Detail │ ├──────────────────────┼──────────────────────────────────────────────────┤ │ Shiny │ (no extra details) │ │ Gender │ (no extra details) │ │ Friendship │ (no extra details) │ │ Nature │ Name of the new nature (e.g.: "Timid") │ │ Ability │ Name of the new ability (e.g.: "Intimidate") │ │ IVs │ Stat and change (e.g.: "HP 20→31") │ │ EVs │ Stat and change (e.g.: "Attack 0→252") │ │ Level │ Change (e.g.: "+25 levels → 85" or "Reset to 1")│ │ Evolution / Devolve │ Name of the target species │ │ PokeBall │ Name of the chosen ball │ │ Appearance │ Name of the applied aspect │ └──────────────────────┴──────────────────────────────────────────────────┘

The history retains the last 50 entries per player. Older entries are automatically deleted once this threshold is crossed. There is no way to wipe history from within the game (only by editing the JSON).

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12. BACKUP SYSTEM ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Backup folder: config/pokebuilder/backups/

Every time /pb reload is executed, the mod automatically saves timestamped copies of ALL configuration files:

tokens_2026-05-29_22-00-00.json
economy_2026-05-29_22-00-00.json
prices_2026-05-29_22-00-00.json
ui_2026-05-29_22-00-00.json
limits_2026-05-29_22-00-00.json
discounts_2026-05-29_22-00-00.json
events_2026-05-29_22-00-00.json
modules_2026-05-29_22-00-00.json

The last 10 backups per file are kept. Older ones are automatically deleted when this limit is exceeded.

To restore a backup: 1. Stop the server. 2. Copy the desired file from /backups/ to /pokebuilder/ using the original name. 3. Start the server (or use /pb reload if you only changed config JSONs).

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13. DATA FILES (automatically managed) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

These files are created and managed by the mod. They should not be edited by hand except for emergency corrections.

tokens.json Token balance of all players, indexed by UUID. If there are old entries with username (previous mod versions), they are automatically migrated to the player's UUID upon their next connection.

history.json Last 50 transactions for each player. Can be viewed with /pb history. Format: UUID → list of { action, pokemon, cost, timestamp, details }

daily_usage.json Usage counter for the current day per player and module. Resets automatically when the day changes (server midnight).

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ COMPLETE FILE STRUCTURE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

config/pokebuilder/ ├── economy.json → General configuration and economy ├── modules.json → Enable/disable modules ├── prices.json → Base prices and overrides per species ├── blacklist.json → Fully or partially blocked Pokémon ├── limits.json → Daily usage limits per module ├── discounts.json → Discounts per day/hour ├── events.json → Token rewards from events ├── ui.json → Interface: slots, items, and texts ├── tokens.json [data] Token balances (UUID → amount) ├── history.json [data] Transaction history ├── daily_usage.json [data] Current daily usages └── backups/ ├── tokens_YYYY-MM-DD_HH-mm-ss.json ├── economy_YYYY-MM-DD_HH-mm-ss.json └── ...

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ QUICK TIPS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

• Edit any JSON and use /pb reload to apply changes without restarting. • Changes in prices.json, limits.json, and discounts.json are visible instantly in the menu without the player having to close and open it. • To raise IVs 10 points at a time, use Shift+Left Click. To lower them, use Shift+Right Click. This layout functions identically in the EV menu. • The Friendship button displays your current value (e.g.: "247 / 255") and will not charge tokens if the Pokémon is already at 255. • To make shiny status very expensive only for Legendaries, use the "overrides" section in prices.json combined with blacklist.json if you want to block them entirely. • To enable catch events, set "enabled": true in events.json. The "any" field under onDefeat is set to 1 by default; switch it to 0 if you don't want to give out tokens for every regular wild battle. • The history log (/pb history) is highly practical for auditing what changes a player made and when. Admins can view anyone's log with /pb history . • To translate the mod, edit the "texts" fields in ui.json and the messages in events.json and economy.json. Everything is in plain text.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Файлы

pokebuilder-v1_db.jar(426.89 KiB)
Основной
Скачать

Метаданные

Канал релиза

Alpha

Номер версии

V1.0

Загрузчики

Fabric

Версии игры

1.21.1

Загрузок

49

Дата публикации

31.05.2026

Загрузил

ID версии

Главная