Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.

The Pixelmon Modpack 9.2.9

Changelog

Additions:

  • Added the Gimmighoul Coin.
  • Added a display in the summary page to show how many coins you've given Gimmighoul.
  • Added new recipe types: pixelmon:crafting_shaped_tag, pixelmon:shapeless_tag and pixelmon:crafting_poke_ball.
  • Added Slippery Ice Block.
  • Added Slippery Ice Block recipe.

Rework:

  • Completely reworked the Pokémon Editor screen, which is now revamped to use the same UI as the new NPC Editor. There are currently 2 pages, the first with 2 tabs, the 2nd inner page with 5 tabs. Most of the functionality is the same, as most of the changes are new features that allow for editing values of the Pokémon that could not previously be edited with the Pokémon Editor. -Using the Pokémon Editor opens up the Pokémon Team tab, with an additional tab as the PokéPaste tab.

Pokémon:

  • Added Maschiff.
  • Added Mabosstiff.
  • Added Brute Bonnet.
  • Added Iron Jugulis.
  • Added Iron Treads.
  • Added Iron Hands.
  • Added Iron Valiant.
  • Added Farigiraf.

Moves, Battle Items and Abilities:

  • Added new tests.

Spawning:

  • Wild Pokémon encounters after cooking curry now function as in the mainline games
  • Several new spawning conditions have been added so that different flavors can have distinct spawns.
  • Most Pokémon species can now be found via curry in their normal spawn biomes, though rarities have been adjusted from standard spawning values.
  • Costumed Pikachu now have a proper method of obtainment, with each form associated with a different curry flavor: Rockstar - Spicy Curry, Belle - Dry Curry, Popstar - Sweet Curry, Ph D. - Bitter Curry, and Libre - Sour Curry.

Datapack:

  • Added PreventRedirection move effect to allow datapack moves to ignore redirection effects.
  • Added additional checks to prevent datapacks overlapping between servers and worlds.
  • Added CheckedStrikes effect to replace PopulationBomb, TripleAxel, and TripleKick.
  • Added individual move flags, "AdjacentAll", "OtherSide", "YourSide", "BothSides", "All" and "1 Random".
  • Updated Magic Coat and Magic Bounce to use datapackable move flags "reflectable".
  • Updated moving riding offsets so they can now be used for land-based movement.
  • Added the pixelmon:open_trade interaction result, which opens the trade UI with the two specs specified.
  • Added the pixelmon:relearn_move interaction result. (An example can be found in the move relearner NPC preset.)
  • Added pixelmon:appraise_rod interaction result. (An example can be found in the old_fisherman NPC preset.)
  • Added pixelmon:open_shop interaction result. (An example can be found in shopkeeper NPC presets.)
  • Added pixelmon:open_dialogue interaction result (An example can be found in shopkeeper NPC presets.)
  • Added pixelmon:open_paged_dialogue interaction result (An example can be found in chatting NPC presets.)
  • Added pixelmon:close_dialogue interaction event (An example can be found in shopkeeper NPC presets.)
  • Added pixelmon:close_shop interaction event
  • Added pixelmon:shop_purchase_item interaction event
  • Added pixelmon:shop_sell_item interaction event:
  • Added the pixelmon:tutor_move interaction result. (An example can be found in the move tutor NPC presets.)
  • Added a confirmation button to the party select screen when the desired amount of Pokémon are selected.
  • Added a right-click interaction to the party select screen to allow the user to open the poke checker screen when deciding which Pokémon to select.
  • Removed the old trade list configuration as it's now in the interaction result config.
  • Added the GimmighoulCoinCondition Evolution Condition.

Changes:

  • Modified PokéGifts to provide a copy of the Pokémon, preventing linking issues.
  • Added Dynamax Level, Hyper Training, Egg Steps, Temp Ability, extra Stats, bonus Stats, persistent Data and Ribbons to PokemonBuilder.
  • Temporary forms no longer linger on NPCs if the battle is aborted mid-evolution.
  • Removed the Picket Fence.
  • Updated Raid Dens to give conduit effects, allowing water-breathing.
  • Added a party selector to NPC Presets.
  • Updated NPCs where left-clicking an NPC with a Pokémon Editor now allows you to edit the party of said NPC.
  • Updated the order of presets on the NPC preset screen to be ordered alphabetically.
  • Updated the searching of NPC presets to use contain checks rather than startsWith.
  • Improved async loading and saving so concurrency issues don't cause data overwriting.
  • Updated the opening --NPC Creator Presets-- screen of the NPC Editor to fit larger preset file names and be centered to the screen even at full screen window sizes.
  • Updated the pixelmon:right_click event to be the default (instead of left-click) for the event of an NPC's Interaction.
  • Updated the pixelmon:true condition to be the default condition for the condition of an NPC's Interaction.
  • Changed the chat message that notifies a player that their NPC preset was saved to be formatted identical to the screenshot chat message
  • Fixed it so that the result of an NPC's Interaction will not execute when the Pokémon Editor is held in the hand the player used to interact with the NPC.
  • The title data and author data of the PokéPaste that is automatically made for an NPC Preset were switched and that has been fixed.
  • Fixed the missing empty line between different Pokémon when creating the PokéPaste.
  • Updated the Illuminate ability to Generation 9 effect.

