
Cobblemon Gym Badges
Cobblemon Gym Badges adds a Badge Press for crafting custom gym badges (and ribbons) with role-based access.
About this Mod
Cobblemon Gym Badges
Cobblemon Gym Badges adds a Badge Press for crafting custom gym badges (and ribbons) with role-based access.
Features
- Badge Press block with a dedicated crafting UI
- Gym Leader roles to gate badge crafting
- Datapack + resourcepack support for custom badges and ribbons
- JEI / EMI / REI integration (only craftable recipes are shown per player)
- Resourcepack-first design so custom art stays outside the jar
- This basically includes functionality to see Custom Items in JEI / EMI / REI like the Easy Item List Mod
Using the Badge Press
- Place a Badge Press.
- Put the core ingredient in the top slot and the base ingredient in the bottom slot.
- If you have the required role (if any), the badge will appear in the output slot.
Creating Custom Badges (Datapack + Resourcepack)
You need two parts:
- A datapack for badge definitions and recipes
- A resourcepack for models and textures
Information on Datapacks / Resourcepacks
Datapack: Badge Definitions
Path: data/<namespace>/cgb/badge/<id>.json
(cgb here is the registry namespace for badges.)
Naming tip: the <id> is the badge’s identity and translation key.
If you want a “Champion Ribbon”, name the file champion_ribbon.json and add a translation forbadge.<namespace>.champion_ribbon. The internal item id is always cgb:badge, cgb:badge_ribbon,
or cgb:badge_untagged based on badgebox, but players only see the badge definition name.
Example (badge):
{
"name": { "text": "Fire Badge" },
"theme": "fire",
"texture": "cgb:item/fire_badge",
"badgebox": "badge"
}
Example (ribbon):
{
"name": { "text": "Champion Ribbon" },
"theme": "champion",
"texture": "cgb:item/blue_ribbon",
"badgebox": "ribbon"
}
Field overview:
name(optional): Display name component.theme(optional): Theme string. If omitted, uses the file name as the theme.role(optional): Required role name (without thegym_leader_prefix).tags(optional): Extra item tags to apply to the badge item.model_data(optional): Custom model data value. If omitted, the mod auto-assigns a unique value per badgebox type.modelortexture(optional): Item model id to use. If you settextureonly, the mod generates the item model.badgebox(optional):none,badge, orribbon.- This controls which BadgeBox tag the item gets.
badgeis the default (addsbadgebox:badges).ribbonaddsbadgebox:ribbons.noneadds no BadgeBox tag.- The tag names come from the BadgeBox mod and are fixed; this field hides that complexity.
Datapack: Badge Recipes
Path: data/<namespace>/recipe/<id>.json
Example:
{
"type": "cgb:badgemaking",
"core": { "item": "minecraft:gold_ingot" },
"base": { "item": "minecraft:blue_dye" },
"result": {
"theme": "champion"
}
}
core= top slot in the Badge Pressbase= bottom slot in the Badge Press
Resourcepack: Models + Textures
Paths:
- Textures:
assets/<namespace>/textures/item/<id>.png
You only need textures for simple 2D badges/ribbons. The mod generates the base item models and
CustomModelData overrides at runtime, so you do not need to ship badge.json, badge_ribbon.json,
or per-badge model files.
If your badge definition uses "texture": "cgb:item/blue_ribbon", you must also provide:
assets/cgb/textures/item/blue_ribbon.png
If you want a custom item model (3D or layered), set "model": "<namespace>:item/<id>" in the badge definition
and include the model JSON yourself.
Model selection (how textures are chosen):
- This mod uses CustomModelData to select the right model for each badge.
- If
model_datais omitted, the mod auto-assigns unique values per badgebox type. - The base models and overrides are generated automatically on the client.
You can still set model_data manually if you need stable IDs across packs, but it is not required.
Loading Your Packs
- Datapack: put the pack in
world/datapacks/and run/reload. - Resourcepack: put the pack in
resourcepacks/and enable it in the Resource Packs menu.
Troubleshooting
- Missing texture in JEI/EMI/REI usually means the model file is missing.
If you usemodel, make sure the model id in your badge definition points at a real item model JSON. - If you set
model_datamanually, ensure each badge has a unique number per badgebox type.
Otherwise, let the mod auto-assign it.
Available Versions
How to Install Cobblemon Gym Badges on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set neoforge Loader
In the panel under "Egg", select the neoforge loader and matching Minecraft version (1.21.1).
Install Mod
Open the mod browser in the dashboard and search for "Cobblemon Gym Badges". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.21.1
Server-side
✓ RequiredRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
Cobblemon Gym Badges server crashes on startup – what to do?
Most common cause: wrong neoforge version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.1). You can switch loaders with one click in the panel.
Is Cobblemon Gym Badges compatible with neoforge?
Cobblemon Gym Badges officially supports neoforge for Minecraft 1.21.1. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with Cobblemon Gym Badges – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Cobblemon Gym Badges consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Rent Modded Server
Install Cobblemon Gym Badges with just one click on your server.