PokemonStorage#forEach
method, and implementations for each kind of storage."1.20.2 (Alpha 9)"
pixelmon:open_trade
interaction result, which opens the trade UI with the two specs specified.pixelmon:relearn_move
interaction result. (An example can be found in the move relearner NPC preset.)pixelmon:appraise_rod
interaction result. (An example can be found in the old_fisherman NPC preset.)pixelmon:open_shop
interaction result. (An example can be found in shopkeeper NPC presets.)pixelmon:open_dialogue
interaction result (An example can be found in shopkeeper NPC presets.)pixelmon:open_paged_dialogue
interaction result (An example can be found in chatting NPC presets.)pixelmon:close_dialogue
interaction event (An example can be found in shopkeeper NPC presets.)pixelmon:close_shop
interaction eventpixelmon:shop_purchase_item
interaction eventpixelmon:shop_sell_item
interaction event:pixelmon:tutor_move
interaction result. (An example can be found in the move tutor NPC presets.)GimmighoulCoinCondition
Evolution Condition.pixelmon:right_click
event to be the default (instead of left-click) for the event of an NPC's Interaction.pixelmon:true
condition to be the default condition for the condition of an NPC's Interaction.pokemonEditorExtraColorModeEnabled
value which is by default set to true
. Turning this off will remove the extra colors added to some of the widgets.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./resetpokestats
.getNickname
and getDisplayName
that return a String.getFormattedNickname
, and getFormattedDisplayName
to getNickname
and getDisplayName
.GimmighoulCoinRequirement
for PokeSpecs.GimmighoulStats
to keep track of how many Gimmighoul Coins a Gimmighoul has amassed.InteractionGimmighoulCoins
which is what allows a Pokémon using the GimmighoulCoinCondition
to evolve to be given Gimmighoul Coins.party
value to the NPC Builder.party
balue to the NPCPreset.Builder.uuid
option to the NPC Builder.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.EntityBattleParticipant
with a builder.BattleViewer
interface for entities/players that are watching a battle.BattleController#broadcastPacket
which sends a packet to all BattleViwers.BattleController#getBattleType
.BattleController#getSpectators
.BattleController#broadcastPacket
.BattleController#canSpawnEntity
.BattleController#postSpawnEntity
.spectator
field in the SpectateEvent (and sub-classes) to be private.SpectateEvent#getSpectator
.target
field in SpectateEvent.StartSpectate is now private.SpectateEvent.StartSpectate#getTarget
and SpectateEvent.StartSpectate#setTarget
.ParticipantType
enum.BattleParticipant#isWild
BattleParticipant#isPlayer
BattleParticipant#isTrainer
BattleParticipant#isRaid
BattleParticipant#entity
(protected variable).BattleParticipant#waiting
and BattleParticipant#setWait
.BattleParticipant#clearMovement
hasMovePokemonReserve
method implementation from the sub-classes to the BattleParticipant class (reducing code, and fixing some bugs where it was different in different implementations).BattleParticipant#isOnField
for checking if a PixelmonWrapper is on the battle fieldstartBattle
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.BattleParticipant#releasePokemon
to spawn the Pokémon for a PixelmonWrapper.switchPokemon
logic from the sub classes into BattleParticipant, again fixing some bugs and reducing duplicate code.BattleParticipant#sendMessage
to BattleParticipant#sendPacket
to make it clearer what that method is doing.AirSaver#lock
.AirSaver#unlock
.PlayerPartyStorage#battle(ServerPlayer)
PlayerPartyStorage#battle(ServerPlayer, BattleType)
PlayerPartyStorage#battle(ServerPlayer, BattleRules)
BooleanBattleProperty
class for easily creating simple battle boolean based battle properties.spawn_entities
battle property.BattleController#spectate
.BattleController#removeSpectator
.PartyStorage#getAll
that takes a Predicate.RelearnerFactory#builder
for creating a relearner interaction.TutorFactory#builder
for creating a Move Tutor (or Transfer Tutor) interaction.ShopFactory
and ShopBuilder
API: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.EmptyInteractionEvent
for creating interaction events that don't need to subscribe to any events but instead need to be called externally.EntityProperties#DEFAULT
to a function EntityProperties#defaultProperties()
and added a child version EntityProperties#defaultChildProperties()
.NPCPreset.Builder#noParty
.TextureProvider#resource
to make it less verbose to use.Ability.ignoreStatusTypeImmunity
.Pokemon#setToOppositeGender
.DropDownWidget#setMaxVisibleOptions
.Pokerus#setCured
and Pokerus#setInfected
.Pokerus#getNameOfStrainWithInfected
that returns a component with the infected/cured status plus the strain of the Pokérus.UpdatePlayerPokemonPacket
now gets the Pokémon's slot via its UUID, instead of via the Pokémon object.IVStore#isEveryStatHyperTrained
.ResourceLocationHelper#getItemStackTextureLocation
and ResourceLocationHelper#getItemTextureLocation
.Attack#getPP
and Attack#setPP
.Attack#getPPLevel
and Attack#setPPLevel
.SliderWidget
, which extends ForgeSlider.ExtraStats#getValue
and ExtraStats#setValue
.ExtraStats#getValueName
, which returns a component with a better name for the value of the Extra Stat.PixelmonRendereringHelper
class for rendering the models of Pokémon.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.PixelmonClientData#getHealthColor
to be static and take the current health and max health as parameters.Pokemon#setMintNature
to not call Pokemon#setNature
.BattleStatsType#getClosestChatFormattingColorForPokePasteStat
.ScrollableListWidget#getWidgets
.RibbonButton#getRibbon
.DYNAMAX_LEVELS
, set in PokeCheckerScreen, which holds the values for the colors of the Dynamax Levels, public.PokemonBuilder#getNature
to PokemonBuilder#getBaseNature
.Pokemon#getPokerus
.BattleStatsType#getAbbreviatedTranslationName
.Gender#getTranslatedName
and Gender#getTranslatedNameCapitalized
.RibbonRegistry#sort
, to sort RibbonTypes alphabetically.Pokemon#isNearlyIdenticalTo
.ScrollableListWidget#scrollWidgetUponMouseClicked
, ScrollableListWidget#getMouseYTranslatedToWidgetY
, and ScrollableListWidget#getElementY
.TabCompleteTranslateableTextField#getShowDropDown
, TabCompleteTranslateableTextField#setShowDropDown
, TabCompleteTranslateableTextField#getDropDownOptionAmount
, TabCompleteTranslateableTextField#setDropDownOptionAmount
, TabCompleteTranslateableTextField#getHeightPerDropDownOption
, TabCompleteTranslateableTextField#setHeightPerDropDownOption
, TabCompleteTranslateableTextField#getDropDownOptions
, TabCompleteTranslateableTextField#setFocused
, and more stuff for just internal rendering.Moves#getGenerationsTMTRTheImmutableAttackIsIn
to return a Component describing what generations a TM or TR exists in.StringHelper#buildStringForConsecutiveNumbers
that returns a sequence of numbers as a string in format "1-4, 6-7, 9-11, 13".IVStore#setIVsToRandomValues
to set the current IVStore object's IVs to new random valuesPokerus#getNameOfStrainWithInfectedToString
.PixelmonRenderingHelper#getAllAnimations
.AbstractClientEntity#toStringComponent
.Pokemon#makeEggAndKeepCurrentLevel
.StringHelper#capitalizeAllWords
.ScrollableListWidget#getInnerHeightOfLayoutElementWidget
.AbstractClientEntity#setOffGroundTime(int)
.GenderProperties#getRandomPalette
./resetpokestats
."1.20.2 (Alpha 8)"
control + z
.control + y
.pc_sorting_logic_type
registry for adding custom sorting type logic./pc
./pc
.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.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.
max-distance-players-can-move-away-from-battles
value.min-distance-before-warning-vignette
value.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)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
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
PokemonStorage#open
.
PokemonStorage#encode
and PokemonStorage#decode
.
PlayerCloseStorageEvent
.
PlayerPartyStorage#getOpenStorage
and PlayerPartyStorage#setOpenStorage
.
PokemonStorage#getFile
.
FlatFileStorageSaveAdapter
which has a function to convert the PokemonStorage to a File in the same way.NBTStorageSaveAdapter
.PokemonStorage#uuid
.
PokemonStorage#getUniqueId
.StorageType
registry and changed ClientStorageManager#storedPCs
.
PokemonStorage#getStorageType
returning a ResourceLocation
representing the key of the type in the registry.ClientInitializePCPacket
to ClientInitializeStoragePacket
.
StorageType
allowing us to initialize any storage from the server to the client's cache.PokemonStorage#initialize
.
NetworkHelper
calls anywhere anymore.StorageProxy#initializePCForPlayer
and StorageManager#initializePCForPlayer
.
PokemonStorage#initialize
method and are abstract from PCs specifically.PokemonStorage#shouldSendUpdates
to be protected and added getters/setters for it.PokemonStorage#notifyListener
.
PokemonStorage#notifyListeners
to keep that function clean. Except it appears that it was mistaken and was used erroneously in a bunch of places.PokemonStorage#notifyListeners
.PokemonStorage#doWithoutSendingUpdates
.PokemonStorage#retrieveAll
.
PartyStorage
specifically and was lazily being used on the abstract level.StorageProxy#invalidateCache
and StorageManager#invalidateCache
for removing a PokemonStorage from the cached storages.
PokemonStorage#track
, PokemonStorage#untrack
, PokemonStorage#isTracking
, and PokemonStorage#trackingPlayers
.
IStatStore#canSet
.IStatStore#reset
.PlayerHelper#registerPermission
to bypass the unnecessary GatherPermissionsEvent.EffectBase#canHitMultipleTargets
to support moves that are conditionally single or multi-target.ProtectVariation#canBeRemoved
to allow new Protect variants to resist Feint.ProtectVariation#protectVariationBlocksAttack
to allow new Protect variations to filter what they block.ProtectVariation#applyProtectionEffect
to allow new Protect variations to add an effect when blocking attacks."1.20.2 (Alpha 7)"
pixelmon:npc
.
pokebag_blacklist
tag located at data/pixelmon/tags/items/pokebag_blacklist.json
.{ "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": [] }
data/pixelmon/tags/items/pokebag_blacklist.json
."eligible_for_sky_battles",
in their species json file can join a Sky Battle."eligible_for_sky_battles_with_levitate",
in their species json file can join a Sky Battle if they have the Levitate ability.isboss
and areyouaboss
spec to only check if the Pokémon is specifically a boss Pokémon./wiki
command to specify that the biome for Pokémon that spawn everywhere underground, is underground.droppped-item-beams-enabled
to disable the dropped item beam in graphics.yml
.'walksonwater'
property immediately dismounting the player if the player attempted to ride them on water.'undexable'
./pokebattle
command not providing tab completion for nearby NPC Trainers.canSeeSky
ignoring seesSkyException
blocks.RequestCloseEditingPlayerPacket
accessing the logical client from the server./pokestats
accessing the logical client from the server./pokebomb
.Evolution#doEvolution(PixelmonEntity, String)
in favor of Evolution#doEvolution(Pokemon, String)
Evolution#finishedEvolving(PixelmonEntity)
in favor of Evolution#finishedEvolving(Pokemon)
EvolutionQuery(PixelmonEntity, Evolution, String)
in favor of EvolutionQuery(Pokemon, Evolution, String)
EvolutionQuery(PixelmonEntity, Stats)
in favor of EvolutionQuery(Pokemon, Stats)
EvoCondition#passes(PixelmonEntity)
in favor of EvoCondition#passes#(Pokemon)
TickHandlerBase#onTick
now returns a boolean value for whether the tick handler should be removed or not, changing from returning void.PixelmonRegistry#battleEndCause
.
@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); }); } }
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());
Dialogue
API and the events.BattleBuilder#logResult
which will force the log to be printed at the end of the battle."Bark Bark Bark"
/pokebomb
./pokestats
accessing the logical client from the server.SpawnPixelmonEntityForBattleEvent.Pre
and SpawnPixelmonEntityForBattleEvent.Post
when switching Pokémon in battle."1.20.2 (Alpha 6)"
partyFaintRespawn
gamerule (disabled by default, and can be edited from the World Creation singleplayer screen):
keepInventory
gamerule is disabled the player will drop the items in their inventory.config.yml
:server-discord
, discord-invite
and server-name
, defaulting to blank - if the invite is invalid, the button will not show.[F3+']
, showing both bones on Pokémon models and their name.elf
palette option to Christmas ball logic!- 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.
"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" } ] } ]
"model": { "model": "pixelmon:hat/hat.pqc", "texture": "pixelmon:hat/texture.png", "scale": 0.9, "offsets": [ 0.0, 0.8, 0.8 ] }
"scale": [2.0, 1.0, 1.0]
)."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 ] }
"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 ] } } ] } ]
christmas
and elf
palettes with Christmas Hat attachment."particle": { "probability": 0.1, "options": { "type": "pixelmon:shiny", "diameter": 2.5, "lifetime": 30, "tint": { "red": 255, "green": 215, "blue": 0, "alpha": 255 } } }
ingot
tag.ingot
tag.pixelmon.interaction.abilitycapsule
and pixelmon.interaction.abilitypatch
into pixelmon.interaction.abilityitem
.itemconfig.yml
.multiplePhotosOfSamePokemon
, allowAmuletCoin
, and amuletCoinMultiplier
to itemconfig.yml
.bottleCapLevel
to itemconfig.yml
, which defaults to 50.minimum-distance-between-spawns
config setting to 5 blocks, down from 15 blocks .minimum-distance-from-centre
config setting to 5 blocks, down from 18 blocks.maximum-distance-from-centre
config setting to 30 blocks, down from 64 blocks.walksonwater
or walksonlava
tag being unable to walk on that fluid.random shiny
sometimes failing to give a shiny with non-shiny palette listings./checkspawns
use backwards compatibility with un-hyphenated yet hyphenated Pokémon names.Ability#modifyConfusionDamage
and HeldItem#modifyConfusionDamage
.PixelmonWrapper
class to the PixelmonEntity
class.PixelmonWrapper#attackAlly(I)V
for simplifying the selection of attacking moves.BattleTestHelper#setupDoubleBattleBuilder
to allow double battles.BattleController#takeFullTurn
to do a turn for each active pokemon instead of always 2.PokemonBuilder#ability
not creating a new instance of the ability given.BattleTestClass
annotation.PixelmonUnitTest
class has been deleted as it is no longer needed.UnitTestRegistry
class has been renamed to BattleTestRegistry
.UnitTest
annotation has been renamed to BattleTest
.BattleTest
annotation and changed it to instead just use the method name.BattleTestHelper
with useful functions for creating No-Op wild battle participants, quickly starting frozen battles, and skipping through frozen battle's ticks.BattleController#doTurnLogic
and BattleController#takeFullTurn
for manipulating frozen battles with a bit more ease.PokemonBuilder#ability(Lcom/pixelmonmod/api/registry/RegistryValue;)Lcom/pixelmonmod/pixelmon/api/pokemon/PokemonBuilder
overload.PokemonBuilder#moves([Lcom/pixelmonmod/api/registry/RegistryValue;)Lcom/pixelmonmod/pixelmon/api/pokemon/PokemonBuilder
overload.PokemonBuilder#species(Lcom/pixelmonmod/api/registry/RegistryValue;)Lcom/pixelmonmod/pixelmon/api/pokemon/PokemonBuilder
overload.BattleTestHelper#createDefaultPokemon
for creating a Pokemon with the default settings (level 100, serious nature, max IVs, max happiness, in a PokéBall).PixelmonWrapper#attackOpponent(I)V
for simplifying the selection of attacking moves.PixelmonWrapper#attackSelf(I)V
for simplifying the selection of attacking moves.PartyFaintRespawnEvent
for canceling the above mechanic in given situations.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
, and EVYields#multiply
.EVGainEvent
and EVGainEvent.Double
for handling when EVs are gained.BattleController#turn
to actionIndex
to better separate it from battleTurn
.EffectBase#modifyTargets
.StatusBase#stopsEvolution
.PixelmonWrapper#canEvolve
.Ability#preventsRedirection
.Ability#modifyConfusionDamage
and HeldItem#modifyConfusionDamage
.PixelmonSpecies#TAPU_FINI
being a MissingNo."Splash!"
/pokekill
to become unresponsive./wiki
and /checkspawns
failing to work on Treasures of Ruin Pokémon due to their hyphenated name format./locate
flooding water-based structures such as the Magikarp Boat.OutOfMemoryError
server crashes caused in attack animations using Leap Forward by disabling their use case./battletests
failing due to Shedinja, Focus Sash, Clangorous Soulblaze, Overworld weather and Form change tests, fixing relevant bugs associated with their use cases."1.20.2 (Alpha 6)"
/statuespawn <spec>
command which spawns in a statute with a given spec.cel
shaderblack and white
shaderrainbow
shaderfriendship
: 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
allow-t-r-reuse
to false in the config for game parity.BattleHoverGoal
, replacing the FlyingPersistentGoal
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.FlyingPersistentGoal
to now guard against invalid flyRefreshRateSpeed
values in flying parameters.HeldItemChangedEvent
into
HeldItemChangedEvent.Pre
, which is ancelable and can modify item.HeldItemChangedEvent.Post
, which cannot be canceled or modify item and fires after item is set.WalkingModelPredicate
."There are DOZENS of us, DOZENS!"
/setraid
command