Keybinds:

  • Added a new Pixelmon section for keybinds, splitting all mod keybinds into Pixelmon, Pixelmon Battles, and Pixelmon PC.
  • Added a visual indicator as to whether the player's cursor is hovering over an item in the keybind menu.
  • Added several keybinds to make it possible to navigate a battle screen without requiring a mouse.

Config:

  • In the Graphics Config there is now a pokemonEditorExtraColorModeEnabled value which is by default set to true. Turning this off will remove the extra colors added to some of the widgets.
  • Alternatively, you can press F1 to disable it temporarily.
  • What Extra Color Mode affects:
  • The text of the Current HP slider changes between green, yellow, and red, depending on the Pokémon's current HP relative to it's max HP.
  • The Dynamax slider follows the same color scheme as seen in a Pokémon's Summary page. The text is white at a Dynamax level of 0, and changes between cyan at a Dynamax level of 1 up to hot pink at a Dynamax level of 10.
  • The text for all of the Pokémon's moves are change to the same color as the type they are (i.e. Fire Blast becomes orange, Water Pulse becomes blue, etc.)
  • The text in the Multi-Line Edit Box on the Import/Export tabs will become colored, similar to on the https://pokepast.es/ website.
  • The stats that the Pokémon's nature affects are colored blue for the increased stat and red for the decreased stat.
  • The text of the species of the Pokémon is set to the color of the Pokémon's primary type.
  • curry-encounter-chance an array of values representing the chance of an encounter after cooking curry of each class. This is a 1/X chance
  • curry-battle whether a curry encounter should start a battle. If false, the Pokémon will directly join the player's party instead.
  • curry-nature-sync whether a curry encounter Pokémon's nature will match the flavor of the curry used to spawn it.
  • curry-ball-ordered-types a list of PokéBall types that curry encounters can use if joining the party directly. Balls higher on this list will be used first if multiple are available.
  • iv-boost whether higher rated curry will provide an IV boost to encountered Pokémon
  • curry-rating-cutoffs the values used to determine different curry classes. The theoretical max is 173, though 150 is the highest reasonably expected.

