**"1.20.2 (Alpha 7)"**
- The Java requirement for 1.20.2 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 48.1.0 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 Health Mochi.
- Added Muscle Mochi.
- Added Resist Mochi.
- Added Genius Mochi.
- Added Swift Mochi.
- Added Fresh-Start Mochi.
- Added Red Nectar.
- Added Yellow Nectar.
- Added Purple Nectar.
- Added Pink Nectar.
- Added Metal Alloy.
## Pokémon:
- Added Pikachu Libre.
- Added Tarountula.
- Added Spidops.
- Added Finizen.
- Added Palafin.
- Added Palafin 'Hero'.
- Added Roaring Moon.
- Added Wo-Chien.
- Added Ting-Lu.
- Added Miraidon.
- Added Koraidon.
## Cosmetic Palettes:
- Added Spring palettes: Sprigatito, Floragato and Meowscarada.
- Added Summer palettes: Sprigatito, Floragato and Meowscarada.
- Added Autumn palettes: Sprigatito, Floragato and Meowscarada.
- Added Winter palettes: Sprigatito, Floragato and Meowscarada.
## Moves, Battle Items and Abilities:
- Added Fairy Feather.
<details>
<summary>Click to view new battle tests</summary>
- Added Ancient Power tests. - Added Make it Rain tests. - Added Fairy Feather tests. - Added Burning Bulwark tests for Z/Max moves, Unseen Fist and Feint. - Added Baneful Bunker tests. - Added Crafty Shield tests. - Added Endure tests. - Added King's Shield tests. - Added Mat Block tests. - Added Max Guard tests. - Added Obstruct tests. - Added Quick Guard tests. - Added Silk Trap tests. - Added Spiky Shield tests. - Added Wide Guard tests. - Added Toxic Debris tests.
</details>
## Spawning:
- Added Sprigatito, Floragato and Meowscarada 'Spring' to Flowery biomes.
- Added Sprigatito, Floragato and Meowscarada 'Summer' to Forest biomes.
- Added Sprigatito, Floragato and Meowscarada 'Autumn' to Taiga biomes.
- Added Sprigatito, Floragato and Meowscarada 'Winter' to Freezing Forest biomes.
- Added Finizen to Ocean, Deep Ocean, Warm Ocean, Lukewarm Ocean, Deep Lukewarm Ocean during the Day. Added chance to spawn with a group of Finizen.
- Added Palafin to Ocean, Deep Ocean, Warm Ocean, Lukewarm Ocean, Deep Lukewarm Ocean during the Day. Added guaranteed chance to spawn with a group of Finizen.
- Added Koraidon to Small End Islands during the Day on Land.
- Added Miraidon to Small End Islands during the Day on Land.
- Added Roaring Moon to Small End Islands on Land.
- Added Ting-Lu to Taigas at Night on Land.
- Added Wo-Chien to Swamps at Night on Land.
- Added Tarountula to All Forests on Land and in Tree Top during Day.
- Added Spidops to All Forests on Land and in Tree Top during Day.
- Added new biomes to the Raid spawning parameters.
- Added recently added Pokémon as valid Raid spawns.
## Datapack:
- Added the "pixelmon:swimming" model predicate.
- Added the "flying_or_swimming" property to the RidingModelPredicate to dictate a riding model that only displays when the Pokemon is either flying or swimming but also being ridden.
- Updated the flying model predicate checks.
- Added "partial" spawn-replacement.
- Added Finizen and Palafin as spawn replacements to dolphins.
- Added "bypass" and "field" move flags.
#### Changes:
- Reworked the PC display:
- Removed the "release bin":
- To release Pokemon from your PC you now right-click it and press the "release" button.
- Added a "hot key" tool bar, and removed the sprites on the bottom right of the screen:
- The toolbar is now click-able rather than being just hot keys.
- The toolbar will also tell you the hot key when you hover over it.
- Added multi-box view mode:
- You can now view, and modify, 18 boxes at once.
- Right-clicking a box picks it up, allowing for quick swapping of boxes.
- Press TAB to enter this screen, or use the button in the tool bar.
- Press TAB a second time to exit, or use the button in the tool bar again.
- If you're holding a Pokemon and press TAB then you will still be holding that Pokemon (or multiple Pokemon) in the multi-select mode, allowing you to quickly move them from one box to another one.
- If you use the arrow keys you can move around the boxes on the screen.
- If you hold control and use the arrow keys you can move along 18 boxes.
- Added multi-select mode:
- This mode allows you to pick up multiple Pokemon at a time by selecting an area in the box.
- You can enter this by pressing the Q key, or using the button on the hot bar.
- Pressing the Q key a second time will put you in held item mode.
- Finally, pressing the Q key a third time will return you to standard interaction mode in the PC.
- If you click and then drag you will select all the Pokemon in the area you create.
- If you hold control and then click Pokemon it will select the individual pokemon you select.
- Pressing control + a will select the whole box
- Added held item mode:
- This mode allows you to quickly and easily move held items between Pokemon.
- You can enter this by pressing the Q key twice, or using the button on the hotbar.
- You exit this mode by pressing the Q key again.
- Shift clicking a Pokemon wit a held item adds the item to inventory, if possible.
- Added an "Advanced Search" menu:
- You can access this screen by pressing the S key, or using the search button on the hot bar, and then pressing the search button to the right of the search box.
- This mode gives you some verbose filter options
- Added a "sort box" option:
- This is not bound to a key by default but is accessible via the hotbar.
- This allows you to sort the current box you're looking at by two types (expandable via sidemod) .
- Dex
- Shiny
- Added the ability to undo operations in the PC:
- You do this using the key bind: `control + z`.
- Added the ability to re-do operations in the PC:
- You do this using the key bind: `control + y`.
- Added two panels displaying information about the Pokemon you're currently holding your mouse over:
- The left display shows:
- Species
- PokéBall
- Sprite
- Form
- Palette
- Moves
- Type Icon(s)
- Held Item Sprite
- The right display shows:
- A stat hexagon with the EVs
- A stat hexagon with the IVs
- The IV numbers
- Ability
- Nature
- Growth
- Ribbons
- Added key bind: a to go to the previous page.
- Added key bind: d to go to the next page.
- Added key bind: control + tab to alternate between boxes.
- Added `pc_sorting_logic_type` registry for adding custom sorting type logic.
- Allows you to open other player's PCs using `/pc`.
- Allows offline PC access via `/pc`.
- Updated the PC command to allow opening other player's PCs.
- Updated the PC command to allow opening offline player's PCs.
- Added first person POV in battles:
- Pressing "**F1**" during battle will toggle the visibility of the battle UI.
* The `toggleBattleUserInterface` key cycles between 50% transparency of the background, 100% transparency of the background, showing only the HP of the Pokemon, and completely hiding the battle UI.
- Pressing "**F5**" during battle will toggle the battle perspective.
- The `toggleBattlePerspective` key cycles between the 3rd person Battle Camera POV, 1st person Player Model's POV, and the 1st person POV of the Player's Pokemon.
- The POV state is remembered after battles, so you can stay in 1st Person mode without having to keep re-enabling it.
- Pressing "**R**" allows the player to move freely outside of the battle while the Pokemon stay in the battle.
* Attempting to retrieve the Pokemon that is in the battle will re-enter the player into the battle.
* The player can send out other Pokemon, but they can't start another battle.
* If the player gets beyond a maximum distance from the battle, the battle will end. The player and any teammates will be designated as having forfeited.
- The default value is 30 blocks and can be set in the config with the `max-distance-players-can-move-away-from-battles` value.
- 10 blocks before the player reaches that point, a message will pop up on the hotbar warning the player and a vignette will appear that fades the player's screen deeper into orange.
* This setting can be edited in the config via the `min-distance-before-warning-vignette` value.
- Battles now have a Battle Rule that can deny allowing players to move about freely during a battle.
* An On/Off button has been added to the Battle Rules menu to adjust this.
- There are also 4 config options in the Battle Config to allow/deny players this:
- `players-can-move-during-pv-p-battles` for battles with at least 1 player on each team (defaults to true)
- `players-can-move-during-wild-battles` for battle with at least 1 Wild Pokemon on a team (defaults to true)
- `players-can-move-during-trainer-battles` for battle with at least 1 NPC Trainer on a team (defaults to true)
- `players-can-move-during-raid-battles` for Max Raid Den battles (defaults to false)
- The buttons to activate the above features have been added as key binds to Minecraft's Controls-\>Key Binds menu so that the default key bind can be changed.
<details>
<summary>Click to view safeguards against new POV battle mode</summary>
- Using the Poke Editor or a PC will forfeit the battle while in 1st person POV battle mode.
- Using a PC is disabled while in 1st person POV battle mode.
- Using a Healer or Nurse Joy is disabled while in 1st person POV battle mode.
- Trying to learn moves from a NPC Relearner or Move Tutor is disabled.
- Trying to trade with an NPC Trader or interact with a Trade Machine is disabled while in 1st person POV battle mode.
- Raid Dens are disabled from interaction while in 1st person POV battle mode.
- Poke Displays, Day Cares, Cloning Machines, retrieving the Pokemon from a Fossil Machine, Zygarde Reassembly Units, and TCG Arenas are disabled while in 1st person POV battle mode.
- Changing a Rotom's form through furniture is disabled while in 1st person POV battle mode.
- Using items on Pokemon is disabled to prevent evolving, form changing, leveling up, or increasing the strength of your other Pokemon while in 1st person POV battle mode.
- The Explode move skill is disabled while in 1st person POV battle mode.
- The Heal move skill is disabled while in 1st person POV battle mode.
- Trainers can no longer be edited by NPC Editors while in 1st person POV battle mode.
- The `/pc` command is disabled while in 1st person POV battle mode.
</details>
- Added validation to the EV & IV text editor widgets so that you are no longer guessing as to what values you can and cannot put in there:
- This prevents any value that is not an integer in the EV/IV text boxes.
- This prevents any value not in the range 0 \< x \< 31 for the IV text boxes (sets text to red).
- This prevents any value not in the range 0 \< x \< 252 in the EV text boxes (sets text to red).
- It validates the EV value and if you've reached the max IV count (510) then it prevents input (sets text to red).
- Changed the Camera item to no longer require Film to take pictures while in creative mode.
- Updated battle logs to include the AI's top decisions on what action it'll take per turn recorded.
- Removed the max party level check from the player's spawning to allow higher level parties to have Pokémon spawns in the world.
## Config:
- Split `config.yml` into multiple files in order to make changing config options easier:
- `afk_handler.json`
- `debug.yml`
- `drops.yml`
- `healing.yml`
- `ore_color.yml`
- `outside_effects.yml`
- `riding.yml`
- `pokedollars.yml`
- `pokerus.yml`
- `server_discord.yml`
- `tms.yml`
- Split the `spawning.yml` config into multiple files so that it is easier to navigate the spawning config options, moving sub-configs into `/config/pixelmon/spawning`:
- `boss.yml`
- `general.yml`
- `legendary.yml`
- `level_distance.yml`
- `meltan.yml`
- `poke_loot.yml`
- `pokestop.yml`
- `ultra_space.yml`
- `wild.yml`
#### Fixes:
- [21743](https://pixelmonmod.com/tracker.php?p=2&t=21743) Fixed a client crash caused by using Mojang's random source.
- [21740](https://pixelmonmod.com/tracker.php?p=2&t=21740) Fixed the Arc Chalice not producing Arceus with plates.
- Fixed the PokéDisplay's animations not working.
- Fixed the Zygarde Cells not disappearing after a configurable amount of time.
- [21689](https://pixelmonmod.com/tracker.php?p=2&t=21689) Fixed server hang caused by bee replacement logic by using a method that does not generate new chunks.
- Fixed dark background rendering over the trainer card.
- [21704](https://pixelmonmod.com/tracker.php?p=2&t=21704) Fixed a client crashed caused by client-side balances being null.
- Fixed Pixelmon Spawners picking moves inappropriate to the spawn's level.
- Fixed bosses from Pixelmon Spawners not having shader highlighting.
- Fixed Pixelmon Spawners not persisting settings across launches.
- Fixed Blank TMs to account for tag existence for 00 moves.
- [21180](https://pixelmonmod.com/tracker.php?p=2&t=21180) Fixed the fishing hook entity sending the wrong type of entity add packet to the client.
- Fixed a crash caused by Pokéballs going through End and Nether portals.
- Fixed the Pokémon sprite not rendering in the Reassembly Unit's menu.
- Fixed the level and HP values not rendering in the Reassembly Unit's menu.
- Fixed the Reassembly Unit's buttons rendering as bright white instead of matching the style of the rest of the menu.
- Fixed camera's using up Film while in creative mode.
- [21485](https://pixelmonmod.com/tracker.php?p=2&t=21485) Fixed the override textures not working for statues.
- [21610](https://pixelmonmod.com/tracker.php?p=2&t=21610) Fixed animation type fly not being settable on statues.
- Fixed permission checks not working.
- [20210](https://pixelmonmod.com/tracker.php?p=2&t=20210)Fixed TMs/TRs failing to drop when rewarded from a Raid.
- Fixed the description for the wiki command when getting evolution info on Primeape and Tandemaus.
- Fixed the background of cards in the TCG Card Compendium not rendering when the mouse was not hovered over them.
- Fixed the HP, name, weakness and resistance text, ability name, ability description, and other certain effect descriptions not rendering above the background of a hovered card while using the Card Compendium.
- Fixed the Celebi quest failing to give a Gold Hourglass as a reward.
- Fixed crafting PC quests failing to work with any PC, now defaulting to red PCs.
- Fixed crafting Healer quests failing to work with any Healer, now defaulting to red Healers.
- Fixed Pokémon cries failing to play properly.
- Fixed the TCG Cards for the Full Heal, Potion, Super Potion, Revive, and Max Revive having their illustration missing.
- Fixed Poké Display to stop sending previously stored Pokémon to the PC if party is full when swapping Pokémon.
- Fixed the flying persistent goal still moving the entities up and down during battle causing the camera to glitch.
- Fixed the z-level issues when rendering items in the PC screen.
- Fixed the Pokédisplay packet erroring when modifying a display.
- Fixed the animate button in the Pokédisplay not functioning.
- Fixed the Pokédisplay update packet being abusable to edit any display anywhere.
- Fixed Charmander's model sitting below the ground level.
- Fixed the break particles on the Pokédisplay.
- Fixed the break particles on the cloning machine, adding the SMD texture back.
## Battles:
- [21724](https://pixelmonmod.com/tracker.php?p=2&t=21724) Fixed the battle rules screen not rendering properly.
- [21724](https://pixelmonmod.com/tracker.php?p=2&t=21724) Fixed pressing the battle rules button causing a client disconnect.
- [21350](https://pixelmonmod.com/tracker.php?p=2&t=21350) Fixed Ancient Power boosting stats before doing damage.
- [21348](https://pixelmonmod.com/tracker.php?p=2&t=21348) Fixed Make it Rain reducing special attack on unsuccessful attacks.
- Fixed Shield Dust and Covert Cloak preventing Ancient Power boosts.
- Fixed PP-Up not boosting PP until all 3 have been used.
- Fixed Hyperspace Fury being usable by Pokémon other than Hoopa-Unbound.
- Fixed Hyperspace Fury and Hyperspace Hole not changing into each other on Hoopa form change.
- Fixed Pickpocket stealing Protective Pads.
- Fixed Baneful Bulwark, King's Shield, Obstruct, Silk Trap, and Spiky Shield inflicting effects on Protective Pads and Long Reach Pokémon.
- Fixed Gear Up, Magnetic Flux, and Flower Shield to not bypass Max Guard.
- Fixed damaging Z-moves and Max Moves being reduced by incorrect Protect types (Quick Guard, Crafty Shield, Wide Guard, etc).
- Fixed damaging Z-moves and Max Moves being fully blocked by Mat Block.
- Fixed Feint not removing non-base and non-team enemy Protect variants.
- Fixed Feint not removing allied removable Protect variants.
- Fixed Feint not resetting protect count.
- Fixed Protect moves blocking allied Feint moves.
- Fixed Protect moves failing to block non-max moves from a Dynamax’d user.
- Fixed Quick Guard only blocking moves with a base priority.
- Fixed Quick Guard not blocking Z-status moves with an increased priority.
- Fixed Obstruct blocking Status moves.
- Fixed Wide Guard not blocking spread status moves.
- Fixed Wide Guard not blocking Expanding Force on Psychic Terrain.
- Fixed Crafty Shield not resetting repeated Protect chance.
- Fixed Mat Block blocking Feint/Vanish effects.
- Fixed Judgement Legend Plate Dynamax move erroring in console.
- [21224](https://pixelmonmod.com/tracker.php?p=2&t=21224) Fixed Purifying Salt not ignoring Mold Breaker and Mycellium Might.
- [21347](https://pixelmonmod.com/tracker.php?p=2&t=21347) Fixed Toxic Debris not ignoring Mold Breaker.
- [21347](https://pixelmonmod.com/tracker.php?p=2&t=21347) Fixed Toxic Debris not placing a correct layer of Toxic Spikes on opponents when hit by an ally.
- [21347](https://pixelmonmod.com/tracker.php?p=2&t=21347) Fixed hazards not applying additional layers correctly in Doubles.
- [21073](https://pixelmonmod.com/tracker.php?p=2&t=21073)Fixed Rising Voltage boosting power inappropriately.
- Fixed Gravity reducing evasion instead of boosting move accuracy.
- Fixed a Raid opponent's max moves being restored to 0 power after use.
- Fixed Aurora Veil and Gear Up to be hitsAll moves.
## Developer:
- Added `PokemonStorage#open`.
- This hides the track, and initialize, calls to simplify opening another player's PC.
- This will also retrieve all the Pokemon from the world for the player's party.
- This also means you don't need NetworkHelper calls in code anymore, or the OpenScreenPacket.
- Added `PokemonStorage#encode` and `PokemonStorage#decode`.
- Used for sending the storage to the client.
- Added `PlayerCloseStorageEvent`.
- This is called when the player closes a Storage UI on the client.
- Added `PlayerPartyStorage#getOpenStorage` and `PlayerPartyStorage#setOpenStorage`.
- This dictates what storage the packets, sent by the player to the server, will interact with.
- Removed `PokemonStorage#getFile`.
- This made no sense in this abstract class as it is possible to implement a storage adapter type for non-flatfile storage.
- I have added an interface `FlatFileStorageSaveAdapter` which has a function to convert the PokemonStorage to a File in the same way.
- Subsequently the methods to calculate the File location of a Storage are now found in `NBTStorageSaveAdapter`.
- Removed public access to `PokemonStorage#uuid`.
- Changed to a getter `PokemonStorage#getUniqueId`.
- Added `StorageType` registry and changed `ClientStorageManager#storedPCs`.
- The storage type contains data on how to construct the storage type from a UUID.
- This allows us to store more than just PCs in the client cache allowing for other types of UIs (such as a party view).
- The StorageType is not server side-mod capable as it is also required on the client.
- There is a getter for this in the Storage class which is `PokemonStorage#getStorageType` returning a `ResourceLocation` representing the key of the type in the registry.
- Refactored the `ClientInitializePCPacket` to `ClientInitializeStoragePacket`.
- This is inline with the above mentioned changed for `StorageType` allowing us to initialize any storage from the server to the client's cache.
- Added `PokemonStorage#initialize`.
- This sends the above packet, and means you don't have to make messy `NetworkHelper` calls anywhere anymore.
- Removed `StorageProxy#initializePCForPlayer` and `StorageManager#initializePCForPlayer`.
- Both of the above have been replaced with the `PokemonStorage#initialize` method and are abstract from PCs specifically.
- Changed `PokemonStorage#shouldSendUpdates` to be protected and added getters/setters for it.
- Removed `PokemonStorage#notifyListener`.
- It appears this was initially intended as a refactor for `PokemonStorage#notifyListeners` to keep that function clean. Except it appears that it was mistaken and was used erroneously in a bunch of places.
- You should now only use `PokemonStorage#notifyListeners`.
- Removed unused function `PokemonStorage#doWithoutSendingUpdates`.
- Removed unused function `PokemonStorage#retrieveAll`.
- This only makes sense on the `PartyStorage` specifically and was lazily being used on the abstract level.
- Added `StorageProxy#invalidateCache` and `StorageManager#invalidateCache` for removing a PokemonStorage from the cached storages.
- This is useful if you wish to:
* Force a reload of an online player's file.
* Remove the cached value of an offline player's storage.
- Added `PokemonStorage#track`, `PokemonStorage#untrack`, `PokemonStorage#isTracking`, and `PokemonStorage#trackingPlayers`.
- These functions add the player given to the list of players tracking the storage's changes.
- This allows multiple people to view, and edit, a storage simultaneously inline with Minecraft's chests/containers.
- It is important to untrack the storage if you do not wish for the client to continue receiving updates after they are done with a PC that is not their own.
- Added `IStatStore#canSet`.
- Updated the default value of the No Crits battle rule to false/not present.
- Updated new packets to add the ability of opening other player's PCs.
- Added `IStatStore#reset`.
- Registered all permissions through Forge.
- Added `PlayerHelper#registerPermission` to bypass the unnecessary GatherPermissionsEvent.
- **BREAKING CHANGE**: Deprecated HyperDrill move effect, which no longer works. Use "bypass" move flag instead.
- Added `EffectBase#canHitMultipleTargets` to support moves that are conditionally single or multi-target.
- Added `ProtectVariation#canBeRemoved` to allow new Protect variants to resist Feint.
- Added `ProtectVariation#protectVariationBlocksAttack` to allow new Protect variations to filter what they block.
- Added `ProtectVariation#applyProtectionEffect` to allow new Protect variations to add an effect when blocking attacks.
- Added “bypass” move flag, for moves that cannot be stopped by Protect while targeting that Pokémon.
- Added “field” move flag, for moves that change the field without targeting the Pokémon on it.
- Added constructor to OreColor sub-class so Configurate can construct it.
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" }