"1.21.1 (9.3.1)"
/pokeevolve
could cause the client to crash during the evolution sequence."1.21.1 (9.3.0)"
data/tcg/tcg/card/
를 참조하세요.pixelmon:raid_boss
컨텍스트를 레이드 보스 처치 상호작용 이벤트에 추가했습니다.pixelmon/pixelmon/raid/ally
- 레이드에 함께 등장할 수 있는 NPC 동료를 제어합니다.pixelmon/pixelmon/raid/spawn
- 레이드 포켓몬의 스폰을 제어합니다./pokeheal
및 /poketest
명령어가 이제 Brigadier를 사용하여 전체 플레이어 선택자 호환이 가능해졌습니다./setraid
명령어가 업데이트되었습니다.raiddrops.json
데이터팩 파일이 제거되었습니다.raids.json
데이터팩 파일이 제거되었습니다.PixelmonStatisticsRegistry
및 TCGStatisticsRegistry
를 추가했습니다.
PixelmonStatisticsPixelmonListener
, PixelmonStatisticsMinecraftListener
, TCGStatisticsTCGListener
, TCGStatisticsMinecraftListener
에서 값이 부여됩니다.AttackEvent.DamageDealt
- 포켓몬에게 실제로 입힌 피해량 정보를 포함합니다. AttackEvent.Damage
는 계산된 예상 피해량 정보를 담습니다.PokedexOpenedEvent
- 플레이어가 포켓몬 도감을 열 때 호출됩니다.ServerPokedexPacket
에 추가되었습니다.ShearInteractionEvent
:ShearInteractionEvent(AbstractBaseEntity pixelmon, Player player, InteractionHand hand, ItemStack itemStack)
ShearInteraction
에 추가되었습니다.WildPixelmonAttackEvent
- 야생 포켓몬이 플레이어에게 먼저 배틀을 걸 때 발생하는 이벤트입니다:WildPixelmonAttackEvent(Player player, PlayerParticipant playerParticipant, Pokemon playersFirstPokemon, Mob wildPixelmonEntity, BattleParticipant wildPixelmonParticipant)
ExecuteActionGoal#attackPlayer
에 구현되었습니다.CaughtTransformedDittoEvent
- 포켓몬이 포획된 후 그것이 메타몽으로 변환되도록 결정되는 경우 발생합니다.CaughtTransformedDittoEvent(Player player, PixelmonEntity previousPixelmon, PixelmonEntity ditto, EmptyPokeBallEntity emptyPokeBallEntity, boolean transformToDitto, boolean isMeltan)
EggMovesetEvent
- 알의 기술이 정해진 후 실제로 포켓몬에게 기술이 부여되기 전에 발생합니다.EggMovesetEvent(Player player, Pokemon motherPokemon, Pokemon fatherPokemon, List motherEggMoves, List fatherEggMoves, List fathersTMHMTutorMoves, List levelupMoves, List lvl1Moves, List masterAttackList)
MirrorHerbEggMoveEvent
- 포켓몬이 탁아소에서 파트너의 알기술을 배워 기술을 익힐 때 사용됩니다.public MirrorHerbEggMoveEvent(Player player, Pokemon mirrorHerbPokemon, Pokemon partnerPokemon, int movesetIndex, Attack newAttack)
FriendshipChangedEvent
- 포켓몬의 친밀도가 증가하거나 감소하기 직전에 발생합니다.FriendshipChangedEvent(Pokemon pokemon, int previousFriendshipAmount, int intendedFriendshipAmount)
RandomEggEvent
- 알에서 무작위 포켓몬이 생성될 때 발생합니다.RandomEggEvent(Pokemon parentOne, Pokemon parentTwo, Pokemon pokemonInEgg)
CardDrawnEvent
- 플레이어가 덱에서 카드를 뽑을 때 발생합니다.CardDrawnEvent(GameServerState gameServerState, Player player, int numberOfCardsDrawn, List deck, List hand)
EnergyAttachedEvent
- TCG 배틀 중 에너지 카드를 액티브 또는 벤치 포켓몬에게 부착할 때 발생합니다.EnergyAttachedEvent(PlayerServerState player, PokemonCardState pokemonCardState, ImmutableCard card, CommonCardState cardState)
SynchronizeNatureEvent
- 동기화(Synchronize) 특성이 야생 포켓몬의 성격을 리롤하게 만들 때 발생합니다.SynchronizeNatureEvent(PixelmonWrapper synchronizeUser, PixelmonWrapper synchronizeTarget, Nature nature)
WildPixelmonHeldItemRerolledEvent
- 주변 플레이어의 포켓몬이 슈퍼 럭(Super Luck) 특성을 지니고 있을 때 야생 포켓몬이 소지 아이템을 리롤할 경우 발생합니다.WildPixelmonHeldItemRerolledEvent(ServerPlayer serverPlayer, PlayerPartyStorage party, ItemStack heldItem, SpawnAction spawnAction)
InfuserEvent
- 주입기에서 아이템이 생성되기 전과 후에 발생하는 이벤트입니다. 현재는 InfuserEvent.CreateItem Pre
및 Post
만 사용됩니다.HealTeamEvent
- 플레이어의 모든 포켓몬이 회복될 때 발생합니다. 이는 /pokeheal
, 침대에서 수면, 다른 플레이어와의 배틀 시작 등, 기존의 HealerEvent
로 커버되지 않는 상황을 포함합니다.HealTeamEvent(UUID playerUUID)
ExperienceEvent
에 경험치를 주는 포켓몬 정보를 포함할 수 있는 새 생성자를 추가했습니다.ExperienceGainEvent(@Nullable BattleController controller, Pokemon pokemon, Pokemon faintedPokemon, int experience, ExperienceGainType type)
ExperienceEvent#getFaintedPokemon
를 추가했습니다.ItemInteractionEvent
를 사전(Pre) 및 사후(Post) 이벤트로 리팩토링했습니다.PassivePoisonEvent
가 중복을 줄이도록 리팩토링되었습니다.EVsGainedEvent
:Item
하위 클래스에 새 생성자 추가: Item(Pokemon pokemon, EVStore evStore, EVYields evYields, ItemStack itemStack)
InteractionPerilousSoup
에 추가했습니다.EVGainEvent
:faintedPokemon
클래스 변수 및 EVGainEvent#getFaintedPokemon
메서드를 추가했습니다.EVGainEvent(Pokemon pokemon, Pokemon faintedPokemon, EVYields originalEVYields, EVYields evYields)
를 추가하고 기존 생성자를 폐기(deprecated)했습니다.DoubleYieldEvent
및 관련 Pre/Post 하위 클래스들을 이에 맞게 업데이트했습니다.FishingEvent.Reel
:isItem()
및 getItemStack()
메서드를 추가했습니다.CurryFinishedEvent
:public CurryFinishedEvent(@Nullable ServerPlayer player, EnumCurryRating rating, EnumCurryKey curryKey, EnumBerryFlavor cookingFlavor)
를 폐기하고
새로운 생성자 public CurryFinishedEvent(@Nullable ServerPlayer player, int quality, EnumCurryRating rating, EnumCurryKey curryKey, EnumBerryFlavor cookingFlavor)
로 대체하여 품질(점수)을 통계로 추적할 수 있게 했습니다.PokemonBase#isJumpPalette
, isJumpPaletteForMagikarp
, isJumpPaletteForSlugma
, isJumpPaletteForSpheal
, isJumpPaletteForShellos
, isJumpPaletteForClobbopus
메서드를 추가했습니다.PixelmonPalettes
에 누락된 팔레트를 추가했습니다:
BattleController#endBattle
내의 코드를 기반으로 applyEndOfBattleEffectsAndRestoreItems
를 생성하고 해당 코드로 리팩토링했습니다.
Experience#awardExp
내 코드에서 Experience#hasExpAll
을 분리해 생성했습니다.PlayerControlledMovement#updatePosition
에서 #getCameraTarget
가 null을 반환할 때 발생하는 NPE를 수정했습니다.
getCameraTarget()
에 @Nullable
을 명시했습니다.BikeEntity
에서 Entity#move(MoverType, Vec3)
를 오버라이드하여 BikeEntity#awardStatsForRiding(Entity, Vec3)
를 실행할 수 있도록 했습니다.
AbstractMovesEntity
에서는 awardStatsForRidingPixelmon
을 실행하도록 했습니다.InteractionTechnicalMove
및 InteractionTM
에서 isUnableToLearn(PixelmonEntity, Player, ItemStack, ImmutableAttack)
메서드를 생성하고 해당 조건 검사를 기존 processInteract
에서 분리했습니다.PixelmonBlockTags
에 기존 데이터 태그에 대한 정적 태그를 추가했습니다:
PokerusSpreader
를 리팩토링하여 가독성을 높이고 동작 방식을 명확히 했습니다:
spreadToParty(PlayerParticipant participant)
forEachAttackVerifyIfAttackerCanReceivePokerus(BattleEndEvent event, List<UUID> winners)
forEachSuccessfulAttackOnInfectedOpponentAttemptToSpreadPokerusToAttacker(AttackAction attackAction, Map<UUID, List<UUID>> analyzedMap, UUID receiverUUID)
spread(PokerusStrain donorType, PixelmonWrapper wrapper, PlayerPartyStorage storage)
EVYields#getTotalCount
를 추가했습니다.
IncreaseEVItem#adjustEVs
가 항상 1 EV만 EVsGainedEvent
에 전달하던 문제를 수정했습니다 (비타민 사용 시에도).DecreaseEVBerryItem#berryEVs(PixelmonEntity)
는 폐기되었고, berryEVs(PixelmonEntity, ItemStack)
로 대체되었습니다.EVStore#getPerilousSoupEVYield
를 추가했습니다.EVStore#subtractEVsOfType(BattleStatsType, int, int)
를 추가하고, berryEVs(BattleStatsType)
의 로직을 이 메서드를 사용하도록 대체했습니다.EVStore#gainEVYields(EVYields)
를 추가하여 실제 적용된 EV를 반환하도록 했습니다.
calculateEVYieldsWithinMaximumLimits(EVYields)
를 사용하여 실제 적용 가능한 EV를 계산합니다.ExecuteActionGoal
관련 코드를 리팩토링했습니다:
ExecuteActionGoal#tick
내 대부분의 로직이 다음 메서드로 분리되었습니다:moveSkill(LivingEntity)
attackPlayer(LivingEntity)
attackPixelmonEntity(LivingEntity)
WarpPlateEvent
를 트리거하지 않도록 했습니다.Pokemon#isParadox
및 FormTags#isParadox
를 추가하여 새로운 PARADOX
태그를 지원합니다.ResourceWithFallback
을 사용하도록 변경했습니다.CardWelcomeScreen
을 제거했습니다.PokemonStorage#getAllNonNull
를 추가하여 저장소에 있는 null이 아닌 모든 포켓몬의 배열을 반환합니다. (중복 기술 설명 문장도 포함됨)PixelmonWrapper
가 이제 Pokemon
을 상속하도록 변경되었습니다.Lcom/pixelmonmod/pixelmon/api/pokemon/PokemonBuilder;build(Ljava/util/function/Supplier;)Lcom/pixelmonmod/pixelmon/api/pokemon/Pokemon;
PixelmonWrapper
가 이제 포켓몬의 복사본을 만들도록 변경되었습니다.PixelmonWrapper#writeChangesToOriginalPokemon
를 추가했습니다.PokemonLink
, DelegateLink
, WrapperLink
를 제거했습니다.HeldItem#postProcessDamagingAttackSubstitute
를 추가했습니다.deprecated
처리했습니다.HeldItem#onStatusRemoved
및 HeldItem#onGlobalStatusRemoved
를 추가했습니다.HeldItem#preventsEffectsOfWeather
를 추가했습니다.HeldItem#onItemLost
를 추가했습니다.HeldItem#cantMiss
가 이제 두 번째 인자로 PixelmonWrapper
를 받도록 변경되었습니다."1.20.2 (Alpha 10)"
size
Pokémon spec.growth_data
in forms.crafted_gingko_blocks
to crafted_ginkgo_blocks
tag.chest_boats
tag.mineable/axe
tag so they can be mined faster with axes.PokemonStorage#forEach
method, and implementations for each kind of storage."There are DOZENS of us, DOZENS!"
/setraid
command