Fixes:

  • Fixed spawning threads locking up sometimes (randomly) from getChunk calls being made from a non-server thread.
  • Fixed checkspawns block requirement for Headbutt from "anything but wool" to "logs".
  • Fixed the screen changing too quickly, causing a NPE in the findConnection methods.
  • 21556 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 and getDisplayName that return a String.
  • Updated getFormattedNickname, and getFormattedDisplayName to getNickname and getDisplayName.
  • Updated all rendering to use components not Strings.
  • Added the GimmighoulCoinRequirement for PokeSpecs.
  • Added the GimmighoulStats to keep track of how many Gimmighoul Coins a Gimmighoul has amassed.
  • Adds the InteractionGimmighoulCoins which is what allows a Pokémon using the GimmighoulCoinCondition to evolve to be given Gimmighoul Coins.
  • Added a fullbright option to ShaderParameters.
  • Added terrastralization shader.
  • Added a party value to the NPC Builder.
  • Added a party balue to the NPCPreset.Builder.
  • Added a uuid option to the NPC Builder.
  • Added null checks in the NPC Builder methods to result in friendlier errors for developers.
  • Added the TeamSupplier interface and registry.
  • This is necessary because the Mojang registries load before our old-style Pixelmon ones therefore, when the Presets were attempting to load teams for the NPCs they were unable to parse them and validate them as the species data did not yet exist.
  • There are three types of TeamSupplier by default, pixelmon:empty- an empty team provided, pixelmon:poke_paste- takes a PokePaste URL and converts it into a team and pixelmon:spec- takes a list of specs and converts them into a team.
  • Added EntityBattleParticipant with a builder.
  • This means any entity (vanilla mobs included) can now be used to represent a trainer in battle
  • The builder allows you to modify how the participant will operate (ai mode, boss tier, etc).
  • Added the BattleViewer interface for entities/players that are watching a battle.
  • The spectator class now inherits the BattleViewer interface.
  • Added BattleController#broadcastPacket which sends a packet to all BattleViwers.
  • Added BattleController#getBattleType.
  • Added BattleController#getSpectators.
  • Added BattleController#broadcastPacket.
  • Added BattleController#canSpawnEntity.
  • Added BattleController#postSpawnEntity.
  • Changed the spectator field in the SpectateEvent (and sub-classes) to be private.
  • You can now access the player spectating a battle via SpectateEvent#getSpectator.
  • The target field in SpectateEvent.StartSpectate is now private.
  • You can access, and modify, the spectator's target using SpectateEvent.StartSpectate#getTarget and SpectateEvent.StartSpectate#setTarget.
  • Removed ParticipantType enum.
  • Replaced with the following methods:
  • BattleParticipant#isWild
  • BattleParticipant#isPlayer
  • BattleParticipant#isTrainer
  • BattleParticipant#isRaid
  • Simplified a lot of logic in the BattleParticipant classes.
  • All battle participants now have an entity through the BattleParticipant class
  • BattleParticipant#entity (protected variable).
  • The wait boolean has been made protected, and should be accessed via BattleParticipant#waiting and BattleParticipant#setWait.
  • Added a method to reduce duplicated code for clearing the movement properties of the BattleParticipant's entity.
  • BattleParticipant#clearMovement
  • Moved the hasMovePokemonReserve method implementation from the sub-classes to the BattleParticipant class (reducing code, and fixing some bugs where it was different in different implementations).
  • Added BattleParticipant#isOnField for checking if a PixelmonWrapper is on the battle field
  • Changed the method startBattle to preBattleChecks as this was causing some issues with trainer participants.
  • startBattle is now only overridden in the PlayerParticipant for sending the battle to the client to start it.
  • Added BattleParticipant#releasePokemon to spawn the Pokémon for a PixelmonWrapper.
  • This should be how all Pokémon are spawned in battle as this has the checks for if the entity can spawn.
  • Moved the switchPokemon logic from the sub classes into BattleParticipant, again fixing some bugs and reducing duplicate code.
  • Changed BattleParticipant#sendMessage to BattleParticipant#sendPacket to make it clearer what that method is doing.
  • The AirSaver class has been changed to a single static registry and is no longer something you have to implement yourself where you want to use it.
  • To add an air saver to a player you now use AirSaver#lock.
  • To remove an air saver from a palyer you use AirSaver#unlock.
  • You can now start battles with players via the PlayerPartyStorage.
  • The following methods were added:
  • PlayerPartyStorage#battle(ServerPlayer)
  • PlayerPartyStorage#battle(ServerPlayer, BattleType)
  • PlayerPartyStorage#battle(ServerPlayer, BattleRules)
  • All of the above will start a battle between the owner of the storage and the player specified.
  • Added the BooleanBattleProperty class for easily creating simple battle boolean based battle properties.
  • Added the spawn_entities battle property.
  • This accepts true or false, and when set to false will prevent entities spawning for that battle.
  • The default is true.
  • Simplified the battle starting & spectating packets to be a single packet each.
  • Added BattleController#spectate.
  • Added BattleController#removeSpectator.
  • Fixed Pokédex method updating the value in the wrong Pokédex.
  • Added a PartyStorage#getAll that takes a Predicate.
  • Added checks to PartySelectionScreen API to make constructing it easier.
  • Added RelearnerFactory#builder for creating a relearner interaction.
  • Added TutorFactory#builder for creating a Move Tutor (or Transfer Tutor) interaction.
  • Adds ShopFactory and ShopBuilder API:
  • This allows you to utilise the shopkeeper/vending machine shop UI.
  • Refactored the ShopkeeperEvent to ShopEvent and now fires with the vending machine.
  • ShopEvent now has both getBlockPos and getEntity referring to either the block position of the vending machine, or the entity (most commonly NPC), the shop was opened from.
  • Both of which can be null as neither an entity, or a block, are required for opening a shop.
  • Added Precondition checks to the Dialogue Builder API to make for friendlier errors when forgetting specific calls.
  • Added EmptyInteractionEvent for creating interaction events that don't need to subscribe to any events but instead need to be called externally.
  • Changed the constant EntityProperties#DEFAULT to a function EntityProperties#defaultProperties() and added a child version EntityProperties#defaultChildProperties().
  • Added NPCPreset.Builder#noParty.
  • Added overloads for TextureProvider#resource to make it less verbose to use.
  • Renamed getEffectiveTypes to modifyEffectiveTypes.
  • Added Ability.ignoreStatusTypeImmunity.
  • Added Ability flags to support various effects.
  • Added move flag ‘gravity’ for moves disabled by the Gravity global status.
  • Added Pokemon#setToOppositeGender.
  • Added DropDownWidget#setMaxVisibleOptions.
  • Added Pokerus#setCured and Pokerus#setInfected.
  • Added Pokerus#getNameOfStrainWithInfected that returns a component with the infected/cured status plus the strain of the Pokérus.
  • Pressing the F3 key with the Pokémon Editor open while in a Dev environment will render a cyan background where the GridLayout can place the widgets added to it along with a pink background to display the space taken up by the widget.
  • UpdatePlayerPokemonPacket now gets the Pokémon's slot via its UUID, instead of via the Pokémon object.
  • RibbonButtons will now use the widget's alpha, instead of always being fully visible.
  • Added IVStore#isEveryStatHyperTrained.
  • Added static functions ResourceLocationHelper#getItemStackTextureLocation and ResourceLocationHelper#getItemTextureLocation.
  • Added Attack#getPP and Attack#setPP.
  • Added Attack#getPPLevel and Attack#setPPLevel.
  • Created the SliderWidget, which extends ForgeSlider.
  • Added ExtraStats#getValue and ExtraStats#setValue.
  • Added ExtraStats#getValueName, which returns a component with a better name for the value of the Extra Stat.
  • Created the PixelmonRendereringHelper class for rendering the models of Pokémon.
  • Added a static method StatusType#getColor that takes a StatusType as a parameter and returns the color of the Pokémon type (Element#getColor) most related to that status type.
  • Changed PixelmonClientData#getHealthColor to be static and take the current health and max health as parameters.
  • Changed Pokemon#setMintNature to not call Pokemon#setNature.
  • Added BattleStatsType#getClosestChatFormattingColorForPokePasteStat.
  • Added ScrollableListWidget#getWidgets.
  • Added RibbonButton#getRibbon.
  • Changed the static constant class variable DYNAMAX_LEVELS, set in PokeCheckerScreen, which holds the values for the colors of the Dynamax Levels, public.
  • Changed PokemonBuilder#getNature to PokemonBuilder#getBaseNature.
  • Added Pokemon#getPokerus.
  • Added BattleStatsType#getAbbreviatedTranslationName.
  • Added Gender#getTranslatedName and Gender#getTranslatedNameCapitalized.
  • Added RibbonRegistry#sort, to sort RibbonTypes alphabetically.
  • Added Pokemon#isNearlyIdenticalTo.
  • Added ScrollableListWidget#scrollWidgetUponMouseClicked, ScrollableListWidget#getMouseYTranslatedToWidgetY, and ScrollableListWidget#getElementY.
  • Added TabCompleteTranslateableTextField#getShowDropDown, TabCompleteTranslateableTextField#setShowDropDown, TabCompleteTranslateableTextField#getDropDownOptionAmount, TabCompleteTranslateableTextField#setDropDownOptionAmount, TabCompleteTranslateableTextField#getHeightPerDropDownOption, TabCompleteTranslateableTextField#setHeightPerDropDownOption, TabCompleteTranslateableTextField#getDropDownOptions, TabCompleteTranslateableTextField#setFocused, and more stuff for just internal rendering.
  • Added Moves#getGenerationsTMTRTheImmutableAttackIsIn to return a Component describing what generations a TM or TR exists in.
  • Added StringHelper#buildStringForConsecutiveNumbers that returns a sequence of numbers as a string in format "1-4, 6-7, 9-11, 13".
  • Added IVStore#setIVsToRandomValues to set the current IVStore object's IVs to new random values
  • Added Pokerus#getNameOfStrainWithInfectedToString.
  • Added PixelmonRenderingHelper#getAllAnimations.
  • Added AbstractClientEntity#toStringComponent.
  • Added Pokemon#makeEggAndKeepCurrentLevel.
  • Added StringHelper#capitalizeAllWords.
  • Added ScrollableListWidget#getInnerHeightOfLayoutElementWidget.
  • Added AbstractClientEntity#setOffGroundTime(int).
  • Added GenderProperties#getRandomPalette.

Files

The Pixelmon Modpack 9.2.9.mrpack(19.85 MiB) Primary Download

Project members

Pixelmon

Owner

Details

Licensed ARR
Published a year ago
Updated 12 days ago