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 totrue
. 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 chancecurry-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émoncurry-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 Fixed PokéGifts' contents and settings not persisting across launches.
- 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 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 Fixed legendary requirement not overriding the ability and ability slot, resulting in erroneous abilities.
- 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 Fixed the EXP, Mark, and Catching Charms disappearing upon death.
- 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 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 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 Fixed all Poké Ball recipes yielding the same Poké Ball type.
- 21194 Fixed all Poké Ball Lid recipes yielding the same Poké Ball Lid type.
- 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 Fixed ability changing on evolution for naturally spawned Pokémon.
- 21951 Coloured Sash and Rainbow Sash colours are now vibrant again.
- 21951 Rainbow Sash now uses a REALLY rainbow colour set.
- 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 Fixed the PC Search visually duplicating Pokémon when the full species name of a Pokémon is typed.
- 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 Fixed a visual issue with newly crafted Bird Orbs appearing full.
- 21163 Fixed a visual issue with crafted orbs rendering other sprites beneath them.
- Fixed the durability bar of Bird Orbs appearing underneath them.
- 21984 Fixed visual duplications caused by attempting to swap Pokémon around in your party from your inventory screen.
- 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 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 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 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 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 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 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 Fixed client switch menu hiding Pokémon that were forced out on the same turn they were switched in.
- 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 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
andgetDisplayName
that return a String. - Updated
getFormattedNickname
, andgetFormattedDisplayName
togetNickname
andgetDisplayName
. - 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 theGimmighoulCoinCondition
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 andpixelmon: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
andSpectateEvent.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
andBattleParticipant#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
topreBattleChecks
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
toBattleParticipant#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
andShopBuilder
API: - This allows you to utilise the shopkeeper/vending machine shop UI.
- Refactored the
ShopkeeperEvent
toShopEvent
and now fires with the vending machine. ShopEvent
now has bothgetBlockPos
andgetEntity
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 functionEntityProperties#defaultProperties()
and added a child versionEntityProperties#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
andPokerus#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
andResourceLocationHelper#getItemTextureLocation
. - Added
Attack#getPP
andAttack#setPP
. - Added
Attack#getPPLevel
andAttack#setPPLevel
. - Created the
SliderWidget
, which extends ForgeSlider. - Added
ExtraStats#getValue
andExtraStats#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 callPokemon#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
toPokemonBuilder#getBaseNature
. - Added
Pokemon#getPokerus
. - Added
BattleStatsType#getAbbreviatedTranslationName
. - Added
Gender#getTranslatedName
andGender#getTranslatedNameCapitalized
. - Added
RibbonRegistry#sort
, to sort RibbonTypes alphabetically. - Added
Pokemon#isNearlyIdenticalTo
. - Added
ScrollableListWidget#scrollWidgetUponMouseClicked
,ScrollableListWidget#getMouseYTranslatedToWidgetY
, andScrollableListWidget#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 Fixed the quest to use a Healer not advancing upon using a Red Healer.
- 20450 Fixed the quest to craft a Healer not advancing upon crafting a Red Healer.
- 19027 Fixed the Celebi quest failing to give Isi's Gold Hourglass.
- Fixed Poké Balls that fall into the void always failing capture.
- 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 Fixed PokéStops disappearing whilst still in the player's render distance.
- 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 Fixed the stored Pokémon from a PokeDisplay going to the player's PC rather than swapping with the Pokémon being stored.
- 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 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 Fixed all the Unown blocks missing their recipes.
- Fixed cross-dimension spawning causing invalid spawns.
- 21556 Changes PokéGifts to provide a copy of the Pokémon to prevent linking issues.
- 21556 Fixed PokéGifts not persisting contents and settings across launches.
- 20761 Fixed the Winter Cloak and Froslass Yukata having the player arm clipping into them badly for certain models.
- 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 Fixed being able to convert Zombie-palette-capable Pokémon to Zombie form during the day.
Battles:
- Fixed the EnforcedRevivePacket exploit.
- 21073 Fixed Rising Voltage boosting damage dealt more than it should.
- Fixed Raid Pokémon not doing damage when repeating Max Moves.
- 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.
"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
.
- You do this using the key bind:
- Added the ability to re-do operations in the PC:
- You do this using the key bind:
control + y
.
- You do this using the key bind:
- 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
- The left display shows:
- 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.
- Removed the "release bin":
- 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.
- The
- 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.
- The
- 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.
- This setting can be edited in the config via the
- The default value is 30 blocks and can be set in the config with the
- 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.
- Pressing "F1" during battle will toggle the visibility of the battle UI.
<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 Fixed a client crash caused by using Mojang's random source.
- 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 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 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 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 Fixed the override textures not working for statues.
- 21610 Fixed animation type fly not being settable on statues.
- Fixed permission checks not working.
- 20210Fixed 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 Fixed the battle rules screen not rendering properly.
- 21724 Fixed pressing the battle rules button causing a client disconnect.
- 21350 Fixed Ancient Power boosting stats before doing damage.
- 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 Fixed Purifying Salt not ignoring Mold Breaker and Mycellium Might.
- 21347 Fixed Toxic Debris not ignoring Mold Breaker.
- 21347 Fixed Toxic Debris not placing a correct layer of Toxic Spikes on opponents when hit by an ally.
- 21347 Fixed hazards not applying additional layers correctly in Doubles.
- 21073Fixed 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
andPokemonStorage#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
andPlayerPartyStorage#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
.
- Changed to a getter
- Added
StorageType
registry and changedClientStorageManager#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 aResourceLocation
representing the key of the type in the registry.
- Refactored the
ClientInitializePCPacket
toClientInitializeStoragePacket
.- This is inline with the above mentioned changed for
StorageType
allowing us to initialize any storage from the server to the client's cache.
- This is inline with the above mentioned changed for
- Added
PokemonStorage#initialize
.- This sends the above packet, and means you don't have to make messy
NetworkHelper
calls anywhere anymore.
- This sends the above packet, and means you don't have to make messy
- Removed
StorageProxy#initializePCForPlayer
andStorageManager#initializePCForPlayer
.- Both of the above have been replaced with the
PokemonStorage#initialize
method and are abstract from PCs specifically.
- Both of the above have been replaced with the
- 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
.
- It appears this was initially intended as a refactor for
- 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.
- This only makes sense on the
- Added
StorageProxy#invalidateCache
andStorageManager#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.
- This is useful if you wish to:
- Added
PokemonStorage#track
,PokemonStorage#untrack
,PokemonStorage#isTracking
, andPokemonStorage#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.
"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.
Rework:
- Combined all Pixelmon NPCs into a single entity,
pixelmon:npc
.- This combined entity now has all capabilities of the former NPCs.
- The popular sidemod "tedit"'s functionality is now incliuded in all unified NPC entities.
- NPCs can now be made to be immovable.
- Immovable NPCs cannot ride other entities such as boats, minecarts, etc.
- Fishing rods will not affect immovable NPCs.
- Minecraft's teleport command will not affect immovable NPCs.
- NPCs can now be children models.
- NPCs can have custom sized hitboxes.
- NPCs can have their nameplate visibility toggled.
- Right-clicking a bed while crouching will result in the NPC (whether player model or Pixelmon model) to be placed laying down on the bed.
- The NPC Editor has been reworked to work with the new NPC system.
- Old NPCs are no longer be created using the NPC Editor wand.
- The NPC Editor now has additional functionality:
- You can quickly delete NPCs by shifting whilst right-clicking the NPC with the NPC Edidor wand.
- You can now left-click blocks to open the 'Admin NPC Editor'.
- Added a new NPC editor mode, the 'Admin NPC Editor' mode.
- Only NPCs created by the admin wand will show in the new NPC tracking UI.
- Added API functionality to extend this tracking to sidemods.
- Added different NPC "display types":
- Pokémon
- Player
- The names "Rasgnarok" and "Isi" will result in the NPC being rendered upside down.
- Added URL capability for displaying textures on NPCs:
- URL
- Player URL
- Resource Location (with fallback)
- Added NPC "interaction pipeline":
- (1) Interaction Event
- (2) Interaction Condition
- (3) Interaction Result
Additions:
- A Recipe Book has been added to the Infuser, allowing players to look up what can be crafted in it.
- Added dancing sprites to the server list title.
Pokémon:
- Added Cetoddle.
- Added Cetitan.
- Added Fidough.
- Added Dachsbun.
- Added Flamigo.
Cosmetic Palettes:
- Added 'Rainbow' Flamigo.
Sounds:
- Added new Pokémon cries: Cetoddle, Dachsbun, Fidough, Chien-Pao, Houndstone, Veluza, Charcadet, Flamigo, Drakloak, Flutter Mane, Scream Tail, Tinkatink, Tinkaton, Tinkatuff, Ting-Lu and Roaring Moon.
- Updated Machamp cry.
Structures:
- Updated all structure Pokéloot to use the config claim settings.
- Added the Electric Gym Town to the Savanna Plateau and Shattered Savanna biomes.
- Added Electric Gym structure.
- Added Electric Town structures: Berry Farm A and B, Blacksmith, Church, Clutter A-F, Day Care, Farm A and B, House A-E, Poke Center, Poke Mart, Road A-D, Town Center A and B and TCG Shop.
- Added Electric Gym Trainers to Electric Gym structure: Elite A-F, Grunt A-I and Gym Leader A-F.
- Added the Dragon Gym Town to all Spruce biomes.
- Added Dragon Gym structure.
- Added Dragon Town structures: Berry Farm A and B, Blacksmith, Church, Clutter A-F, Day Care, Farm A and B, House A-E, Poke Center, Poke Mart, Road A-D, Town Center A and B and TCG Shop.
- Added Dragon Gym Trainers to Dragon Gym structure: Elite A-F, Grunt A-I and Gym Leader A-F.
- Updated Battle Arena structure layout to improve loot balance.
- Moved the Water Gym Town from all Oceans to only Deep Ocean.
- Moved the Steel Gym Town from all Savannas to only Savanna.
Moves, Items and Abilities:
- Added rarities to all Pixelmon items.
- Added the tide smithing template to underwater ruins to replace its loot from Elder Guardians, which get spawn replaced by Overqwil.
- 21322 Added missing Z-Moves and status Z-Effects for 42 moves.
- 19366 Added smelting recipes so that Iron Hammers and Gold Hammers can be smelted into Iron Nuggets and Gold Nuggets, respectively.
- Added Alluring Voice move.
- Added Blood Moon move.
- Added Burning Bulwark move.
- Added Dragon Cheer move.
- Added Electro Shot move.
- Added Fickle Beam move.
- Added Hard Press move.
- Added Malignant Chain move.
- Added Matcha Gotcha move.
- Added Mighty Cleave move.
- Added Psychic Noise move.
- Added Supercell Slam move.
- Added Syrup Bomb move.
- Added Tachyon Cutter move.
- Added Temper Flare move.
- Added Thunderclap move.
- Added Upper Hand move.
Click to view all tests
- Added tests for Damp ability. - Added tests for Dancer ability. - Added tests for Dazzling ability. - Added tests for Struggle move.
Spawning:
- Added Fidough to the Plains category during the Morning.
- Added Dachsbun to the Plains category during the Morning.
- Added Cetoddle to Frozen Ocean, Snowy Beach, Shattered Glacier (BYG), Snowy Black Beach (BYG), Snowy Rocky Black Beach (BYG) during Day.
- Added Cetitan to Frozen Ocean, Snowy Beach, Shattered Glacier (BYG), Snowy Black Beach (BYG), Snowy Rocky Black Beach (BYG) during Day. Added chance to spawn with group of Cetoddle.
- Added Flamigo to Swamps during the Day on Land and in the Air. Added chance to spawn with a group of other Flamigo.
Datapack:
- Added 'moves' 'attack' and 'attacks' as aliases to the move requirement of a Poke Spec.
- Boss specs can now be used in the spawning files.
- Added the
_pokebag_blacklist_
tag located atdata/pixelmon/tags/items/pokebag_blacklist.json
. - Added URL support to palette textures.
► Click to view example of palette texture URL
{ "name": "none", "sprite": "pixelmon:pokemon/001_bulbasaur/all/base/none/sprite.png", "models": [ { "model_predicate": { "type": "pixelmon:always" }, "models": [ { "model": "pixelmon:pokemon/001_bulbasaur/all/base/none/model.pqc", "texture": { "type": "pixelmon:url", "url": "YOUR URL HERE", "target_location": "pixelmon:pokemon_models/001_bulbasaur/all/base/none/texture.png" } } ] } ], "sounds": [] }
Changes:
- Added a short beacon-style beam coming out of all dropped items, the color of it being based on the item's rarity.
- Added a Pokéball shadow underneath dropped items, the Pokéball icon being based on the item's rarity.
- 21249 The PokéBag will now be able to hold any item that is not defined in the pokebag_blacklist tag, which is located at
data/pixelmon/tags/items/pokebag_blacklist.json
. - Reduced the speed at which Pokémon ascend and descend while riding them underwater by a third.
- 21370 Changed what Pokémon can be used in Sky Battles to a tag-based system.
- Any Pokémon with the
"eligible_for_sky_battles",
in their species json file can join a Sky Battle. - Any Pokémon with the
"eligible_for_sky_battles_with_levitate",
in their species json file can join a Sky Battle if they have the Levitate ability. - Made certain Gen 7, 8, and 9 Pokémon capable of participating in Sky Battles.
- Any Pokémon with the
- Changed the move requirement to always look for the exact word.
- Change the type requirement to only fit if a word starts with 'type' and doesn't have it inside the word.
- 21084 Changed special animations to play at the end of an idle sequence, and no longer require them to be a part of the idle sequence.
- Reduced the movement speed of aggressive Pokemon to 125% of their base movement speed.
- 19971 Lowered the height of Hisuian Typhlosion's hitbox.
- Changed the id for aluminum_base to aluminium_base to match our other items.
- Removed old anvil textures for Poké Balls.
- Charms are no longer visible if the player has the Invisibility potion effect.
- Poke Balls will now determine if they will catch a Pokemon before the Poke Ball lands.
- Make the camera only follow the Poke Ball if its not in the void and not doing its rolling animation on an air block.
- Replaced the Fiery Dance attack with Torch Song in the Revenant ability's pool of Fire type moves.
- 20269 Set the render distance of PokeStops to the render distance of the game.
- Changed all Pokéloot to match config settings by default, including structure-generated Pokéloot.
- Changed Pokéloot to now spawn break particles.
- Changed Pokéstops to use the render distance of the game.
- Removed the ugly, and often erroneous Forge ping information from the server list.
- Reduced Transistor ability to Generation 9's strength.
- BREAKING CHANGE: Changed the
isboss
andareyouaboss
spec to only check if the Pokemon is specifically a boss Pokémon. - 16777 Prevented Hoppers dumping too many items into the Cooking Pot.
- Changed the
/wiki
command to specify that the biome for Pokémon that spawn everywhere, underground, is underground. - Changed the Poké Display to include all battle forms of Pokémon it stores.
- Changed recipe book registration to be later on startup so that Pixelmon items can be registered.
Optimization:
- Improved SMD rendering:
- Reduced the casting of the VertexConsumer interface (a very heavy operation) to once per model rather than three times per face (or once per vertex).
- Removed isEmpty check for a cached boolean.
- Improved game memory profile:
- Reduced some duplicate Strings caused by repeatedly creating a default value for every entity rather than using a constant.
- Reduced amount of garbage created (and so GC calls) by caching the hashCode for the ModelData class.
- Reduced the overhead of a lot of the SMD classes (although not by much) by changing places where List was used rather than a direct array.
Config:
- Added a config option
droppped-item-beams-enabled
to disable the dropped item beam ingraphics.yml
.
Fixes:
- 21215 Fixed Pokémon with the
'walksonwater'
property immediately dismounting the player if the player attempted to ride them on water. - Fixed the player being dismounted if they tried to take a Pokemon capable of surfing and ride it underwater.
- 21276 Fixed diamonds, enchanted golden apples, and netherite upgrade smithing templates being missing from the bastion treasure loot table.
- 21357 Fixed a species of Pokémon not appearing in the Pokédex due to one form of a species being labeled as
'undexable'
. - Fixed the PP Up and PP Max missing from the PokéMart's potential sell items for certain languages.
- Fixed Smelt not auto-smelting a certain number of items based on the move Smelt is known from.
- Fixed Foraging ignoring an item's biome conditions.
- 21236 the
/pokebattle
command not providing tab completion for nearby NPC Trainers. - Fixed PP Ups and PP Maxs not increasing the PP past 160% of its base PP when a move is set to have a higher max PP than default.
- Fix Staryu, Shellder, Vaporeon, Marill, and Azumarill occasionally not being able to spawn due to their file using 'baseBlocks' instead of 'baseBlock'.
- 21062 Fix Pokémon with their spawning location type set to 'Air' spawning underground instead of in the air.
- Fixed the trim smithing templates being missing from our loot tables.
- Fix Pokémon being able to access Galarian forms in the Poké Display if the form sent into the Poké Display was not a Galarian form.
- 16064 Fixed the Therian forms not using their flying animation as their walk animation.
- 16113 Fixed the previous and next arrow buttons not appearing in the summary page for Pokémon when the Pokémon was stored in the PC.
- Fixed the Clauses list and the Selected Clauses list not showing any battle clauses on the Battle Rules screen.
- Fixed the Infuser not displaying progress towards the next crafted item.
- 18778 Fixed Poké Balls failing to catch Pokémon if they fell into the void.
- 21507 Fixed an error in console that occurred when the move requirement of a Poke Spec failed.
- Fixed Pokemon not transforming via Illusion, Transform, or Imposter.
- Fixed a server crash that could occur if a player being targeted by a Pokemon switched from survival to creative.
- 21551 Fixed Pokemon moving really slowly.
- 17660 Fixed Pixelmon Paintings being rendered black if a block was placed above its left half.
- Fixed Mirror Herb not being obtainable in forest biomes.
- Fixed Max Mushrooms not spawning in the Mushroom Fields biome.
- Fixed the external move Rock Smash not being able to break any blocks that fit in the Forge category of stone, cobblestone, sandstone, ore, or end stone.
- Fixed the external move Rock Smash considering all blocks as underground.
- 20002 Fixed the external move Rock Smash never dropping the destroyed block.
- Fixed placing Clocks facing the player instead of attaching to the surface of the clicked block.
- 20262 Fixed players being unable to give their Battle Bond form Greninja the Zombie palette.
- Fixed the interaction changing a Pokemon to the Zombie palette working during the day.
- 19959 Fixed commands that accept a player as an argument to return 'Player Not Found' when a player doesn't exist, instead of returning with the argument changed to the user of the command.
- Fixed a big error appearing in the console/logs when using "/tiershow [tier]".
- Fixed "/tiershow" not ignoring the letter case of the given tier.
- Fixed a server crash occurring when a player's leading Pokemon in their party held a Cleanse Tag and prevented the server from spawning a Pokemon.
- Fixed PokeStops not spawning break particles.
- Fixed PokeStop break particles being only grey colored instead of the PokeStop's color.
- Fixed the recoil evolution condition requiring more than the required HP damage, and not the exact amount, affecting Basculin and Basculegion.
- Fixed Sinistea and Polteageist having their forms named incorrectly in Pixelmon forms.
- Fixed the Pokémon class not being able to be used for evolving, no longer requiring the entity, fixing issues where entities disappear mid-evolution.
- Fixed
canSeeSky
ignoringseesSkyException
blocks. - 21129 Fixed custom evolution trees not working properly by fixing datapack load order and spec validation.
- Fixed non-base Pokéballs causing a crash when failing a raid catch.
- Fixed EV-boosting items and Pokérus not boosting EV gain.
- Fixed crashes caused by loading models without animations by adding a blank transformation per bone.
- Fixed error messages displaying for animation-less models not describing what model is causing the issue.
- Fixed
RequestCloseEditingPlayerPacket
accessing the logical client from the server. - Fixed
/pokestats
accessing the logical client from the server. - Fixed the default server's list 1.20 URL.
- 21565 Fixed a crash caused by
/pokebomb
. - 20502 Fixed client crashes caused by models or textures no longer being present after a resource reload (from switching resourcepacks) and a host of 'missing textures' being displayed incorrectly.
- 21577 Fixed abilities remaining unchanged after evolution until Pokémon refreshed.
- 6106 Fixed an error caused by a Move Spec move requirement failing.
- Fixed the recipe book erroneously calling client classes from server setup.
- 21511 Fixed wrong entries appearing in the server listing after a direct connection entry.
- 21438 Fixed servers not being addable to the server list.
- Fixed servers not being editable in the server list.
- 21421 Fixed a server crash caused by wrongful imports.
- Fixed Pokémon that are being ridden in flight to stop flying when mega-evolving in battle despite the mega-evolution being capable of flight.
- Fixed Politoed's base texture having the wrong colour of antennae.
- Fixed the hotbar not appearing on a player's screen after taking a photo of a Pokémon.
Battles:
- Fixed G-Max Gold Rush and Pay Day displaying 'literal{}' for the player receiving the money at the end of a battle.
- Fixed Pokémon flying in the air during a battle from falling out of the sky when they tried to Mega Evolve.
- Fix moves requiring a Z-Crystal of a type different than the type of a move.
- Removed the ability to turn Struggle into a Z-Move.
- Fixed erratic battle camera movement by preventing the camera from updating its position if it has been set to be removed.
- Fixed Pokémon not transforming via Illusion, Transform, or Imposter.
- Fixed transformed Pokémon not displaying species-unique particles.
- Pokémon Transforming can now transform into the correct gender, instead of always being male.
- 18778 Fixed an occurrence of the waiting glitch if a Poké Ball fell into the void during a battle.
- Fixed the MissingNo sprite being displayed for Alter palette Mega Rayquaza instead of the default Mega Rayquaza sprite.
- Fixed zooming in and out with the battle camera not working.
- Fixed the mouse scroll wheel not zooming in and out of battle.
- Fixed Ice Face not repairing in Snow.
- Fixed Ice Face repairing when sent out at the same time weather is removed.
- Fixed Wandering Spirit being able to trigger off of non-max moves from raid Pokémon.
- Fixed Truant to block move if gained via a Mega-Pokémon's ability the turn it mega-evolves.
- Fixed Ruination not doing minimum 1 damage.
- Fixed Power Construct getting the wrong HP if below the normal maximum HP.
- Fixed Hydro Steam ignoring Desolate Land.
- Fixed Booster Energy restoring higher leveled stats in a LevelCap battle.
- 21361 Fixed Trick deleting held items when known by higher level AI trainers.
- Fixed Defiant triggering from allies' moves.
- Fixed Solar Beam power getting halved in strong wind.
- Fixed missing battle messages when a Terrain Seed is consumed.
- Fixed Room Service not activating when the holder didn't use Trick Room.
- Fixed Life Orb doing recoil damage for each damaged Pokémon in a spread move.
- 21193 Fixed battle music not playing at all when you enter a battle.
- 18237 Fixed battle music overlapping if you quickly enter and leave battles.
Translation:
- Updated Traditional Chinese translation.
Developer:
- The Transform packet now uses entity UUIDs. It also no longer includes data for particles and instead includes data for gender.
- Added new tests to make sure the spec requirements for ability, ball, cancrowned, generation, growth, nature, nickname, pokerus, and status all work.
- Split a variable that handled cancelling the evolution and closing the Evolve Screen into two separate variables so that they can be done independently.
- To align with moving to use the Pokemon class this deprecates:
Evolution#doEvolution(PixelmonEntity, String)
in favor ofEvolution#doEvolution(Pokemon, String)
Evolution#finishedEvolving(PixelmonEntity)
in favor ofEvolution#finishedEvolving(Pokemon)
EvolutionQuery(PixelmonEntity, Evolution, String)
in favor ofEvolutionQuery(Pokemon, Evolution, String)
EvolutionQuery(PixelmonEntity, Stats)
in favor ofEvolutionQuery(Pokemon, Stats)
EvoCondition#passes(PixelmonEntity)
in favor ofEvoCondition#passes#(Pokemon)
- Delay the spec validation until after the datapack files are loaded via Pixelmon.
- This means the spec error will likely appear when you attempt to evolve the custom Pokemon, or run commands such as the wiki command.
- This is likely the only way to do this as we cannot guarantee load order and with the new spec validation system the Pokemon has to exist for the species requirement, therefore we must delay the "get" call.
- Added the ability to set and get the random seed used by battles.
- Added BattleRandomSource, an implementation of RandomSource which is supplied with another RandomSource implementation to use for battles.
- Allows setting of seed used in a given battle, and retrieval of the seed used by a battle, including if randomly determined.
- Added and changed a number of the random methods to be named better.
- BREAKING CHANGE: Battles no longer use RandomHelper, except in cases where the BattleController isn't available yet, or cases of client-side only use.
- BREAKING CHANGE:
TickHandlerBase#onTick
now returns a boolean value for whether the tick handler should be removed or not, changing from returning void. - Added improved BattleEndCause API.
- This allows for more specific/precise reasoning for when a battle is ended. Therefore, letting sidemod developers have a deeper level of control over what to do for different scenarios.
- Added registry
PixelmonRegistry#battleEndCause
.
► Click to view example of custom battle end
@Mod.EventBusSubscriber(modid = Pixelmon.MODID, bus = Mod.EventBusSubscriber.Bus.MOD) public class NewBattleCauses {@SubscribeEvent public static void onRegister(RegisterEvent event) { event.register(PixelmonRegistry.BATTLE_END_CAUSE_REGISTRY, helper -> { helper.register(BattleEndCause.FORFEIT.id(), BattleEndCause.FORFEIT); }); }
}
► Click to view example of custom requirement
PokemonSpecificationProxy.register(PokemonSpecificationProxy.requirementBuilder(Boolean.class) .aliases("isboss", "areyouaboss") .booleanParser() .dataMatcher((pokemon, aBoolean) -> false) .dataApplier((pokemon, aBoolean) -> {}) .minecraftMatcher((pixelmonEntity, isBoss) -> pixelmonEntity.isBossPokemon()) .minecraftApplier((pixelmonEntity, isBoss) -> pixelmonEntity.setBossTier(isBoss ? BossTierRegistry.getRandomBossTier() : BossTierRegistry.NOT_BOSS)) .build());
"Bark Bark Bark"
- 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 Flamigo.
- Added Cetoddle.
- Added Cetitan.
- Added Fidough.
- Added Dachsbun.
Sounds:
- Added new Pokémon cries: Cetoddle, Dachsbun, Fidough, Chien-Pao, Houndstone, Veluza, Charcadet, Flamigo, Drakloak, Flutter Mane, Scream Tail, Tinkatink, Tinkaton, Tinkatuff, Ting-Lu and Roaring Moon.
- Updated Machamp cry.
Structures:
- Added the Electric Gym Town to the Savanna Plateau and Shattered Savanna biomes.
- Added Electric Gym structure.
- Added Electric Town structures: Berry Farm A and B, Blacksmith, Church, Clutter A-F, Day Care, Farm A and B, House A-E, Poke Center, Poke Mart, Road A-D, Town Center A and B and TCG Shop.
- Added Electric Gym Trainers to Electric Gym structure: Elite A-F, Grunt A-I and Gym Leader A-F.
- Added the Dragon Gym Town to all Spruce biomes.
- Added Dragon Gym structure.
- Added Dragon Town structures: Berry Farm A and B, Blacksmith, Church, Clutter A-F, Day Care, Farm A and B, House A-E, Poke Center, Poke Mart, Road A-D, Town Center A and B and TCG Shop.
- Added Dragon Gym Trainers to Dragon Gym structure: Elite A-F, Grunt A-I and Gym Leader A-F.
- Updated Battle Arena structure layout to improve loot balance.
- Moved the Water Gym Town from all Oceans to only Deep Ocean.
- Moved the Steel Gym Town from all Savannas to only Savanna.
Spawning:
- Added Fidough to the Plains category during the Morning.
- Added Dachsbun to the Plains category during the Morning.
- Added Cetoddle to Frozen Ocean, Snowy Beach, Shattered Glacier (BYG), Snowy Black Beach (BYG), Snowy Rocky Black Beach (BYG) during Day.
- Added Cetitan to Frozen Ocean, Snowy Beach, Shattered Glacier (BYG), Snowy Black Beach (BYG), Snowy Rocky Black Beach (BYG) during Day. Added chance to spawn with group of Cetoddle.
- Added Flamigo to Swamps during the Day on Land and in the Air. Added chance to spawn with a group of other Flamigo.
Changes:
- Changed the way attack animations are stored to be per battle:
- This change should improve the speed of battle ticking on servers, as we no longer have to search through all current attack animations to find those related to the current battle.
- This change should also improve the memory footprint of attack animations as they no longer need to store a backwards reference to the battle controller.
- Changed battle ticking to be only done once per tick rather than once per level:
- This will reduce the impact battles have on server performance.
- This will reduce the likelihood of rare concurrency related issues.
Fixes:
- 20502 Fixed client crashes caused by models or textures no longer being present after a resource reload from players switching servers, or resourcepacks, displaying 'missing texture' incorrectly.
- 21296 Fixed Kingambit failing to drop Silver Ingots due to a typo.
- Fixed Legendary spawn time randomization to modify the period by 40 percent instead of by frequency.
- 21215 Fixed Pokémon that have the 'walksonwater' property dismounting their passenger when they touch water, such as Suicune.
- 21565 Fixed crashes caused by parent species changing, such as a crashing after using
/pokebomb
. - Fixed wrong antennae color for regular Politoed.
- 21325 Fixed Gym Signs failing to drop the item they had stored.
- Fixed missing shiny palette for Mega-Gallade.
- 21419 Fixed underground Pokémon spawning in the Nether, overtaking natural Nether spawns.
- Fixed the Pokémon Editor wand failing to properly update ability slots when updating abilities of party Pokémon.
- Fixed RequestCloseEditingPlayerPacket accessing the logical client from the server.
- Fixed
/pokestats
accessing the logical client from the server.
Battles:
- 18778 Fixed a waiting bug caused by Pokéballs from the Bag falling into the void, failing the catch.
- Fixed a waiting bug caused by Pokéballs falling far, failing the catch.
- 21383 Fixed a waiting bug caused by fainting immediately after a mega-evolution animation mid-battle, allowing the opponent to move twice.
- 21213 Fixed switch moves not doing any damage when used.
- 21349 Fixed Nuzzle, Bolt-Strike, Mortal Spin, Bide, Triple Kick, Gear Grind, Hold Back, Plasma Fists, False Surrender, Double Shock and Comeuppance not being considered as contact moves.
- Fixed Pokémon immediately attacking after their switch.
- 21166 Fixed Overdrive failing to trigger Throat Spray.
- 21360 Fixed leap move animations used by flying Pokémon causing server crashes.
- Fixed Foul Play causing a rare server crash.
- Fixed Opportunist crashing against AI with StatsEffect moves.
- Fixed Wandering Spirit swapping when dynamaxed.
- Fixed Wind Rider activating on Sandstorm.
- Fixed Wind Rider preventing Tailwind's effect in double battles.
- Fixed Cursed Body not disabling behind a Substitute.
- Fixed Berserk not triggering if the final hit of a move didn't cross half HP.
- Fixed Instruct not advancing turn timers for sleep and Truant.
- Fixed Instruct always working despite sleep status.
- Fixed Truant not blocking sleep.
- Fixed Truant not loafing if gained after a mega-evolution.
- Fixed Symbiosis moving items to Pokémon switching out.
- Fixed Unaware not ignoring accuracy stages.
- Fixed Foresight removing target's negative evasion stages.
- Fixed Thick Fat reducing overall damage instead of the attacking stat.
- Fixed start of battle effects not triggering unless starting in battle.
- Fixed Trace to treat all ComingSoon abilities as null abilities.
- Fixed crash issue with virtual battles via NPCs.
- Fixed some Z-moves requiring the incorrectly typed Z-crystal, such as Captivate.
- 21432 Fixed berries and healing items failing to work on Drowsy and Frostbite.
- Fixed erratic battle camera movement by preventing the camera from updating its position if it has been set to be removed.
- Fixed Water Spout ignoring Desolate Land's prevention of water attacks.
- Fixed Eruption ignoring Primordial Sea's prevention of fire attacks.
- Fixed Hydro Steam ignoring Desolate Land's prevention of water attacks.
- Fixed Protosynthesis activating in Desolate Land's sun.
- Fixed Life Orb applying recoil for each target damaged by a spread move.
- 21376 Fixed Booster Energy activation restoring pre-level-cap stat points.
- 21361 Fixed Trick-based moves remove the held items without being used.
Developer:
- Added an unbreedable check for Day Care parents server-side, preventing client-side exploits.
- PlayerParticipant and TrainerParticipant now correctly post
SpawnPixelmonEntityForBattleEvent.Pre
andSpawnPixelmonEntityForBattleEvent.Post
when switching Pokémon in battle. - TickHandlerBase#onTick now returns a boolean value for whether the tick handler should be removed or not, changing from returning void.
"1.20.2 (Alpha 6)"
- 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 a new palette format to all palette-driven data.
- Adds the
partyFaintRespawn
gamerule (disabled by default, and can be edited from the World Creation singleplayer screen):- When this is enabled players will be teleported back to their last respawn point when they have 0 battle capable pokemon remaining in their party.
- If
keepInventory
gamerule is disabled the player will drop the items in their inventory. - This will not apply for players in creative.
- This will not apply for players with a temporary mode party.
- Added a button to the Discord Rich Presence allowing people to join the Pixelmon Discord.
- Added support for servers to add a button to a link of their choosing in the rich presence under
config.yml
:server-discord
,discord-invite
andserver-name
, defaulting to blank - if the invite is invalid, the button will not show. - Added the Pumkin, Drash, Eggant, Strib, Nutpea, Ginema, Kuo, Yago, Touga, Niniku, and Topo berries to the creative menu.
- Added bone mode debug
[F3+']
, showing both bones on Pokémon models and their name. - Added sphere model for bone display.
- Added
elf
palette option to Christmas ball logic! - Adds tags for pulse, bite, bullet, dance, explosive, powder, punch, slicing, and wind moves.
Pokémon:
- Added Flutter Mane.
- Added Capsakid.
- Added Scovillain.
- Added Flittle.
- Added Espathra.
Cosmetic Palettes:
- Added 'Christmas' Pichu.
- Added 'Elf' Pichu.
- Added 'Christmas' Pikachu.
- Added 'Elf' Pikachu.
- Added 'Christmas' Raichu.
- Added 'Elf' Raichu.
- Added 'Christmas' Dratini.
- Added 'Elf' Dratini.
- Added 'Christmas' Dragonair.
- Added 'Elf' Dragonair.
- Added 'Christmas' Dragonite.
- Added 'Elf' Dragonite.
- Added 'Christmas' Munchlax.
- Added 'Elf' Munchlax.
- Added 'Christmas' Snorlax.
- Added 'Elf' Snorlax.
- Added 'Christmas' Pawmi.
- Added 'Elf' Pawmi.
- Added 'Christmas' Pawmo.
- Added 'Elf' Pawmo.
- Added 'Christmas' Pawmot.
- Added 'Elf' Pawmot.
- Added 'Christmas' Iron Leaves.
- Added 'Elf' Iron Leaves.
- Added 'Christmas' Slitherwing.
- Added 'Elf' Slitherwing.
- Added 'Christmas' Mew.
- Added 'Elf' Mew.
Structures:
- Added Water Town in Oceans, our most involved town yet!
- Added Water Gym structure.
- Added Water Town structures: Gym, Town Center, PokeCenter, PokeMart, Blacksmith, Church, Lighthouse A and B, House A-D, Kelp Farm a and B, Pier A-G, Fallback A-E, Deco A-H, Clutter A-T and Buoy A-C.
- Added Water Gym Trainers to Water Gym structure: Elite A-F, Grunt A-I and Gym Leader A-F.
- Added Swift Boat in Oceans.
- Added Yacht Boat in Oceans.
- Updated Fishing Boat, Magikarp Boat, Sail Boat and Submarine in Oceans.
- Updated land Arc Chalice structure in Extreme Hills.
- Updated Pumpkin House rarity for rarer, less common spawns.
Moves, Items and Abilities:
► Click to view all tests
- Added tests for Damp ability. - Added tests for Dancer ability. - Added tests for Dazzling ability. - Added tests for Delta Stream ability. - Added tests for Disguise ability. - Added tests for Zen Mode ability. - Added tests for Wind Rider ability. - Added tests for Wonder Guard ability. - Added tests for Wandering Spirit ability. - Added tests for Victory Star ability. - Added tests for Aftermath ability. - Added tests for Anger Point ability. - Added tests for Arena Trap ability. - Added tests for Battle Armor ability. - Added tests for Berserk ability. - Added tests for Cheek Pouch ability. - Added tests for Clear Body ability. - Added tests for Cloud Nine ability. - Added tests for Color Change ability. - Added tests for Comatose ability. - Added tests for Contrary ability. - Added tests for Cursed Body ability. - Added tests for Magic Guard ability. - Added tests for Magician ability. - Added tests for Intimidate ability. - Added tests for Shields Down ability. - Added tests for Simple ability. - Added tests for Slow Start ability. - Added tests for Contrary ability and Z-moves. - Added tests for Intrepid Sword ability. - Added tests for Liquid Ooze ability. - Added tests for Magic Bounce ability. - Added tests for Lightning Rod ability. - Added tests for Desolate Land ability. - Added tests for Dry Skin ability. - Added tests for Emergency Exit ability. - Added tests for Flash Fire ability. - Added tests for Frisk ability. - Added tests for Gluttony ability. - Added tests for Guard Dog ability. - Added tests for Immunity ability. - Added tests for Neutralizing Gas ability. - Added tests for Storm Drain ability. - Added tests for Sturdy ability. - Added tests for Suction Cups ability. - Added tests for Sturdy ability. - Added tests for Sword of Ruin ability. - Added tests for Synchronize ability. - Added tests for ScreenCleaner ability. - Added tests for SapSipper ability. - Added tests for Aromatherapy ability. - Added tests for HealBell ability. - Added tests for MagnetPull ability. - Added tests for Moxie ability. - Added tests for MultiScale ability. - Added tests for Mummy ability. - Added tests for Natural Cure ability. - Added tests for Own Tempo ability. - Added tests for Pastel Veil ability. - Added tests for Pick Pocket ability. - Added tests for Prankster ability. - Added tests for Primordeal Sea ability. - Added tests for Protosynthesis ability. - Added tests for Ripen ability. - Added tests for Rock Head ability. - Added tests for Rough Skin ability. - Added tests for SheerForce ability. - Added tests for SereneGrace ability. - Added tests for ShieldDust ability. - Added tests for PoisonTouch ability. - Added tests for ShellArmor ability. - Added tests for ShadowTag ability. - Added tests for Opportunist ability. - Added tests for Glaive Rush move. - Added tests for U-Turn move. - Added tests for Acupressure move. - Added tests for After You move. - Added tests for Assurance move. - Added tests for Aura Wheel move. - Added tests for Baton Pass move. - Added tests for Belch move. - Added tests for Bide move. - Added tests for Boomburst move. - Added tests for Brick Break move. - Added tests for Sky Drop move. - Added tests for Follow Me move. - Added tests for Weakness Policy held item. - Added tests for White Herb held item. - Added tests for Sitrus Berry held item. - Added tests for Shell Bell held item. - Added tests for Shed Shell held item.
Spawning:
- Added Flutter Mane to Small End Islands
- Added Capsakid to Arid and Mesas during the Day. Added chance to spawn with a group of Capsakid.
- Added Scovillain to Arid and Mesas during the Day.
- Added Flittle to Savannas and Arid during the Day. Added chance to spawn with a group of Flittle.
- Added Espathra to Savannas and Arid during Day.
- Added Taiga, Old Growth Pine Taiga, and Old Growth Spruce Taiga to all forest spawning biome types.
Datapack:
- Updated PCs to only drop when mined with a Silk Touch pickaxe.
- Added a new palette format to all palette-driven data. Datapacks prior to 9.2.6 will fail to load as a result of the new formatting and optimizations. To convert your datapack, please use our converter.
- Added & implemented the "infinite" model locator officially retiring "DUAL_MODEL", "DUAL_MODEL_TEX" (etc) model factories.
► Example of Missing No's new palette format
"palettes": [ { "name": "none", "sprite": "pixelmon:pokemon/000_missingno/all/base/none/sprite.png", "models": [ { "model_predicate": { "type": "pixelmon:always" }, "models": [ { "model": "pixelmon:pokemon/000_missingno/all/base/none/model.pqc", "texture": "pixelmon:pokemon/000_missingno/all/base/none/texture.png" } ] } ]
- Added scaling to model data so we can scale individual attachments on palettes (and also preparation for removal of PQC).
► Example of attachment scaling
"model": { "model": "pixelmon:hat/hat.pqc", "texture": "pixelmon:hat/texture.png", "scale": 0.9, "offsets": [ 0.0, 0.8, 0.8 ] }
- Added axis-based scaling for all dimensions along X, Y and Z (example,
"scale": [2.0, 1.0, 1.0]
).
► Example of axis-based scaling
"model": { "model": "pixelmon:hat/hat.pqc", "texture": "pixelmon:hat/texture.png", "scale": [2.0, 1.0, 1.0], "offsets": [ 0.0, 0.8, 0.8 ] }
- Added support for attaching models to other models via bone anchor points. For an in-use example, see the 'Elf' and 'Christmas' palettes.
► Example of anchor points
"models": [ { "model_predicate": { "type": "pixelmon:always" }, "models": [ { "model": "pixelmon:pokemon/172_pichu/all/base/none/model.pqc", "texture": "pixelmon:pokemon/172_pichu/all/base/none/texture.png", "attachments": [ { "attachment_point": "Hat", "model": { "model": "pixelmon:hat/hat.pqc", "texture": "pixelmon:hat/texture.png", "scale": 0.9, "offsets": [ 0.0, 0.8, 0.8 ] } } ] } ]
- Added
christmas
andelf
palettes with Christmas Hat attachment. - Added support for palettes to use the Minecraft particle system - palette particles can now utilize vanilla particles.
► Example of particle usage
"particle": { "probability": 0.1, "options": { "type": "pixelmon:shiny", "diameter": 2.5, "lifetime": 30, "tint": { "red": 255, "green": 215, "blue": 0, "alpha": 255 } } }
Changes:
- Updated Water as a viable block for Pokémon to spawn of for water spawns.
- Updated boss drops to support Forge-style NBT entries.
- Updated Shrine Orbs craft into themselves with max damage (or 0 KO charges).
- Updated Shrine Orbs unrepairable so that they might not be combined into an anvil.
- Optimized rendering by removing some redundant Matrix multiplication.
- Updated Miraidon sprite.
- Updated Walking Wake sprite.
- Updated Lechonk model and animations.
- Updated Swalot and Gulpin model and animations.
- Updated Kilowattrel to now drop a Swift Feather instead of a Swift Wing.
- Updated Gholdengo to drop a Relic Silver instead of two Relic Gold.
- 20997 Updated Silicon to use the
ingot
tag. - 20997 Updated all metal ingots to use the
ingot
tag. - 20997 Updated aluminium and aluminium ore tags to Bauxite.
- Removed the Pixelmon Anvil, as it is no longer required to craft Poké Balls.
- Updated all instances of the Pixelmon Anvil to Minecraft's Anvil.
- Updated all Pixelmon blocks to include a Minecraft map block color.
- Updated lang to combine
pixelmon.interaction.abilitycapsule
andpixelmon.interaction.abilitypatch
intopixelmon.interaction.abilityitem
. - 5489 Updated Ability Patches to change Pokémon with their Hidden Ability to their first Ability.
- 19808 Updated speed calculations to Generation 7+, which recalculates speed at every turn, reworking in turn Pursuit and switching mechanics.
Config:
- Added
itemconfig.yml
. - Moved
multiplePhotosOfSamePokemon
,allowAmuletCoin
, andamuletCoinMultiplier
toitemconfig.yml
. - Added
bottleCapLevel
toitemconfig.yml
, which defaults to 50. - Updated
minimum-distance-between-spawns
config setting to 5 blocks, down from 15 blocks . - Updated
minimum-distance-from-centre
config setting to 5 blocks, down from 18 blocks. - Updated
maximum-distance-from-centre
config setting to 30 blocks, down from 64 blocks. - Updated spawn-replacements in and around villages to be lower leveled species.
- Updated the village Golurk Iron Golem spawn replacement to be uncatchable.
Fixes:
- Fixed the normal map breaking with attachments and only using the attachment texture.
- Fixed the com.google package not being correctly relocated causing load errors.
- Fixed the direct connect screen being broken by the recent changes to the server list.
- Fixed Pokemon continually trying to chase and fight the player after a battle.
- 21209 Fixed a server crash from a fishing bobber entity or anything else interacting with a Pokémon Egg and attempting to cast it to a Player.
- 21085 Fixed wishing pieces dropped from within inventory no longer cause the player's held item to be consumed.
- Fixed Pokémon following or attacking the player while in spectator mode.
- 21218 Fixed Pokémon being unable to complete biome conditions for evolving.
- 21221 Fixed players being unable to use the Bee Spawn Egg to spawn Bee Pokémon.
- Fixed statues not being able to be animated.
- Fixed a crash caused by the starter list erroring when a player disconnects immediately after joining.
- Fixed Pokemon with the
walksonwater
orwalksonlava
tag being unable to walk on that fluid. - 21252 Fixed medicines curing statuses outside of battle.
- Fixed improper spacing in starter lang ribbons.
- Fixed ability slots reverting on evolution when changed using the Pokémon Editor.
- 21262 Fixed a crash caused by wearing a photo on a player's head.
- Fixed
random shiny
sometimes failing to give a shiny with non-shiny palette listings. - 21282 Fixed missing texture sprites for all Pixelmon Music Discs.
- Fixed Pawmo's hitbox and size.
- Fixed Lechonk's walk failing to loop properly.
- 19240 Fixed Swalot and Gulpin's animation deforming their models.
- 21225 Fixed Chien-Pao missing from raid spawning.
- Fixed Revavroom spawn level range.
- Fixed Tandemaus and Maushold dropping the wrong type of cheese.
- 21307 Fixed Delta Shards being obtainable in Mineshafts when they should not be there.
- 21296 Fixed Kingambit failing to drop Silver Ingot.
- Fixed Ultra Gingko Trapdoor tag failing to load.
- Fixed curry recipe parsing errors for Boiled Egg, Brittle Bones, Smoke Poke and Toast recipes.
- Fixed owned Minior not changing to Core form when out of battle.
- Fixed water spawning not working properly as underwater typed when spawning Pokémon extremely deep underwater.
- Fixed Pokémon not taking freezing damage when in contact with Powdered Snow blocks, except for Ice types.
- Fixed Treasures of Ruin Pokémon stat jsons requiring hyphens.
- Fixed registry entry utils like
/checkspawns
use backwards compatibility with un-hyphenated yet hyphenated Pokémon names. - 21278 Fixed data loss of Day Care Pokémon caused by concurrency issues happening on login.
- 21325 Fixed gym signs deleting the item in the block instead of droping it.
Battles:
- Fixed Dancer not having the correct list of moves to copy from.
- Fixed Focus Sash, Focus Band and Sturdy never blocking confusion damage.
- Fixed Suction Cups ignoring Moldbreaker.
- Fixed multiple Of Ruin abilities stacking stat reductions in battle.
- 21280 Fixed the turn, weather and terrain information not appearing in the right side of the battle screen.
- 15176 Fixed Dynamaxed Pokemon being able to switch out, switch back in, and use Max Moves and stay dynamaxed, despite not having the appearance.
- 21239 Fixed transformed Pokémon from using the Disguise ability.
- Fixed spectators getting stuck in permanent spectator mode after spectating into a raid.
- Fixed Wandering Spirit triggering when dynamaxed.
- Fixed Wind Rider blocking Tailwind from applying.
- Fixed Wind Rider activating against Sandstorm.
- Fixed an error caused by a non-existing trainer for changing weather conditions.
- Fixed an error caused by changing forms when the entity itself does not exist.
- Fixed Moldbreaker preventing Anger point from increasing the attack stat.
- Fixed Seismic Toss, Night Shade and Parental Bond not being identified as a multi-hit move.
- Fixed a server crash coming from attack animations.
- Fixed flee moves such as Roar and Red Card sometimes randomly selecting a currently sent out Pokémon.
- Fixed Comatose not correctly identifying the Pokémon asleep when they have 0 statuses.
- Fixed Comatose not doubling the power of Hex or Wake-Up Slap.
- Fixed berries erroneously applying healing after Neutralizing Gas leaves the field.
- Fixed Neutralizing Gas not disabling extreme weathers caused by abilities such as Desolate Land.
- Fixed Gastric Acid (and similar moves) not disabling Neutralizing Gas when used.
- Fixed Imposter applying after Neutralizing Gas leaves the field.
- Fixed Shields Down blocking all non-entry hazard statuses.
- Fixed Slow Start not resetting count when Neutralizing Gas appears.
- Fixed Emergency Exit not working properly after a multi-hit move.
- Fixed Emergency Exit not properly working after damage at the end of turn, such as poison-inflicted damage.
- Fixed horde battles crashing occasionally when starting battle due to a null battle controller in their AI.
- Fixed occasional crashes in battle cased by LegacyRandomSource.
- 21258 Fixed switch-in abilities triggering too early during simultaneous switches.
- Fixed EnforcedSwitching triggering twice.
- Fixed Blue Flare and Bolt Strike boosting Fusion Bolt and Fusion Flare.
- Fixed Parting Shot soft-locking the client if used without a Pokémon to switch to.
- Fixed Pursuit only triggering if already targeting the switching Pokémon.
- Fixed Expanding Force failing to boost power on Psychic Terrain if not forcibly grounded.
- Fixed Sky Drop damaging the wrong target after Ally Switch.
- Fixed Sky Drop making contact on the first turn.
- Fixed Sky Drop allowing targets to mega-evolve.
- Fixed redirect abilities, such as Lightning Rod, not absorbing allied attacks.
- Fixed redirect abilities, such as Lightning Rod, sometimes triggering before Follow Me.
- Fixed redirect abilities and statuses, such as Lightning Rod, sometimes activating in the wrong order.
- Fixed Wonder Guard blocking Sky Drop before its attacking turn.
- Fixed Expanding Force and Thrash re-targeting by moving to their move effects.
- Fixed Focus Sash, Focus Band, and Sturdy never blocking confusion damage.
- Fixed Suction Cups ignoring Mold Breaker.
- Fixed multiple Of Ruin abilities stacking stat reductions.
- Fixed SapSipper absorbing self-targeting grass moves.
- Fixed Aromatherapy and HealBell not healing allied trainers.
- Fixed Aromatherapy bypassing Substitute and SapSipper.
- Fixed HealBell bypassing Soundproof.
- Fixed abilities logic firing before held item logic when statuses are added to Pokemon in battle.
- Fixed addreneline orb incorrectly interacting with intimidate.
- Fixed PickPocket working even after being swapped out off the battle field.
- Fixed Prankster incorrectly blocking moves when moves are enforced by Encore.
- Fixed Protosynthesis working with extreme weather.
- Fixed weather changes not calling the change to any held items.
- Fixed booster energy activating before the initial switch in at the start of a battle.
- Fixed Z-Nature Power not dealing any damage.
- Fixed stack overflow crash caused by Opportunist.
- Fixed ShieldDust not blocking all additional effects against the target.
- Fixed SheerForce not triggering for many additional effects.
- Fixed PoisonTouch not being considered an additional effect (to be blocked by ShieldDust).
- Fixed Frostbite chance ignoring SereneGrace and WaterPledge boosts in Hail.
- Fixed ThawTarget moves (ie Scald) thawing frozen targets if SheerForce is active.
- Fixed SparklingAria not curing burns against ShieldDust.
- Fixed Barb Barage being marked as a non-contact move.
- Fixed Bide being marked as a non-contact move.
- Fixed Bolt Strike being marked as a non-contact move.
- Fixed Bone Club being marked as a non-contact move.
- Fixed Comeuppance being marked as a non-contact move.
- Fixed Double Shock being marked as a non-contact move.
- Fixed False Surrender being marked as a non-contact move.
- Fixed Final Gambit being marked as a non-contact move.
- Fixed Gear Grind being marked as a non-contact move.
- Fixed Hold Back being marked as a non-contact move.
- Fixed Mortal Spin being marked as a non-contact move.
- Fixed Nuzzle being marked as a non-contact move.
- Fixed Plasma Fists being marked as a non-contact move.
- Fixed Raging Fury being marked as a non-contact move.
- Fixed Strength Sap being marked as a non-contact move.
- Fixed Terrain Pulse being marked as a non-contact move.
- Fixed Thunder Cage being marked as a non-contact move.
- Fixed Triple Kick being marked as a non-contact move.
Translation:
- Updated Italian translation.
- Updated Ukrainian translation.
- Updated Traditional Chinese translation.
Developer:
- Added
Ability#modifyConfusionDamage
andHeldItem#modifyConfusionDamage
. - Moved variables and control of dynamaxing the model of a Pokemon from the
PixelmonWrapper
class to thePixelmonEntity
class. - Added
PixelmonWrapper#attackAlly(I)V
for simplifying the selection of attacking moves. - Added
BattleTestHelper#setupDoubleBattleBuilder
to allow double battles. - Changed
BattleController#takeFullTurn
to do a turn for each active pokemon instead of always 2. - Added check to getGrowth to prevent scaling on null values.
- Fixed
PokemonBuilder#ability
not creating a new instance of the ability given. - You no longer need to manually register battle tests with the "UnitTestRegistry" class and instead should use the
BattleTestClass
annotation. - The
PixelmonUnitTest
class has been deleted as it is no longer needed. - The
UnitTestRegistry
class has been renamed toBattleTestRegistry
. - The
UnitTest
annotation has been renamed toBattleTest
. - Removed the test identifier from the
BattleTest
annotation and changed it to instead just use the method name. - Added the
BattleTestHelper
with useful functions for creating No-Op wild battle participants, quickly starting frozen battles, and skipping through frozen battle's ticks. - Changed all battle test functions to have the BattleTestHepler parameter.
- Added & exposed
BattleController#doTurnLogic
andBattleController#takeFullTurn
for manipulating frozen battles with a bit more ease. - Added
PokemonBuilder#ability(Lcom/pixelmonmod/api/registry/RegistryValue;)Lcom/pixelmonmod/pixelmon/api/pokemon/PokemonBuilder
overload. - Added
PokemonBuilder#moves([Lcom/pixelmonmod/api/registry/RegistryValue;)Lcom/pixelmonmod/pixelmon/api/pokemon/PokemonBuilder
overload. - Added
PokemonBuilder#species(Lcom/pixelmonmod/api/registry/RegistryValue;)Lcom/pixelmonmod/pixelmon/api/pokemon/PokemonBuilder
overload. - Added
BattleTestHelper#createDefaultPokemon
for creating a Pokemon with the default settings (level 100, serious nature, max IVs, max happiness, in a PokéBall). - Added
PixelmonWrapper#attackOpponent(I)V
for simplifying the selection of attacking moves. - Added
PixelmonWrapper#attackSelf(I)V
for simplifying the selection of attacking moves. - Adds the
PartyFaintRespawnEvent
for canceling the above mechanic in given situations. - Made EVYields class immutable.
- Made EVYields class a record.
- Added
EVYields#setHP
,EVYields#setAttack
,EVYields#setDefense
,EVYields#setSpecialAttack
,EVYields#setSpecialDefense
,EVYields#setSpeed
,EVYields#addToHP
,EVYields#addToAttack
,EVYields#addToDefense
,EVYields#addToSpecialAttack
,EVYields#addToSpecialDefense
,EVYields#addToSpeed
,EVYields#set
, andEVYields#multiply
. - Added
EVGainEvent
andEVGainEvent.Double
for handling when EVs are gained. - Renamed
BattleController#turn
toactionIndex
to better separate it frombattleTurn
. - Added
EffectBase#modifyTargets
. - Added
StatusBase#stopsEvolution
. - Added
PixelmonWrapper#canEvolve
. - Added
Ability#preventsRedirection
. - Added
Ability#modifyConfusionDamage
andHeldItem#modifyConfusionDamage
. - Fixed
PixelmonSpecies#TAPU_FINI
being a MissingNo.
"Splash!"
- 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 Flutter Mane.
- Added Capsakid.
- Added Scovillain.
- Added Flittle.
- Added Espathra.
Structures:
- Added Water Town in Oceans, our most involved town yet!
- Added Water Gym structure.
- Added Water Town structures: Gym, Town Center, PokeCenter, PokeMart, Blacksmith, Church, Lighthouse A and B, House A-D, Kelp Farm a and B, Pier A-G, Fallback A-E, Deco A-H, Clutter A-T and Buoy A-C.
- Added Water Gym Trainers to Water Gym structure: Elite A-F, Grunt A-I and Gym Leader A-F.
- Added Swift Boat in Oceans.
- Added Yacht Boat in Oceans.
- Updated Fishing Boat, Magikarp Boat, Sail Boat and Submarine in Oceans.
- Updated land Arc Chalice structure in Extreme Hills.
Spawning:
- Added Flittle to Savannas and Arid during Day and as a group.
- Added Espathra to Savannas and Arid during Day.
- Added Capsakid to Arid and Mesas during the Day and as a group.
- Added Scovillain to Arid and Mesas during the Day.
- Added Flutter Mane to Small End Islands.
Changes:
- Updated Kilowattrel to now drop a Swift Feather instead of a Swift Wing.
- Updated Gholdengo to drop a Relic Silver instead of two Relic Gold.
- Updated Miraidon sprite.
- Updated Walking Wake sprite.
- Updated Lechonk model and animations.
- Updated Swalot and Gulpin model and animations.
Fixes:
- Fixed erasing a statue's species line causing
/pokekill
to become unresponsive. - 21225 Fixed Chien-Pao missing from raid spawning.
- Fixed Ultimate bosses dropping Poké Balls instead of the correct ball type, such as Master Balls.
- Fixed missing drop data for Miraidon.
- Fixed erroneous drop data for Koraidon.
- Fixed Tandemaus and Maushold dropping the wrong type of cheese.
- 21085 Fixed Wishing Pieces dropped from within inventory causing the player's held item to be consumed.
- Fixed Lechonk's walk failing to loop properly.
- 19240 Fixed Swalot and Gulpin's animation deforming their models.
- 21252 Fixed status curing items curing any status condition when used outside of battle.
- Fixed client crashes caused by improperly flying mounts.
- Fixed Revavroom spawn level range.
- Fixed
/wiki
and/checkspawns
failing to work on Treasures of Ruin Pokémon due to their hyphenated name format. - Fixed
/locate
flooding water-based structures such as the Magikarp Boat. - 21209 Fixed a server crash from a fishing bobber entity or anything else interacting with a Pokémon Egg and attempting to cast it to a Player.
- Fixed server crash caused by Terrain examination when the entity's world position is null.
Battles:
- Fixed spectating battles causing spectators of Max Raids to remain stuck in spectate mode.
- 21230 Fixed client crash caused by Burmy killing a wild Pokémon.
- Fixed aggressive Pokémon successfully chasing down and targeting for battle players in spectator mode.
- 21360 Fixed possible
OutOfMemoryError
server crashes caused in attack animations using Leap Forward by disabling their use case. - Fixed
/battletests
failing due to Shedinja, Focus Sash, Clangorous Soulblaze, Overworld weather and Form change tests, fixing relevant bugs associated with their use cases.
Translation:
- Updated Traditional Chinese translation.
- Updated Ukrainian translation.
- Updated Italian translation.
"1.20.2 (Alpha 6)"
- 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.0.30 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 the Witch Hat cosmetic.
- Added a Witch Hat to all PokéStop. Happy Halloween!
- Added comments to most of the Pixelmon config settings.
- Added
/statuespawn <spec>
command which spawns in a statute with a given spec. - Added new specs for statues including:
- animated, animate
- annimationframe, frame
- animationtype
- bbmode, boundingboxmode
- canmove, movement
- statuetexture, texturetype, texture
- Added support for existing Pokémon requirements to statues including:
- Crowned
- Egg Group
- Form
- Gender
- Generation
- Growth
- Growth Stage
- HasSpecFlag
- Lake Trio
- Legendary
- Logical AND, NOT and OR
- Nickname
- Palette
- Position
- Primal Evolution
- Random Species
- Shiny
- Species
- Type
- Ultrabeast
- Implemented support for BMD2.
- Implemented support for GeckoLib.
- Added the
cel
shader - Added the
black and white
shader - Added the
rainbow
shader - Added new specs:
friendship
: for comparing against a specific friendship, and setting a specific friendship.maxfriendship
: for doing a less than or equal check against a friendship value (and setting a random number from 1 to the number given).minfriendship
: for doing a greater than or equal check against a friendship value (and setting a random number from the value to 255).rainbow
b&w
cel
shader:<shader id>
i.e.shader:pixelmon:cel
- Added 5 tags for which biomes will have harsh sunlight in battle. These tags are for the duration of in-game time of one, two, four, six, and eight hours, with the mid-point centered around noon (6000 in Minecraft time).
Pokémon:
- Added Tandemaus.
- Added Maushold.
- Added Varoom.
- Added Revavroom.
- Added Charcadet.
- Added Armarouge.
- Added Ceruledge.
- Added Veluza.
- Added Tatsugiri.
- Added Dondozo.
- Added Annihilape.
- Added Dudunsparce.
- Added Kingambit.
- Added Scream Tail.
- Added Cyclizar.
- Added Greavard.
- Added Houndstone.
- Added Tinkatink.
- Added Tinkatuff.
- Added Tinkaton.
Palettes:
- Added 'Witch' Misdreavus.
- Added 'Witch' Mismagius.
- Added 'Witch' Hisui Zorua.
- Added 'Witch' Hisui Zoroark.
- Added 'Witch' Shuppet.
- Added 'Witch' Banette.
- Added 'Witch' Greavard.
- Added 'Witch' Houndstone.
- Added 'Witch' Tinkatink.
- Added 'Witch' Tinkatuff.
- Added 'Witch' Tinkaton.
- Added new JUMP! Gyarados palettes: Skelly, Calico Orange White, Calico White Orange, Calico Orange Gold, Orange Two-Tone, Orange Orca, Orange Dapples, Pink Two-Tone, Pink Orca, Pink Dapples, Gray Bubbles, Grey Diamonds, Grey Patches, Purple Diamonds, Purple Patches, Apricot Tiger, Apricot Zebra, Apricot Stripes, Brown Tiger, Brown Zebra, Brown Stripes, Orange Forehead, Orange Mask, Black Forehead, Black Mask, Blue Saucy, Blue Raindrops, Violet Saucy and Violet Raindrops. Thank you to Masked_Flare for the artwork!
- Added new JUMP! Gastrodon palettes: Gray Bubbles, Purple Bubbles, Violet Saucy, Apricot Saucy, Moons, Gold East, Gold West, Gray Diamonds, Purple Diamonds, Brown Stripes, Blue Stripes and Sun. Thank you to Masked_Flare for the artwork!
- Added new JUMP! Grapploct palettes: Alien, Clubs, Diamonds, Irish, Martian, Red Ringed, Starry and Yellow Ringed. Thank you to Masked_Flare for the artwork!
Structures:
- Added Pumpkin House to Plains biome.
Sounds:
- Added new cries for Cetitan, Chi-Yu, Eiscue, Lokix, Nincada, Ninjask, Oinkologue, Revavroom, Shedinja, Stakataka, Stonjourner, Walking Wake and Wo-Chien.
- Updated cries for Krookodile, Meltan, Melmetal and Necrozma.
Moves, Items and Abilities:
- Added Snow weather.
- Added Hospitality ability.
- Added Toxic Chain ability.
- Added Supersweet Syrup ability.
- Added Minds Eye ability.
- Added Chilly Reception move.
- Added Snowscape move.
- Added Trailblaze move.
- Added Chilling Water move.
- Added Pounce move.
- Added Mirror Herb item.
- Added Blank Plate item.
- Added Booster Energy item.
- Added Legend Plate item.
- Added Punching Glove item.
- Added Loaded Dice item.
- Added Sweet Heart item.
- Added Leader's Crest item.
Spawning:
- Added 'Witch' specie palettes spawning to Pumpkin House structures during Day and Night.
- Added Legend Plate as a drop item to Arceus.
- Added Manmade and Indoors as spawning locations for all 'Witch' palettes.
- Added Manmade and Indoors as spawning for Hatenna and Gothita line.
- Added Hatenna and Gothita as Day spawning to Pumpkin House structures.
Datapack:
- Added Teal Mask species in sprite-mode: Dipplin, Poltchageist, Sinistcha, Okidogi, Munkidori, Fezandipti, Bloodmoon Ursaluna and Ogerpon.
- Added Punching Glove to Village Tannery's loot tables.
- Added Punching Glove and Loaded Dice to uncommon boss drops.
- Added Punching Glove and Loaded to shopkeepers.
- Added Mirror Herb in foraging and various chests.
- Added Blank Plate in Village Temples, Pillager Outposts, Ultra Space Pokéchests and Legendary boss drops.
Changes:
- Updated tray icon to spoopy-Halloween Pixelmon icon!
- 20810 Changed the default value of
allow-t-r-reuse
to false in the config for game parity. - Removed, and replaced, Pixelmon's amethyst with Minecraft's amethyst.
- Improved Showdown Importer to resolve required IVs and Hidden Power (move) types.
- Updated the PokéStop to use GeckoLib rendering.
- Updated the PokéStop to enable animation.
Fixes:
- Fixed Zygarde Cells being placeable on blocks that are not solid.
- Fixed Zygarde Cells deleting from a block changing next to them.
- 20595 Fixed Roasted Magikarp not evolving into Zombie Gyarados.
- Fixed Pokemon eye height not correctly scaling with their growth.
- 18280 Fixed importing Toxtricity sometimes giving the incorrect form.
- Fixed Pokémon rendering in cyan on Mac OS devices.
- Fixed player's Pokémon randomly wandering around when in survival mode.
- Fixed the Pokémon's flags rendering on top of the level in their nameplate.
- Fixed Pokemon flags rendering as lang keys.
- Fixed Pixelmon network not correctly disconnecting vanilla clients.
- Fixed the dialogue input screen not allowing input.
- Fixed the dialogue input screen rendering very dark.
- Fixed the Poké checkers being very dark.
- Fixed the random spec consuming other specs that start with the word random (i.e. 'randomability').
- 21157 Fixed raid dens kicking nearby players.
- 21157 Fixed boss Pokémon kicking nearby players.
- 21157 Fixed evolving a Pokémon kicking nearby players.
- Fixed setting the shader parameters of a Pokémon kicking nearby players.
- Fixed a few sizing issues with some recent Generation 9 Pokémon.
- Fixed the tutorial toast having the missing texture background.
- Fixed the tutorial toast text having a drop shadow.
- Fixed the trade machine screen breaking when two players propose a Pokemon to trade.
- Fixed spawning conditions with multiple structures requiring all structures listed to be present to validate the spawn.
- Fixed Kingambit being undexable.
- Fixed missing emissive for Bellibolt.
- Fixed erroring spawning for Arc Chalice (Land), Arc Chalice (Water), Fairy Gym, Articuno Shrine, Zapdos Shrine, Moltres Shrine, Ilex Shrine, Towers of Waters, Towers of Darkness and Spear Pillar.
- Fixed spawning conditions with multiple structures requiring all structures listed to be present to validate the spawn.
- Fixed missing Scarlet and Violet Pokédex tab.
- Fixed mounts fainting in battle triggering the vanilla Minecraft death animation.
Battles:
- Fixed rare server crash caused by specific battle endings.
- Fixed a rare catch crash issue on servers with non-existent Pokémon in battles.
Translation:
- Updated Ukrainian translation.
- Updated Traditional Chinese translation.
API:
- Added StatueSpecificationProxy for creating statues from specs & checking if they match a spec.
- Changed statues to default to not animated (Pokemon will remain default animated).
- Added
BattleHoverGoal
, replacing theFlyingPersistentGoal
given to a Pokémon which is flying in a battle, to hold it in place hovering for the duration of the battle only. This goal stops being on once the battle is over. - Changed
FlyingPersistentGoal
to now guard against invalidflyRefreshRateSpeed
values in flying parameters. - Split
HeldItemChangedEvent
intoHeldItemChangedEvent.Pre
, which is ancelable and can modify item.HeldItemChangedEvent.Post
, which cannot be canceled or modify item and fires after item is set.
- Changed Pokemon#setHeldItem to return a boolean if the held item was set.
- Moved trainer effects to a registry.
- Added
WalkingModelPredicate
.
"Pumpkin..."
- 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 Cyclizar.
- Added Greavard.
- Added Houndstone.
- Added Tinkatink.
- Added Tinkatuff.
- Added Tinkaton.
Palettes:
- Added 'Witch' Greavard.
- Added 'Witch' Houndstone.
- Added 'Witch' Tinkatink.
- Added 'Witch' Tinkatuff.
- Added 'Witch' Tinkaton.
Structures:
- Added Pumpkin House to Plains biome.
Spawning:
- Added 'Witch' specie palettes spawning to Pumpkin House structures during Day and Night.
- Added Manmade and Indoors as spawning locations for all 'Witch' palettes.
- Added Manmade and Indoors as spawning for Hatenna and Gothita line.
- Added Hatenna and Gothita as Day spawning to Pumpkin House structures.
Changes:
- Updated tray icon to spoopy-Halloween Pixelmon icon!
Fixes:
- Fixed spawning conditions with multiple structures requiring all structures listed to be present to validate the spawn.
- Fixed Kingambit being undexable.
- Fixed missing emissive for Bellibolt.
- Fixed data readability issues caused by old moveset data processing, causing PC-loss reports.
Battles:
- Fixed a rare catch crash issue on servers with non-existent Pokémon in battles.
"Witch version?"
- 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:
- Added Shiny Charm config option for its boosting rates.
- Added a warning tag to the Pokémon's nameplate when using a fallback model.
- Added a config setting that can change the rate at which SpawnInfos are collected, based on the Blocks around the player.
- Added music records for all Pixelmon soundtracks: PokéCenter, Ultra Space, Wild Battle, Player Battle, Trainer Battle, Gym Battle, Boss Battle, Legendary Battle, Raid Battle and Custom Battle.
- Pokemon battles can now start with a weather effect that mirrors the current weather in the Overworld.
- This will not impact battles indoors, underground, underwater, in the nether, in the end, or in the drowned world.
- The battle weather created this way will not have a limit to the amount of turns it lasts, but can be overridden by weather created by a Pokemon's move.
- By default it only affects battles with Wild Pokemon and NPC Trainers.
- There are config options to set whether it impacts Wild Pokemon battles, NPC Trainer battles, PvP battles, and Max Raid battles.
- There is an additional config option to set whether the in-battle weather changes during the battle if the Overworld's weather also changes. This defaults to
true
.
- Added Halloween Pokéstop.
- Added Witch Hat player cosmetic.
Pokémon:
- Added Tandemaus.
- Added Maushold.
- Added Varoom.
- Added Revavroom.
- Added Charcadet.
- Added Armarouge.
- Added Ceruledge.
- Added Veluza.
- Added Tatsugiri.
- Added Dondozo.
- Added Annihilape.
- Added Dudunsparce.
- Added Kingambit.
- Added Scream Tail.
Palettes:
- Added new JUMP! Gyarados palettes: Skelly, Calico Orange White, Calico White Orange, Calico Orange Gold, Orange Two-Tone, Orange Orca, Orange Dapples, Pink Two-Tone, Pink Orca, Pink Dapples, Gray Bubbles, Grey Diamonds, Grey Patches, Purple Diamonds, Purple Patches, Apricot Tiger, Apricot Zebra, Apricot Stripes, Brown Tiger, Brown Zebra, Brown Stripes, Orange Forehead, Orange Mask, Black Forehead, Black Mask, Blue Saucy, Blue Raindrops, Violet Saucy and Violet Raindrops. Thank you to Masked_Flare for the artwork!
- Added new JUMP! Gastrodon palettes: Gray Bubbles, Purple Bubbles, Violet Saucy, Apricot Saucy, Moons, Gold East, Gold West, Gray Diamonds, Purple Diamonds, Brown Stripes, Blue Stripes and Sun. Thank you to Masked_Flare for the artwork!
- Added new JUMP! Grapploct palettes: Alien, Clubs, Diamonds, Irish, Martian, Red Ringed, Starry and Yellow Ringed. Thank you to Masked_Flare for the artwork!
- Added 'Witch' Zorua.
- Added 'Witch' Zoroark.
- Added 'Witch' Mismagius.
- Added 'Witch' Misdreavus.
- Added 'Witch' Shuppet.
- Added 'Witch' Banette.
Weather, Moves, Abilities and Items:
- Added Snow weather.
- Added Hospitality ability.
- Added Toxic Chain ability.
- Added Supersweet Syrup ability.
- Added Minds Eye ability.
- Added Chilly Reception move.
- Added Snowscape move.
- Added Trailblaze move.
- Added Chilling Water move.
- Added Pounce move.
- Added Mirror Herb item.
- Added Blank Plate item.
- Added Booster Energy item.
- Added Legend Plate item.
- Added Punching Glove item.
- Added Loaded Dice item.
- Added Sweet Heart item.
- Added Leader's Crest item.
Structures:
- Added the Steel Gym Town to the Savanna biome.
- Added Steel Gym structure.
- Added Steel Town structures: Berry Farm A and B, Blacksmith, Church, Clutter A-F, Day Care, Farm A and B, House A-E, Poke Center, Poke Mart, Road A-D, Town Center A and B and TCG Shop.
- Added Steel Gym Trainers to Steel Gym structure: Elite A-F, Grunt A-I and Gym Leader A-F.
- Added the Ice Gym Town to the Snow Plains biome.
- Added Ice Gym structure.
- Added Ice Town structures: Berry Farm A and B, Blacksmith, Church, Clutter A-F, Day Care, Farm A and B, House A-E, Poke Center, Poke Mart, Road A-D, Town Center A and B and TCG Shop.
- Added Ice Gym Trainers to Ice Gym structure: Elite A-F, Grunt A-I and Gym Leader A-F.
Spawning:
- Added Legend Plate as a held item to Arceus.
- Added Mirror Herb in foraging and various chests.
- Added Blank Plate in Village Temples, Pillager Outposts, Ultra Space Pokéchests and Legendary boss drops.
- Added Punching Glove to Village Tannery's loot tables.
- Added Punching Glove and Loaded Dice to uncommon boss drops.
- Added Punching Glove and Loaded to shopkeepers.
- Added Booster Energy to Ultimate boss drops and Tier 3 Pokéchests.
- Added Booster Energy as a held item to Iron Moth, Iron Thorns and Slither Wing.
- Added Charcadet, Armarouge, Ceruledge, Varoom, Revavroom, Veluza, Dondozo, Tatsugiri, Kingambit, Annihilape, Scream Tail, Dudunsparce Two-Segment Tandemaus, and Maushold Family of Four to raids.
Sounds:
- Added new cries for Cetitan, Chi-Yu, Eiscue, Lokix, Nincada, Ninjask, Oinkologue, Revavroom, Shedinja, Stakataka, Stonjourner, Walking Wake and Wo-Chien.
- Updated cries for Krookodile, Meltan, Melmetal and Necrozma.
Datapack:
- Added an optional
withPalette
section to the Party evolution condition that works in the same way as thewithForm
section, when if it isn't empty it will check that the party contains at least one of the palettes listed. - Added the Sweet Heart recipe.
- Added all missing Generation 9 Pokédrops.
- Added Teal Mask species in sprite-mode: Dipplin, Poltchageist, Sinistcha, Okidogi, Munkidori, Fezandipti , Bloodmoon Ursaluna and Ogerpon.
Changes:
- Updated Snow Warning to properly use Snow weather.
- Updated and standardized all hammer speeds based on material tiers.
- Optimized Catch Combos threshold checks.
- Updated flags to be synchronized with the client.
- Updated all a Pokemon's flags to render underneath the Pokemon's nameplate, prefixed with
pixelmon.
. - Updated
uncatchable
to a proper flag and not a special case. - Updated the Run attack animation, affecting 37 moves including Tackle, Quick Attack, and Extreme Speed.
- Updated battling while riding or flying on a Pokemon, making it more fun!
- If a Pokemon can fly or can be flown by a player starts a battle in the air, they will stay in the air during the battle. Pokemon not being ridden will continuously float up and down.
- If you start a battle while riding on a Pokemon, you are no longer knocked off your Pokemon and fall to the ground. If you are flying, you stop mid-air and continue riding your Pokemon.
- If you start a battle with the Pokemon you are riding, and switch Pokemon, you will stay on the Pokemon you are riding.
- If a Pokemon flying in battle uses an attack that has the 'Leap Forward' attack animation, they will zoom towards their target and stay there, instead of hopping back and forth.
- 20256 Updated Healer block behavior so it doesn't always act as a full block.
- Updated Judgment (move) to it's Legends of Arceus effect.
- Updated Judgment (move)'s PP to 5 from 10.
- Updated the Arc Chalice to require 18 plates, up from 17 plates.
- Updated Empoleon to drop a Trident instead of a Metal Coat.
- Updated Fairy Gym Town House B structure.
- Updated Pokéstops colors again.
- Updated Intrepid Sword.
- Updated Dauntless Shield.
Fixes:
- 20249 Fixed Paldean forms, such as Wooper, failing to properly inherit when bred from evolved parents such as Clodsire.
- 18704 Fixed functioning Cloning Machines failing to drop themselves instead of ingots.
- 19836 Fixed hidden abilities being lost when breeding an evolutionary line whose second evolution does not have a hidden ability.
- Fixed hidden abilities being lost when breeding an evolutionary line with split regional evolutions.
- Fixed hidden abilities being erroneously passed down when breeding between regional forms.
- Fixed Pokémon with hidden abilities losing their hidden ability status when evolving through an evolutionary line which does not share the same hidden ability.
- Fixed and corrected Meltan spawning conditions to prevent exploiting the surrounding terrain to maximize Meltan's spawn count.
- Fixed Catch Combos erroneously pre-emptively applying their bonus at the edge of the count threshold instead of at the count.
- 20447 Fixed starters always generating as the Small growth size.
- Fixed the Azure Flute ignoring config settings when activating the Timespace Altar more than once.
- Fixed all Repels lasting for far less long than advertised.
- 17157 Fixed the Poké Editor resetting an existing move's PP if said move was modified by a PP-boosting item.
- Fixed the Pokémon summary screen failing to display a Pokémon's nickname color.
- 19579 20475 Fixed the Netherite Hammer's speed being extremely slow.
- Fixed JUMP Magmar having no possible palette-led evolution method to evolve from Magby with JUMP Slugma.
- Fixed
uncatchable
flag failing to display underneath the nameplate's Spawner Tags. - 17667 Fixed Thunderstone Ores sometimes failing to yield their drops and instead yielding Cobblestone due to client de-synchronization.
- Fixed the Poké Editor's Showdown importer failing to import Gmax, Urshifu and Toxtricity forms.
- Fixed the Ultra Space's soundtrack missing soundtrack.
- Fixed orb particle offsets of the Blank and Draco Plates in the Arc Chalice's activation animation.
- Fixed the Smelt external move not working on Smokers and Blast Furnaces.
- Fixed issues with TCG Cards being incorrectly rendered in front of or behind things in the inventory menu.
- 20465 Fixed a player being able to receive Porygon parts from dyeing a PC via the crafting table.
- Fixed the Christmas Ball lid being shown as a missing texture if the ball breaks when trying to use it to catch a raid Pokemon.
- 20207 Fixed Poke Balls not applying a change in texture to Pokemon they catch in a Max Raid Den.
- 19016 Fixed Firestone Ore generation erroneously replacing natural End Portal blocks.
- Fixed the egg hatch event (pre and post) firing twice.
- Fixed ribbon spec testing, as it was erroneously testing the time received and the giver, making the spec never test
true
. - Fixed Metronome calling moves that should be denied.
- Fixed a server crash caused by an erroneous NPC Double Battle tier rule.
Battles:
- 20648 Fixed mega-evolution switching abilities if the mega-evolution happened in-battle while its animation completed outside of battle due to fast battle end (0HKO).
- 20490 Fixed Dusk or Dawn Necrozma unfusing after a fusing battle and evaporating the corresponding fused Pokémon of Solgaleo or Lunala.
- 20799 Fixed items and abilities failing to boost or increase stats when used in battle, such as Eviolite, Assault Vest, Huge Power, Fur Coat and more.
- Fixed raids not enforcing a proper 10 turn limit at end of turn.
- 20828 Fixed a crash caused by
Moveset#addCurrentMovesToReminder
not accounting for moves being null. - Fixed transforming Pokémon (such as Ditto) failing to update their sprite to their transformed sprite.
- 16394 Fixed chat scrolling and battle camera scrolling simultaneously, making it impossible to use both at once.
- 20631 Fixed Z-Moves that target an opponent never missing when they could.
- Fixed Z-Moves persisting as marked Z-Moves visually until a player rejoins.
- 20614 Fixed the Red Card item activating even when the holder of it fainted.
- Fixed Shell Bell activating from indirect damage, such as Leech Seed.
- 20574 Fixed an issue with Mimicry not recognizing the NoTerrain type of Terrain.
- 20535 Fixed Retaliate not dealing double damage if used after a Pokemon was defeated the previous turn.
- 19821 Fixed an issue where a Pokemon with the ability No Guard could miss their OHKO moves.
- 20168 Fixed Taunt cancelling status Z-Moves.
- Fixed Expanding Force not changing to a multiple-target attack that targets both enemy Pokemon if Psychic Terrain is active and the player selects an adjacent ally instead of an opponent.
- 20498 Fixed the client being locked into a screen when Revival Blessing was used by different move, such as Assist.
- 20836 20808 Fixed Gyro Ball (move) power being uncapped past 150BP.
Translation:
- Updated Traditional Chinese translation.
- Updated Simplified Chinese translation.
- Updated Italian translation.
- Updated Korean translation.
- Updated Russian translation.
- Updated Spanish translation.
- Updated Ukrainian translation.
Developer:
- Added a giveChoice argument to
PlayerPartyStorage.unlockMega
. - Added a giveChoice argument to
PlayerPartyStorage.unlockDynamax
. - Added HisuiBallLogic class to allow custom balls to convert pokemon to Hisuian variants.
- Made
PlayerPartyStorage.setMegaItem
open the gui if giveChoice is true and the player is not already in a gui. - Moved all sounds to
SoundRegistration
. - Changed Ribbon Spec to a
List<String>
type fromList<Ribbon>
. - Moved entity health set back out of generic retrieval to the ifFainted check.
- Changed Ribbon Spec to a
List<String>
type fromList<Ribbon>
.
"1.20.2 (Alpha 5)"
- 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.0.22 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 a "logical NOT" spec so now you could do
random legendary !mew
to get a random legendary that is not mew - Adds Legend Plate to summoned Arceus
- Adds Mirror Herb, Legend Plate, and Blank Plate
- Adds new particles to the vanilla particle system
/particle pixelmon:cyclone 1.0 255 255 255 255 255 ~ ~ ~
/particle pixelmon:shiny 0.5 60 255 215 0 255 ~ ~ ~
/particle pixelmon:flame_particle 2 255 255 255 ~ ~ ~
/particle pixelmon:shadow 1.0 255 255 255 255 255 ~ ~ ~
/particle pixelmon:blue_magic 1.0 255 255 255 255 255 ~ ~ ~
/particle pixelmon:yellow_magic 1.0 255 255 255 255 255 ~ ~ ~
/particle pixelmon:sling_ring 1.0 255 255 255 255 255 ~ ~ ~
Changes:
- Updated to Minecraft 1.20.2
- Made Stench, White Smoke, and Quick Feet reduce spawns around the player
- Changes circling orbs on chalice to fit 18 plates
Fixes:
- Suggestions Fixed ore sense not recognizing deepslate ores and updated the shapes for the new 1.20 ore shapes
- Fixed the party overlay GUI not having a transparent background
- Fixed dens not being affected by gravity
- Fixed dens not sinking in water
- Fixed wishing peices not being able to be thrown into dens
- Fixed the
random
spec not working with entity requirements such as bosses with pokespawn command - Fixed bosses, and pokemon with shaders applied, causing player disconnects/crashes
- Fixed the player's party not overflowing into their PC correctly
- Fixed player's daycare not storing correctly
- Fixed async entity creation causing arclight crash
- Fixed NPC parties not loading in world generation, and structures
- Fixed random spec only giving/spawning bulbasaurs
- Fixed EggHatchEvent firing twice
- 21119 Fixed catching a shiny pokemon causing a crash
- 20979 Fixed arc chalice not functioning at all
- 20894 Fixed particles (shiny, and battle) not rendering properly
- 21068 Fixed essence jars not rendering on "Fabulous!" graphics
- Fixed legendary bird orbs not showing progress
- Fixed giving held items when in creative not working
- 20879 Fixed items not rendering on the player's head for non-slim (Steve) skins
- Fixed double battles (and any battle with rules) causing the client to be kicked
- 20948 Fixed bosses not dropping items after the first pokemon faints
- Fixed pokemon entities not appearing in the world after a party member faints
- Fixed not specifying args after
/pokekill
not working
Battles:
- 20905 Fixed switch moves, such as Volt Switch, not dealing any damage to the target
- Fixes moves continuing to be treated as Z-moves after being used
Translation:
- Updated Ukrainian translation.
- Updated Korean translation.
- Updated Traditional Chinese translation.
Developer:
- Prevent deadlocking the default storage executor service by adding additional threads
- Made the
clearAll
method clear loading cache, and cancel running tasks - Changed Ribbons to create using Pokemon object rather than Pixelmon entity (this was causing crashes on hybrids)
- Changed error for
Specification#matches
to be understandable when giving an invalid object type to the method
"1.20.1 (Alpha 4)"
- The Java requirement for 1.20.1 is Java 17. This will come shipped with most launchers. For manual installation, you may need to install a later JRE.
- The minimum Forge version for this update is 47.1.46 and is required for a Pixelmon client to run.
- Worlds from 1.16.5 may not work with newer versions of Minecraft. Consider backups before updating..
- If using datapacks, consider refreshing every update for default datapack fixes from Pixelmon.
Additions:
- Added Paldean TMs: TM172, TM173, TM174, TM175, TM176, TM177, TM178, TM179, TM180, TM181, TM182, TM183, TM184, TM185, TM186, TM187, TM188, TM189, TM190, TM191, TM192, TM193, TM194, TM195, TM196, TM197, TM198, TM199, TM200 and TM201.
- Added shader support.
- Added normal map support. An example of this change can be found on IronLeaves' asset folder and species json.
- Added fresnel shader support.
- Added error messages to commands using invalid or error-filled Pokémon specs.
Moves, Abilities and Effects:
- Added Minds Eye ability.
- Added Toxic Chain ability.
- Added Hospitality ability.
Spawning:
Structures:
- Added the Steel Gym Town to the Savanna biome.
- Added Steel Gym structure.
- Added Steel Town structures: Berry Farm A and B, Blacksmith, Church, Clutter A-F, Day Care, Farm A and B, House A-E, Poke Center, Poke Mart, Road A-D, Town Center A and B and TCG Shop.
- Added Steel Gym Trainers to Steel Gym structure: Elite A-F, Grunt A-I and Gym Leader A-F.
Changes:
- Modified Mailbox and Letterbox block bound boxes to a smaller size than a full block.
- Modified Pokémon Bosses to now use fresnel shader rendering.
- Modified evolution animations effects to now use fresnel shader rendering.
- Modified Gigantamax and Dynamax animations effects to now use fresnel shader rendering.
- Changed all test based commands to return 1 when successful and 0 when failing, including
/comptest
/spectest
and/poketest
. - Gastly, Haunter, Shuppet, Misdreavus, and Dreepy are now mob replacements for Minecraft's Vex.
Fixes:
- Fixed Pokemon not spawning below Y-level 0.
- 21004 Fixed the move skill descriptions sometimes showing up behind the selection wheel.
- Fixed the mystery box rendering at weird positions
- 20850 Fixed the Move Relearner's moves rendering invisible on opening UI.
- 20879 Fixed certain items not showing in the player's hand.
- 20824 Fixed player name and resource pack-textured NPCs displaying as a missing texture.
- 20976 Fixed the raid end victory screen UI.
- 20940 Fixed client crash when breaking Pixelmon's Pokédisplay block.
- Fixed raids sometimes lasting more than 10 turns
- Removed duplicate acitvation text from Fillet away
- 20249 Fixed Clodsire not breeding into Paldean Wooper
- 20249 Fixed Tauros inheriting its Paldean status based on breeding forms.
- Fixes the boss rate not working in the Pixelmon spawner block.
- Fixed Meltan double-eating iron nuggets.
- 20629 20149 Fixed Pokémon other than Magikarp not spawning with JUMP palettes.
- Fixed JUMP palettes overriding shiny palettes.
- Fixed the Trade Machine screen repeating endlessly the lever click sound when hovering over the Pokémon selection UI.
- 20887 Fixed the Trade Machine screen buttons not working.
- Fixed the Pokémon Egg not launching players in singleplayer worlds if stepped or fallen on.
- 20490 Fixed Necrozma losing fused Solgaleo/Lunala respectively.
- 20648 Fixed Mega-evolutions losing their ability on mega-evolving.
- Fixed evolved forms persisting after battle end.
- 20987 Fixed item duplication bug with Pokébags.
- Fixed the Move Relearner not including egg moves in its movelist.
- 20947 Fixed lures being unplaceable in their inventory slot when in survival mode.
- 20965 Fixed Street Lights failing to produce light.
- Fixed Pokémon not spawning in underground caves appropriately.
- Fixed banners not appearing above the Ice Gym Town's PokéMart.
Battles:
- 20781 Fixed multiple hit attacks hitting an extra time once their battle effect resolved.
- 20498 Fixed soft locks when Revival is used by other copying moves, such as Assist.
- Fixed stat-changing items not working when equipped in battles.
- Fixed Gigantamax Pokémon only being able to use their Gmax-move once per battle.
Datapack:
- Added the normal map property to palettes. An example of this change can be found on
1010-IronLeaves.json
.
Translation:
- Updated Ukrainian translation.
- Updated Spanish translation.
- Updated Traditional Chinese translation.
Developer:
- PokemonStorage now implements Iterable. Allowing for it to be used in enhanced for loops
- PokemonStorage now has an abstract
PokemonStorage#clear()V
method which is implemented by both sub classes and will remove all Pokemon from the storage - Removed the "dynamax scale" and changed it to just use the Pixelmon's scale factor
- Added ShaderProperties to AbstractClientEntity
- Changed the StorageProxy and StorageManager to return
CompletableFuture
on the default methods as the loading of the player data now defers to the Scheduler's thread - Moved StorageSaveScheduler and StorageSaveAdapter out of the StorageManager and as static variables in the StorageProxy
- Added
StorageSaveScheduler#getExecutor
so that async execution can be done when accessing the party through the CompletableFuture interface - Adds the
BoxCountCalculateEvent
with Pre and Post for changing the box count of a PC on a per-player basis - Added methods to the StorageProxy and StorageManager with "Now" suffix to maintain instantaneous access to the PC/Party where applicable. Most use cases are fine to use this however, it's notable that these should not be used if attempting to load offline player data as they will hold the thread until done (as was seen with the previously implementation when players logged in). These methods have been observed taking up to 2,000ms (probably more sometimes too) when players have a significant number of boxes in their PC.
- Added the
ParseAttempt
interface - Changed the SpecificationProxy to return
ParseAttempt
when creating
"1.20.1 (Alpha 3)"
- The Java requirement for 1.20.1 is Java 17. This will come shipped with most launchers. For manual installation, you may need to install a later JRE.
- The minimum Forge version for this update is 47.1.46 and is required for a Pixelmon client to run.
- Worlds from 1.16.5 may not work with newer versions of Minecraft. Consider backups before updating..
- If using datapacks, consider refreshing every update for default datapack fixes from Pixelmon.
Additions:
- Adds Terralith support for spawning
- Adds the following entity replacements:
- Frog: Froakie, Frogadier, Greninja, Poliwhirl, Poliwrath, Politoed, Palpitoad, Seismitoad, Croagunk, Toxicroak
- Tadpole: Poliwag, Tympole, Tadbulb
- Axolotl: Wooper, Quagisre, Clodsire, Mudkip, Marshtomp, Swampert
- Camel: Numel, Camerupt
- Goat: Skiddo, Gogoat
- Glow Squid: Inkay, Malamar
- Allay: Cutiefly, Spritzee, Swirlix, Flabebe, Floette
- Sniffer: Kabuto, Omanyte, Aerodactyl, Anorith, Lileep, Cranidos, Shieldon, Archen, Tirtouga, Tyrunt, Amaura
Changes:
- Changed the egg hatching music to now fall under the 'music' setting, enabling the music volume setting to adjust its volume
- Changed the importer behavior to trigger an error when the provided gender exceeds one character in length
Fixes:
- Fixed the fossil machine's text not being centered
- Fixed the issue of incorrect text coloring on the fossil machine
- Fixed the new Discord Game SDK requiring Discord for the game to load
- Fixed the issue where Boss Pokémon in horde battles were erroneously permitting Pokéballs to be thrown, leading to unintended Pokéball consumption
- Fixed an issue where the changing a Pokemon's held item in survival would desync with the server causing unusual behaviour
- Fix King's Rock not importing via Pokepaste due to the apostrophe
- Fix Arceus deleting any Z-Crystal that didn't belong to a type
- Fixed the issue where the party tooltip, located within the inventory, was rendering beneath other GUI elements
- Fixed the chisel not changing the statue's gender
- Fixed the problem where raid dens were not naturally spawning or responding to wishing pieces due to being assigned the entire resource key of the biome
- Fixed a crash from invalid translated shopkeepers
- Fixed flying pokemon getting stuck when they land in water
- Fixed Pixelmon ores not spawning in the overworld
- Fixed apricorn trees not spawning in the overworld
- Fixed white apricorns not growing into trees
- Fixed improper tool assignments for Pixelmon blocks, ensuring correct mining behavior
- Fixed the hoglin spawn replacement file to prevent it from replacing piglins and piglin brutes
Battles:
- Gyro Ball's power is now correctly limited to a value between 1 and 150
Datapack
- Adds back all forge tag modifications from 1.16.5 to resolve some broken recipes
Developer
- Fixed an issue where you could not use
runClient
due to Pixelmon being unable to locate the Discord Game SDK file
"1.20.1 (Alpha 2)"
- The Java requirement for 1.20.1 is Jave 17. This will come shipped with most launchers. For manual installation, you may need to install a later JRE.
- The minimum Forge version for this update is 47.1.44 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 ice gym
- Added fairy gym
Changes:
- Updated our Discord rich presence integration to use Discord's Game SDK (hopefully solving crashing on MacOS)
Fixes:
- Fixed the Safari ball causing crashes
- Fixed the refresh button on the cosmetics screen from breaking the game
- Fixed pokemon spamming the take off sound
- Fixed the shaded libraries conflicting with hybrid servers (arclight)
- Fixed the server jar failing to start due to missing Jar in Jar (client reset packet)
- Fixed the cloning machine drops being reversed
Battles:
- Nature Power is now labeled as a Status move.
Datapack:
- Added the "poke_balls/safari" biome tag for deciding which biomes receive the safari ball bonus
"They have those cherry trees don't they? - Jay 2023"
- The Java requirement for 1.20.1 is Jave 17. This will come shipped with most launchers. For manual installation, you may need to install a later JRE.
- The minimum Forge version for this update is 47.1.44 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 more Minecraft.
Structures:
- Added more Minecraft structures, most likely.
Changes:
- Updated targeted Minecraft version to 1.20.1
Datapack:
- Datapacks from 1.16.5 may need to be tested before running on 1.20.1 builds.
Developer:
- Javadocs will be made available with each release.
"Insert Lost Woods bgm"
- 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:
- Added Rainbow Chien-Pao.
- Added Tangela Bramblin.
- Added Tangela Brambleghast.
Pokémon:
- Added Nymble.
- Added Lokix.
- Added Pawmi.
- Added Pawmo.
- Added Pawmot.
- Added Bramblin.
- Added Brambleghast.
- Added Chien-Pao.
- Added Chi-Yu.
Moves, Abilities and Effects:
- Added Fillet Away move.
- Added Order Up move.
- Added Comeuppance move.
- Added Spicy Extract move.
- Added Lumina Crash move.
- Added Jet Punch move.
- Added Spin Out move.
- Added Twin Beam move.
- Added Kowtow Cleave move.
- Added Ruination move.
- Added Collision Course move.
- Added Electro Drift move.
- Added SuperEffectiveBoost move effect.
Structures:
- Added Fairy Town in Birch Forests.
- Added Fairy Gym structure.
- Added Fairy Town structures: Berry Farm A and B, Blacksmith, Church, Clutter A-F, Day Care, Farm A and B, House A-E, Poke Center, Poke Mart, Road A-D, Town Center A and B and TCG Shop.
- Added Fairy Gym Trainers to Fairy Gym structure: Elite A-F, Grunt A-I and Gym Leader A-F.
Spawning:
- Added Bramblin to Arid, Mesas, and Savannas at All Times.
- Added Tangela palette to have a chance of appearing with Tangrowth as Party Lead.
- Added Brambleghast to Arid, Mesas, and Savannas at All Times.
- Added Tangela palette to have a chance of appearing with Tangrowth as Party Lead.
- Added Lokix to Savannas in the Afternoon.
- Added Nymble to Savannas during Day. Nymble also has a chance to have a group spawn with other Nymble.
- Added Pawmi to Taigas and Redwoods during Dawn and Day.
- Added Pawmo to Taigas and Redwoods during Dawn and Day. Pawmo also has a chance to have a group spawn with Pawmi.
- Added Pawmot to Taigas and Redwoods during Dawn and Day. Pawmot also has a guaranteed chance to have a group spawn with Pawmi.
- Added Chi-Yu to Mesas, Volcano, and Volcanic Plains during Day above Y80.
- Added Chien-Pao to Freezing Mountains during Night above Y80.
Changes:
- Wishing Pieces can be thrown or dropped into a raid den to use them, including if dropped by a chest or hopper.
- 13425 Hatching an egg will now include its on-hatch moves on the Pokemon's move reminder list, making them available to relearn.
- Updated Headbutt, Forage, and Rock Smash loot tables to allow loot in Ultra Space.
- Updated Headbutt spawns to match their Standard counterparts.
- Updated Rock Smash spawns to match their Standard counterparts.
Fixes:
- 20567 Fixed Capsakid crashing a server or client when evolving with a Fire Stone.
- Fixed biomes with zero raid star chances attempting a raid spawn regardless of the config chances.
- Fixed raid den shadow previews appearing inside the red beam instead of in front of them.
- Fixed Paldean TM 9 registering as Pin Missile instead of Fire Fang.
- 18511 Fixed Zygarde Cell and Cores failing to spawn naturally in new chunks.
- Fixed Zygarde Cell transparency failing to render properly.
- Fixed server crash caused by throwing a Poké Ball at a Pokémon riding a Bike or Boat.
- Fixed move application failing unless a move is used with a number, such as
move1:Bite
vsmove:Bite
. - Fixed move specs failing to match under specific scenarios.
- Fixed cascading chunk loading issues when marking a chunk as needing updates while a tile is being loaded.
- 15582 Fixed Clobbopus erroneously transforming into an alien palette when caught in a Beast Ball.
- Fixed the Flash external move producing a dim light instead of a bright light.
- Fixed large betterspawning config files crashing the server when used.
Battles:
- Fixed client-side error when reverting a Dynamax state.
- 20288 Fixed Aegislash failing to switch from Shield to Blade form when using an attacking Z-Move.
- 20286 Fixed Shattered Psyche and All-Out Pummeling calculating damage using the opponent's Defense stat when the base move is Psyshock, Psystrike or Secret Sword.
- Fixed TCG's Brock's Vulpix Hypnotic Gaze failing to put the opponent to sleep.
- Fixed TCG's Brock's Vulpix Fire Ring not properly applying damage to a benched Pokémon.
- Fixed fallback move errors for Toedscool and Toedscruel when used in raid dens.
Translation:
- Updated Simplified Chinese translation.
- Updated Traditional Chinese translation.
Developer:
- Breaking Change: Fields in
RaidSpawningRegistry
privatized, getters added instead. - Breaking Change: Renamed
RaidSpawningRegistry
toRaidRegistry
. - Breaking Change: Replaced
RaidSpawningRegistry::raids
withRaidRegistry::getAllRaids()
. - Breaking Change: Replaced
RaidSpawnRegistry::map
withRaidRegistry::getBiomeToRaids()
. - Breaking Change: Raid registry now uses specific raid data structures instead of long nested collections.
- Breaking Change: Added
RaidRegistry.RaidCollection
data structure, a collection of raids for a list of specific biomes. - Breaking Change: Added
RaidRegistry.RaidBiomeGrouping
data structure, a group of raids for a specific biome with specific raid star level weights. - Breaking Change: Added
RaidRegistry.RaidStarGrouping
data structure, a group of raids mapped to raid star levels. - Breaking Change: Added
RaidRegistry.Raid
data structure, a representation of a specific individual raid Pokémon and form, contained within the above data structures. - Breaking Change: Methods in raid registry events now return the base interfaces of List and Map, or a specific raid data structure, where applicable.
- Breaking Change:
RegisterRaidEvent.AddDefault#getRaid()
now returns aRaidRegistry.Raid
instead of aTuple<Integer, String>
. - New: Added EffectBase method
modifyDamage
, allowing MoveEffects to modify move damage directly.
Additions:
- Added
undexable
flag to use when giving Pokémon that should only be dexable. - Added
undexable
spec to check if a Pokémon is correctly dexable.
Pokémon:
- Added Shroodle.
- Added Grafaiai.
- Added Iron Leaves.
- Added Walking Wake.
Moves, Abilities and Effects:
- Added Ice Spinner move.
- Added Make it Rain move.
- Added Last Respects move.
- Added Hydro Steam move.
- Added ignoreWeather option for move effects.
- Added StatsEffectPost move effect.
Loot Tables:
- Added loot tables for Village Butcher, Cartographer, Desert House, Plains House, Savanna House, Shepard, Snowy House, Taiga House, Tannery and Temple.
- Added special loot table for Random Berry.
Spawning:
- Added Shroodle to Forests and Jungle on Land during Day, including group spawn chance.
- Added Grafaiai to Jungle on Tree Top during Night, including Headbutt chance in Jungle.
- Removed Diancie from Ultra Deep Sea.
- Added Halloween Ivysaur to Graveyards at Night.
- Added Cofagrigus to Ultra Desert during Night.
- Added Runerigus to Ultra Desert during Day.
- Moved Stakataka from Ultra Desert to Ultra Plant.
- Moved Spirit Cresselia, Regieleki and Suicune from Ultra Space to Graveyards via Land and Manmade at Midnight.
Changes:
- Reduced permission level of
/compedit
and/pokeedit
to 2. - Optimized tab completion requests, having them run off the main thread.
- Optimized attack loading and saving during chunk calls, removing unnecessary allocation and mapping methods for better performance.
- Optimized calculations for nearby spawn horde battles in Ultra Space's spawning system.
- Aggressively optimized resource loading for clients, affecting startup time and resource pack load time.
- Updated Dubwool's sprite system to support multi-colored sprites based on wool color.
- Updated Celebi's base stats to allow for Alien palette transformation when caught using a Beast Ball.
Fixes:
- Fixed missing recipes for Roserade Tea, Komala Coffee, Pinap Juice, Skitty Smoothie and Tapu Cocoa.
- Fixed client logins into a vanilla hub failing if classes are initialized in wrongful order, causing a relog on the client.
- Fixed
unbattleable
,uncatchable
specs failing to apply when used in a Pixelmon spawner block. - 20480 Fixed the Arc Chalice consuming two plates instead of one when using with stacked plate items.
- Fixed Skitty and Slaking drop registration.
- 20326 Fixed broken Cloning Machines accepting a new Mew despite their broken (and unusable) state.
- 19847 20012 Fixed some instances of untranslated display of custom Pokémon names despite names or nickname being set, affecting translation as well.
- 17979 20336 Fixed Ore Sense failing to display colors, shapes or exact locations of ores seeked.
- Fixed general
config.yml
referring to some ores as Minecraft blocks instead of Pixelmon ones. - Fixed missing recipes for Stripped Ultra Jungle Log, Stripped Ultra Gingko Log, and Stripped Ultra Elm Log failing to create planks when placed in the crafting table.
- Fixed the Hourglass block items being placeable on the same block a player is standing.
- Fixed inconsistent 'horde
spelling in
spawning.yml`. - 20549 Fixed
undexable
Pokémon appearing in several API getter methods for obtaining random Pokémon. - Fixed a player crashed caused while shift-clicking a Pokémon in a PC on multiplayer while said Pokémon's palette is null.
- 20124 Fixed some statues being stuck in 'flying' mode animation.
- Fixed missing drops for Tatsugiri and Dudunsparce.
- 19210 Fixed sizes of Galarian Farfetch'd and Sirfetch'd compared to Kantonian Farfetch'd.
- 20303 Fixed NPC Traders failing to successfully trade with the player, causing an error instead.
- Fixed PokéDisplays not listing default forms properly.
- 19874 Fixed PokéDisplays occasionally failing to revert form or palette changes accurately.
- Fixed Legendary and Ultimate tier bosses drops failing to drop a Master Ball properly.
- 20358 Fixed Tapu Koko, Tapu Lele, Tapu Bulu and Tapu Fini failing to correctly appear as raid spawns.
- 20409 Fixed Psychic and Fairy type colors being reversed when used via the API.
- 20500 Fixed the size of the update tag on PokéStop entities to prevent players from getting kicked if too large.
- 20495 20545 Fixed underground spawning, restoring non-biome-specific spawn compatibility.
- Fixed Ultra Space portals failing to spawn.
- 19815 Fixed incompatibility with Resourceful Bees and Pixelmon concerning the US wood blocks - now registered.
- Fixed missing evolution items to item registry class, namely Black Augurite, Peat Block, Auspicious Armor and Malicious Armor.
- 20504 Fixed mega bosses failing to properly select players for spawning.
- Fixed Origin and Primal forms taking too long to transform when interacted with their respective item.
- Fixed Meltan eating anything and everything. Silly Meltan.
- 20612 Fixed Meltan evolution mechanic duplicating iron it was fed if total exceeded amount required.
- Fixed NPCs being knocked back by the NPC Editor wand in an effort to delete them.
- Fixed EXP Candies printing twice the success message in chat when used.
- 20420 Fixed NPC Trainers throwing an error or crashing when using a non-primary language locale such as English (CA) or Spanish (Mexico).
- Fixed Netherite Hammers not being fire resistant.
- 19187 19171 Fixed
allow-vanilla-mobs
config option overpopulating in Pokémon when used in conjunction with the spawn replacer datapack system. - Fixed Poképaste import error text log being untranslatable.
- 20539 Fixed missing clock recipes for Light Blue Clock, Light Gray Clock, Lime Clock and Magenta Clock.
- 20662 Fixed mispelling of BYG's Coniferous Forest Hills biome in several spawn sets.
- 20664 Fixed invalid biomes in Skiddo's spawn set.
- Fixed mispelling of Pixelmon's Ultra Jungle biome in Greninja's spawn set.
- Fixed Drowned Finneon and Remoraid using invalid biomes to denominate Pixelmon's Drowned World biomes.
- 20515 Fixed Quaxly's default spawn levels in its spawn set.
- 20444 Fixed Galarian Darmanitan's TR moveset missing Defense Curl and Bulk Up.
- Fixed hitboxes for Toedscool and Toedscruel.
- Fixed Farfetch'd, Sirfetch'd and Galarian Farfetch'd stat weight.
Battles:
- 20391 20594 Fixed Fake Out failing if used on any turn after Turn 1.
- 20622 Fixed Rage Fists power boost activating by direct damage being affected by hazard entries and weather damage.
- Fixed a player's Pokémon moving when switching into battle.
- Fixed Triple Arrows having a wrong PP, now defaulting to 16.
- Fixed a battle crashed caused by Laser Focus requiring an attack on the next turn.
- 20501 Fixed flinch condition checking for battle log events instead if the Pokémon had taken their turn.
- 20551 Fixed reserve-waiting moves such as Teleport and U-Turn locking a battle if used as the last viable Pokémon in party.
- 20229 Fixed Darmanitan's Zen-mode failing to activate if already below half health at the start of a battle.
- 20429 Fixed advanced AI 'cloning' a Pokémon in their party by switching back into it as if it were in reserve.
- Fixed mega-evolving Pokémon taking damage from the opponent when using a pivot move on the same turn as the mega-evolution.
- 20590 Fixed mega-evolving Pokémon dealing excessive damage to an opponent when mega-evolving on the same turn as the opponent's switch out.
- 20293 Fixed Pursuit hitting twice when the Pursuit-target is no longer on the field.
Translation:
- Updated Korean translation.
- Updated Traditional Chinese translation.
- Updated Simplified Chinese translation.
- Updated Spanish translation.
Datapack:
- Changed the moves section of the species JSON to no longer require all sections, discarding the need for empty arrays such as
"tmMoves2": []
.
Developer:
- Changed the distinct move list during startup for datapack loading for efficiency in time and memory when recomputing entity spawns or Pokémon calls for initialize methods.
"Rainbows, but a lack of kittens"
- 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:
- Added a setting to the
spawning.yml
config to disable dimensions for spawning,spawning-disabled-dimensions
. - Added Pride-themed Pokéstop model to celebrate Pride Month!
Pokémon:
- Added Toedscool.
- Added Toedscruel.
Sounds:
- Updated Pokémon sounds for Dusclops, Dusknoir, Duskull, Necrozma, Noibat, Noivern, Skarmory and Wooper.
- Added Pokémon sounds for Aegislash, Ariados, Bellibolt, Brambleghast, Bramblin, Brute Bonnet, Cosmog, Doublade, Drilbur, Excadrill, Frillish, Froslass, Grafaiai, Honedge, Marshtomp, Pidove, Pignite, Ponyta, Purugly, Reshiram, Shroodle, Spoink, Tadbulb, Toedscool, Toedscruel, Tyrunt and Varoom.
Structures:
- Updated structures for Spear Pillar A, Spear Pillar B, Sail Boat, Grass Gym Pokémart, Desert Pokémart, Savanna Pokémart and Taiga Pokémart.
Spawning:
- Added Toedscool to Mushroom, Redwoods, and Taigas during Day.
- Added Toedscruel to Mushroom, Redwoods, and Taigas during Day.
- Added group spawn chance with Toedscool to Toedscruel's spawning.
Changes:
- Removed deprecated debug commands:
/pixeldebug
,/psnapshot
,/reloadmoveanimations
,/reloadmoveanimation
and/pixeltp
.
Fixes:
- 20472 Fixed NPCTrainers crashing the server when trying to engage a player they have already fought this day when set to
once-a-day
oronce-a-mc-day
setting. - 20452 Fixed legendaries failing to spawn due to the spawning system calling threads wrongly.
- Fixed hordes failing to respect spawn weights.
- Fixed server crashes caused by Mystery Box usage on Arclight-powered servers.
- Fixed the Froggy Chair recipe.
- 20457 Fixed Darmanitan defaulting to 'normal' form when evolving Darumaka with an Ice Stone.
- 20052 Fixed
/checkspawn
for forage and rocksmash causing server errors in console. - Fixed flying values not accounting for higher or equal values to 0, causing logging errors.
- Fixed missing moves for fused Calyrex Ice Rider and Shadow Rider.
- 20479 Fixed Iron Thorns being undexable.
- Fixed
malePercentage
gender ratio for 133 Pokémon species, causing the number to be rounded down instead of adding a decimal. - Fixed Deerling's model floating slightly off the ground for all palettes.
Battles:
- 20451 Fixed Illusion failing when used in battle, causing errors in console.
Translation:
- Updated Korean translation.
- Updated Traditional Chinese translation.
Developer:
- Changed the legendary spawner to not call
.join()
on the spawning thread. - Changed the method
AbstractSpawner#getTrackedBlockCollection
to return a CompletableFuture as if called offthread it will return to the server thread and then return using a CompletableFuture.
"Smol update, rq"
- 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:
- Added Mystery Box.
- Added Mystery Box recipe, crafted with Netherite Scraps, a Nether Star, a Ruby and a Sapphire.
- Added Meltan and Ditto spawning to the Mystery Box.
- Added config options for Mystery Box spawning and behavior parameters in
spawning.yml
. - Added Meltan evolution method by feeding it Iron Nuggets.
- Added config options for Meltan evolution parameters.
- Added 2D 'Sprite' mode for all Pokémon entities.
- Added all unreleased Pokémon data, defaulting to 'Sprite' mode.
- Added support for
pixelmon:none
as an option to disable the model attempting to be rendered, defaulting to the sprite without throwing an error. - Added a config option for toggling sprite mode globally.
- Added
[F3 + X]
as a keybind for toggling sprite mode globally. - Added
undexable
species tag to prevent a specie from appearing in the PokéDex. - Added Auspicious Armor.
- Added Malicious Armor.
- Added Froggy Chair.
- Added Glass Table.
- Added Cluttered Box variant to Box.
- Added Egg Block:
- Landing on, walking on or breaking an Egg block starts a boss battle while in Ultraspace.
- Added config option for multiplying Pokémon spawn levels in Ultraspace (defaults to 2).
- Made all Pokémon in Ultraspace default to aggressive AI.
- Added Ultra Crater biome, which generates deathly, liquid-filled geysers,towering monoliths, and buried metal pipes that inflict poison, mining fatigue and blindness by chance upon mining.
- Added Ultra Plant biome, which generates Xurkitree-like features, large and imposing monoliths and aggressive lightening strikes on breaking light-producing blocks.
- Added a 40% chance of wild Pokémon starting a horde battle in Ultraspace.
- Added Nest feature to Ultraspace:
- Nests spawn most often at bedrock level.
- Nests spawn wild Pokémon Eggs protected by aggressive, high-level Boss Pokémon.
- Added egg hatching animation, complete with an original sound.
- Added group spawning feature, where Pokémon will only spawn as a combination of a bigger group, entirely supported by our spawning system.
- Added 17 Pixelmon-themed paintings via Minecraft's Painting item block.
- Added and revamped battle logging system and making it extendable.
- Added battle logging to the following actions: Select Move, Battle Message, Change Ability/Type, Damage Pokémon, Enter/Exit Dynamax, Global/Personal Status Add/Remove, Heal Pokémon, Mega, Player Command, Stat Change, Terrain/Weather Change, Turn Begin/End and Ultra Burst.
- Added player positions and dimensions to the start of battle logs.
- Added Poképaste URL to battle log headers.
- Added upload button to the import and export screens for the PokéWand, allowing you to export with Poképaste.
- Added a download button to the PokéWand, allowing you to download a Poképaste to the party.
- Added a config setting to
graphics.yml
for changing the radius of the "spectate battle" message. - Added config toggle to
graphics.yml
for rendering wild Pokémon while in battle, defaults to false. - Added config setting to
spawning.yml
for Ultra Space horde spawn chance. - Added config toggle to
graphics.yml
for Pixelmon particles visibility. - Added all Generation 9 TMs.
- Added Generation 9 Blank TM item.
- Added game starting pop-up tutorial to first join 'Send Out' Pokémon action.
- Added Avoidance potion effect, preventing aggressive Pokémon from targeting a player.
- Added Repel potion effect, preventing Pokémon from spawning on a player.
- Added achievements for entering Ultra Space.
- Added achievements for touching or getting sick from Ultra Cactus, Ultra Deep Kelp, Ultra Forest Flower and Ultra Crater pipes.
- Added all Pixelmon recipes to Minecraft's Recipe Book:
- Recipes for each type of Pokéball unlock once their Pokéball lid is obtained.
- Recipes for Poké, Great, Ultra, Nest, and Heal Pokéball lids unlock once any Apricorn is picked up.
- Recipes for additional Pokéball lids unlock once a Poké, Great, Ultra, Nest, or Heal Pokéball is crafted.
- Recipes for the Pokéball lids of Pokéballs from PLA unlock upon obtaining their crafting materials.
- Recipes for all PokéBall bases unlock once an ingot or plank is picked up.
- The rest of the recipes are unlocked from obtaining one of their ingredients or the recipe's output item but of a different color. Exceptions to this are the Red Chain and Porygon Pieces, which require all component items to unlock the recipe, and the Fossil Cleaner, which requires obtaining a Covered Fossil.
- Added config setting called
always-aggressive-dimension
which dictates which dimensions should spawn Pokémon that are always aggressive encounters and use aggressive AI in battle. - Added config setting called
horde-battle-dimensions
which dictates in which dimensions the 40% (configurable) chance of a horde battle spawning applies.
Pokémon:
- Added Lechonk.
- Added Oinkologne.
- Added Nacli.
- Added Naclistack.
- Added Garganacl.
- Added Smoliv.
- Added Dolliv.
- Added Arboliva.
- Added Iron Moth.
- Added Slither Wing.
- Added Iron Thorns.
- Added Glimmet.
- Added Glimmora.
- Added Paldean Tauros (Combat Breed).
- Added Paldean Tauros (Blaze Breed).
- Added Paldean Tauros (Aqua Breed).
Effects, Moves and Abilities:
- Effects:
- Added Tidy Up effect.
- Added Gigaton Hammer effect.
- Added Rage Fist effect.
- Added Last Respects move effect.
- Abilities:
- Added Seed Sower ability.
- Added Cud Chew ability.
- Added Commander ability.
- Added Guard Dog ability.
- Added Zero to Hero ability.
- Added Beads of Ruin ability.
- Added Sword of Ruin ability.
- Added Tablets of Ruin ability.
- Added Vessel of Ruin ability.
- Added Well-Baked Body ability.
- Added Wind Rider ability.
- Added Wind Power ability.
- Added Anger Shell ability.
- Added Armor Tail ability.
- Added Purifying Salt ability.
- Added Quark Drive ability.
- Added Protosynthesis ability.
- Added Orichalcum Pulse ability.
- Added Sharpness ability.
- Added Hadron Engine ability.
- Added Rocky Payload ability.
- Added Lingering Aroma ability.
- Added Toxic Debris ability.
- Added Supreme Overlord ability.
- Added Opportunist ability.
- Added Good as Gold ability.
- Added Costar ability.
- Added Mycelium Might ability.
- Moves:
- Added Salt Cure move.
- Added Mortal Spin move.
- Added Doodle move.
- Added Hyper Drill move.
- Added Raging Bull move.
- Added Population Bomb move.
- Added Double Shock move.
- Added Axe Kick move.
- Added Silk Trap move.
- Added Triple Dive move.
- Added Gigaton Hammer move.
- Added Armor Cannon move.
- Added Bitter Blade move.
- Added Tidy Up move.
- Added Revival Blessing move.
- Added Rage Fist move.
Sounds:
- Added accessibility narration through subtitles to all Pixelmon sounds.
- Added new Pokémon sounds: Annihilape, Armarouge, Capsakid, Cyclizar, Dodonzo, Dudunsparce, Espartha, Gholdengo, Gimmighoul, Glimmet, Glimmora, Hawlucha, Iron Jugulis, Iron Thorns, Klawf, Koraidon, Miraidon, Nymble, Scovillain, Spoink, Tatsugiri, Wiglett and Wugtrio.
Structures:
- Added Ghost Gym Town to Soul Sand Valley: Ghost Gym, Blacksmith, Church, Clutter A-I, Day Care, Elite A-F, Farm A-D, Grunt A-I, House A-D, Leader A-F, Pokémon Center, Poké Mart, Road A-D, Town Center A-B and TCG Shop.
- Added Ultra Crater Den A-F.
- Added Ultra Crater Grotto A-J.
- Added Ultra Crater Gray/Red/White Pipe A-R, a mineshaft-like pipe system full of loot to explore.
- Added Ultra Plant Den A-D.
- Added Ultra Plant Grotto A-B.
- Moved Fire Gym Town to Nether Wastes biome.
- Updated signs for visibility for all TCG and Day Care structures.
- Updated all relevant structures to the new Blockbench blocks.
From Suggestions:
- 30582 Added a new
MoonPhaseEvolution
condition ({ "moonPhase": 0, "evoConditionType": "moonPhase" }
) where moon phase values correspond with Minecraft's 8 tier phase system, thanks to a community suggestion! - Updated Pixelmon Spawner to support ability, boss, untradeable, uncatchable, unbattleable, ribbon and min/max level Pokémon specs.
- 31462 Added Generation 9 starters to the spawning pool. Check our wiki for biome specifics.
- Added Linking Cord evolutions to all Pokémon which evolve via trade while holding an item, thanks to our datapack author community!
- Added Linking Cord evolution to Shelmet if Karrablast or Escavalier are in party.
- Added Linking Cord evolution to Karrablast if Shelmet or Accelgor are in party.
Spawning:
- Added
byg:travertine
,byg:frost_magma
,byg:overgrown_crimson_blackstone
,minecraft:nether_wart_block
,byg:subzero_ash
,byg:subzero_crystal_block
, andbyg:budding_subzero_crystal
to "seesSkyexception". - Removed Ultra Space biomes from all normal categories except the "ultraspace" category.
- Updated Raids in Ultra Space to increase the difficulty of spawned Pokémon.
- Updated Legendary Pokémon in Ultra Space Raids to Necrozma, Solgaleo and Lunala only spawns.
- Added Yellow Concrete Powder, Orange Concrete and Yellow Concrete to valid Land blocks.
- Added fishing to Ultra Forest, Ultra Crater, Ultra Desert, Ultra Jungle, Ultra Plant, Ultra Deep Sea.
- Updated Water Loot for Ultra Space to add different rarities on Silver Bottle Caps and Evolution Stones.
- Added Cosmog to all Ultra Space biomes during Dawn and Day.
- Added Piplup Line Fishing to Freezing biomes with an anticondition of Freezing Forests and Freezing Mountains at All Times.
- Added Tadbulb Line to River, Swamps, and Lakes at All Times.
- Added Kingdra to Oceanic and Beaches with an anticondition of Freezing biomes during the Day.
- Added Buizel Line to River, Lakes, Stone Shore, Gravel Beach, and Rocky Beach at All Times.
- Added Stunfisk and Galarian Stunfisk to Swamps at All Times.
- Added Wooper Line to Swamps, River, and Lakes during Day and Dusk.
- Added Paldean Wooper Line to Swamps during Night and Dawn.
- Added Marshtomp and Swampert to Swamps at Night.
Changes:
- Changed the Ultraspace Teleporter to a consumable item for non-creative players.
- Changed the Drowned World Teleporter to a consumable item for non-creative players.
- Updated Boulder to new Block Bench model.
- Updated Small TV to new Block Bench model.
- Updated Large TV to new Block Bench model.
- Updated Old TV to new Block Bench model.
- Updated Frozen, Static and Fiery shrine to new Block Bench model.
- Updated Timespace Altar to new Block Bench model.
- Updated Arc Chalice to new Block Bench model.
- Updated Ilex Shrine to new Block Bench model.
- Updated Fan to new Block Bench model.
- Updated Mower to new Block Bench model.
- Updated Washing Machine to new Block Bench model.
- Updated End Table to new Block Bench model.
- Updated Umbrella to new Block Bench model.
- Updated Vending Machine to new Block Bench model.
- Updated Water Float to new Block Bench model.
- Updated Healer, PC and Trading Machine to new Block Bench model.
- Updated Rug to new Block Bench model.
- Updated Folding Chair, Cushion Chair and Arm Chair to new Block Bench model.
- Updated Clock to new Block Bench model.
- Updated Box to new Block Bench model.
- Updated Couch to new Block Bench model.
- Updated Gym Sign to new Block Bench model, capable of attaching to walls and ceilings.
- Removed Clothed Table, replaced by Glass Table.
- Added Silver Helmet to the Village Armorer's item pool.
- Added Ruby Hoe to the Village Toolsmith item pool.
- Updated battle crashing to crash at the first error instead of tolerating three consecutive errors and causing a battle lock-up.
- Updated
/tcg give
to support fullness quantity for TCG Jars. - Updated the PokéWand display to be wider and easier to review.
- Slowed down Pokémon movement AI, so they no longer run around everywhere, all the time.
- Disabled Pokémon AI movement for all foes and allies in battle.
- Updated battle rendering so wild Pokémon no longer render while in battle.
- Updated battle rendering to force opposing Pokémon to look at each other during battle.
- Updated battle camera to center and focus on the PokéBall when capturing in-battle.
- Updated battles to award the player with 10 seconds of Pokémon Avoidance potion effect on battle end.
- 13688 17981 Players can no longer be pushed while in battle.
- Updated
/wiki
command to return our Pixelmon wiki link when used with no arguments. - Updated PokéStop model. Valentine's Day is over!
- Updated Gracidea's collision and break speed to be consistent with vanilla flowers.
- Updated Gracidea's bonemeal spread chance to 5%.
- Updated Small, Large and Old TV to be turned on only if interacted with face front.
- Removed deprecated
/struc
command, use Minecraft's Structure Blocks instead. - 17230 Reduced the permission level from 4 (owner) to 2 (command block and functions) for the following commands:
dolegendaryspawn
,pokerestart
,pokebomb
,spawning
andstarter
. - Reduced the permission level from 4 (owner) to 3 (admin) for
pixeltp
. - Removed Anvil recipe, a block that is no longer needed to craft PokéBalls.
- Updated Relearner and Move Tutor screen FLASHBANG extra-bright screen to no longer being so bright.
- Updated the Love Sweet's recipe from using Brown Dye to using Cocoa Beans.
- Updated Card Compendium to yield all cards only when player is in creative.
- Fixed missing Christmas Spheal (online) sprite.
- Updated Cushion Chair recipes.
- Updated Relic items shopkeeper prices to reflect a more realistic value.
- Reduced memory allocation in our Pokémon spawning system.
- Added TM data to MissingNo.
Datapack
- Re-organized Rapid Spin to include speed in its datapack json.
- Added a new evolution condition that requires a Pokémon to use a move a certain amount of times before it may evolve.
- Added a new insideBattle evolution condition.
- Added a new 'WalkEvolution' condition for evolving a Pokémon after walking a set number of blocks.
- Added error log on datapack load if datapack contains an invalid evolution condition.
- Added the apricorns, armchairs, badgecases, cleanedfossils, flutes, folding_chairs, healers, pcs, rugs, trade_machines, umbrellas, uncleanedfossils, vendable, vending_machines, and water_floats tags.
Fixes:
- Fixed
/learnmove
failing to include all level-up moves despite them being in a specie's level learnset. - 18694 Fixed Trainer Cards not displaying another player's Pokémon when viewed.
- Fixed mispelled Pokémon targets in
/pokespawn
throwing an error when the target is shiny. - 20017 Fixed several typos causing 'gray' tinted blocks from being unrecognizable in the
betterspawnerconfig.json
. - 19878 Fixed Zygarde Cells being unplaceable next to each other while placed on non-grass or wood blocks.
- Fixed Hisuian Zorua failing to spawn in raids due to a typo.
- 18843 Fixed Kyogre failing to summon rain with thunderstorm when using Rain Dance as an external move.
- Fixed an error caused by special palette statues after its palette having been deleted.
- 19974 Fixed Sacred Ash healing all Pokémon in the party when used, instead of only healing the fainted ones.
- 19625 Fixed Wings and EV Juices from being used infinitely, causing no changes to stats yet applying to capped Pokémon.
- 19350 Fixed Catch Combos failing to apply a shiny multiplier when not used in conjunction with a Shiny Lure.
- 20072 Fixed party form evolution condition not accounting for translated specie names.
- Fixed Pixelmon item blocks failing to produce placement sounds.
- 19282 Fixed Pokémon evolving into themselves.
- Fixed aggressive AI upon Pokémon targeting a player for battle.
- Fixed timid AI upon Pokémon running away from a player.
- Fixed the Ultraspace Teleporter and Drowned World Teleporter placing you inside blocks when underground.
- Fixed particles failing to display when battle attack animations are played.
- Fixed the Pokéball use event not being cancelable.
- Fixed the inventory being changed on the client separate to the server on Pokéball use.
- 19841 Fixed Silk Touch failing to drop Fossil Blocks when mining a Fossil Block.
- 20234 Fixed external move Cut causing wood log duplication upon usage.
- Fixed Fighting type erroneously requiring 3 Oak Planks instead of 2.
- 19792 Fixed client crash caused by bee replacement logic.
- 20094 Fixed Pokémon failing to evolve after a battle upon reaching the required level.
- 20075 Fixed a client crash when shift-clicking a Pokémon into the PC.
- Fixed Pokémon spawning in the air at low Y levels or on superflat worlds.
- 20239 Fixed Doctor John using Nurse Joy lines when healing a party from Pokérus.
- Fixed the PokéWand's multi-line text editor so it's functional again.
- Fixed the PokéWand's Showdown importer and exporter.
- Fixed the PokéWand's
[Save]
button in the importer and exporter. - 20066 Fixed the
unequippable
NBT tag failing to prevent items from being stored in armor slots. - 19566 Fixed missing Zeraora sound.
- Fixed players' movement staying frozen after warp plate usage.
- 19387 Fixed the NPC Editor disallowing the renaming of NPCs through backspace usage.
- 20089 Fixed Raid catching failing when a player carries more than 2 stacks of the same type of PokéBall in their inventory.
- Fixed Pokémon AI spinning on corners of blocks and at the end of their paths. No more spinny bois
- Fixed aggressive AI failing to correctly target players.
- Fixed sent out Pokémon walking away from their Trainer.
- Fixed aggression specie stats failing to apply properly.
- 17026 Fixed Flygon's missing facial features.
- 19856 Fixed duplication of multi-blocks when destroyed by TNT.
- Fixed
/pokedelete
command deleting the wrong Pokémon and causing a crash. - Fixed
/pokespawn
failing to summon MissingNo when specified as a spec. - Fixed missing texture reference for Pika Mug.
- Fixed missing container capability to the Fridge. Clicking while uncrouched will now open the block's container.
- Fixed missing dual model Egg model on Crocalor's head mesh.
- Fixed Ultra Space Sandstone failing to craft into its respective Chiseled, Cut, and Smooth sandstone variants.
- Fixed Ultra Space Stone failing to craft into its respective Chiseled and Polished stone variants.
- Fixed Gracidea failing to spread when bonemealed on grass.
- Fixed Gracidea not dropping when mined directly.
- 18693 Fixed Online Spheal (Christmas 2021) not appearing in the
[ESC]
cosmetics menu. - 18704 Fixed in-progress Cloning Machines dropping an Aluminum Ingot isntead of a Cloning Machine.
- 18808 Fixed Shaymin Gracidea apply effect failing to display leaf particles.
- 19951 Fixed Arc Chalice plate placement failing to display type plate particles.
- Fixed Timespace Altar activation event failing to display summoning circle particles.
- Fixed Pokéball models not resetting on client resource pack reload.
- Fixed the Pixelmon Spawner improperly converting boss mode ratio.
- 20131 Fixed Picket Fences from being un-waterloggable.
- Fixed time requirement truncation on Day Care wait time in datapacks, now using minutes and not hours.
- 20257 Fixed Charm items causing errors in multiplayer consoles upon usage.
- 19980 Fixed Ultra Desert Chiseled Sandstone using the incorrect side panel texture.
- Fixed Fossil Displays failing to drop their displayed Fossil upon block break.
- 20000 Fixed TCG Card HP failing to render while in inventory.
- Fixed player successfully using PP increasing items on moves that have their max PP equal or lower to their base PP.
- 19966 19967 19968 Fixed incorrectly typed sound files.
- 20338 Fixed PokéGift's recipe.
- Fixed PC storage failing due to a rare error.
- 20294 Fixed Cloning Machine and Reassembly Unit spawn rates not respecting the shiny rate set in config.
- Fixed PokéEditor fields breaking when changing the species field.
- 19392 Fixed Pixelmon blocks failing to place on Snow blocks.
- Fixed the camera remaining stuck in one spot while watching a Pokémon evolve.
- Fixed Pokémon freezing into place or moving extremely slowly when swimming.
- Fixed TCG cards rendering with excessive shadow effects.
- 15833 Fixed Zacian, Zamazenta and Eternatus accepting Dynamax Candies instead of failing.
- 17059 Fixed Ghost-type Pokémon being immune to damage by vanilla potions.
- 18065 Item Finder now finds items as the name implies.
- Fixed dens in chunk limits spawning Legendaries and then immediately despawning.
- 19647 Fixed Pokémon ruled by 'three perfect IVs' failing to apply iv-related specs properly, now ignoring the rule if an iv-spec is specified.
- Fixed happiness-related specs failing to apply when used via
/pokegive
and other similar commands. - Fixed
/pokebomb
andpokespawn
failing to respect the world they are executing in, fixing their usage with Minecraft's/execute
. - Fixed Lopunny's model missing its neck piece.
- Fixed join dev message failing to send on the first time joining a server.
- Fixed the Fractured Pillar's recipe crafting into a Temple Pillar.
- Fixed vanilla loot tables failing to use PokéBall IDs properly.
- Fixed dual model animation sequencing counting incorrectly when switching between animation types.
- Fixed Christmas Spheal (Online) missing sprite.
- 20337 Fixed Hitmontop walking backwards.
- Fixed White Stripe Basculin evolving into either gender instead of maintaining its gender post-evolution.
- Fixed missing Generation 9 TMs to all new Generation 9 Pokémon.
- Fixed insanely high flight height for several Pokémon that were launching far too high in the sky on prompt.
- Fixed erroneous egg cycle entries for Sneasel, Wyrdeer, Kleavor, Ursaluna, Sneasler and Overqwil.
- Fixed NPCs failing to be targeted by Minecraft's
/kill
command. - Fixed NPCs failed to be harmed or killed by creative-mode players.
- Fixed a memory issue caused by the navigator stored in the Server World for block changes, changing the Entity's navigator to ensure that entities have a "permanent" navigator, preventing further memory leaks.
- Fixed a memory issue caused by the structure cache being removed improperly while using the correct dimension key for structure checks.
Battles:
- 20093 Fixed revived Pokémon crashing raid battles.
- Fixed Triple Axel erroneously messaging that its target avoided the attack if one of its three hits missed the target.
- 20099 Fixed Ditto failing to use Transform when used in a raid battle.
- 18676 Fixed extreme weathers not activating properly when Kyogre or Groudon use Primal Reversion.
- Fixed the
TeamSelectScreen
from being prematurely closed by hitting [ESC]. - 20082 Fixed Shed Tail producing battle errors upon use.
- Fixed Thermal Exchange failing to boost attack power as expected.
- 20235 Fixed Aegislash's stats failing to properly switch when changing stances.
- Fixed missing battle message which communicates when Water-typed attacks fail under harsh sunlight, and its counterpart for Fire-typed attacks failing under heavy rain.
- Fixed Anchor Shot failing to target adjacent foes and allies.
- 20236 Fixed certain abilities gained on mega evolve or primal reversion activating twice.
- Fixed mega evolutions failing to activate whilst in a double battle.
- 20077 Fixed mega evolutions failing to activate in PVP battles if rules are set to 'Raise to Cap' or 'Team Preview'.
- Fixed Shell Trap failing to damage all adjacent opponents upon use.
- 20229 Fixed Darmanitan failing to access Zen Mode while in battle under the right HP conditions.
- 20174 Fixed Misty Terrain emulating Electric Terrain when used by AI.
- 20099 Fixed Ditto being unable to use Transform during a raid battle.
- 20277 Fixed Earth Eater healing the opponent instead of the user.
- Fixed Rayquaza failing to use properly Air Lock.
- Fixed switching or fleeing in battle erroneously taking into account the Pokémon in the last slot.
- Fixed the battle camera's movement being excessively jittery and moving around the battle scene.
- Fixed the battle camera's render vanishing in-battle Pokémon when scrolling out far enough for them to be out of render distance.
- 19509 Fixed Filter and Tinted Lens failing to apply 8x weakness or 8x resistance, respectively.
- Fixed White Herb triggering if stats had been lowered despite being unusable.
- Fixed a Pokémon which is mega evolving as it KO's an opponent failing to update its model while in battle.
- Fixed a Pokémon which is mega evolving as it gets killed failing to correctly phase over to the next turn, resulting in the opponent attacking the next sent out Pokémon with the same move that KO'd the failed mega.
- Fixed Ice Face activating at the end of the turn.
- 20209 Fixed a battle waiting bug caused by attempting to catch a high-velocity flying Pokémon while very high off the ground.
- Fixed guaranteed critical hit moves such as Flower Trick and Wicked Blow failing to bypass Reflect.
- 20270 Fixed shiny Zoroark particles persisting after Illusion when morphing into a non-shiny opponent.
- Fixed freezing status effect conditions in battle.
- Fixed multiple hit effects causing a battle crash.
- Fixed Burning Jealousy not targeting both adjacent foes as a spread move should.
- 16276 Fixed Shedinja's maximum health increasing erroneously upon dynamaxing (for realsies this time).
- Fixed a packet-loss issue causing the player to be stuck in waiting when using Teleport after the user has spam-clicked or used an auto-clicker.
- Fixed an issue where the client's Pokémon HP displays out of sync with the server due to concurrent modification of the variable when animating the health bar.
Translation:
- Updated French translation.
- Updated German translation.
- Updated Korean translation.
- Updated Spanish translation.
- Updated Simplified Chinese translation.
- Updated Traditional Chinese translation.
Developer:
- Replaced old Meltan evolution condition and specification requirement, going from ores to nuggets and
OresSmeltedRequirement
toNuggetsFedRequirement
respectively. - Added MysteryBoxEvent superclass, containing various sub-events for handling Mystery Boxes:
- Added
MysteryBoxEvent.Activate
, fired whenever a player right-clicks a Mystery Box. Can modify the input item, or be cancelled to prevent activation. - Added
MysteryBoxEvent.Open.Pre
, fired whenever a Mystery Box is about to open. Can callsetCanOpen
or be cancelled to prevent the box from opening. - Added
MysteryBoxEvent.Open.Post
, fired whenever a Mystery Box has just opened. Can modify the updated values of the Mystery Box via this event. - Added
MysteryBoxEvent.Feed
, fired whenever a Netherite Scrap is about to be fed to a Mystery Box. Can be cancelled to prevent the scrap from being fed to it. - Added
MysteryBoxEvent.ComparatorPower
, fired whenever a Mystery Box updates its comparator output strength. - Added
MysteryBoxEvent.Tick.Start
, fired at the start of a Mystery Box's tick. Can be cancelled to prevent further tick logic from being processed. - Added
MysteryBoxEvent.Tick.TrySpawn
, fired whenever a Mystery Box is about to try to spawn a Pokémon. Can be cancelled to prevent this attempt. - Added
MysteryBoxEvent.Tick.DoSpawn
, fired just before a Mystery Box is going to spawn a Pokémon. Can be cancelled to prevent this, or the Pokémon being spawned can be modified. - Added
MysteryBoxEvent.Tick.AboutToClose
, fired just before a Mystery Box is about to close. Can be cancelled to keep the Mystery Box open. - Reduced access on
AbstractClientEntity#evoStage
so it's only accessible via getters & setters as it now has a data-sync. - Added
EggBlockEvent.SelectSpecies
withPre
andPost
sub events for modifying the species selected to be spawned by a specific Pokemon Egg. - Added
EggBlockEvent.BeginFight
withPre
andPost
sub events for modifying the entity that begins the battle from Pokemon Eggs. - Added
Ability#modifyStatsOther
andAbility#modifyStatsCancellableOther
. - Adds the
EnforcedReviveTask
andEnforcedRevivePacket
. - Adds the
EnforcedReviveMode
BattleScreen. - Deprecated
Pokemon#getPixelmonWrapper
because it tries to get the PixelmonWrapper from an entity instead of the player participant, Pokemon, or battle controller. - Changed
RaidActionPacket
to send item count separately from the ItemStack. - Added the
SyncSpectatorRangePacket
so developers can set the range a client can see the spectate battle message from. - Added the
AttackEvent.Use
event to additional instances where a move misses or fails to work. - Added getters to the PokemonBuilder variables.
- Added an error if the Import/Export logic finds a MissingNo.
- Added error line to stacktrace for showdown errors.
- Created the
PokemonRetrievedEvent
for retrieving a Pokemon (its entity) and returning it to its Pokeball. - Created the
WalkedPokemonListener
which uses thePokemonSendOut
andPokemonRetrieved
events to track how far a player walks with a Pokemon sent out. - Added particle information to entities and the Transform packet.
- Added packet logging option behind the environment variable
pixelmon.log_packets
for startup flags,-Dpixelmon.log_packets=true
. - Added client-side "battle mode" changing logging behind the environment variable
pixelmon.client.log_battle_mode
for startup flags,-Dpixelmon.client.log_battle_mode=true
. - Reduced allocations in storage manager
getAllCachedStorages
by setting the side of the list to the correct amount. - Removed exception usage in
NumberHelper
parse logic to improve memory usage and make its reading easier, now usingOptionalInt
,OptionalFloat
andOptionalLong
to reduce unnecessary boxing and unboxing.
"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.
Additions:
- 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]
.
Pokémon:
- Added Wiglett.
- Added Wugtrio.
- Added Orthworm.
- Added Tadbulb.
- Added Bellibolt.
- Added Frigibax.
- Added Arctibax.
- Added Baxcalibur.
Structures:
- 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.
Sounds:
- Added Frigibax, Arctibax, Baxcalibur and Orthworm voices.
- Updated Necrozma, Reshiram and Wooper voices.
Spawning:
- 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.
Changes:
- 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.
Datapack
- Added Model Predicate system for improved loading of multi-model Pokémon.
- Updated
flyingModelLocator
to the new system, collapsing it withmodelLocator
intomodelLocators
. 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
andpixelmon:always
as starting model predicates.
Fixes:
- 15596 Fixed badgeList error on
PixelmonItems#getBadgeList(Element type)
. - 18018 Fixed Shulker Box-stored items failing to display in the battle UI under Bag.
- 19566 Fixed missing sound event errors on console startup, failing to load sounds for Popplio, Terrakion, Zeraora and Eevee.
- 19802 Fixed Shopkeepers failing to yield items if player inventory is full.
- 19807 Fixed client crash when walking through Pixelmon Grass.
- 19820 Fixed Hammer area damage permanently deleting items stored in destroyed Shulker Boxes.
- 19900 Fixed DittoxDitto breeding results displaying improperly in the Day Care UI.
- 19979 Fixed Cooking Pots failing to reduce durability of Flint and Steel.
- 19982 Fixed Az' Floette failing to spawn due to a typo in its spawning file.
- 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.
Battles:
- 18018 Fixed battle Bag options not detecting Shulker Box content, including Pokéballs.
- 18768 Fixed missing AI on Pokémon spawns after fleeing and being fished out.
- 19783 Fixed Charizard Mega Y transforming into Charizard Mega X when switching back in.
- 19785 Fixed Mewtwo Mega Y transforming into Mewtwo Mega X when switching back in.
- 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.
Translation:
- Updated Korean translation.
- Updated Traditional Chinese translation.
- Updated Spanish translation.
Developer:
- 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
is the class used for this purpose, and it takes various functional interfaces for each of the functions required. - Added an identifier string to
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 inBagItemEvent.Identifiers
. BagItemEvent.SelectItem.Pre
now has a method to set the item selected. This will be null if virtual items were sent viaBagItemEvent.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
andNPCTraderEvent.AcceptTrade.Post
for improvement on Trader NPC display and handling. - Added
NPCTutorEvent.CollectLearnableMoves.Pre
andNPCTutorEvent.CollectLearnableMoves.Post
. - Added
TeachMoveEvent.CanLearnMove
,TeachMoveEvent.MoveLearnt.Pre
andTeachMoveEvent.MoveLearnt.Post
. - Updated
PokemonBuilder#copy
to properly copy egg status of a Pokémon. - Added option to prevent the
[ESC]
key from closing theDialog
screen. - Added
SpawnPixelmonEntityForBattleEvent
to decouple battle starting logic from thePixelmonEntity
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 byPokemon#getPixelmonWrapperFromPlayerEntity
. - Deprecated
PartyStorage#getFirstAblePokemon
, replaced byPartyStorage#getFirstBattleReadyPokemon()
. - Extended
BattleQuery#BattleQuery
,BattleQueryPlayer#BattleQueryPlayer
,PlayerParticipant#PlayerParticipant
andPlayerParticipant#initialize
. - Extended
RaidPixelmonParticipant#RaidPixelmonParticipant
,RaidGovernor#init
andRaidSettings#init
. - Extended
WildPixelmonParticipant#WildPixelmonParticipant
andWildPixelmonParticipant#init
.