Posted: 14 Feb 2023 12:25
**"Love is in the Pokedex!"**
- 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.
- Added Valentines' Day catch mechanic: catching certain Pokémon with a Love Ball turns them into their Valentine palette.
- Added Valentine palette Pokémon: Swablu, Altaria, Togepi, Togetic, Togekiss, Drifloon, Drifblim, Emolga, Absol and Celebi.
- Added Valentine's Day Discord-exclusive Heart Wings.
- Added Electromorphosis ability.
- Added Earth Eater ability.
- Added Thermal Exchange ability.
- Added Glaive Rush move.
- Added Shed Tail move.
- Added new debug modes: Vertex mode[F3+V], Emissive mode [F3+K].
- Added new debug modes to debug help menu [F3+Q].
- Added Wiglett.
- Added Wugtrio.
- Added Orthworm.
- Added Tadbulb.
- Added Bellibolt.
- Added Frigibax.
- Added Arctibax.
- Added Baxcalibur.
- Added Ground Gym Town structures: Gym Ground, Gym Ground Town Center A-B, Gym Ground PokeCenter, Gym Ground PokeMart, Gym Ground Road A-D, Gym Ground House A-E, Gym Ground Blacksmith, Gym Ground Church, Gym Ground Day Care, Gym Ground TCG Shop, Gym Ground Farm A-B, Gym Berry A-B, Gym Ground Clutter A-E and Gym Ground Light A-B.
- Added Fire Gym Town structures: Gym Fire, Gym Fire Town Center A-B, Gym Fire PokeCenter, Gym Fire PokeMart, Gym Figure Road A-D, Gym Fire House A-E, Gym Fire Blacksmith, Gym Fire Church, Gym Fire Day Care, Gym Fire TCG Shop, Gym Fire Farm A-B, Gym Fire Berry A-B, Gym Clutter A-E and Gym Fire Light A-B.
- Added Valentine's Day Swanna Boat.
- Updated Dos Shrine A, Den Swamp B, Graveyard A, Graveyard Church A-B, Gym Grass, Gym Grass PokeCenter, Gym Grass PokeMart, Gym Grass House A-E and Gym Grass Blacksmith.
- Added Frigibax, Arctibax, Baxcalibur and Orthworm voices.
- Updated Necrozma, Reshiram and Wooper voices.
- Added Ground Gym Town spawning to Badland biomes.
- Added Fire Gym Town spawning to Nether biomes.
- Added Swanna Boat spawning to Ocean biomes.
- Added Orthworm to Arid night-time spawns.
- Added Wiglett and Wugtrio to Beaches, Lukewarm Ocean and Warm Ocean spawns.
- Added Tadbulb and Bellibolt to River, Lakes and Swamp spawns.
- Added Frigibax, Arcitbax and Baxcalibur to Freezing Forests and Freezing Mountains night-time spawns and Underground spawns.
- Updated Starter screen welcome message.
- Removed unnecessary mega-evolution palette missing textures.
- Updated Black Cash Register recipe to match the rest of the dyed Cash Register recipes.
- Removed individual color-specific or specie-specific Apricorn and Berry Logs, unifying them into a single Berry Log and Apricorn Log, decreasing game load time.
- Updated Apricorn Log plank recipe to yield Yellow Berry Planks.
- Updated Berry Log plank recipe to yield Green Berry Planks.
- Updated Red Berry Planks, Purple Berry Planks, Pink Berry Planks and Blue Berry Planks recipe to a staining recipe using Yellow Berry Planks and their respective dyes.
- Removed placeholder blocks with blockstate variations, decreasing game load time.
- Updated Wireframe debug mode keybinds to [F3+J].
- Updated PokéStop model to Valentine variant.
- Updated Love Koffing and Weezing to use the Valentine Love Ball catch system.
- Added Model Predicate system for improved loading of multi-model Pokémon.
- Updated flyingModelLocator to the new system, collapsing it with modelLocator into modelLocators. This new system will allow for an infinite, ordered list of possible models for a single Pokémon instead of limiting it to Flying-only modes.
- Added a backward compatibility system to enable the loading of stat files with flyingModelLocator.
- Added pixelmon:flying, pixelmon:battle, pixelmon:riding and pixelmon:always as starting model predicates.
- (tracker.php?p=2&t=15596) Fixed badgeList error on PixelmonItems#getBadgeList(Element type).
- (tracker.php?p=2&t=18018) Fixed Shulker Box-stored items failing to display in the battle UI under Bag.
- (tracker.php?p=2&t=19566) Fixed missing sound event errors on console startup, failing to load sounds for Popplio, Terrakion, Zeraora and Eevee.
- (tracker.php?p=2&t=19802) Fixed Shopkeepers failing to yield items if player inventory is full.
- (tracker.php?p=2&t=19807) Fixed client crash when walking through Pixelmon Grass.
- (tracker.php?p=2&t=19820) Fixed Hammer area damage permanently deleting items stored in destroyed Shulker Boxes.
- (tracker.php?p=2&t=19900) Fixed DittoxDitto breeding results displaying improperly in the Day Care UI.
- (https://www.pixelmonmod.com/tracker.php?p=2&t=19979) Fixed Cooking Pots failing to reduce durability of Flint and Steel.
- (https://www.pixelmonmod.com/tracker.php?p=2&t=19982) Fixed Az' Floette failing to spawn due to a typo in its spawning file.
- (tracker.php?p=2&t=19986) Fixed marks failing to be unequipped from the player's inventory UI.
- Fixed Articuno Galar and Moltres Galar using their idle animation while in flight.
- Fixed Clodsire invalid stat entries for EV yield and Gmax factor.
- Fixed Gulpin dropping incorrectly Beetroot.
- Fixed Mount Lanakila raid dens failing to activate with a Wishing Piece.
- Fixed Paldean Wooper dropping all Wooper drops instead of the Paldean-inspired ones only.
- Fixed Porygon-Z failing to drop Silicon properly.
- Fixed Water Stone Ore spawning surrounded in sand without a water source directly above it.
- Fixed Yellow Day Care using an incorrectly colored sprite.
- Fixed /dexcheck displaying numbers by decimals in percentage of completion.
- Fixed /hatch command resulting in a doubled feedback message.
- Fixed a client crash when rendering item sprites and PokéBalls.
- Fixed client crash when loading high density NPC populations on login.
- Fixed client crash when swapping empty party slots in the Day Care menu.
- Fixed console errors caused by an attempt load of the ParticleManager.
- Fixed console flooding when a player attempts to fly on a Pokémon with incorrect flying parameters.
- Fixed duplicated entries for Palkia spawning locations.
- Fixed duplicated items displaying when searching a specific PokéBall or PokéBall component in the creative inventory.
- Fixed duplicated move entries for Mr Mime Galarian, Mew and Celebi.
- Fixed emissive, transparent models failing to render properly, affecting Nihilego.
- Fixed erroneous entry for Earthquake as an Egg move for Paldean Wooper.
- Fixed missing Paldean tag to Clodsire.
- Fixed missing cave_air entry as a valid spawning location, causing /checkspawns to incorrectly list possible spawns.
- Fixed missing move entry of Amnesia to Clodsire's moveset.
- Fixed naturally spawned raid dens failing to activate after the first activation.
- Fixed quest items failing to be stackable up to 64 count.
- Fixed raid dens activating continuously if daylight cycle is switched off.
- Fixed raid dens failing to activate when summoned via the Raid Den Spawner.
- Fixed the wrongful logging of ENCODING and DECODING Pixelmon packet messages if Pixelmon#logPackets is false.
- (tracker.php?p=2&t=18018) Fixed battle Bag options not detecting Shulker Box content, including Pokéballs.
- (tracker.php?p=2&t=18768) Fixed missing AI on Pokémon spawns after fleeing and being fished out.
- (tracker.php?p=2&t=19783) Fixed Charizard Mega Y transforming into Charizard Mega X when switching back in.
- (tracker.php?p=2&t=19785) Fixed Mewtwo Mega Y transforming into Mewtwo Mega X when switching back in.
- (tracker.php?p=2&t=19809) Fixed client crash on SkyBattleCause exception from optionals.
- Fixed Jaboca and Rowap Berries not damaging the opponent if you use False Swipe in the same turn.
- Fixed Pokémon being unable to steal (Thief, Trick, Switcheroo) items that aren't classified as held items.
- Fixed non-attack damage sources failing to correctly trigger phase changes for Revenant Pokémon.
- Updated Korean translation.
- Updated Traditional Chinese translation.
- Updated Spanish translation.
- Added BattleItemScanner, a one-stop-shop for finding, collecting, and consuming battle items for battles.
- New item scanners can be registered via this class, allowing modders to add their own item containers for use in battles, like how Poké Bags and Shulker Boxes can be used. BattleItemScanner.InventoryScanner[b][i] is the class used for this purpose, and it takes various functional interfaces for each of the functions required.
- Added an identifier string to [b][i]BagItemEvent, for determining the source of the search request. By default, there are two types, normal and end of raid. These identifiers can be found in BagItemEvent.Identifiers.
- BagItemEvent.SelectItem.Pre now has a method to set the item selected. This will be null if virtual items were sent via BagItemEvent.CollectItems - in order for a virtual item to function, it must be set again here. This is to avoid the server just believing what the client is telling it.
- Added a new event SpawnPixelmonEntityForBattleEvent.
- Added PixelmonTradeEvent.Pre, PixelmonTradeEvent.Post for better precise control over the event, adding getters for variables.
- Added NPCTraderEvent.ShowTrade.Pre, NPCTraderEvent.ShowTrade.Post, NPCTraderEvent.AcceptTrade.Pre and NPCTraderEvent.AcceptTrade.Post for improvement on Trader NPC display and handling.
- Added NPCTutorEvent.CollectLearnableMoves.Pre and NPCTutorEvent.CollectLearnableMoves.Post.
- Added TeachMoveEvent.CanLearnMove, TeachMoveEvent.MoveLearnt.Pre and TeachMoveEvent.MoveLearnt.Post.
- Updated PokemonBuilder#copy to properly copy egg status of a Pokémon.
- Added option to prevent the [ESC] key from closing the Dialog screen.
- Added SpawnPixelmonEntityForBattleEvent to decouple battle starting logic from the PixelmonEntity class.
- Cancelling SpawnPixelmonEntityForBattleEvent allows you to start /pokebattle without spawning any entities, throw a Pokéball and start a battle without spawning entities, throw a Pokéball at an NPC and start a battle without spawning entities, start a PvP battle without spawning either player's Pokémon and start a raid battle without spawning any entities.
- Added several duplicate methods which use the Pokémon object or other objects instead of PixelmonEntity.
- Deprecated Pokemon#getPixelmonWrapper, replaced by Pokemon#getPixelmonWrapperFromPlayerEntity.
- Deprecated PartyStorage#getFirstAblePokemon, replaced by PartyStorage#getFirstBattleReadyPokemon().
- Extended BattleQuery#BattleQuery, BattleQueryPlayer#BattleQueryPlayer, PlayerParticipant#PlayerParticipant and PlayerParticipant#initialize.
- Extended RaidPixelmonParticipant#RaidPixelmonParticipant, RaidGovernor#init and RaidSettings#init.
- Extended WildPixelmonParticipant#WildPixelmonParticipant and WildPixelmonParticipant#init.