public class HopperBlockEntity extends LootableContainerBlockEntity implements Hopper
| Modifier and Type | Field and Description |
|---|---|
private DefaultedList<ItemStack> |
inventory |
private long |
lastTickTime |
private int |
transferCooldown |
lootTableId, lootTableSeedpos, removed, worldABOVE_SHAPE, INPUT_AREA_SHAPE, INSIDE_SHAPE| Constructor and Description |
|---|
HopperBlockEntity(BlockPos blockPos,
BlockState blockState) |
| Modifier and Type | Method and Description |
|---|---|
private static boolean |
canExtract(Inventory inv,
ItemStack stack,
int slot,
Direction facing) |
private static boolean |
canInsert(Inventory inventory,
ItemStack stack,
int slot,
Direction side) |
private static boolean |
canMergeItems(ItemStack first,
ItemStack second) |
protected ScreenHandler |
createScreenHandler(int syncId,
PlayerInventory playerInventory) |
private static boolean |
extract(Hopper hopper,
Inventory inventory,
int slot,
Direction side) |
static boolean |
extract(Inventory inventory,
ItemEntity itemEntity) |
static boolean |
extract(World world,
Hopper hopper) |
void |
fromTag(CompoundTag compoundTag) |
private static IntStream |
getAvailableSlots(Inventory inventory,
Direction side) |
protected Text |
getContainerName() |
double |
getHopperX() |
double |
getHopperY() |
double |
getHopperZ() |
private static Inventory |
getInputInventory(World world,
Hopper hopper) |
static List<ItemEntity> |
getInputItemEntities(World world,
Hopper hopper) |
static Inventory |
getInventoryAt(World world,
BlockPos blockPos) |
private static Inventory |
getInventoryAt(World world,
double x,
double y,
double z) |
protected DefaultedList<ItemStack> |
getInvStackList() |
private static Inventory |
getOutputInventory(World world,
BlockPos blockPos,
BlockState blockState) |
private static boolean |
insert(World world,
BlockPos blockPos,
BlockState blockState,
Inventory inventory) |
private static boolean |
insertAndExtract(World world,
BlockPos blockPos,
BlockState blockState,
HopperBlockEntity hopperBlockEntity,
BooleanSupplier booleanSupplier) |
private boolean |
isDisabled() |
private boolean |
isFull() |
private static boolean |
isInventoryEmpty(Inventory inv,
Direction facing) |
private static boolean |
isInventoryFull(Inventory inventory,
Direction direction) |
private boolean |
needsCooldown() |
static void |
onEntityCollided(World world,
BlockPos blockPos,
BlockState blockState,
Entity entity,
HopperBlockEntity hopperBlockEntity) |
ItemStack |
removeStack(int slot,
int amount)
Removes a specific number of items from the given slot.
|
static void |
serverTick(World world,
BlockPos blockPos,
BlockState blockState,
HopperBlockEntity hopperBlockEntity) |
private void |
setCooldown(int cooldown) |
protected void |
setInvStackList(DefaultedList<ItemStack> list) |
void |
setStack(int slot,
ItemStack stack) |
int |
size() |
CompoundTag |
toTag(CompoundTag tag) |
static ItemStack |
transfer(Inventory from,
Inventory to,
ItemStack stack,
Direction side) |
private static ItemStack |
transfer(Inventory from,
Inventory to,
ItemStack stack,
int slot,
Direction direction) |
canPlayerUse, checkLootInteraction, checkUnlocked, clear, createMenu, deserializeLootTable, getStack, isEmpty, removeStack, serializeLootTable, setLootTable, setLootTablecheckUnlocked, getCustomName, getDisplayName, getName, setCustomNamecancelRemoval, copyItemDataRequiresOperator, createFromTag, getCachedState, getPos, getSquaredRenderDistance, getType, getWorld, hasWorld, isRemoved, markDirty, markDirty, markRemoved, onSyncedBlockEvent, populateCrashReport, setCachedState, setWorld, toInitialChunkDataTag, toUpdatePacketclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetInputAreaShapecanPlayerUse, containsAny, count, getMaxCountPerStack, getStack, isEmpty, isValid, markDirty, onClose, onOpen, removeStackhasCustomNameprivate DefaultedList<ItemStack> inventory
private int transferCooldown
private long lastTickTime
public HopperBlockEntity(BlockPos blockPos, BlockState blockState)
public void fromTag(CompoundTag compoundTag)
fromTag in class LockableContainerBlockEntitypublic CompoundTag toTag(CompoundTag tag)
toTag in class LockableContainerBlockEntitypublic ItemStack removeStack(int slot, int amount)
removeStack in interface InventoryremoveStack in class LootableContainerBlockEntitypublic void setStack(int slot,
ItemStack stack)
setStack in interface InventorysetStack in class LootableContainerBlockEntityprotected Text getContainerName()
getContainerName in class LockableContainerBlockEntitypublic static void serverTick(World world, BlockPos blockPos, BlockState blockState, HopperBlockEntity hopperBlockEntity)
private static boolean insertAndExtract(World world, BlockPos blockPos, BlockState blockState, HopperBlockEntity hopperBlockEntity, BooleanSupplier booleanSupplier)
private boolean isFull()
private static boolean insert(World world, BlockPos blockPos, BlockState blockState, Inventory inventory)
private static boolean extract(Hopper hopper, Inventory inventory, int slot, Direction side)
public static boolean extract(Inventory inventory, ItemEntity itemEntity)
public static ItemStack transfer(@Nullable Inventory from, Inventory to, ItemStack stack, @Nullable Direction side)
private static boolean canInsert(Inventory inventory, ItemStack stack, int slot, @Nullable Direction side)
private static boolean canExtract(Inventory inv, ItemStack stack, int slot, Direction facing)
private static ItemStack transfer(@Nullable Inventory from, Inventory to, ItemStack stack, int slot, @Nullable Direction direction)
@Nullable private static Inventory getOutputInventory(World world, BlockPos blockPos, BlockState blockState)
public static List<ItemEntity> getInputItemEntities(World world, Hopper hopper)
@Nullable private static Inventory getInventoryAt(World world, double x, double y, double z)
public double getHopperX()
getHopperX in interface Hopperpublic double getHopperY()
getHopperY in interface Hopperpublic double getHopperZ()
getHopperZ in interface Hopperprivate void setCooldown(int cooldown)
private boolean needsCooldown()
private boolean isDisabled()
protected DefaultedList<ItemStack> getInvStackList()
getInvStackList in class LootableContainerBlockEntityprotected void setInvStackList(DefaultedList<ItemStack> list)
setInvStackList in class LootableContainerBlockEntitypublic static void onEntityCollided(World world, BlockPos blockPos, BlockState blockState, Entity entity, HopperBlockEntity hopperBlockEntity)
protected ScreenHandler createScreenHandler(int syncId, PlayerInventory playerInventory)
createScreenHandler in class LockableContainerBlockEntity