Class PartyStorage
java.lang.Object
com.pixelmonmod.pixelmon.api.storage.PokemonStorage
com.pixelmonmod.pixelmon.api.storage.PartyStorage
- Direct Known Subclasses:
NPCPartyStorage
,PlayerPartyStorage
,TrainerPartyStorage
-
Field Summary
Modifier and TypeFieldDescriptionprotected StoragePosition
static final int
protected Pokemon[]
static final int
protected Pokemon[]
protected Color
Fields inherited from class com.pixelmonmod.pixelmon.api.storage.PokemonStorage
hasChanged, shouldSendUpdates, storageType, trackingPlayers, uuid
-
Constructor Summary
ConstructorDescriptionPartyStorage
(UUID uuid) PartyStorage
(net.minecraft.resources.ResourceLocation storageType, UUID uuid) -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Clears all the pokemon from the storagevoid
copyToTemporaryMode
(Color color) Puts the player's party into temporary mode using a deep copy of their existing party (so any changes made won't impact their original party Pokémon)int
void
decode
(net.minecraft.network.FriendlyByteBuf buf) Reads the storage from the given buffervoid
encode
(net.minecraft.network.FriendlyByteBuf buffer) Writes the storage to the given buffervoid
Enters the party into temporary mode using a default RED colourvoid
enterTemporaryMode
(Color color) Enters the party into the temporary mode with 0 Pokes You can add to their temp mode party usingPokemonStorage.add(Pokemon)
@Nullable Pokemon
@Nullable Pokemon
get
(int slot) get
(StoragePosition position) Gets the pokemon at the given position in the storage
Will return null if there is no pokemon at the given positionPokemon[]
getAll()
Gets a array of all pokemon within this storage.Same asPokemonStorage.getAll()
, but forStoragePosition
s.getAndSendOutFirstAblePokemon
(net.minecraft.world.entity.Entity parent) int
Alternative to getFirstAblePokemon() that checks if the Pokémon can battle instead of checking if the Pokémon's entity can battle.Gets the first position where there is no pokemon in the storageint
int
Pokemon[]
Gets the non-temp mode party (only useful if in temp mode)getPosition
(Pokemon pokemon) Gets the position of the given pokemon in the storage
Will return null if the pokemon is not in the storageint
int
getTeam()
Gets a list of all the Pokémon in the player's party that are not eggsGets a list of all the Pokémon in the player's party that match the given conditionvoid
heal()
boolean
Checks if the player's party is in "temporary" mode (i.e.isOldGen
(net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level> dimension) iterator()
int
maxSize()
CompletableFuture<? extends PartyStorage>
readFromNBT
(net.minecraft.nbt.CompoundTag nbt) Reads the storage from the given NBT tagvoid
sendCacheToPlayer
(net.minecraft.server.level.ServerPlayer player) Sends the Pokemon to the client for editingvoid
void
set
(StoragePosition position, Pokemon pokemon) Sets the given pokemon at the given position in the storagevoid
setInTemporaryMode
(boolean tempMode, Color color, Pokemon... pokemons) void
setInTemporaryModeClient
(boolean tempMode, Color color) void
setOriginal
(int slot, Pokemon pokemon) A bypass method for setting the original party when the player's party is in temporary modevoid
setOriginal
(StoragePosition position, Pokemon pokemon) A bypass method for setting the original party when the player's party is in temporary modevoid
setTempPartyColor
(Color tempPartyColor) void
swap
(int slot1, int slot2) void
swap
(StoragePosition position1, StoragePosition position2) Swaps the pokemon at the given positions in the storagenet.minecraft.nbt.CompoundTag
writeToNBT
(net.minecraft.nbt.CompoundTag nbt) Writes the storage to the given NBT tagMethods inherited from class com.pixelmonmod.pixelmon.api.storage.PokemonStorage
add, addAndGetPosition, canTransfer, clone, countAll, countEggs, countEmpty, countPokemon, find, findAll, findAll, findAllPositions, findAllPositions, findOne, findOne, getCurryData, getOwner, getShouldSave, getStorageType, getUniqueId, hasSpace, initialize, isTracking, notifyListeners, open, retrieveAll, setHasChanged, setNeedsSaving, shouldSendUpdates, shouldSendUpdates, toString, track, trackingPlayers, transfer, untrack, updateSingleCurryData, validate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
PARTY_BOX_INDEX
public static final int PARTY_BOX_INDEX- See Also:
-
MAX_PARTY
public static final int MAX_PARTY- See Also:
-
party
-
tempParty
-
tempPartyColor
-
cachePosition
-
-
Constructor Details
-
PartyStorage
-
PartyStorage
-
-
Method Details
-
encode
public void encode(net.minecraft.network.FriendlyByteBuf buffer) Description copied from class:PokemonStorage
Writes the storage to the given buffer- Specified by:
encode
in classPokemonStorage
- Parameters:
buffer
- the buffer to write to
-
decode
public void decode(net.minecraft.network.FriendlyByteBuf buf) Description copied from class:PokemonStorage
Reads the storage from the given buffer- Specified by:
decode
in classPokemonStorage
- Parameters:
buf
- the buffer to read from
-
inTemporaryMode
public boolean inTemporaryMode()Checks if the player's party is in "temporary" mode (i.e. the party they're using is temporary for some use)- Returns:
- True if in temporary mode
-
copyToTemporaryMode
Puts the player's party into temporary mode using a deep copy of their existing party (so any changes made won't impact their original party Pokémon)- Parameters:
color
- The colour on the sidebar
-
enterTemporaryMode
public void enterTemporaryMode()Enters the party into temporary mode using a default RED colour -
enterTemporaryMode
Enters the party into the temporary mode with 0 Pokes You can add to their temp mode party usingPokemonStorage.add(Pokemon)
- Parameters:
color
- The colour to display on the sidebar
-
setInTemporaryModeClient
-
setInTemporaryMode
-
setTempPartyColor
-
getTempPartyColor
-
getAll
Description copied from class:PokemonStorage
Gets a array of all pokemon within this storage. May not be the implementations array (e.g it could be copy). So don't expect to be able to edit this. the size of the array should always match the maximum capacity and will obviously contain null elements for slots that are not full.- Specified by:
getAll
in classPokemonStorage
- Returns:
- An array of all pokemon within this storage. By convention this is not the implementation's array (thus this is a copy). This is preferred because it forces modifications to go through the relevant methods which fire events and flip hasChanged.
-
getAllPositions
Description copied from class:PokemonStorage
Same asPokemonStorage.getAll()
, but forStoragePosition
s. Note that this will return every position, regardless of whether or not it contains a Pokemon, for flexibility.- Specified by:
getAllPositions
in classPokemonStorage
-
maxSize
public int maxSize()- Specified by:
maxSize
in classPokemonStorage
- Returns:
- The maximum capacity of the Storage (or the individual containers, in cases like PCStorage)
-
getOriginalParty
Gets the non-temp mode party (only useful if in temp mode)- Returns:
- The player's party
-
writeToNBT
public net.minecraft.nbt.CompoundTag writeToNBT(net.minecraft.nbt.CompoundTag nbt) Description copied from class:PokemonStorage
Writes the storage to the given NBT tag- Specified by:
writeToNBT
in classPokemonStorage
- Parameters:
nbt
- the NBT tag to write to- Returns:
- the NBT tag with the storage written to it
-
readFromNBT
Description copied from class:PokemonStorage
Reads the storage from the given NBT tag- Specified by:
readFromNBT
in classPokemonStorage
- Parameters:
nbt
- the NBT tag to read from- Returns:
- a future that completes when the storage has been read from the NBT tag
-
getFirstEmptyPosition
Description copied from class:PokemonStorage
Gets the first position where there is no pokemon in the storage- Specified by:
getFirstEmptyPosition
in classPokemonStorage
- Returns:
- the first empty position in the storage
-
setOriginal
A bypass method for setting the original party when the player's party is in temporary mode- Parameters:
slot
- The slot to setpokemon
- The Pokémon to set it to
-
setOriginal
A bypass method for setting the original party when the player's party is in temporary mode- Parameters:
position
- The position to setpokemon
- The Pokémon to set it to
-
set
Description copied from class:PokemonStorage
Sets the given pokemon at the given position in the storage- Specified by:
set
in classPokemonStorage
- Parameters:
position
- the position to set the pokemonpokemon
- the pokemon to set
-
set
-
get
Description copied from class:PokemonStorage
Gets the pokemon at the given position in the storage
Will return null if there is no pokemon at the given position- Specified by:
get
in classPokemonStorage
- Parameters:
position
- the position to get the pokemon from- Returns:
- the pokemon at the given position
-
get
-
get
-
getSlot
-
getSlot
-
getTeam
Gets a list of all the Pokémon in the player's party that are not eggs- Returns:
- A list of all the Pokémon in the player's party that are not eggs
-
getTeam
Gets a list of all the Pokémon in the player's party that match the given condition- Parameters:
predicate
- The condition to match- Returns:
- A list of all the Pokémon in the player's party that match the given condition
-
findFirstPokemon
- Returns:
- The first Pokémon in the party that matches the given condition.
-
findFirst
- Parameters:
condition
- The condition to match.- Returns:
- The first Pokémon in the party that matches the given condition.
-
heal
public void heal() -
swap
Description copied from class:PokemonStorage
Swaps the pokemon at the given positions in the storage- Specified by:
swap
in classPokemonStorage
- Parameters:
position1
- the first position to swapposition2
- the second position to swap
-
swap
public void swap(int slot1, int slot2) -
getPosition
Description copied from class:PokemonStorage
Gets the position of the given pokemon in the storage
Will return null if the pokemon is not in the storage- Specified by:
getPosition
in classPokemonStorage
- Parameters:
pokemon
- the pokemon to get the position of- Returns:
- the position of the given pokemon in the storage
-
countAblePokemon
public int countAblePokemon()- Returns:
- The number of Pokémon in the player's party that can battle.
-
getHighestLevel
public int getHighestLevel() -
getAverageLevel
public int getAverageLevel() -
getLowestLevel
public int getLowestLevel() -
getFirstAblePokemon
-
getFirstBattleReadyPokemon
Alternative to getFirstAblePokemon() that checks if the Pokémon can battle instead of checking if the Pokémon's entity can battle.- Returns:
- The first Pokémon in the party that can be used for battle.
-
getAndSendOutFirstAblePokemon
-
isOldGen
public Quadstate isOldGen(net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level> dimension) -
iterator
-
clear
public void clear()Description copied from class:PokemonStorage
Clears all the pokemon from the storage- Specified by:
clear
in classPokemonStorage
-
sendCacheToPlayer
public void sendCacheToPlayer(net.minecraft.server.level.ServerPlayer player) Sends the Pokemon to the client for editing- Parameters:
player
- The player to send the Pokemon to
-