Package net.minecraft.block.entity
Class HopperBlockEntity
java.lang.Object
net.minecraft.block.entity.BlockEntity
net.minecraft.block.entity.LockableContainerBlockEntity
net.minecraft.block.entity.LootableContainerBlockEntity
net.minecraft.block.entity.HopperBlockEntity
- All Implemented Interfaces:
Hopper,Inventory,NamedScreenHandlerFactory,ScreenHandlerFactory,Clearable,Nameable
public class HopperBlockEntity extends LootableContainerBlockEntity implements Hopper
-
Field Summary
Fields Modifier and Type Field Description private DefaultedList<ItemStack>inventoryprivate longlastTickTimeprivate inttransferCooldownFields inherited from class net.minecraft.block.entity.LootableContainerBlockEntity
lootTableId, lootTableSeedFields inherited from class net.minecraft.block.entity.BlockEntity
pos, removed, worldFields inherited from interface net.minecraft.block.entity.Hopper
ABOVE_SHAPE, INPUT_AREA_SHAPE, INSIDE_SHAPE -
Constructor Summary
Constructors Constructor Description HopperBlockEntity(BlockPos blockPos, BlockState blockState) -
Method Summary
Modifier and Type Method Description private static booleancanExtract(Inventory inv, ItemStack stack, int slot, Direction facing)private static booleancanInsert(Inventory inventory, ItemStack stack, int slot, Direction side)private static booleancanMergeItems(ItemStack first, ItemStack second)protected ScreenHandlercreateScreenHandler(int syncId, PlayerInventory playerInventory)private static booleanextract(Hopper hopper, Inventory inventory, int slot, Direction side)static booleanextract(Inventory inventory, ItemEntity itemEntity)static booleanextract(World world, Hopper hopper)voidfromTag(CompoundTag tag)private static IntStreamgetAvailableSlots(Inventory inventory, Direction side)protected TextgetContainerName()doublegetHopperX()doublegetHopperY()doublegetHopperZ()private static InventorygetInputInventory(World world, Hopper hopper)static List<ItemEntity>getInputItemEntities(World world, Hopper hopper)private static InventorygetInventoryAt(World world, double x, double y, double z)static InventorygetInventoryAt(World world, BlockPos blockPos)protected DefaultedList<ItemStack>getInvStackList()private static InventorygetOutputInventory(World world, BlockPos blockPos, BlockState blockState)private static booleaninsert(World world, BlockPos blockPos, BlockState blockState, Inventory inventory)private static booleaninsertAndExtract(World world, BlockPos blockPos, BlockState blockState, HopperBlockEntity hopperBlockEntity, BooleanSupplier booleanSupplier)private booleanisDisabled()private booleanisFull()private static booleanisInventoryEmpty(Inventory inv, Direction facing)private static booleanisInventoryFull(Inventory inventory, Direction direction)private booleanneedsCooldown()static voidonEntityCollided(World world, BlockPos blockPos, BlockState blockState, Entity entity, HopperBlockEntity hopperBlockEntity)ItemStackremoveStack(int slot, int amount)Removes a specific number of items from the given slot.static voidserverTick(World world, BlockPos blockPos, BlockState blockState, HopperBlockEntity hopperBlockEntity)private voidsetCooldown(int cooldown)protected voidsetInvStackList(DefaultedList<ItemStack> list)voidsetStack(int slot, ItemStack stack)intsize()CompoundTagtoTag(CompoundTag tag)private static ItemStacktransfer(Inventory from, Inventory to, ItemStack stack, int slot, Direction direction)static ItemStacktransfer(Inventory from, Inventory to, ItemStack stack, Direction side)Methods inherited from class net.minecraft.block.entity.LootableContainerBlockEntity
canPlayerUse, checkLootInteraction, checkUnlocked, clear, createMenu, deserializeLootTable, getStack, isEmpty, removeStack, serializeLootTable, setLootTable, setLootTableMethods inherited from class net.minecraft.block.entity.LockableContainerBlockEntity
checkUnlocked, getCustomName, getDisplayName, getName, setCustomNameMethods inherited from class net.minecraft.block.entity.BlockEntity
cancelRemoval, copyItemDataRequiresOperator, createFromTag, getCachedState, getPos, getSquaredRenderDistance, getType, getWorld, hasWorld, isRemoved, markDirty, markDirty, markRemoved, onSyncedBlockEvent, populateCrashReport, setCachedState, setWorld, toInitialChunkDataTag, toUpdatePacketMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.minecraft.block.entity.Hopper
getInputAreaShapeMethods inherited from interface net.minecraft.inventory.Inventory
canPlayerUse, containsAny, count, getMaxCountPerStack, getStack, isEmpty, isValid, markDirty, onClose, onOpen, removeStackMethods inherited from interface net.minecraft.util.Nameable
hasCustomName
-
Field Details
-
inventory
-
transferCooldown
private int transferCooldown -
lastTickTime
private long lastTickTime
-
-
Constructor Details
-
HopperBlockEntity
-
-
Method Details
-
fromTag
- Overrides:
fromTagin classLockableContainerBlockEntity
-
toTag
- Overrides:
toTagin classLockableContainerBlockEntity
-
size
public int size() -
removeStack
Removes a specific number of items from the given slot.- Specified by:
removeStackin interfaceInventory- Overrides:
removeStackin classLootableContainerBlockEntity- Returns:
- the removed items as a stack
-
setStack
- Specified by:
setStackin interfaceInventory- Overrides:
setStackin classLootableContainerBlockEntity
-
getContainerName
- Specified by:
getContainerNamein classLockableContainerBlockEntity
-
serverTick
public static void serverTick(World world, BlockPos blockPos, BlockState blockState, HopperBlockEntity hopperBlockEntity) -
insertAndExtract
private static boolean insertAndExtract(World world, BlockPos blockPos, BlockState blockState, HopperBlockEntity hopperBlockEntity, BooleanSupplier booleanSupplier) -
isFull
private boolean isFull() -
insert
private static boolean insert(World world, BlockPos blockPos, BlockState blockState, Inventory inventory) -
getAvailableSlots
-
isInventoryFull
-
isInventoryEmpty
-
extract
-
extract
-
extract
-
transfer
-
canInsert
-
canExtract
-
transfer
-
getOutputInventory
@Nullable private static Inventory getOutputInventory(World world, BlockPos blockPos, BlockState blockState) -
getInputInventory
-
getInputItemEntities
-
getInventoryAt
-
getInventoryAt
-
canMergeItems
-
getHopperX
public double getHopperX()- Specified by:
getHopperXin interfaceHopper
-
getHopperY
public double getHopperY()- Specified by:
getHopperYin interfaceHopper
-
getHopperZ
public double getHopperZ()- Specified by:
getHopperZin interfaceHopper
-
setCooldown
private void setCooldown(int cooldown) -
needsCooldown
private boolean needsCooldown() -
isDisabled
private boolean isDisabled() -
getInvStackList
- Specified by:
getInvStackListin classLootableContainerBlockEntity
-
setInvStackList
- Specified by:
setInvStackListin classLootableContainerBlockEntity
-
onEntityCollided
public static void onEntityCollided(World world, BlockPos blockPos, BlockState blockState, Entity entity, HopperBlockEntity hopperBlockEntity) -
createScreenHandler
- Specified by:
createScreenHandlerin classLockableContainerBlockEntity
-