Pixelmon Mod
This pack requires 800mb to 2gb of RAM for optimal performance.
Java 8 - 64 bit is required.
Website:
https://pixelmonmod.com/
https://www.reforged.gg/
There have been 59,203 server installs of this pack.
Players have played a total of 1,899.05 years of this pack.
Explorer's Compass (1.20.2-1.3.6-forge)
Search for and locate structures anywhere in the world.
By: Chaosyr
Journeymap (5.9.18)
JourneyMap: Real-time map in-game or in a web browser as you explore. JourneyMap...
By: techbrew, Mysticdrew, meme_sapiens
Melody (1.0.2)
OpenAL-based library mod for playing background music. COPYRIGHT: > Melody © C...
By: Keksuccino
Not Enough Crashes (Forge) (4.4.6+1.20.2)
Improves crashes in Minecraft - allows returning to title screen, blaming causin...
By: NatanFudge
Terralith (2.4.11)
Terralith ~ Overworld Evolved (v2.4.11 for 1.20-1.20.4)
By: Starmute, the_catter1
The Pixelmon Mod OST (1.0.3)
The official OST of Pixelmon, by Chris Geddes
By: Chris Geddes, The Pixelmon Team
#### Additions:
- Added new Research and Assignment feature.
- Added Research triggers.
- Added Research toasts on progress and completion.
- Added new screen for Research, as an inventory tab.
- Added internal GUI API.
- Added FXAA GUI shader.
- Added continuous bell curve for Pokémon sizes (growths).
- Added naturally spawning, rare, large or small Pokémon.
- Added the `size` Pokémon spec.
- Added healthbar below sprite in PC when a Pokémon is not a full HP.
- Added grey overlay when a fainted Pokémon is in PC.
- Added Professor Wisteria to Research, who will accompany players as they progress in their tasks.
## Pokémon:
- Added Bombirdier.
- Added Gimmighoul.
- Added Gholdengo.
- Added Wattrel.
- Added Kilowattrel.
- Added Rabsca.
- Added Rellor.
- Added Squakabilly.
- Added Klawf.
- Added Great Tusk.
- Added Iron Hands.
- Added Iron Treads.
- Added Iron Bundle.
- Added Sandy Shocks.
## Cosmetic Palettes:
- Added spirit Iron Valiant.
## Moves, Battle Items and Abilities:
- Added Ability Shield item.
- Added TM171-TM223 for all existing moves.
- Added new battle tests.
## Items:
- Added Ultra Elm Chest Boat, Ultra Ginkgo Chest Boat, Ultra Jungle Chest Boat, Blue Berry Wood Chest Boat, Green Berry Wood Chest Boat, Pink Berry Wood Chest Boat, Purple Berry Wood Chest Boat, Red Berry Wood Chest Boat and Yellow Berry Wood Chest Boat.
- Added Gimmighoul Coin.
## Sounds:
- Added new voices: Alomomola, Bunnelby, Cacnea, Cacturne, Castform, Cherubi, Comfey, Dedenne, Diancie, Flabebe, Floette, Florges, Furfrou, Gothita, Gothorita, Gothitelle, Inkay, Luvdisc, Mandibuzz, Maushold, Mawile, Morpeko, Ogerpon, Pyukumuku, Roselia, Salandit, Salazzle, Sandy Shocks, Shieldon, Shuckle, Sinistcha, Sinistea, Slurpuff, Smeargle, Snorunt, Swirlix, Swoobat, Tandemaus, Togedemaru, Vanillish, Vanillite, Vanilluxe, Vullaby, Wishiwashi, Woobat, Zigzagoon, Fezandipti, Boltund, Eldegoss, Enamorus, Greavard, Mr. Rime, Natu, Okidogi, Pincurchin, Rabsca, Rellor, Spidops, Tarountula and Xatu.
- Updated voices: Guzzlord, Kyogre, Deerling, Flamigo, Gardevoir, Hoppip, Kirlia, Shinx, Shroomish, Shaymin, Sunflora, Sunkern, Zigzagoon, Zorua, Cetoddle, Charcadet, Tinkatink, Bonsly and Tinkatuff.
## Structure:
- Added meteorite.
## Datapack:
- Added Growths as a datapack registry.
- Each Pokémon JSON now has a "mean" and a "standard deviation" defining the distribution of their size.
- Added datapack abilities for additional Size categories (growth).
- Updated all species to include `growth_data` in forms.
- Added recipes for Pixelmon Chest Boats.
- Added Recipe Book advancement for Pixelmon Chest Boats.
- Renamed `crafted_gingko_blocks` to `crafted_ginkgo_blocks` tag.
- Added the `chest_boats` tag.
- Added new interaction events: pixelmon:npc_engage, pixelmon:on_cooldown, pixelmon:set_cooldown, pixelmon:context_player, pixelmon:win_battle, pixelmon:lose_battle, pixelmon:draw_battle, pixelmon:can_battle and pixelmon:defeat_trainer.
- Added new interaction results: pixelmon:unlock_dynamax, pixelmon:close_screen, pixelmon:open_professor_dialogue, pixelmon:unlock_mega_evolution and pixelmon:delay_result.
- Added several blocks and block tags to the `mineable/axe` tag so they can be mined faster with axes.
- Added new block tags for Pixelmon furniture and Berry Wood blocks.
- Added 100-500 Gimmighoul Coins as a guaranteed drop to Gholdengo.
- Updated evolution conditions for Magneton, Qwilfish, Nosepass, Charjabug and Crawbrawler.
## Research:
- Added collection-style UI widget with ability to set sprites for a resource and offset item position.
- Added sprite colouring in Research tasks.
- Added Professor Wisteria to research updates.
- Added Mega Evolution research.
- Added Dynamax research.
- Added capture Pokémon type research.
- Added craft type research.
- Added defeat boss type research.
- Added enter dimension type research.
- Added evolve type research.
- Added harvest type research.
- Added hatch type research.
- Added active item type research.
- Added level up type research.
- Added mine type research.
- Added spin Pokéstop type research.
- Added defeat Raid type research.
- Added find structure type research.
- Added seasonal research: Christmas, Pixelmon's Birthday, New Year and Valentine's Day.
## Spawning:
- Updated Luvdisc fishing and spawn loot to remove unused items.
- Added Bombirdier to River, Lakes, and Beaches during the Day on Land and Air with an anticondition of Freezing biomes and Mountainous biomes rarely.
- Added Gimmighoul Chest form to Jungle Pyramids, Desert Pyramids, Haunted Towers, Graveyards, and Ruined Portals on Land, Indoors, and Underground at All Times.
- Added Gholdengo to Ultra Desert at All Times.
- Added Great Tusk to Small End Islands at All Times.
- Added Kilowattrel to Beaches with an anticondition of Freezing during the Day in the Air. Added chance to spawn with a group of Wattrel.
- Added Klawf to Stone Beach and Mesas on Land during the Day.
- Added Rabsca to Arid, Mesas, and Savannas on Land at All Times.
- Added Rellor to Arid, Mesas, and Savannas on Land at All Times.
- Added Sandy Shocks to Small End Islands at All Times.
- Added Squawkabilly to Jungles during the Day in the Air and on Tree Top. Added chance to spawn with a group of Squawkabilly. Some colors are rarer than others.
- Added Wattrel to Beaches with an anticondition of Freezing during the Day in the Air, Land, and Tree Top. Added chance to spawn with a group of Wattrel.
- Added Spirit palette Iron Valiant to Graveyards at Night on Land or Manmade.
- Added Iron Hands to Small End Islands on Land at All Times.
- Added Iron Treads to Small End Islands on Land at All Times.
- Updated old spawning NPCs to the new NPC system, including Chatting, Fisherman, Nurse Joy, Relearner, Shopkeeper, Trader, Trainer and Tutor.
- Added Rellor, Rabsca, Wattrel, Kilowattrel, Spidops, Tarountula, Bombirdier, Gimmighoul (chest), Great Tusk, Iron Treads, Sandy Shocks, Iron Hands, Brute Bonnet, Iron Jugulis, Iron Valiant, Iron Bundle, Roaring Moon, Squawkabilly, Finizen, Palafin, Maschiff, Mabosstiff, Farigiraf, Flamigo, Ting-Lu and Gholdengo to tiered, biome-specific raids.
- Added support for Alex' Caves spawning.
- Added support Biospherical Expansion spawning.
- Added support for Mystic's Biomes spawning.
#### Changes:
- Removed old Quest system.
- Removed old Quest screens.
- Removed functionality of the old Quest Editor wand.
- Added summary TM section for Generation 9 moves.
- Added move description scrollbar for moves with long descriptions.
- Updated Heavy Ball catch mechanics to modern calculations.
- Updated Friend Balls to their Generation 8+ friendship boost.
- Updated the Poke Checker (summary screen) to display size and the growth sprite.
- Updated the PC screen to display size and the growth sprite.
- Updated the capture method to use Generation 8 mechanics.
- Updated pre-Growth rework Pokémon stored data to include a randomly assigned Size.
- Updated summary UI in PC by swapping a Pokémon's species name for its level.
- Removed megaring mechanic being unlocked via defeating a Mega Boss, replaced by Mega Evolution Research.
- Updated Pixelmon Rug colors to match wool textures.
- Updated Revenant to block Destiny Bond if it has at least one life left.
#### Fixes:
- Fixed a crash caused by the client attempting to update server details.
- Fixed the scrollbar on TM lists rendering strangely.
- Fixed Blank TMs failing to work with Klutz Pokémon.
- Fixed nature syncing curries not working properly.
- Fixed an instance where Black Sludge could deal damage for less than it should have.
- Fixed Poké Balls failing to receive catch penalties when capturing Ultra Beasts.
- Fixed Nest Balls catch formula.
- Fixed Lure Balls failing to boost properly Pokémon caught via Fishing Rod.
- Fixed Fishing Rod not applying the chance for a Fishing mark on catch.
- Fixed Fishing Rod-spawned Pokémon having Fishing-exclusive bonuses lost on flee and subsequent rebattle.
- Fixed the drop shadow of the nickname text in the PC being set to a dark gray color.
- [21384](https://pixelmonmod.com/tracker.php?p=2&t=21384) Fixed Pokémon displaying move skills they should not have by improving code quality.
- [18939](https://pixelmonmod.com/tracker.php?p=2&t=18939) Fixed Poke Displays breaking consistency of a stored Pokémon's form and palette.
- Fixed the Pixelmon Camera failing to take pictures.
- Fixed rendering of Mega Items.
- Fixed rendering of Sableye Hat, Frosslass robe and Yukata.
- [21311](https://pixelmonmod.com/tracker.php?mode=reply&p=2&t=21311) Fixed an issue where using the Griseous Core to change Giratina's form to Origin would cause the form to be restored to Altered by other non-Griseous Orb held items.
- Fixed using a Porygon item while in creative consuming said item.
- Fixed using a Porygon item spawning on top of the player instead of on the position clicked.
- [22145](https://pixelmonmod.com/tracker.php?p=2&t=22145) [21985](https://pixelmonmod.com/tracker.php?p=2&t=21985) Fixed Paldean Blank TMs disappearing upon completion.
- Fixed Bikes eating as if they are horses.
- Fixed the PC failing to open in rare cases upon first login or world creation.
- Fixed hover and pop-up information not clearing on release in PC.
- Fixed a rare crash caused by right-clicking on an empty Pokémon slot in inventory.
- Fixed a rare client crash caused by refreshing the multiplayer menu.
- Fixed Pokébags being allowed to leave a player's inventory if the container is open.
- Fixed shiny Hero Palafin sprite.
- Fixed shiny Revavroom sprite.
- [21238](https://pixelmonmod.com/tracker.php?p=2&t=21238) Fixed Dudunsparce model and textures.
- Fixed Ultra Necrozma model.
- [19409](https://pixelmonmod.com/tracker.php?p=2&t=19409) Fixed Solrock animation.
- [18571](https://pixelmonmod.com/tracker.php?p=2&t=18571) Fixed Rocket Helmet's stray pixel in layer texture.
- Fixed shiny Iron Jugulis sprite.
- Fixed cosmetic textures not loading properly for the Witch hat, Articuno Wings and Valentine's Wings.
## Battles:
- Fixed Incinerate not being in the list of moves that can remove berries.
- Fixed Stuff Cheeks disabling improperly if the Pokémon that new Stuff Cheeks was not holding a berry.
- Fixed a bug where Pokémon afflicted by Corrosive Gas could use their items once again after they had switched out.
- Fixed a bug where it was possible to give a Pokémon a Rusted Sword or Shield via a move when Zacian or Zamazenta was on the field.
- Fixed Pokémon that stole a Life Orb with Thief not taking damage from the Life Orb at the end of the turn.
- Fixed G-Max Replenish incorrectly calculating the recovery of berries in allied battle.
- [21986](https://pixelmonmod.com/tracker.php?p=2&t=21986) Fixed waiting bug when using Flee moves against a trainer's final Pokémon.
## Language:
- Updated Traditional Chinese translation.
#### Developer:
- Added ShrineOrbFillEvent.Pre/Post.
- Added LureActivateEvent.Pre/Post.
- Added BerryEvent.Pick.
- Added ResearchStartEvent.Pre/Post.
- Added ResearchStageCompleteEvent.
- Added ResearchDiscardEvent.Pre/Post.
- Added ResearchCompleteEvent.
- Added ProgressResearchStageEvent.Pre/Post.
- Added ProgressResearchObjectiveEvent.Pre/Post.
- Added ClaimResearchStageEvent.Pre/Post.
- Added ClaimResearchObjectiveEvent.Pre/Post.
- Added RegisterScreenStylesEvent.
- Added PlayerCakeEatEvent.
- Added PlayerCraftItemsEvent.
- Removed AbandonQuestEvent.
- Removed FinishQuestEvent.
- Removed NPCInserterEvent.
- Removed QuestActionEvent.
- Removed QuestObjectiveEvent.
- Removed QuestStageEvent.
- Added HeldItem.ignoresKlutz method to allow custom held items to be used by Klutz Pokémon.
- Added PixelmonGrowths registry class.
- Added PokemonBuilder#size.
- Removed PokemonBuilder#growth.
- Added Pokemon#getSize.
- Added Pokemon#setSize.
- Updated the functionality of Pokemon#setGrowth to pick a random number in the range of that growth's defined range.
- Removed CorrosiveGas status usage.
- Removed PlayerParticipant#getTeamPokemonList in favor of BattleParticipant#getTeamPokemon.
- Added placeholders to ContextKeys.
- Added PlaceholerCollectEvent, extending support for FPAPI and PAPI.
- Implemented placeholder support in certain InteractionConditions.
#### Additions:
## Pokémon:
- Added Iron Treads.
- Added Iron Hands.
- Added Great Tusk.
- Added Wattrel.
- Added Kilowattrel.
- Added Rellor.
- Added Rabsca.
- Added Squawkabilly.
- Added Gimmighoul.
- Added Gholdengo.
- Added Sandy Shocks.
- Added Bombirdier.
- Added Klawf.
## Palettes:
- Added 'spirit' Iron Valiant.
## Items:
- Added TM171-TM223 for all existing moves.
## Sounds:
- Added new voices: Alomomola, Bunnelby, Cacnea, Cacturne, Castform, Cherubi, Comfey, Dedenne, Diancie, Flabebe, Floette, Florges, Furfrou, Gothita, Gothorita, Gothitelle, Inkay, Luvdisc, Mandibuzz, Maushold, Mawile, Morpeko, Ogerpon, Pyukumuku, Roselia, Salandit, Salazzle, Sandy Shocks, Shieldon, Shuckle, Sinistcha, Sinistea, Slurpuff, Smeargle, Snorunt, Swirlix, Swoobat, Tandemaus, Togedemaru, Vanillish, Vanillite, Vanilluxe, Vullaby, Wishiwashi, Woobat, Zigzagoon, Fezandipti, Boltund, Eldegoss, Enamorus, Greavard, Mr. Rime, Natu, Okidogi, Pincurchin, Rabsca, Rellor, Spidops, Tarountula and Xatu.
- Updated voices: Guzzlord, Kyogre, Deerling, Flamigo, Gardevoir, Hoppip, Kirlia, Shinx, Shroomish, Shaymin, Sunflora, Sunkern, Zigzagoon, Zorua, Cetoddle, Charcadet, Tinkatink, Bonsly and Tinkatuff.
## Datapack:
- Updated all species movesets to Generation 9.
- Updated all TMs to include Generation9 and DLC TMs.
- Added Gimmighoul evolution method by Linking Cord while holding an Amulet Coin.
- Added Paldean Generation 9 Blank TM to Master Poké Chest drops.
- Added Paldean TMs Chilling Water, Pounce, Trailblaze and Tera Blast to dungeon loot pools.
## Spawning:
- Updated Luvdisc fishing and spawn loot to remove unused items.
- Added Bombirdier to River, Lakes, and Beaches during the Day on Land and Air with an anticondition of Freezing biomes and Mountainous biomes rarely.
- Added Gimmighoul Chest form to Jungle Pyramids, Desert Pyramids, Haunted Towers, Graveyards, and Ruined Portals on Land, Indoors, and Underground at All Times.
- Added Gholdengo to Ultra Desert at All Times.
- Added Great Tusk to Small End Islands at All Times.
- Added Kilowattrel to Beaches with an anticondition of Freezing during the Day in the Air. Added chance to spawn with a group of Wattrel.
- Added Klawf to Stone Beach and Mesas on Land during the Day.
- Added Rabsca to Arid, Mesas, and Savannas on Land at All Times.
- Added Rellor to Arid, Mesas, and Savannas on Land at All Times.
- Added Sandy Shocks to Small End Islands at All Times.
- Added Squawkabilly to Jungles during the Day in the Air and on Tree Top. Added chance to spawn with a group of Squawkabilly. Some colors are rarer than others.
- Added Wattrel to Beaches with an anticondition of Freezing during the Day in the Air, Land, and Tree Top. Added chance to spawn with a group of Wattrel.
- Added Spirit palette Iron Valiant to Graveyards at Night on Land or Manmade.
- Added Iron Hands to Small End Islands on Land at All Times.
- Added Iron Treads to Small End Islands on Land at All Times.
- Updated Dondozo from Rivers and Lakes spawning to Oceanic biomes.
## Structures:
- Updated Abandoned Mine Shaft, Hoglin Stables Bastion, Boat, Crate Geyser, Plant Monolith, Village Butcher and Village Cartographer loot chests, removing unused items.
#### Changes:
- Improved Rainbow Sash color cycle.
- [21862](https://pixelmonmod.com/tracker.php?p=2&t=21864) Removed chunk habitation time limit on Zygarde Cells and Core spawning.
- Updated Revenant's Pressure to be twice as strong as regular Pressure.
- Updated raid drops, removing unused items.
- Updated poke drops, removing unused items.
- Updated rug colors to match the wool colors more accurately.
- Updated shiny Revavroom sprite.
- Updated 'hero' form shiny Palafin sprite.
- Added evolving method for Charjabug and Magneton by leveling them in a Mountain/Windswept Hills biome.
- Added Thunder Stone evolution for Nosepass.
- Added Ice Stone evolution for Crawbrawler.
- Removed Water Stone evolution for Hisuian Qwilfish.
- Updated the icon in taskbar and window of application to standard (non-spooky) Pixelmon icon.
#### Fixes:
- [21932](https://pixelmonmod.com/tracker.php?p=2&t=21932) [21941](https://pixelmonmod.com/tracker.php?p=2&t=21941) Fixed wild caught Pokémon changing abilities when evolving.
- Fixed vibrancy for Colored Sash and Rainbow Sash accessories.
- [21951](https://pixelmonmod.com/tracker.php?p=2&t=21951) Fixed Colored Sash color-setting.
- Fixed storage gets not being thread safe, fixing issues of MissingNo replacing Pokémon randomly.
- Fixed error in Pokemon Builder.
- [18939](https://pixelmonmod.com/tracker.php?p=2&t=18939) Fixed Poké Display not properly defaulting to original form and palette fields.
- Fixed Gastly particles overwhelming its model, now spawning behind the orb and away from its facing direction.
- [21384](https://pixelmonmod.com/tracker.php?p=2&t=21384) Fixed Pokémon having move skills they cannot use and should not have.
- Fixed the Pokédex set value setting the wrong Pokédex.
- [19409](https://pixelmonmod.com/tracker.php?p=2&t=19409) Fixed visual issue with Solrock's idle animation.
- [18571](https://pixelmonmod.com/tracker.php?p=2&t=18571) Fixed visual issue of a stray pixel in the Rocket Armor texture.
- [21475](https://pixelmonmod.com/tracker.php?p=2&t=21475) Fixed erroneous entry for a missing texture on 'ashen' Mega-Houndoom, pointing it back to its base texture.
- [13324](https://www.pixelmonmod.com/tracker.php?p=2&t=13324) Fixed Stufful's ability description being too long for the summary UI.
- [19971](https://pixelmonmod.com/tracker.php?p=2&t=19971) Fixed Hisuian Typhlosion's hitbox height.
- Fixed Beedrill's floating parameters so it's no longer on the ground's surface.
- [21475](https://pixelmonmod.com/tracker.php?p=2&t=21475) [22114](https://pixelmonmod.com/tracker.php?p=2&t=22114) Fixed temporary palette reversion when a Pokémon mega-evolves, dynamaxes, or otherwise temporarily updates it's battle form.
- Fixed an error on TCG fallback card loading.
- Fixed Blaziken's texture UV.
- [21238](https://pixelmonmod.com/tracker.php?p=2&t=21238) Fixed Dudunsparce texture.
## Battles:
- Fixed Revenant not blocking Destiny Bond from being applied to a Pokémon if it has at least one life left.
- Fixed Destiny Bond no longer sending a message twice when not applied.
- [21970](lmonmod.com/tracker.php?p=2&t=21970) Fixed Mirror Armor causing a crash in singleplayer when self-applied.
- Fixed max HP value not being recalculated after temporary level is set, fixing issues where battle rules change the Pokémon's level without updating its HP.
- [22134](https://pixelmonmod.com/tracker.php?p=2&t=22134) Fixed a rare crash caused by Ditto failing to Transform properly into non-default capable species.
#### Developer:
- Added `PokemonStorage#forEach` method, and implementations for each kind of storage.
- Updated ServerSwapPacket to send update packets for the whole storage when it ends up in its error state.
- Added Ability interface method allowsStatusOpponent.
## Additions:
- Added the Gimmighoul Coin.
- Added a display in the summary page to show how many coins you've given Gimmighoul.
- Added new recipe types: pixelmon:crafting_shaped_tag, pixelmon:shapeless_tag and pixelmon:crafting_poke_ball.
- Added Slippery Ice Block.
- Added Slippery Ice Block recipe.
#### Rework:
- Completely reworked the Pokémon Editor screen, which is now revamped to use the same UI as the new NPC Editor. There are currently 2 pages, the first with 2 tabs, the 2nd inner page with 5 tabs. Most of the functionality is the same, as most of the changes are new features that allow for editing values of the Pokémon that could not previously be edited with the Pokémon Editor.
-Using the Pokémon Editor opens up the Pokémon Team tab, with an additional tab as the PokéPaste tab.
#### Pokémon:
- Added Maschiff.
- Added Mabosstiff.
- Added Brute Bonnet.
- Added Iron Jugulis.
- Added Iron Treads.
- Added Iron Hands.
- Added Iron Valiant.
- Added Farigiraf.
#### Moves, Battle Items and Abilities:
- Added new tests.
#### Spawning:
- Wild Pokémon encounters after cooking curry now function as in the mainline games
- Several new spawning conditions have been added so that different flavors can have distinct spawns.
- Most Pokémon species can now be found via curry in their normal spawn biomes, though rarities have been adjusted from standard spawning values.
- Costumed Pikachu now have a proper method of obtainment, with each form associated with a different curry flavor: Rockstar - Spicy Curry, Belle - Dry Curry, Popstar - Sweet Curry, Ph D. - Bitter Curry, and Libre - Sour Curry.
#### Datapack:
- Added PreventRedirection move effect to allow datapack moves to ignore redirection effects.
- Added additional checks to prevent datapacks overlapping between servers and worlds.
- Added CheckedStrikes effect to replace PopulationBomb, TripleAxel, and TripleKick.
- Added individual move flags, "AdjacentAll", "OtherSide", "YourSide", "BothSides", "All" and "1 Random".
- Updated Magic Coat and Magic Bounce to use datapackable move flags "reflectable".
- Updated moving riding offsets so they can now be used for land-based movement.
- Added the `pixelmon:open_trade` interaction result, which opens the trade UI with the two specs specified.
- Added the `pixelmon:relearn_move` interaction result. (An example can be found in the move relearner NPC preset.)
- Added `pixelmon:appraise_rod` interaction result. (An example can be found in the old_fisherman NPC preset.)
- Added `pixelmon:open_shop` interaction result. (An example can be found in shopkeeper NPC presets.)
- Added `pixelmon:open_dialogue` interaction result (An example can be found in shopkeeper NPC presets.)
- Added `pixelmon:open_paged_dialogue` interaction result (An example can be found in chatting NPC presets.)
- Added `pixelmon:close_dialogue` interaction event (An example can be found in shopkeeper NPC presets.)
- Added `pixelmon:close_shop` interaction event
- Added `pixelmon:shop_purchase_item` interaction event
- Added `pixelmon:shop_sell_item` interaction event:
- Added the `pixelmon:tutor_move` interaction result. (An example can be found in the move tutor NPC presets.)
- Added a confirmation button to the party select screen when the desired amount of Pokémon are selected.
- Added a right-click interaction to the party select screen to allow the user to open the poke checker screen when deciding which Pokémon to select.
- Removed the old trade list configuration as it's now in the interaction result config.
- Added the `GimmighoulCoinCondition` Evolution Condition.
## Changes:
- Modified PokéGifts to provide a copy of the Pokémon, preventing linking issues.
- Added Dynamax Level, Hyper Training, Egg Steps, Temp Ability, extra Stats, bonus Stats, persistent Data and Ribbons to PokemonBuilder.
- Temporary forms no longer linger on NPCs if the battle is aborted mid-evolution.
- Removed the Picket Fence.
- Updated Raid Dens to give conduit effects, allowing water-breathing.
- Added a party selector to NPC Presets.
- Updated NPCs where left-clicking an NPC with a Pokémon Editor now allows you to edit the party of said NPC.
- Updated the order of presets on the NPC preset screen to be ordered alphabetically.
- Updated the searching of NPC presets to use contain checks rather than startsWith.
- Improved async loading and saving so concurrency issues don't cause data overwriting.
- Updated the opening --NPC Creator Presets-- screen of the NPC Editor to fit larger preset file names and be centered to the screen even at full screen window sizes.
- Updated the `pixelmon:right_click` event to be the default (instead of left-click) for the event of an NPC's Interaction.
- Updated the `pixelmon:true` condition to be the default condition for the condition of an NPC's Interaction.
- Changed the chat message that notifies a player that their NPC preset was saved to be formatted identical to the screenshot chat message
- Fixed it so that the result of an NPC's Interaction will not execute when the Pokémon Editor is held in the hand the player used to interact with the NPC.
- The title data and author data of the PokéPaste that is automatically made for an NPC Preset were switched and that has been fixed.
- Fixed the missing empty line between different Pokémon when creating the PokéPaste.
- Updated the Illuminate ability to Generation 9 effect.
#### Keybinds:
- Added a new Pixelmon section for keybinds, splitting all mod keybinds into Pixelmon, Pixelmon Battles, and Pixelmon PC.
- Added a visual indicator as to whether the player's cursor is hovering over an item in the keybind menu.
- Added several keybinds to make it possible to navigate a battle screen without requiring a mouse.
#### Config:
- In the Graphics Config there is now a `pokemonEditorExtraColorModeEnabled` value which is by default set to `true`. Turning this off will remove the extra colors added to some of the widgets.
- Alternatively, you can press F1 to disable it temporarily.
- What Extra Color Mode affects:
- The text of the Current HP slider changes between green, yellow, and red, depending on the Pokémon's current HP relative to it's max HP.
- The Dynamax slider follows the same color scheme as seen in a Pokémon's Summary page. The text is white at a Dynamax level of 0, and changes between cyan at a Dynamax level of 1 up to hot pink at a Dynamax level of 10.
- The text for all of the Pokémon's moves are change to the same color as the type they are (i.e. Fire Blast becomes orange, Water Pulse becomes blue, etc.)
- The text in the Multi-Line Edit Box on the Import/Export tabs will become colored, similar to on the https://pokepast.es/ website.
- The stats that the Pokémon's nature affects are colored blue for the increased stat and red for the decreased stat.
- The text of the species of the Pokémon is set to the color of the Pokémon's primary type.
- `curry-encounter-chance` an array of values representing the chance of an encounter after cooking curry of each class. This is a 1/X chance
- `curry-battle` whether a curry encounter should start a battle. If false, the Pokémon will directly join the player's party instead.
- `curry-nature-sync` whether a curry encounter Pokémon's nature will match the flavor of the curry used to spawn it.
- `curry-ball-ordered-types` a list of PokéBall types that curry encounters can use if joining the party directly. Balls higher on this list will be used first if multiple are available.
- `iv-boost` whether higher rated curry will provide an IV boost to encountered Pokémon
- `curry-rating-cutoffs` the values used to determine different curry classes. The theoretical max is 173, though 150 is the highest reasonably expected.
## Fixes:
- Fixed spawning threads locking up sometimes (randomly) from getChunk calls being made from a non-server thread.
- Fixed checkspawns block requirement for Headbutt from "anything but wool" to "logs".
- Fixed the screen changing too quickly, causing a NPE in the findConnection methods.
- [21556](https://pixelmonmod.com/tracker.php?p=2&t=21556) Fixed PokéGifts' contents and settings not persisting across launches.
- [17132](https://pixelmonmod.com/tracker.php?p=2&t=17132) Fixed persistent data compound tag being lost whenever the Pokémon Editor is used.
- Fixed the NPC Trainer spawns failing for high-level Trainers.
- Fixed the Recipe Book button rendering outside the inventory menu if the player opened the Recipe Book, clicked the Day Care tab, and then clicked the Survival inventory tab.
- Fixed an issue where exported battle rules text was missing line breaks.
- [21659](https://pixelmonmod.com/tracker.php?p=2&t=21659) [21761](https://pixelmonmod.com/tracker.php?p=2&t=21761) Fixed invalid import method. Before the fix, the import function would fail if the number of Pokémon was greater than 1.
- Fixed Max Raid Dens not spawning Raids for the lowest star level possible in each biome.
- Fixed an error where every biome used the default weights of each star level, even if that biome did not have a Raid possible for a certain star level.
- An error message is now sent to the log if a Max Raid Den attempts to spawn a raid for a biome that doesn't have any raids.
- An error message is now sent to the log that specifies which Max Raid Den has failed to spawn a raid, along with the star level of the raid it's trying to spawn.
- [https://pixelmonmod.com/tracker.php?p=2&t=20580 20580] [https://pixelmonmod.com/tracker.php?p=2&t=20666 20666] Fixed colored nicknames not saving/loading properly on Pokémon.
- Fixed a rendering crash happening randomly.
- [18700](https://pixelmonmod.com/tracker.php?p=2&t=18700) Fixed legendary requirement not overriding the ability and ability slot, resulting in erroneous abilities.
- [21128](https://pixelmonmod.com/tracker.php?p=2&t=21128) Fixed Zorua, Zoroark, and any transformed Pokémon making the sound of its own species instead of the sounds of the Pokémon it's transformed into.
- [19804](https://pixelmonmod.com/tracker.php?p=2&t=19804) Fixed the EXP, Mark, and Catching Charms disappearing upon death.
- [19814](https://pixelmonmod.com/tracker.php?p=2&t=19814) Fixed Lures that were placed in the lure slot mistakenly rendering in the middle of the inventory if a player opened their inventory with the Recipe Book already active and then closed the Recipe Book.
- [20226](https://pixelmonmod.com/tracker.php?p=2&t=20226) Fixed soft-locking caused by dying while a raid count down.
- Fixed the ribbon spec not working with the spectest command by changing the RibbonRequirement to only check the ribbon's type.
- [18095](https://pixelmonmod.com/tracker.php?p=2&t=18095) Fixed all of Pixelmon's keybinds failing to work if bound to mouse keys.
- Fixed the screen of the Pixelmon Spawner being rendered with the default darkened background.
- Fixed the Quirky Mint being missed from the creative menu.
- Fixed an error caused by FlyingParameters not existing.
- Fixed shaders not applying to emissive parts of Pokémon.
- [21194](https://pixelmonmod.com/tracker.php?p=2&t=21194) Fixed all Poké Ball recipes yielding the same Poké Ball type.
- [21194](https://pixelmonmod.com/tracker.php?p=2&t=21194) Fixed all Poké Ball Lid recipes yielding the same Poké Ball Lid type.
- [21719](https://pixelmonmod.com/tracker.php?p=2&t=21719) Fixed spawning errors caused by sky heightmap, halting spawning altogether.
- Fixed rare server crash caused by an error in AirSaver if the player does not exist.
- Fixed imported Pokémon with Hidden Power requiring Bottle Caps.
- Fixed exported Pokémon not including hypertrained stats.
- Fixed invalid imported Hidden Power types not throwing the right error.
- Fixed Gastlys particles spawning on top of it's body.
- [21941](https://pixelmonmod.com/tracker.php?p=2&t=21941) Fixed ability changing on evolution for naturally spawned Pokémon.
- [21951](https://pixelmonmod.com/tracker.php?p=2&t=21951) Coloured Sash and Rainbow Sash colours are now vibrant again.
- [21951](https://pixelmonmod.com/tracker.php?p=2&t=21951) Rainbow Sash now uses a REALLY rainbow colour set.
- [21951](https://pixelmonmod.com/tracker.php?p=2&t=21951) Coloured Sash no longer uses a triadic of the colour chosen instead of the colour chosen.
- Fixed Relearner move lists not storing TM and Egg moves.
- Fixed console error in `/resetpokestats`.
- Fixed an error in Day Care requirements causing client disconnects.
- Fixed the 'fire on redstone' option for the Pixelmon Spqawner still spawning Pokémon even without a redstone signal.
- Fixed the list of TMs that a Pokémon can learn being displayed incorrectly on their summary screen.
- Fixed a rare crash caused by rendering too large groups of high detail entities.
- [22003](https://pixelmonmod.com/tracker.php?p=2&t=22003) Fixed the PC Search visually duplicating Pokémon when the full species name of a Pokémon is typed.
- [19570](https://pixelmonmod.com/tracker.php?p=2&t=19570) Fixed all instances of the word 'gingko' mispelled as 'ginkgo'.
- Fixed a rare error in Pokémon Builder.
- Fixed catching a Pokémon in a Hisui Ball not properly changing its movelist on catch.
- Fixed the move learning screens of the Move Tutor, Transfer Tutor, and the Move Relearner having Minecraft's darkened background applied to them.
- Fixed input text boxes for NPC interactions cutting off text early.
- Fixed an instance of the game crashing upon trying to add a ribbon to a Pokémon when the Ribbon's MutableRibbonData was null.
- Fixed a client disconnect occurring when the UpdateSinglePokemonPacket tried to fill the -1 slot of a Pokémon team with a Pokémon.
- Fixed ArrayIndexOutOfBoundsExceptions occurring in the UpdatedEditedPokemonPacket.
- Fixed the ColouredTextFieldWidget and the EnhancedTextFieldWidget rendering at a pixel too big on their left and right side.
- Fixed the ScrollableListWidget sending an incorrect value for the y coordinate of the mouse.
- Fixed the yellow-colored highlight for a Pokémon's displayed ribbon not scaling with the size of the ribbon's sprite.
- Fixed the client crashing upon trying to render a Ribbon Button when the resource of the MutableRibbonData was set to null.
- Fixed the client crashing upon being sent the CloseEditedPlayerPacket.
- Fixed the PokemonBuilder setting the new Pokémon's nature to the copied Pokémon's mint nature.
- Fixed the Export Text from the Showdown Converter displaying the name of the Pokémon's nature as Capitalized instead of in ALL CAPS.
- [21960](https://pixelmonmod.com/tracker.php?p=2&t=21960) Fixed a visual issue with newly crafted Bird Orbs appearing full.
- [21163](https://pixelmonmod.com/tracker.php?p=2&t=21163) Fixed a visual issue with crafted orbs rendering other sprites beneath them.
- Fixed the durability bar of Bird Orbs appearing underneath them.
- [21984](https://pixelmonmod.com/tracker.php?p=2&t=21984) Fixed visual duplications caused by attempting to swap Pokémon around in your party from your inventory screen.
- [21944](https://pixelmonmod.com/tracker.php?p=2&t=21944) Fixed missing idle animations in the Pokédex display screen.
- Fixed the storage cache invalidating the cached storage of online players causing parties to be loaded and then Pokémon that are sent out being temporarily irretrievable.
- [21090](https://pixelmonmod.com/tracker.php?p=2&t=21090) Fixed Spectrier's emissive texture.
- Fixed Ice Rider and Shadow Rider shiny textures.
#### TCG:
- Fixed text not rendering in the text box when hovering the cursor over an action on the TCG Action Log.
- Fixed text not rendering in the text box when hovering the cursor over an attack of a TCG Card being inspected during a TCG Battle.
- Fixed the positioning and missing background of the TCG Battle Guide, which displays at the start of a TCG Battle to let players know how to start.
- Fixed F3 not toggling debug mode for Dev Environments in the TCG Screen.
- Fixed the hitboxes of cards during a TCG Battle shifting based on the player's FOV, they will now always be in the same place.
- Fixed the damage number not appearing when a player inspects a card during a TCG Battle.
- Fixed selecting a Prize Card during a TCG Battle disconnecting the player.
- Fixed the Price Cards always having a red-colored hitbox rendered behind them.
- Fixed the representation of the hitbox of Prize Cards rendering for non-developer clients.
- Fixed the positioning of inspected Pokémon Cards so that the selection of the buttons for abilities, attacks, and retreating lines up with the text on the card.
- Fixed the z-level rendering of the outline of the ability, attack, and retreat buttons so that it appears in front of inspected cards.
- Fixed the z-level rendering of warning text when abilities, attacks, or retreating can't be used so that it appears in front of the inspected cards.
- Fixed disconnect on end of game from render system calls on network thread.
- Fixed TCG registries loading before Pixelmon ones, causing them to be cleared before the sync can happen.
- Fixed TCG win broadcast being on the action bar.
- Fixed players being unable to chat during TCG battles.
- Fixed the grey filter covering the whole screen while in a TCG Battle.
#### Battles:
- Fixed Rollout getting stuck at 60 power if Defense Curl was used instead of continuing to double.
- [21259](https://pixelmonmod.com/tracker.php?p=2&t=21259) Fixed Population Bomb not taking accuracy changes into account.
- Fixed Multi-hit moves continuing to attack after being put to sleep mid-move.
- Fixed Dragon Darts not hitting itself and a targeted AllySwitched ally once each.
- Fixed Dragon Darts not hitting itself twice if a targeted AllySwitched ally is immune.
- Fixed Dragon Darts printing multiple failure messages when missing both targets.
- Fixed Substitute not being removed by dynamaxing.
- Fixed Substitute not removing binding effects.
- Fixed Substitute not blocking entry hazard effects.
- Fixed Substitute blocking effects from moves that bypass Substitute.
- Fixed Substitute blocking Intimidate/Imposter after being broken by a switch move.
- Fixed False Swipe reducing damage when hitting a Substitute of a low-health Pokémon.
- Fixed Trick and Fling failing when the user is behind a Substitute.
- Fixed Incinerate not destroying Type Gems.
- Fixed Reflect/Light Screen stacking damage reduction with Aurora Veil.
- Fixed Reflect/Light Screen reducing damage by half in non-singles fights.
- Fixed Poison Pokémon with Steel secondary typing not removing Toxic Spikes.
- Fixed Poison Pokémon with Heavy Duty Boots not removing Toxic Spikes.
- Fixed EntryHazard removal not removing G-Max Steel Surge's Sharp Steel.
- Fixed Prankster not blocking spread status moves, such as Growl, against Dark Pokémon.
- Fixed Prankster not blocking moves called via boosted moves against Dark Pokémon.
- Fixed Pursuit doing 4x damage to switching target.
- Fixed Pursuit being redirectable when targeting a switching target.
- Fixed Max Darkness and Black Hole Eclipse based on Pursuit interrupting switches.
- Fixed virtual battles causing errors and crashing mid-battle when Trainers send out Pokémon.
- Fixed errors in Synchronize causing battle crashes in virtual battles.
- Fixed hard switch timing to be based on the previous Pokémon's speed.
- Fixed Substitute blocking Static or Flame Body when the opponent uses a non-status move.
- Fixed Defog not removing terrains.
- Fixed Defog clearing hazards when target is semi-invulnerable but has a Substitute.
- Fixed G-Max Wind Rage not triggering Defog after breaking through Protect and hitting a Substitute.
- Fixed G-Max Wind Rage removing toxic spikes after triggering Toxic Debris.
- Fixed all terrains affecting Pokémon in Sky Drop's semi-invulnerable turn.
- Fixed Grassy Terrain reducing Earthquake power for all targets, not just those affected by the terrain.
- Fixed Grassy Terrain healing Pokémon during semi-invulnerable turn of attacks.
- Fixed Misty Terrain reducing dragon attacks based on the user being affected by terrain instead of the target.
- Fixed Misty Terrain boosting Misty Explosion when the user is not grounded.
- Fixed Misty Terrain protecting Pokémon from Yawn and Confusion.
- Fixed Red Cards activating from the holder taking indirect damage.
- Fixed Teatime resetting the value for the item a Pokémon had consumed.
- Fixed an issue where Bug Bite and Pluck were setting the original holder of the berry that was eaten as the consumer instead of the Bug Bite or Pluck user.
- Fixed Take Heart curing the non-volatile status conditions of allies.
- Fixed Outrage not confusing the user when the final turn is disrupted.
- Fixed force-eaten LeppaBerry refilling their current attack's pp instead of their first attack missing pp.
- Fixed the Metronome item keeping track of the original move a Pokémon used, if that move called another move to use (e.g. Copycat).
- Fixed the Metronome item directly modifying the damage done by a move, instead of the power of that move.
- Fixed the Pickpocket ability not stealing Protective Pads off an attacking Pokémon that makes contact.
- Fixed the Punching Glove permanently making punching moves not make contact, even if the Punching Glove was stolen from the Pokémon.
- Fixed the Eject Pack switching out the holder if the holder was attacked with Parting Shot.
- Fixed an issue where if multiple Eject Packs activated, every Pokémon that could switch out would, instead of only the fastest Pokémon switching out.
- Fixed an issue where Pokémon holding an Eject Pack were immediately switched out if an end-of-turn effect lowered their stats, instead of waiting for all end-of-turn effects to finish.
- Fixed an issue where it was possible for a Pokémon to fail to switch targets from a Pokémon that had switched out (due to its Eject Pack activating) to the Pokémon that had switched in.
- Fixed an issue where if two Pokémon were both holding items and both had their stats lowered. If one of the Pokémon was holding a White Herb, it was possible for the other Pokémon to have their item removed.
- Fixed Knock Off failing to remove Mail from a Pokémon.
- Fixed Revenant not blocking Destiny Bond from being applied in its presence.
- Fixed Revenant not applying extra Pressure.
- Fixed a severe exploit with Revival Blessing
- Fixed a bug where Flying-type Pokémon holding an Iron Ball (and not under the affects of Gravity) would not receive 1x damage from Ground-type attacks when their secondary typing was weak or resistant to ground types.
- Fixed the Kee Berry and the Maranga Berry not reducing the damage from the hits after the first hit of multi-hit moves.
- Fixed Ripen affecting the Lansat Berry.
- Fixed Rock Head not blocking Chloroblast's recoil.
- Fixed Clear Smog's stat reset bypassing Substitute.
- Fixed Air Balloon popping from non-direct damage.
- Fixed Focus Sash protecting against Future Sight and Doom Desire.
- Fixed Knock Off being unable to remove items it cannot be given.
- Fixed Mega Evolution abilities not triggering on switching in.
- Fixed Mega-evolved Bosses not having their ability.
- Fixed Z-Parting Shot healing the user.
- Fixed Z-Parting Shot not healing the switched Pokémon after a failed Parting Shot.
- Fixed Parting Shot not failing against Hyper Cutter and Special Attack.
- Fixed Mirror Armor only reflecting stat drops from Status moves.
- Fixed Prankster-boosted moves failing against allied Dark-type Pokémon.
- Fixed Prankster not boosting ExtremeEvoBoost.
- [21773](https://pixelmonmod.com/tracker.php?p=2&t=21773) Fixed abilities activated on entry still triggering when fainted by entry hazards.
- Fixed switch moves causing a waiting bug when the user faints.
- Fixed damaging effects occuring before Drain.
- [21750](https://pixelmonmod.com/tracker.php?p=2&t=21750) Fixed Scale Shot triggering off non-attack damage.
- Fixed Weakness Policy triggering off weather if using an attack super-effective against the user.
- Fixed Weakness Policy triggering if already at max stages.
- Fixed Weakness Policy not triggering another Pokémon's switch.
- [21803](https://pixelmonmod.com/tracker.php?p=2&t=21803) [21917](https://pixelmonmod.com/tracker.php?p=2&t=21917) Fixed Life Orb triggering on non-successful attacks.
- Fixed an issue that Salt Cure would show trigger messages if it is used towards Substitute.
- [21918](https://pixelmonmod.com/tracker.php?p=2&t=21918) Fixed crash occuring when hard-switching a Levitate Pokémon onto spikes.
- Fixed Intimidate activating an Adrenaline Orb if the item holder had a Substitute out.
- Fixed Adrenaline Orb activating if the item holder's Attack was already minimized.
- Fixed Adrenaline Orb being passed through Symbiosis before being consumed by Intimidate.
- Fixed Intimidate reducing attack of the wrong opponents.
- Fixed Hustle incorrectly modifiying accuracy. Previously -20, now x0.8.
- Fixed Pokémon transformed into mega-forms being able to use Z-moves.
- Fixed Dynamax being usable once per participant instead of per team.
- Fixed NPC trainers using Dynamax in Max Raids.
- Fixed raid Pokémon not having perfect IVs based on star level.
- Fixed raid Pokémon always being level 50.
- Fixed a caught raid Pokémon's moveset not matching the raid boss' moveset.
- Fixed cheer effects in raids.
- Fixed Pokémon not reviving against Max Raid bosses.
- Fixed a battle crash rarely caused by EntryHazard.
- Fixed a battle crash occurring when a Pokémon in a virtual battle has Illusion.
- Fixed an error caused by the Legend Plate.
- Fixed a battle crash from the battle controller being null at the end of a raid battle.
- Fixed an error in clear status.
- Fixed the names of players and NPCs not appearing by resetting the z-level to 0.
- [21912](https://pixelmonmod.com/tracker.php?p=2&t=21912) Fixed client switch menu hiding Pokémon that were forced out on the same turn they were switched in.
- [21999](https://pixelmonmod.com/tracker.php?p=2&t=21999) Fixed Ash-Greninja, in its Battle Bond form, not transforming in Horde or Raid battles.
- Fixed max HP value not being recalculated after temp-level is set, fixing the issue where battle rules changing a Pokémon's level did not cause the HP to update.
- Fixed spread move damage order to hit allies before enemies.
- Fixed Critical Hit effect calculation.
- Fixed non-forced criticalHit count for Galar Farfetch'd evolution.
- Fixed Anticipation triggering against Status moves.
- Fixed Anticipation not triggering against Hidden Power.
- Fixed Baton Pass copying G-Max Chi-Strike boosts.
- Fixed Burn Up not thawing user when it has a fire type.
- Fixed Color Change changing type if Pokémon already had that type.
- Fixed Corrosion ignoring Poison/Steel resistance for G-Max Malodor’s damage.
- Fixes Costar not copying crit boosts if no stat stages boosted.
- Fixed Dire Hit’s effect being stackable.
- Fixed Gravity not disabling flight moves.
- Fixed Gravity not boosting move accuracy.
- Fixed Judgment changing type based on user’s type instead of plate type.
- Fixed Judgment with Legend plate finding type least resisting the target’s types.
- Fixed Laser Focus persisting turns if an item is used.
- Fixed Mimicry losing added types when activating.
- Fixed Moldbreaker not ignoring Unaware’s ignored accuracy changes.
- Fixed Purifying Salt removing statuses gained before ability.
- [21949](https://pixelmonmod.com/tracker.php?p=2&t=21949) Fixed Ring Target not working when there is a global status on the field.
- Fixed Receiver not immediately triggering abilities from fainting allies.
- Fixed Roost not suppressing Flying type gained after the move.
- Fixed Roost restoring lost types.
- Fixed Transform not copying Flying type of Roosting Pokémon.
- Fixed Transform not copying Rage Fist hit count.
- Fixed Transform not copying opponent weight.
- Fixed Transform copying G-Max forms.
- Fixed Transform allowing PP restoring items to boost moves above 5PP.
- Fixed an issue where Bug Bite and Pluck were setting the consumber incorrectly.
- Fixed Teatime resetting the value for the item a Pokémon had consumed.
## Developer:
- BREAKING CHANGE: removed Population Bomb move effect.
- BREAKING CHANGE: Triple Kick move effect.
- BREAKING CHANGE: Triple Axel move effect.
- In a developer environment, toggling the hitbox visual can now be used without needing a 2nd TCG player.
- Removed the deprecated methods for `getNickname` and `getDisplayName` that return a String.
- Updated `getFormattedNickname`, and `getFormattedDisplayName` to `getNickname` and `getDisplayName`.
- Updated all rendering to use components not Strings.
- Added the `GimmighoulCoinRequirement` for PokeSpecs.
- Added the `GimmighoulStats` to keep track of how many Gimmighoul Coins a Gimmighoul has amassed.
- Adds the `InteractionGimmighoulCoins` which is what allows a Pokémon using the `GimmighoulCoinCondition` to evolve to be given Gimmighoul Coins.
- Added a fullbright option to ShaderParameters.
- Added terrastralization shader.
- Added a `party` value to the NPC Builder.
- Added a `party` balue to the NPCPreset.Builder.
- Added a `uuid` option to the NPC Builder.
- Added null checks in the NPC Builder methods to result in friendlier errors for developers.
- Added the TeamSupplier interface and registry.
- This is necessary because the Mojang registries load before our old-style Pixelmon ones therefore, when the Presets were attempting to load teams for the NPCs they were unable to parse them and validate them as the species data did not yet exist.
- There are three types of TeamSupplier by default, `pixelmon:empty`- an empty team provided, `pixelmon:poke_paste`- takes a PokePaste URL and converts it into a team and `pixelmon:spec`- takes a list of specs and converts them into a team.
- Added `EntityBattleParticipant` with a builder.
- This means any entity (vanilla mobs included) can now be used to represent a trainer in battle
- The builder allows you to modify how the participant will operate (ai mode, boss tier, etc).
- Added the `BattleViewer` interface for entities/players that are watching a battle.
- The spectator class now inherits the BattleViewer interface.
- Added `BattleController#broadcastPacket` which sends a packet to all BattleViwers.
- Added `BattleController#getBattleType`.
- Added `BattleController#getSpectators`.
- Added `BattleController#broadcastPacket`.
- Added `BattleController#canSpawnEntity`.
- Added `BattleController#postSpawnEntity`.
- Changed the `spectator` field in the SpectateEvent (and sub-classes) to be private.
- You can now access the player spectating a battle via `SpectateEvent#getSpectator`.
- The `target` field in SpectateEvent.StartSpectate is now private.
- You can access, and modify, the spectator's target using `SpectateEvent.StartSpectate#getTarget` and `SpectateEvent.StartSpectate#setTarget`.
- Removed `ParticipantType` enum.
- Replaced with the following methods:
- `BattleParticipant#isWild`
- `BattleParticipant#isPlayer`
- `BattleParticipant#isTrainer`
- `BattleParticipant#isRaid`
- Simplified a lot of logic in the BattleParticipant classes.
- All battle participants now have an entity through the BattleParticipant class
- `BattleParticipant#entity` (protected variable).
- The wait boolean has been made protected, and should be accessed via `BattleParticipant#waiting` and `BattleParticipant#setWait`.
- Added a method to reduce duplicated code for clearing the movement properties of the BattleParticipant's entity.
- `BattleParticipant#clearMovement`
- Moved the `hasMovePokemonReserve` method implementation from the sub-classes to the BattleParticipant class (reducing code, and fixing some bugs where it was different in different implementations).
- Added `BattleParticipant#isOnField` for checking if a PixelmonWrapper is on the battle field
- Changed the method `startBattle` to `preBattleChecks` as this was causing some issues with trainer participants.
- `startBattle` is now only overridden in the PlayerParticipant for sending the battle to the client to start it.
- Added `BattleParticipant#releasePokemon` to spawn the Pokémon for a PixelmonWrapper.
- This should be how all Pokémon are spawned in battle as this has the checks for if the entity can spawn.
- Moved the `switchPokemon` logic from the sub classes into BattleParticipant, again fixing some bugs and reducing duplicate code.
- Changed `BattleParticipant#sendMessage` to `BattleParticipant#sendPacket` to make it clearer what that method is doing.
- The AirSaver class has been changed to a single static registry and is no longer something you have to implement yourself where you want to use it.
- To add an air saver to a player you now use `AirSaver#lock`.
- To remove an air saver from a palyer you use `AirSaver#unlock`.
- You can now start battles with players via the PlayerPartyStorage.
- The following methods were added:
- `PlayerPartyStorage#battle(ServerPlayer)`
- `PlayerPartyStorage#battle(ServerPlayer, BattleType)`
- `PlayerPartyStorage#battle(ServerPlayer, BattleRules)`
- All of the above will start a battle between the owner of the storage and the player specified.
- Added the `BooleanBattleProperty` class for easily creating simple battle boolean based battle properties.
- Added the `spawn_entities` battle property.
- This accepts true or false, and when set to false will prevent entities spawning for that battle.
- The default is true.
- Simplified the battle starting & spectating packets to be a single packet each.
- Added `BattleController#spectate`.
- Added `BattleController#removeSpectator`.
- Fixed Pokédex method updating the value in the wrong Pokédex.
- Added a `PartyStorage#getAll` that takes a Predicate.
- Added checks to PartySelectionScreen API to make constructing it easier.
- Added `RelearnerFactory#builder` for creating a relearner interaction.
- Added `TutorFactory#builder` for creating a Move Tutor (or Transfer Tutor) interaction.
- Adds `ShopFactory` and `ShopBuilder` API:
- This allows you to utilise the shopkeeper/vending machine shop UI.
- Refactored the `ShopkeeperEvent` to `ShopEvent` and now fires with the vending machine.
- `ShopEvent` now has both `getBlockPos` and `getEntity` referring to either the block position of the vending machine, or the entity (most commonly NPC), the shop was opened from.
- Both of which can be null as neither an entity, or a block, are required for opening a shop.
- Added Precondition checks to the Dialogue Builder API to make for friendlier errors when forgetting specific calls.
- Added `EmptyInteractionEvent` for creating interaction events that don't need to subscribe to any events but instead need to be called externally.
- Changed the constant `EntityProperties#DEFAULT` to a function `EntityProperties#defaultProperties()` and added a child version `EntityProperties#defaultChildProperties()`.
- Added `NPCPreset.Builder#noParty`.
- Added overloads for `TextureProvider#resource` to make it less verbose to use.
- Renamed getEffectiveTypes to modifyEffectiveTypes.
- Added `Ability.ignoreStatusTypeImmunity`.
- Added Ability flags to support various effects.
- Added move flag ‘gravity’ for moves disabled by the Gravity global status.
- Added `Pokemon#setToOppositeGender`.
- Added `DropDownWidget#setMaxVisibleOptions`.
- Added `Pokerus#setCured` and `Pokerus#setInfected`.
- Added `Pokerus#getNameOfStrainWithInfected` that returns a component with the infected/cured status plus the strain of the Pokérus.
- Pressing the F3 key with the Pokémon Editor open while in a Dev environment will render a cyan background where the GridLayout can place the widgets added to it along with a pink background to display the space taken up by the widget.
- `UpdatePlayerPokemonPacket` now gets the Pokémon's slot via its UUID, instead of via the Pokémon object.
- RibbonButtons will now use the widget's alpha, instead of always being fully visible.
- Added `IVStore#isEveryStatHyperTrained`.
- Added static functions `ResourceLocationHelper#getItemStackTextureLocation` and `ResourceLocationHelper#getItemTextureLocation`.
- Added `Attack#getPP` and `Attack#setPP`.
- Added `Attack#getPPLevel` and `Attack#setPPLevel`.
- Created the `SliderWidget`, which extends ForgeSlider.
- Added `ExtraStats#getValue` and `ExtraStats#setValue`.
- Added `ExtraStats#getValueName`, which returns a component with a better name for the value of the Extra Stat.
- Created the `PixelmonRendereringHelper` class for rendering the models of Pokémon.
- Added a static method `StatusType#getColor` that takes a StatusType as a parameter and returns the color of the Pokémon type (`Element#getColor`) most related to that status type.
- Changed `PixelmonClientData#getHealthColor` to be static and take the current health and max health as parameters.
- Changed `Pokemon#setMintNature` to not call `Pokemon#setNature`.
- Added `BattleStatsType#getClosestChatFormattingColorForPokePasteStat`.
- Added `ScrollableListWidget#getWidgets`.
- Added `RibbonButton#getRibbon`.
- Changed the static constant class variable `DYNAMAX_LEVELS`, set in PokeCheckerScreen, which holds the values for the colors of the Dynamax Levels, public.
- Changed `PokemonBuilder#getNature` to `PokemonBuilder#getBaseNature`.
- Added `Pokemon#getPokerus`.
- Added `BattleStatsType#getAbbreviatedTranslationName`.
- Added `Gender#getTranslatedName` and `Gender#getTranslatedNameCapitalized`.
- Added `RibbonRegistry#sort`, to sort RibbonTypes alphabetically.
- Added `Pokemon#isNearlyIdenticalTo`.
- Added `ScrollableListWidget#scrollWidgetUponMouseClicked`, `ScrollableListWidget#getMouseYTranslatedToWidgetY`, and `ScrollableListWidget#getElementY`.
- Added `TabCompleteTranslateableTextField#getShowDropDown`, `TabCompleteTranslateableTextField#setShowDropDown`, `TabCompleteTranslateableTextField#getDropDownOptionAmount`, `TabCompleteTranslateableTextField#setDropDownOptionAmount`, `TabCompleteTranslateableTextField#getHeightPerDropDownOption`, `TabCompleteTranslateableTextField#setHeightPerDropDownOption`, `TabCompleteTranslateableTextField#getDropDownOptions`, `TabCompleteTranslateableTextField#setFocused`, and more stuff for just internal rendering.
- Added `Moves#getGenerationsTMTRTheImmutableAttackIsIn` to return a Component describing what generations a TM or TR exists in.
- Added `StringHelper#buildStringForConsecutiveNumbers` that returns a sequence of numbers as a string in format "1-4, 6-7, 9-11, 13".
- Added `IVStore#setIVsToRandomValues` to set the current IVStore object's IVs to new random values
- Added `Pokerus#getNameOfStrainWithInfectedToString`.
- Added `PixelmonRenderingHelper#getAllAnimations`.
- Added `AbstractClientEntity#toStringComponent`.
- Added `Pokemon#makeEggAndKeepCurrentLevel`.
- Added `StringHelper#capitalizeAllWords`.
- Added `ScrollableListWidget#getInnerHeightOfLayoutElementWidget`.
- Added `AbstractClientEntity#setOffGroundTime(int)`.
- Added `GenderProperties#getRandomPalette`.
- The minimum Forge version for this update is 36.2.34 and is required for a Pixelmon client to run.
- If using datapacks, consider refreshing every update for default datapack fixes from Pixelmon.
## Additions:
#### Pokémon:
- Added Tarountula.
- Added Spidops.
- Added Maschiff.
- Added Mabosstiff.
- Added Farigiraf.
- Added Finizen.
- Added Palafin.
- Added Brute Bonnet.
- Added Iron Jugulis.
- Added Iron Valiant.
- Added Wo-Chien.
- Added Ting-Lu.
- Added Roaring Moon.
- Added Koraidon.
- Added Miraidon.
- Added Iron Bundle.
#### Forms:
- Added Pikachu-Libre.
#### Palettes:
- Added Spring Sprigatito line.
- Added Summer Sprigatito line.
- Added Autumn Sprigatito line.
- Added Winter Sprigatito line.
#### Moves:
- Added Tera Blast.
#### Spawning:
- 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 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 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 Iron Bundle to Small End Islands at all times.
- Added Koraidon to Small End Islands during the Day on Land.
- Added Miraidon to Small End Islands during the Night on Land.
- Added Spring variant Sprigatito-line to Flowery with reduced rarity.
- Added Summer variant Sprigatito-line to Forests with reduced rarity.
- Added Autumn variant Sprigatito-line to Taigas with reduced rarity.
- Added Winter variant Sprigatito-line to Freezing Forests with reduced rarity.
- Added Brute Bonnet to Small End Islands on Land at All Times.
- Added Iron Jugulis to Small End Islands on Land at All Times.
- Added Iron Valiant to Small End Islands on Land at All Times.
- Added Mabosstiff to Plains on Land during Night.
- Added Maschiff to Plains on Land during Night.
- Added Farigiraf to Savannas on land at Night. Added guaranteed chance to spawn with a group of Girafarig.
## Changes:
- Moving riding offsets are now utilized more aggressively.
- Changed the NPCs in the Tower of Waters to be only challenge-able once per player.
- Changed the NPCs in the Tower of Darkness to be challenge-able once per player.
- Changed the Steel TM sprite so that it is no longer identical to the Normal TM sprite.
- Changed Fairy TM sprite so that it is no longer identical to the Psychic TM sprite.
- Updated Gardevoir model.
- Updated Mewtwo-Mega Y model.
- Removed the Witch Hat from the PokéStop model.
- Replaced Fiery Dance with Torch Song in Revenant's pool of Fire-type moves.
#### Optimizations:
- Significantly reduced allocations coming from the spawner thread, and slightly improves spawner thread speed as a result, due to getTeam creating a new list every time it's called vs getAll returning the array directly and thus not allocating a new list, and then filling it.
## Fixes:
- [20450](https://pixelmonmod.com/tracker.php?p=2&t=20450) Fixed the quest to use a Healer not advancing upon using a Red Healer.
- [20450](https://pixelmonmod.com/tracker.php?p=2&t=20450) Fixed the quest to craft a Healer not advancing upon crafting a Red Healer.
- [19027](https://pixelmonmod.com/tracker.php?p=2&t=19027) Fixed the Celebi quest failing to give Isi's Gold Hourglass.
- Fixed Poké Balls that fall into the void always failing capture.
- [20226](https://pixelmonmod.com/tracker.php?p=2&t=20226) Fixed the client getting stuck in the raid screen if you drown during the starting countdown.
- Fixed Legendary and Rare PokéStops break particle colours being incorrect.
- [20269](https://pixelmonmod.com/tracker.php?p=2&t=20269) Fixed PokéStops disappearing whilst still in the player's render distance.
- [20210](https://pixelmonmod.com/tracker.php?p=2&t=20210) Fixed TRs not dropping in raids.
- Fixed /tiershow not working and displaying a large error in the console.
- Fixed /tiershow to be case insensitive.
- Fixed /compsee executing for the sender when specifying an offline player.
- Fixed /pokesee executing for the sender when specifying an offline player.
- [20493](https://pixelmonmod.com/tracker.php?p=2&t=20493) Fixed the stored Pokémon from a PokeDisplay going to the player's PC rather than swapping with the Pokémon being stored.
- [20262](https://pixelmonmod.com/tracker.php?p=2&t=20262) Fixed players being unable to give their Battle Bond form Greninja the Zombie palette.
- Fixed Max Raid Dens not spawning Raids for the lowest star level possible in each biome.
- An error message is now sent to the log if a Max Raid Den attempts to spawn a raid for a biome that doesn't have any raids.
- An error message is now sent to the log that specifies which Max Raid Den has failed to spawn a raid, along with the star level of the raid it's trying to spawn.
- [21503](https://pixelmonmod.com/tracker.php?p=2&t=21503) Fixed players receiving photos of a Pokémon and losing Film if another player took a photo while they were also looking at a Pokémon through the Camera.
- Fixed accidentally mounting a fully evolved Pokémon when using an item on it.
- Fixed the player not receiving experience from smelting items into curry ingredients.
- [19907](https://pixelmonmod.com/tracker.php?p=2&t=19907) Fixed all the Unown blocks missing their recipes.
- Fixed cross-dimension spawning causing invalid spawns.
- [21556](https://pixelmonmod.com/tracker.php?p=2&t=21556) Changes PokéGifts to provide a copy of the Pokémon to prevent linking issues.
- [21556](https://pixelmonmod.com/tracker.php?p=2&t=21556) Fixed PokéGifts not persisting contents and settings across launches.
- [20761](https://pixelmonmod.com/tracker.php?p=2&t=20761) Fixed the Winter Cloak and Froslass Yukata having the player arm clipping into them badly for certain models.
- [17132](https://pixelmonmod.com/tracker.php?p=2&t=17132) Fixed fusion Pokémon, and other persistent data, being lost after the Pokemon was edited using the Editor Wand.
- Fixed an server crash caused by a null player in Air Saver.
- Fixed an error caused by Daycare requirement packets, causing disconnects.
- Fixed Mount Lanakila not spawning.
- Fixed Client Reset Packet's mixins not being applied.
- Fixed client-only methods being accessed by `/resetpokestats`.
- [20262](https://pixelmonmod.com/tracker.php?p=2&t=20262) Fixed being able to convert Zombie-palette-capable Pokémon to Zombie form during the day.
#### Battles:
- Fixed the EnforcedRevivePacket exploit.
- [21073](https://pixelmonmod.com/tracker.php?p=2&t=21073) Fixed Rising Voltage boosting damage dealt more than it should.
- Fixed Raid Pokémon not doing damage when repeating Max Moves.
- [21211](https://pixelmonmod.com/tracker.php?p=2&t=21211) Fixed Legend Plate causing a battle error with Arceus when Dynamaxed and using Judgement.
- Fixed the PixelmonWrapper#getMaxHealth method to not increase Shedinja's max when Dynamaxed.
- Fixed missing health recalculateMaxHealth to Power Construct allowing increase in health for Zygarde-Complete.
- Fixed forms marked as temporary remaining after battle if the battle is aborted early.
- Fixed Perish Body to now use the correct messages where one side is unaffected due to their ability.
- Fixed Revenant preventing the Perish status during its final stage.
- Fixed virtual battles causing an error and crashing mid-battle when trainers send out their Pokémon.
- Fixed an error caused by Synchronize causing battle crashes in virtual battles.
- Fixed an error causing a server crash from the battle controller being null at the end of the a raid battle.
- Fixed an error caused by Clear status being null.
- Fixed an error caused by the Legend Plate.
- Fixed a battle crash occurring when a Pokémon has Illusion in a virtual battle.
- Fixed a rare battle crash occurring when an Entry Hazard is used.
## Developer:
- Added Glaive Rush, Mortal Spin, and Raging Bull to AttackRegistry.
- Renamed ancient variants of moves in AttackRegistry fields.
- Added Dynamax Level, Hyper Training, egg steps, temporary ability, extra stats, bonus stats, persistent data, and ribbons to PokemonBuilder.
- Added a check for null attacks in PokemonBuilder.
- Changed return type for all reminder move-related API from a List to a Set.
**"There are DOZENS of us, DOZENS!"**
## Additions:
- Added the griseous core, lustrous globe, and adamant crystal
- Added origin dialga
- Added origin palkia
##### New Pokémon:
- Added Hisuian Typholosian
- Added Hisuian Sneasel
- Added Sneasler
- Added Ursaluna
- Added Kleavor
## Changes:
- Ghost Pokémon now drop Psychic essence instead of Darkness essence.
## Fixes:
- Enamorus was not marked as being a legendary Pokémon .
- Fixed the usage message for the `/setraid` command
- Fixes LoA Pokémon not showing up in the pokedex and caught Pokémon counts.
- Fixed shiny reshiram sprite
- Change Ghost pokemon to drop Psychic essence instead of Darkness essence.
##### Battle Fixes:
- Fixed NPE issues with null attacks
- Make silvally's multi attack use the type of the memory it holds while dynamaxed
- Force OHKO moves and moves that fail in a raid to use PP.
- Prevent Max Moves from having their overridePower reset while the AI tries to calculate the best move.
- Don't allow the holder of a Shell Bell to heal from damage originating from them.
- Make sure that if moveAccuracy can't miss we don't change it.
- Prevent player collecting money from Pay Day if they catch the Pokemon, flee, black out, or fight a player or raid.
- Add the Freeze effect to Freeze-Dry's json.
- Make Dynamaxed Pokemon take 10% of non-Dynamax HP damage from Life Orb.
- Prevent Pokemon from regaining health after damaging themselves.
- Make Pokemon that were switched out and then switched back in during the same turn able to use Fake Out the next turn.
- Fix recoil with Magic Guard and no recoil when missing.
- Fix HP restore berries only healing the Pokemon whose current turn it is.
- Make Substitute stop popping the Substitute user's Air Balloon.
- Add onGlobalStatusAdded method and apply it to Room Service.
- Add Helping Hand to list of moves that can't be reflected.
- Fixes multiple hit moves calculating accuracy for each hit.
- Fix default crit chance and rerolling crit chance to determine if the attack already crit.
- Fix Max and G-Max Moves not depleting pp from the original move.
- Make Dragon Energy hit the opponents at the same time.
- Fix Max Moves doing zero damage to allies in raids.
- Make Encore and Taunt subtract the turn count on the statused Pokemon's turn.
- Remove message to player saying the opponent's attack failed when it did not
- Fix the abilities that modify types so that they work in double battles.
- Prevent Pokemon immune to certain statuses being given said statuses
- Fix moves that affect all teammates so that they affect the 3rd teammate in raids.
- Fix Bolt Beak and Fishious Rend not dealing double damage to Pokemon switching in.