net.minecraft.screen

public abstract class ScreenHandler

net.minecraft.world.inventory.AbstractContainerMenu
net.minecraft.class_1703
net.minecraft.screen.ScreenHandler

Field summary

Modifier and TypeField
private static final org.slf4j.Logger
LOGGER
field_36534
LOGGER
public static final int
SLOT_CLICKED_OUTSIDE
field_30730
EMPTY_SPACE_SLOT_INDEX
public static final int
QUICKCRAFT_TYPE_CHARITABLE
field_30731
field_30731
public static final int
QUICKCRAFT_TYPE_GREEDY
field_30732
field_30732
public static final int
QUICKCRAFT_TYPE_CLONE
field_30733
field_30733
public static final int
QUICKCRAFT_HEADER_START
field_30734
field_30734
public static final int
QUICKCRAFT_HEADER_CONTINUE
field_30735
field_30735
public static final int
QUICKCRAFT_HEADER_END
field_30736
field_30736
public static final int
CARRIED_SLOT_SIZE
field_30737
field_30737
public static final int
SLOTS_PER_ROW
field_52557
field_52557
public static final int
SLOT_SIZE
field_52558
field_52558
private final DefaultedList<ItemStack>
lastSlots
field_7764
trackedStacks
public final DefaultedList<Slot>
slots
field_7761
slots
private final List<Property>
dataSlots
field_17285
properties
private ItemStack
carried
field_29205
cursorStack
private final DefaultedList<TrackedSlot>
remoteSlots
field_29206
trackedSlots
private final it.unimi.dsi.fastutil.ints.IntList
remoteDataSlots
field_29559
trackedPropertyValues
private TrackedSlot
remoteCarried
field_29207
trackedCursorSlot
private int
stateId
field_34024
revision
private final ScreenHandlerType<?>
menuType
field_17493
type
public final int
containerId
field_7763
syncId
private int
quickcraftType
field_7762
quickCraftButton
private int
quickcraftStatus
field_7759
quickCraftStage
private final Set<Slot>
quickcraftSlots
field_7757
quickCraftSlots
private final List<ScreenHandlerListener>
containerListeners
field_7765
listeners
private ScreenHandlerSyncHandler
synchronizer
field_29208
syncHandler
private boolean
suppressRemoteUpdates
field_29209
disableSync

Constructor summary

ModifierConstructor
protected (ScreenHandlerType<?> type, int syncId)

Method summary

