**"1.20.1 (Alpha 4)"**
- The Java requirement for 1.20.1 is Java 17. This will come shipped with most launchers. For manual installation, you may need to install a later JRE.
- The minimum Forge version for this update is 47.1.46 and is required for a Pixelmon client to run.
- Worlds from 1.16.5 may not work with newer versions of Minecraft. Consider backups before updating..
- If using datapacks, consider refreshing every update for default datapack fixes from Pixelmon.
#### Additions:
- Added Paldean TMs: TM172, TM173, TM174, TM175, TM176, TM177, TM178, TM179, TM180, TM181, TM182, TM183, TM184, TM185, TM186, TM187, TM188, TM189, TM190, TM191, TM192, TM193, TM194, TM195, TM196, TM197, TM198, TM199, TM200 and TM201.
- Added shader support.
- Added normal map support. An example of this change can be found on IronLeaves' asset folder and species json.
- Added fresnel shader support.
- Added error messages to commands using invalid or error-filled Pokémon specs.
## Moves, Abilities and Effects:
- Added Minds Eye ability.
- Added Toxic Chain ability.
- Added Hospitality ability.
## Spawning:
- Added [Nullscape](https://www.curseforge.com/minecraft/mc-mods/nullscape) spawning support.
- Added [Incendium](https://www.curseforge.com/minecraft/mc-mods/incendium) spawning support.
## Structures:
- Added the Steel Gym Town to the Savanna biome.
- Added Steel Gym structure.
- Added Steel Town structures: Berry Farm A and B, Blacksmith, Church, Clutter A-F, Day Care, Farm A and B, House A-E, Poke Center, Poke Mart, Road A-D, Town Center A and B and TCG Shop.
- Added Steel Gym Trainers to Steel Gym structure: Elite A-F, Grunt A-I and Gym Leader A-F.
#### Changes:
- Modified Mailbox and Letterbox block bound boxes to a smaller size than a full block.
- Modified Pokémon Bosses to now use fresnel shader rendering.
- Modified evolution animations effects to now use fresnel shader rendering.
- Modified Gigantamax and Dynamax animations effects to now use fresnel shader rendering.
- Changed all test based commands to return 1 when successful and 0 when failing, including `/comptest` `/spectest` and `/poketest`.
- Gastly, Haunter, Shuppet, Misdreavus, and Dreepy are now mob replacements for Minecraft's Vex.
#### Fixes:
- Fixed Pokemon not spawning below Y-level 0.
- [21004](https://pixelmonmod.com/tracker.php?p=2&t=21004) Fixed the move skill descriptions sometimes showing up behind the selection wheel.
- Fixed the mystery box rendering at weird positions
- [20850](https://pixelmonmod.com/tracker.php?p=2&t=20850) Fixed the Move Relearner's moves rendering invisible on opening UI.
- [20879](https://pixelmonmod.com/tracker.php?p=2&t=20879) Fixed certain items not showing in the player's hand.
- [20824](https://pixelmonmod.com/tracker.php?p=2&t=20824) Fixed player name and resource pack-textured NPCs displaying as a missing texture.
- [20976](https://pixelmonmod.com/tracker.php?p=2&t=20976) Fixed the raid end victory screen UI.
- [20940](https://pixelmonmod.com/tracker.php?p=2&t=20940) Fixed client crash when breaking Pixelmon's Pokédisplay block.
- Fixed raids sometimes lasting more than 10 turns
- Removed duplicate acitvation text from Fillet away
- [20249](https://pixelmonmod.com/tracker.php?p=2&t=20249) Fixed Clodsire not breeding into Paldean Wooper
- [20249](https://pixelmonmod.com/tracker.php?p=2&t=20249) Fixed Tauros inheriting its Paldean status based on breeding forms.
- Fixes the boss rate not working in the Pixelmon spawner block.
- Fixed Meltan double-eating iron nuggets.
- [20629](https://pixelmonmod.com/tracker.php?p=2&t=20629) [20149](https://pixelmonmod.com/tracker.php?p=2&t=20149) Fixed Pokémon other than Magikarp not spawning with JUMP palettes.
- Fixed JUMP palettes overriding shiny palettes.
- Fixed the Trade Machine screen repeating endlessly the lever click sound when hovering over the Pokémon selection UI.
- [20887](https://pixelmonmod.com/tracker.php?p=2&t=20887) Fixed the Trade Machine screen buttons not working.
- Fixed the Pokémon Egg not launching players in singleplayer worlds if stepped or fallen on.
- [20490](https://pixelmonmod.com/tracker.php?p=2&t=20490) Fixed Necrozma losing fused Solgaleo/Lunala respectively.
- [20648](https://pixelmonmod.com/tracker.php?p=2&t=20648) Fixed Mega-evolutions losing their ability on mega-evolving.
- Fixed evolved forms persisting after battle end.
- [20987](https://pixelmonmod.com/tracker.php?p=2&t=20987) Fixed item duplication bug with Pokébags.
- Fixed the Move Relearner not including egg moves in its movelist.
- [20947](https://pixelmonmod.com/tracker.php?p=2&t=20947) Fixed lures being unplaceable in their inventory slot when in survival mode.
- [20965](https://pixelmonmod.com/tracker.php?p=2&t=20965) Fixed Street Lights failing to produce light.
- Fixed Pokémon not spawning in underground caves appropriately.
- Fixed banners not appearing above the Ice Gym Town's PokéMart.
## Battles:
- [20781](https://pixelmonmod.com/tracker.php?p=2&t=20781) Fixed multiple hit attacks hitting an extra time once their battle effect resolved.
- [20498](https://pixelmonmod.com/tracker.php?p=2&t=20498) Fixed soft locks when Revival is used by other copying moves, such as Assist.
- Fixed stat-changing items not working when equipped in battles.
- Fixed Gigantamax Pokémon only being able to use their Gmax-move once per battle.
## Datapack:
- Added the [normal map](https://en.wikipedia.org/wiki/Normal_mapping) property to palettes. An example of this change can be found on `1010-IronLeaves.json`.
## Translation:
- Updated Ukrainian translation.
- Updated Spanish translation.
- Updated Traditional Chinese translation.
## Developer:
- PokemonStorage now implements Iterable. Allowing for it to be used in enhanced for loops
- PokemonStorage now has an abstract `PokemonStorage#clear()V` method which is implemented by both sub classes and will remove all Pokemon from the storage
- Removed the "dynamax scale" and changed it to just use the Pixelmon's scale factor
- Added ShaderProperties to AbstractClientEntity
- Changed the StorageProxy and StorageManager to return `CompletableFuture` on the default methods as the loading of the player data now defers to the Scheduler's thread
- Moved StorageSaveScheduler and StorageSaveAdapter out of the StorageManager and as static variables in the StorageProxy
- Added `StorageSaveScheduler#getExecutor` so that async execution can be done when accessing the party through the CompletableFuture interface
- Adds the `BoxCountCalculateEvent` with Pre and Post for changing the box count of a PC on a per-player basis
- Added methods to the StorageProxy and StorageManager with "Now" suffix to maintain instantaneous access to the PC/Party where applicable. Most use cases are fine to use this however, it's notable that these should not be used if attempting to load offline player data as they will hold the thread until done (as was seen with the previously implementation when players logged in). These methods have been observed taking up to 2,000ms (probably more sometimes too) when players have a significant number of boxes in their PC.
- Added the `ParseAttempt` interface
- Changed the SpecificationProxy to return `ParseAttempt` when creating
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }