Class ChestLikeHandler
java.lang.Object
com.hammy275.immersivemc.common.immersive.handler.ContainerHandler<ListOfItemsStorage>
com.hammy275.immersivemc.common.immersive.handler.ChestLikeHandler
- All Implemented Interfaces:
ImmersiveHandler<ListOfItemsStorage>
- Direct Known Subclasses:
BarrelHandler,ChestHandler,HopperHandler,ShulkerBoxHandler
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanPlaceItem(net.minecraft.world.item.ItemStack item) booleanisDirtyForClientSync(net.minecraft.server.level.ServerPlayer player, net.minecraft.core.BlockPos pos) Function to determine whether the block has changed its contents to sync to the client since its last sync.booleanisValidBlock(net.minecraft.core.BlockPos pos, net.minecraft.world.level.Level level) makeInventoryContents(net.minecraft.server.level.ServerPlayer player, net.minecraft.core.BlockPos pos) Creates inventory contents on the server to send to clients.voidonStopTracking(net.minecraft.server.level.ServerPlayer player, net.minecraft.core.BlockPos pos) Function called whenever this immersive is no longer being tracked.voidswap(int slot, net.minecraft.world.InteractionHand hand, net.minecraft.core.BlockPos pos, net.minecraft.server.level.ServerPlayer player, ItemSwapAmount amount) Swaps an item from a player's hand into this immersive (and/or vice-versa).Methods inherited from class com.hammy275.immersivemc.common.immersive.handler.ContainerHandler
clientAuthoritativeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.hammy275.immersivemc.api.common.immersive.ImmersiveHandler
enabledInConfig, getID
-
Constructor Details
-
ChestLikeHandler
public ChestLikeHandler()
-
-
Method Details
-
isValidBlock
public boolean isValidBlock(net.minecraft.core.BlockPos pos, net.minecraft.world.level.Level level) - Parameters:
pos- Position to check.level- The level being checked in.- Returns:
- Whether the supplied block matches what this handler handles.
-
makeInventoryContents
public ListOfItemsStorage makeInventoryContents(net.minecraft.server.level.ServerPlayer player, net.minecraft.core.BlockPos pos) Description copied from interface:ImmersiveHandlerCreates inventory contents on the server to send to clients.- Parameters:
player- Player being sent to.pos- Position of the block being sent about.- Returns:
- A NetworkStorage to be sent over the network.
-
isDirtyForClientSync
public boolean isDirtyForClientSync(net.minecraft.server.level.ServerPlayer player, net.minecraft.core.BlockPos pos) Description copied from interface:ImmersiveHandlerFunction to determine whether the block has changed its contents to sync to the client since its last sync. Dirtiness is addressed every tick, so for every tick, you should clear ALL flags used for dirtiness.- Specified by:
isDirtyForClientSyncin interfaceImmersiveHandler<ListOfItemsStorage>- Overrides:
isDirtyForClientSyncin classContainerHandler<ListOfItemsStorage>- Parameters:
player- Player to potentially send new data to.pos- Position of block to check.- Returns:
- Whether the given block has changed since it was last synced to the client
-
getEmptyNetworkStorage
- Returns:
- A new instance of the same type of NetworkStorage as made with makeInventoryContents(), but in an empty state for purposes such as being decoded into by the client.
-
canPlaceItem
public boolean canPlaceItem(net.minecraft.world.item.ItemStack item) -
swap
public void swap(int slot, net.minecraft.world.InteractionHand hand, net.minecraft.core.BlockPos pos, net.minecraft.server.level.ServerPlayer player, ItemSwapAmount amount) Description copied from interface:ImmersiveHandlerSwaps an item from a player's hand into this immersive (and/or vice-versa).- Parameters:
slot- Slot being swapped with in this immersive.hand- Player's hand being swapped with.pos- Position of block being swapped with.player- Player who is swapping.amount- An object representing the amount of items to swap. UseItemSwapAmount.getNumItemsToSwap(), passing in the item stack size of the item in the player's hand to get the amount of items to swap.
-
onStopTracking
public void onStopTracking(net.minecraft.server.level.ServerPlayer player, net.minecraft.core.BlockPos pos) Description copied from interface:ImmersiveHandlerFunction called whenever this immersive is no longer being tracked. Only ever called server-side.- Parameters:
player- Player who is no longer tracking this immersive.pos- Position of the block no longer being tracked.
-