Modifier and TypeMethod
protected void
addInventoryHotbarSlots(Container inventory, int left, int top)
method_61622(class_1263 arg0, int arg1, int arg2)
addPlayerHotbarSlots(Inventory playerInventory, int left, int y)
protected void
addInventoryExtendedSlots(Container inventory, int left, int top)
method_61623(class_1263 arg0, int arg1, int arg2)
addPlayerInventorySlots(Inventory playerInventory, int left, int top)
protected void
addStandardInventorySlots(Container container, int left, int top)
method_61624(class_1263 arg0, int arg1, int arg2)
addPlayerSlots(Inventory playerInventory, int left, int top)
protected static boolean
stillValid(ContainerLevelAccess access, Player player, Block block)
method_17695(class_3914 arg0, class_1657 arg1, class_2248 arg2)
canUse(ScreenHandlerContext context, PlayerEntity player, Block block)
public ScreenHandlerType<?>
getType()
method_17358()
getType()
protected static void
checkContainerSize(Container container, int expected)
method_17359(class_1263 arg0, int arg1)
checkSize(Inventory inventory, int expectedSize)
protected static void
checkContainerDataCount(ContainerData data, int expected)
method_17361(class_3913 arg0, int arg1)
checkDataCount(PropertyDelegate data, int expectedCount)
public boolean
isValidSlotIndex(int slotIndex)
method_40442(int arg0)
isValid(int slot)
protected Slot
addSlot(Slot slot)
method_7621(class_1735 arg0)
addSlot(Slot slot)
protected Property
addDataSlot(DataSlot dataSlot)
method_17362(class_3915 arg0)
addProperty(Property property)
protected void
addDataSlots(ContainerData container)
method_17360(class_3913 arg0)
addProperties(PropertyDelegate propertyDelegate)
public void
addSlotListener(ContainerListener listener)
method_7596(class_1712 arg0)
addListener(ScreenHandlerListener listener)
public void
setSynchronizer(ContainerSynchronizer synchronizer)
method_34248(class_5916 arg0)
updateSyncHandler(ScreenHandlerSyncHandler handler)
public void
sendAllDataToRemote()
method_34252()
syncState()
public void
removeSlotListener(ContainerListener listener)
method_7603(class_1712 arg0)
removeListener(ScreenHandlerListener listener)
public DefaultedList<ItemStack>
getItems()
method_7602()
getStacks()
public void
broadcastChanges()
method_7623()
sendContentUpdates()
public void
broadcastFullState()
method_37420()
updateToClient()
private void
updateDataSlotListeners(int id, int currentValue)
method_37419(int arg0, int arg1)
notifyPropertyUpdate(int index, int value)
private void
triggerSlotListeners(int i, ItemStack current, Supplier<ItemStack> currentCopy)
method_34246(int arg0, class_1799 arg1, Supplier<class_1799> arg2)
updateTrackedSlot(int slot, ItemStack stack, Supplier<ItemStack> copySupplier)
private void
synchronizeSlotToRemote(int i, ItemStack current, Supplier<ItemStack> currentCopy)
method_34253(int arg0, class_1799 arg1, Supplier<class_1799> arg2)
checkSlotUpdates(int slot, ItemStack stack, Supplier<ItemStack> copySupplier)
private void
synchronizeDataSlotToRemote(int i, int current)
method_34715(int arg0, int arg1)
checkPropertyUpdates(int id, int value)
private void
synchronizeCarriedToRemote()
method_34258()
checkCursorStackUpdates()
public void
setRemoteSlot(int slot, ItemStack itemStack)
method_34245(int arg0, class_1799 arg1)
setReceivedStack(int slot, ItemStack stack)
public void
setRemoteSlotUnsafe(int slot, HashedStack itemStack)
method_37449(int arg0, class_10938 arg1)
setReceivedHash(int slot, ItemStackHash hash)
public void
setRemoteCarried(HashedStack carriedItem)
method_34250(class_10938 arg0)
setReceivedCursorHash(ItemStackHash cursorStackHash)
public boolean
clickMenuButton(Player player, int buttonId)
method_7604(class_1657 arg0, int arg1)
onButtonClick(PlayerEntity player, int id)
public Slot
getSlot(int index)
method_7611(int arg0)
getSlot(int index)
public abstract ItemStack
quickMoveStack(Player player, int slotIndex)
method_7601(class_1657 arg0, int arg1)
quickMove(PlayerEntity player, int slot)
public void
setSelectedBundleItemIndex(int slotIndex, int selectedItemIndex)
method_61621(int arg0, int arg1)
selectBundleStack(int slot, int selectedStack)
public void
clicked(int slotIndex, int buttonNum, ContainerInput containerInput, Player player)
method_7593(int arg0, int arg1, class_1713 arg2, class_1657 arg3)
onSlotClick(int slotIndex, int button, SlotActionType arg2, PlayerEntity player)
private void
doClick(int slotIndex, int buttonNum, ContainerInput containerInput, Player player)
method_30010(int arg0, int arg1, class_1713 arg2, class_1657 arg3)
internalOnSlotClick(int slotIndex, int button, SlotActionType actionType, PlayerEntity player)
private boolean
tryItemClickBehaviourOverride(Player player, ClickAction clickAction, Slot slot, ItemStack clicked, ItemStack carried)
method_45409(class_1657 arg0, class_5536 arg1, class_1735 arg2, class_1799 arg3, class_1799 arg4)
handleSlotClick(PlayerEntity player, ClickType clickType, Slot slot, ItemStack stack, ItemStack cursorStack)
private StackReference
createCarriedSlotAccess()
method_34259()
getCursorStackReference()
public boolean
canTakeItemForPickAll(ItemStack carried, Slot target)
method_7613(class_1799 arg0, class_1735 arg1)
canInsertIntoSlot(ItemStack stack, Slot slot)
public void
removed(Player player)
method_7595(class_1657 arg0)
onClosed(PlayerEntity player)
private static void
dropOrPlaceInInventory(Player player, ItemStack carried)
method_64192(class_1657 arg0, class_1799 arg1)
offerOrDropStack(PlayerEntity player, ItemStack stack)
protected void
clearContainer(Player player, Container container)
method_7607(class_1657 arg0, class_1263 arg1)
dropInventory(PlayerEntity player, Inventory inventory)
public void
slotsChanged(Container container)
method_7609(class_1263 arg0)
onContentChanged(Inventory inventory)
public void
setItem(int slot, int stateId, ItemStack itemStack)
method_7619(int arg0, int arg1, class_1799 arg2)
setStackInSlot(int slot, int revision, ItemStack stack)
public void
initializeContents(int stateId, List<ItemStack> items, ItemStack carried)
method_7610(int arg0, List<class_1799> arg1, class_1799 arg2)
updateSlotStacks(int revision, List<ItemStack> stacks, ItemStack cursorStack)
public void
setData(int id, int value)
method_7606(int arg0, int arg1)
setProperty(int id, int value)
public abstract boolean
stillValid(Player player)
method_7597(class_1657 arg0)
canUse(PlayerEntity player)
protected boolean
moveItemStackTo(ItemStack itemStack, int startSlot, int endSlot, boolean backwards)
method_7616(class_1799 arg0, int arg1, int arg2, boolean arg3)
insertItem(ItemStack stack, int startIndex, int endIndex, boolean fromLast)
public static int
getQuickcraftType(int mask)
method_7620(int arg0)
unpackQuickCraftButton(int quickCraftData)
public static int
getQuickcraftHeader(int mask)
method_7594(int arg0)
unpackQuickCraftStage(int quickCraftData)
public static int
getQuickcraftMask(int header, int type)
method_7591(int arg0, int arg1)
packQuickCraftData(int quickCraftStage, int buttonId)
public static boolean
isValidQuickcraftType(int type, Player player)
method_7600(int arg0, class_1657 arg1)
shouldQuickCraftContinue(int stage, PlayerEntity player)
protected void
resetQuickCraft()
method_7605()
endQuickCraft()
public static boolean
canItemQuickReplace(Slot slot, ItemStack itemStack, boolean ignoreSize)
method_7592(class_1735 arg0, class_1799 arg1, boolean arg2)
canInsertItemIntoSlot(Slot slot, ItemStack stack, boolean allowOverflow)
public static int
getQuickCraftPlaceCount(int quickCraftSlotsSize, int quickCraftingType, ItemStack itemStack)
method_7617(int arg0, int arg1, class_1799 arg2)
calculateStackSize(int arg0, int mode, ItemStack stack)
public boolean
canDragTo(Slot slot)
method_7615(class_1735 arg0)
canInsertIntoSlot(Slot slot)
public static int
getRedstoneSignalFromBlockEntity(BlockEntity blockEntity)
method_7608(class_2586 arg0)
calculateComparatorOutput(BlockEntity entity)
public static int
getRedstoneSignalFromContainer(Container container)
method_7618(class_1263 arg0)
calculateComparatorOutput(Inventory inventory)
public void
setCarried(ItemStack carried)
method_34254(class_1799 arg0)
setCursorStack(ItemStack stack)
public ItemStack
getCarried()
method_34255()
getCursorStack()
public void
suppressRemoteUpdates()
method_34256()
disableSyncing()
public void
resumeRemoteUpdates()
method_34257()
enableSyncing()
public void
transferState(AbstractContainerMenu otherContainer)
method_34247(class_1703 arg0)
copySharedSlots(ScreenHandler handler)
public OptionalInt
findSlot(Container inventory, int slotIndex)
method_37418(class_1263 arg0, int arg1)
getSlotIndex(Inventory inventory, int index)
public int
getStateId()
method_37421()
getRevision()
public int
incrementStateId()
method_37422()
nextRevision()
private static void
lambda$doClick$1(ItemStack arg0, Slot arg1, Player arg2, ItemStack arg3)
method_34251(class_1799 arg0, class_1735 arg1, class_1657 arg2, class_1799 arg3)
method_34251(ItemStack arg0, Slot arg1, PlayerEntity arg2, ItemStack stack)
private void
lambda$doClick$0(Slot arg0, Player arg1, ItemStack arg2)
method_34249(class_1735 arg0, class_1657 arg1, class_1799 arg2)
method_34249(Slot arg0, PlayerEntity arg1, ItemStack stack)
private String
lambda$clicked$1()
method_30024()
method_30024()
private String
lambda$clicked$0()
method_30011()
method_30011()
private static TrackedSlot
lambda$setSynchronizer$0(ContainerSynchronizer arg0, RemoteSlot arg1)
method_68804(class_5916 arg0, class_10927 arg1)
method_68804(ScreenHandlerSyncHandler arg0, TrackedSlot slot)
private static Boolean
lambda$stillValid$0(Block arg0, Player arg1, Level arg2, BlockPos arg3)
method_17696(class_2248 arg0, class_1657 arg1, class_1937 arg2, class_2338 arg3)
method_17696(Block arg0, PlayerEntity arg1, World world, BlockPos pos)