Custom pokeballs
Different aspects of the Pixelmon mod can be tweaked through different types of JSON files for datapacks. This page covers how to tweak the Poké Balls files to create a custom Poké Ball. Poké Ball JSON files are located at <Minecraft directory>/data/pixelmon/pokeballs. All JSONs can be found in the JAR which can be opened with programs like WinRAR.
Examples of how the set up is and the effects can be found on this page.
Contents
Custom Poké Balls
Custom Poké Balls can made to suit whatever the user intends. The textures, models, GUI sprites, lids, and recipes can be completely customized.
This will require a custom resource pack. If you are new to resource packs, please check out a tutorial found here.
A custom datapack will also be required. If you are new to datapacks, it is recommended you check out the Minecraft wiki guide found here.
Creating a Custom Poké Ball
Creating a custom Poké Ball will require making JSONs for the ball's information, a custom lid recipe, and the ball's crafting recipe.
Custom Poké Ball JSON
Following the set up of a Poké Ball, the JSON for the custom ball should look like this:
{ "name": "red_demo_ball", "model": "pixelmon:models/pokeballs/base.pqc", "texture": "pixelmon:textures/pokeballs/red_demo_ball.png", "flashingTexture": "pixelmon:textures/pokeballs/poke_ball_flashing.png", "ballSprite": "pixelmon:items/pokeballs/red_demo_ball", "lidSprite": "pixelmon:items/pokeballs/red_demo_ball_lid", "guiSprite": "pixelmon:textures/gui/overlay/red_demo_ball.png", "logic": "", "bases": [ "aluminum", "iron" ], "captureMethod": "gen8", "catchBonus": 1, "breakChance": 0.55, "velocityModifier": 1, "gravityModifier": 1, "particles": false }
In this JSON, users can specify the pathing for custom models and model textures, party GUI sprites, ball sprites that appear when in the players inventory, and lid sprites.
This JSON can also be used to modify the modifiers of the ball. For example, a "catchBonus" of 1 is equal to 1x catch bonus. "breakChance", "velocityModifier", and "gravityModifier" are also straightforward and can be modified here.
More information on these features can be found here.
Custom Poké Ball Crafting
A custom lid JSON should be structure as such:
{ "type": "minecraft:crafting_shapeless", "ingredients": [ { "type": "forge:nbt", "item": "pixelmon:poke_ball_lid", "nbt": { "PokeBallID": "red_demo_ball" } }, { "item": "minecraft:stone_button" }, { "tag": "pixelmon:pokeball_bases" } ], "result": { "item": "pixelmon:poke_ball", "count": 1, "nbt": { "PokeBallID": "red_demo_ball" } } }
In this case, all that requires changing is the NBT line "PokeBallID", where "red_demo_ball" would be set to the desired name.
Custom Lid Crafting
A custom lid JSON should be structured as such:
{ "type": "minecraft:crafting_shaped", "pattern": [ "###" ], "key": { "#": { "item": "pixelmon:ruby" } }, "result": { "item": "pixelmon:poke_ball_lid", "count": 5, "nbt": { "PokeBallID": "red_demo_ball" } } }
As with the crafting JSON, the only change that would be required would be the NBT line for "PokeBallID". To change the required item to craft the lid, the "key" section would need to be edited. Specifically, the "item" line labeled "pixelmon:ruby" would require a change to the item ID of whatever item is desired. For Minecraft items, this would begin with "minecraft:", followed by the ID for the item. For modded items, the mod ID is needed. An example of adding a modded item would be using the item Blue Glowcane Dust from the mod "Oh The Biomes You'll Go". The ID for this item would be "byg:blue_glowcane_dust".
Results
Once properly set up as both a data pack and resource pack, you will have successfully made a custom Poké Ball have a similar results to this