Class HopperBlockEntity
java.lang.Object
net.minecraftforge.common.capabilities.CapabilityProvider<BlockEntity>
net.minecraft.world.level.block.entity.BlockEntity
net.minecraft.world.level.block.entity.BaseContainerBlockEntity
net.minecraft.world.level.block.entity.RandomizableContainerBlockEntity
net.minecraft.world.level.block.entity.HopperBlockEntity
- All Implemented Interfaces:
Clearable
,Container
,MenuConstructor
,Hopper
,MenuProvider
,Nameable
,RandomizableContainer
,ICapabilityProvider
,ICapabilityProviderImpl<BlockEntity>
,IForgeBlockEntity
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.world.level.block.entity.BlockEntity
BlockEntity.ComponentHelper, BlockEntity.DataComponentInput
Nested classes/interfaces inherited from class net.minecraftforge.common.capabilities.CapabilityProvider
CapabilityProvider.AsField<B extends ICapabilityProviderImpl<B>>
-
Field Summary
Modifier and TypeFieldDescriptionprivate static final int[][]
private int
private Direction
static final int
private NonNullList
<ItemStack> static final int
private long
Fields inherited from class net.minecraft.world.level.block.entity.RandomizableContainerBlockEntity
lootTable, lootTableSeed
Fields inherited from class net.minecraft.world.level.block.entity.BlockEntity
level, remove, worldPosition
Fields inherited from interface net.minecraft.world.Container
DEFAULT_DISTANCE_BUFFER
Fields inherited from interface net.minecraftforge.common.extensions.IForgeBlockEntity
INFINITE_EXTENT_AABB
Fields inherited from interface net.minecraft.world.RandomizableContainer
LOOT_TABLE_SEED_TAG, LOOT_TABLE_TAG
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic ItemStack
static boolean
addItem
(Container p_59332_, ItemEntity p_59333_) private static boolean
canMergeItems
(ItemStack p_59345_, ItemStack p_59346_) private static boolean
canPlaceItemInContainer
(Container p_59335_, ItemStack p_59336_, int p_59337_, Direction p_59338_) private static boolean
canTakeItemFromContainer
(Container p_273433_, Container p_273542_, ItemStack p_273400_, int p_273519_, Direction p_273088_) private static int[]
createFlatSlots
(int p_329697_) protected AbstractContainerMenu
createMenu
(int p_59312_, Inventory p_59313_) protected IItemHandler
private static boolean
ejectItems
(Level p_155563_, BlockPos p_155564_, HopperBlockEntity p_329427_) static void
entityInside
(Level p_155568_, BlockPos p_155569_, BlockState p_155570_, Entity p_155571_, HopperBlockEntity p_155572_) private static Container
getAttachedContainer
(Level p_155593_, BlockPos p_155594_, HopperBlockEntity p_331744_) private static Container
getBlockContainer
(Level p_329847_, BlockPos p_329170_, BlockState p_328169_) static Container
getContainerAt
(Level p_59391_, BlockPos p_59392_) private static Container
getContainerAt
(Level p_59348_, BlockPos p_330520_, BlockState p_334938_, double p_59349_, double p_59350_, double p_59351_) int
protected Component
private static Container
getEntityContainer
(Level p_328239_, double p_335152_, double p_336273_, double p_330059_) protected NonNullList
<ItemStack> getItems()
static List
<ItemEntity> getItemsAtAndAbove
(Level p_155590_, Hopper p_155591_) long
double
double
double
private static int[]
private static Container
getSourceContainer
(Level p_155597_, Hopper p_155598_, BlockPos p_330370_, BlockState p_334668_) private boolean
private static boolean
isFullContainer
(Container p_59386_, Direction p_59387_) boolean
private boolean
boolean
protected void
loadAdditional
(CompoundTag p_331195_, HolderLookup.Provider p_329407_) static void
pushItemsTick
(Level p_155574_, BlockPos p_155575_, BlockState p_155576_, HopperBlockEntity p_155577_) removeItem
(int p_59309_, int p_59310_) protected void
saveAdditional
(CompoundTag p_187502_, HolderLookup.Provider p_334921_) void
setBlockState
(BlockState p_334323_) void
setCooldown
(int p_59396_) void
protected void
setItems
(NonNullList<ItemStack> p_59371_) static boolean
suckInItems
(Level p_155553_, Hopper p_155554_) private static ItemStack
tryMoveInItem
(Container p_59321_, Container p_59322_, ItemStack p_59323_, int p_59324_, Direction p_59325_) private static boolean
tryMoveItems
(Level p_155579_, BlockPos p_155580_, BlockState p_155581_, HopperBlockEntity p_155582_, BooleanSupplier p_155583_) private static boolean
tryTakeInItemFromSlot
(Hopper p_59355_, Container p_59356_, int p_59357_, Direction p_59358_) Methods inherited from class net.minecraft.world.level.block.entity.RandomizableContainerBlockEntity
applyImplicitComponents, canOpen, collectImplicitComponents, createMenu, getItem, getLootTable, getLootTableSeed, isEmpty, removeComponentsFromTag, removeItemNoUpdate, setLootTable, setLootTableSeed
Methods inherited from class net.minecraft.world.level.block.entity.BaseContainerBlockEntity
canUnlock, clearContent, getCapability, getCustomName, getDisplayName, getName, invalidateCaps, reviveCaps, stillValid
Methods inherited from class net.minecraft.world.level.block.entity.BlockEntity
addEntityType, applyComponents, applyComponentsFromItemStack, clearRemoved, collectComponents, components, fillCrashReportCategory, getBlockPos, getBlockState, getLevel, getPosFromTag, getType, getUpdatePacket, getUpdateTag, hasLevel, isRemoved, loadCustomOnly, loadStatic, loadWithComponents, onChunkUnloaded, onlyOpCanSetNbt, parseCustomNameSafe, saveCustomAndMetadata, saveCustomOnly, saveToItem, saveWithFullMetadata, saveWithId, saveWithoutMetadata, setChanged, setChanged, setComponents, setLevel, setRemoved, triggerEvent
Methods inherited from class net.minecraftforge.common.capabilities.CapabilityProvider
areCapsCompatible, areCapsCompatible, deserializeCaps, gatherCapabilities, gatherCapabilities, gatherCapabilities, getCapabilities, serializeCaps
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.minecraft.world.Clearable
clearContent
Methods inherited from interface net.minecraft.world.Container
canPlaceItem, canTakeItem, countItem, getItem, getMaxStackSize, getMaxStackSize, hasAnyMatching, hasAnyOf, isEmpty, removeItemNoUpdate, setChanged, startOpen, stillValid, stopOpen
Methods inherited from interface net.minecraft.world.level.block.entity.Hopper
getSuckAabb
Methods inherited from interface net.minecraftforge.common.capabilities.ICapabilityProvider
getCapability
Methods inherited from interface net.minecraftforge.common.extensions.IForgeBlockEntity
getModelData, getRenderBoundingBox, handleUpdateTag, hasCustomOutlineRendering, onDataPacket, onLoad, requestModelDataUpdate
Methods inherited from interface net.minecraft.world.Nameable
hasCustomName
Methods inherited from interface net.minecraft.world.RandomizableContainer
getBlockPos, getLevel, setLootTable, tryLoadLootTable, trySaveLootTable, unpackLootTable
-
Field Details
-
MOVE_ITEM_SPEED
public static final int MOVE_ITEM_SPEED- See Also:
-
HOPPER_CONTAINER_SIZE
public static final int HOPPER_CONTAINER_SIZE- See Also:
-
CACHED_SLOTS
private static final int[][] CACHED_SLOTS -
items
-
cooldownTime
private int cooldownTime -
tickedGameTime
private long tickedGameTime -
facing
-
-
Constructor Details
-
HopperBlockEntity
-
-
Method Details
-
loadAdditional
- Overrides:
loadAdditional
in classBaseContainerBlockEntity
-
saveAdditional
- Overrides:
saveAdditional
in classBaseContainerBlockEntity
-
getContainerSize
public int getContainerSize()- Specified by:
getContainerSize
in interfaceContainer
-
removeItem
- Specified by:
removeItem
in interfaceContainer
- Overrides:
removeItem
in classRandomizableContainerBlockEntity
-
setItem
- Specified by:
setItem
in interfaceContainer
- Overrides:
setItem
in classRandomizableContainerBlockEntity
-
setBlockState
- Overrides:
setBlockState
in classBlockEntity
-
getDefaultName
- Specified by:
getDefaultName
in classBaseContainerBlockEntity
-
pushItemsTick
public static void pushItemsTick(Level p_155574_, BlockPos p_155575_, BlockState p_155576_, HopperBlockEntity p_155577_) -
tryMoveItems
private static boolean tryMoveItems(Level p_155579_, BlockPos p_155580_, BlockState p_155581_, HopperBlockEntity p_155582_, BooleanSupplier p_155583_) -
inventoryFull
private boolean inventoryFull() -
ejectItems
-
getSlots
-
createFlatSlots
private static int[] createFlatSlots(int p_329697_) -
isFullContainer
-
suckInItems
-
tryTakeInItemFromSlot
-
addItem
-
addItem
-
canPlaceItemInContainer
-
canTakeItemFromContainer
-
tryMoveInItem
-
getAttachedContainer
@Nullable private static Container getAttachedContainer(Level p_155593_, BlockPos p_155594_, HopperBlockEntity p_331744_) -
getSourceContainer
@Nullable private static Container getSourceContainer(Level p_155597_, Hopper p_155598_, BlockPos p_330370_, BlockState p_334668_) -
getItemsAtAndAbove
-
getContainerAt
-
getContainerAt
@Nullable private static Container getContainerAt(Level p_59348_, BlockPos p_330520_, BlockState p_334938_, double p_59349_, double p_59350_, double p_59351_) -
getBlockContainer
@Nullable private static Container getBlockContainer(Level p_329847_, BlockPos p_329170_, BlockState p_328169_) -
getEntityContainer
-
canMergeItems
-
getLevelX
public double getLevelX() -
getLevelY
public double getLevelY() -
getLevelZ
public double getLevelZ() -
isGridAligned
public boolean isGridAligned()- Specified by:
isGridAligned
in interfaceHopper
-
setCooldown
public void setCooldown(int p_59396_) -
isOnCooldown
private boolean isOnCooldown() -
isOnCustomCooldown
public boolean isOnCustomCooldown() -
getItems
- Specified by:
getItems
in classBaseContainerBlockEntity
-
setItems
- Specified by:
setItems
in classBaseContainerBlockEntity
-
entityInside
public static void entityInside(Level p_155568_, BlockPos p_155569_, BlockState p_155570_, Entity p_155571_, HopperBlockEntity p_155572_) -
createMenu
- Specified by:
createMenu
in classBaseContainerBlockEntity
-
createUnSidedHandler
- Overrides:
createUnSidedHandler
in classBaseContainerBlockEntity
-
getLastUpdateTime
public long getLastUpdateTime()
-