Class PCBox
java.lang.Object
com.pixelmonmod.pixelmon.api.storage.PokemonStorage
com.pixelmonmod.pixelmon.api.storage.PCBox
- Direct Known Subclasses:
PCBoxSearch
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intprotected StoragePositionbooleanprotected Stringprotected PCStorageprotected Pokemon[]static final intprotected StringFields inherited from class com.pixelmonmod.pixelmon.api.storage.PokemonStorage
hasChanged, shouldSendUpdates, storageType, trackingPlayers, uuid -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Clears all the pokemon from the storagevoiddecode(net.minecraft.network.RegistryFriendlyByteBuf buf) Reads the storage from the given buffervoidencode(net.minecraft.network.RegistryFriendlyByteBuf buffer) Writes the storage to the given bufferget(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 an array of all Pokémon within this storage.Same asPokemonStorage.getAll(), but forStoragePositions.intGets the first position where there is no pokemon in the storagegetName()getPC()getPosition(Pokemon pokemon) Gets the position of the given pokemon in the storage
Will return null if the pokemon is not in the storagePokemon[]Gets a raw array of all pokemon within this storage.intiterator()intmaxSize()readFromNBT(net.minecraft.nbt.CompoundTag nbt, net.minecraft.core.HolderLookup.Provider registryAccess) Reads the storage from the given NBT tagvoidvoidsendContents(net.minecraft.server.level.ServerPlayer player) voidvoidset(StoragePosition position, Pokemon pokemon) Sets the given pokemon at the given position in the storagevoidvoidsetWallpaper(String wallpaper) booleanGets if the storage should send updates to the tracking entitiesvoidswap(int slot1, int slot2) voidswap(StoragePosition position1, StoragePosition position2) Swaps the pokemon at the given positions in the storageList<net.minecraft.server.level.ServerPlayer> Gets the list of players that are tracking the storagenet.minecraft.nbt.CompoundTagwriteToNBT(net.minecraft.nbt.CompoundTag nbt, net.minecraft.core.HolderLookup.Provider registryAccess) Writes the storage to the given NBT tagMethods inherited from class com.pixelmonmod.pixelmon.api.storage.PokemonStorage
add, addAndGetPosition, canTransfer, clone, countAll, countAll, countAll, countEggs, countEmpty, countPokemon, find, findAll, findAll, findAllPositions, findAllPositions, findOne, findOne, getAllNonNull, getCurryData, getOwner, getShouldSave, getStorageType, getUniqueId, hasSpace, initialize, isTracking, notifyListeners, open, retrieveAll, setHasChanged, setNeedsSaving, shouldSendUpdates, toString, track, transfer, untrack, updateSingleCurryData, validateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
POKEMON_PER_BOX
public static final int POKEMON_PER_BOX- See Also:
-
pc
-
boxNumber
protected transient int boxNumber -
pokemon
-
name
-
wallpaper
-
cachePosition
-
hasChangedClientSide
public transient boolean hasChangedClientSide
-
-
Constructor Details
-
PCBox
public PCBox()Only use this for JSON deserialization. -
PCBox
-
PCBox
-
-
Method Details
-
encode
public void encode(net.minecraft.network.RegistryFriendlyByteBuf buffer) Description copied from class:PokemonStorageWrites the storage to the given buffer- Specified by:
encodein classPokemonStorage- Parameters:
buffer- the buffer to write to
-
decode
public void decode(net.minecraft.network.RegistryFriendlyByteBuf buf) Description copied from class:PokemonStorageReads the storage from the given buffer- Specified by:
decodein classPokemonStorage- Parameters:
buf- the buffer to read from
-
getAll
Description copied from class:PokemonStorageGets an array of all Pokémon within this storage. This may not be the implementation's backing array (e.g. it could be a copy), so don't expect to be able to edit this. The size of the array should always match the maximum capacity and will contain null elements for slots that are not full.- Specified by:
getAllin classPokemonStorage- Returns:
- An array of all Pokémon 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.
-
getRawAll
Description copied from class:PokemonStorageGets a raw array of all pokemon within this storage. This is the implementation's array and should not be modified.
This is useful for when you need to iterate over the array and don't need to modify it.- Specified by:
getRawAllin classPokemonStorage- Returns:
- An array of all pokemon within this storage. This is the implementation's array and should not be modified.
-
getAllPositions
Description copied from class:PokemonStorageSame asPokemonStorage.getAll(), but forStoragePositions. Note that this will return every position, regardless of whether or not it contains a Pokemon, for flexibility.- Specified by:
getAllPositionsin classPokemonStorage
-
maxSize
public int maxSize()- Specified by:
maxSizein classPokemonStorage- Returns:
- The maximum capacity of the Storage (or the individual containers, in cases like PCStorage)
-
writeToNBT
public net.minecraft.nbt.CompoundTag writeToNBT(net.minecraft.nbt.CompoundTag nbt, net.minecraft.core.HolderLookup.Provider registryAccess) Description copied from class:PokemonStorageWrites the storage to the given NBT tag- Specified by:
writeToNBTin classPokemonStorage- Parameters:
nbt- the NBT tag to write to- Returns:
- the NBT tag with the storage written to it
-
readFromNBT
public CompletableFuture<PCBox> readFromNBT(net.minecraft.nbt.CompoundTag nbt, net.minecraft.core.HolderLookup.Provider registryAccess) Description copied from class:PokemonStorageReads the storage from the given NBT tag- Specified by:
readFromNBTin classPokemonStorage- Parameters:
nbt- the NBT tag to read from- Returns:
- a future that completes when the storage has been read from the NBT tag
-
getPosition
Description copied from class:PokemonStorageGets the position of the given pokemon in the storage
Will return null if the pokemon is not in the storage- Specified by:
getPositionin classPokemonStorage- Parameters:
pokemon- the pokemon to get the position of- Returns:
- the position of the given pokemon in the storage
-
trackingPlayers
Description copied from class:PokemonStorageGets the list of players that are tracking the storage- Overrides:
trackingPlayersin classPokemonStorage- Returns:
- the list of players that are tracking the storage
-
getSlot
-
getFirstEmptyPosition
Description copied from class:PokemonStorageGets the first position where there is no pokemon in the storage- Specified by:
getFirstEmptyPositionin classPokemonStorage- Returns:
- the first empty position in the storage
-
set
Description copied from class:PokemonStorageSets the given pokemon at the given position in the storage- Specified by:
setin classPokemonStorage- Parameters:
position- the position to set the pokemonpokemon- the pokemon to set
-
set
-
get
Description copied from class:PokemonStorageGets the pokemon at the given position in the storage
Will return null if there is no pokemon at the given position- Specified by:
getin classPokemonStorage- Parameters:
position- the position to get the pokemon from- Returns:
- the pokemon at the given position
-
get
-
swap
Description copied from class:PokemonStorageSwaps the pokemon at the given positions in the storage- Specified by:
swapin classPokemonStorage- Parameters:
position1- the first position to swapposition2- the second position to swap
-
swap
public void swap(int slot1, int slot2) -
sendContents
public void sendContents(net.minecraft.server.level.ServerPlayer player) -
shouldSendUpdates
public boolean shouldSendUpdates()Description copied from class:PokemonStorageGets if the storage should send updates to the tracking entities- Overrides:
shouldSendUpdatesin classPokemonStorage- Returns:
- if the storage should send updates
-
getName
-
getWallpaper
-
iterator
-
clear
public void clear()Description copied from class:PokemonStorageClears all the pokemon from the storage- Specified by:
clearin classPokemonStorage
-
getPC
-
getBoxNumber
public int getBoxNumber() -
sendChangesToServer
public void sendChangesToServer() -
setName
-
setWallpaper
-