Class LoomScreenHandler
- Mappings:
Namespace Name official cjg
intermediary net/minecraft/class_1726
named net/minecraft/screen/LoomScreenHandler
-
Field Summary
Modifier and TypeFieldDescriptionprivate List<RegistryEntry<BannerPattern>>
(package private) final Slot
private final ScreenHandlerContext
(package private) final Slot
private static final int
private static final int
private final Inventory
private static final int
private static final int
(package private) Runnable
(package private) long
private static final int
private final Inventory
private final Slot
private final Slot
(package private) final Property
Fields inherited from class net.minecraft.screen.ScreenHandler
EMPTY_SPACE_SLOT_INDEX, field_30731, field_30732, field_30733, field_30734, field_30735, field_30736, field_30737, slots, syncId
-
Constructor Summary
ConstructorDescriptionLoomScreenHandler
(int syncId, PlayerInventory playerInventory) LoomScreenHandler
(int syncId, PlayerInventory playerInventory, ScreenHandlerContext context) -
Method Summary
Modifier and TypeMethodDescriptionboolean
canUse
(PlayerEntity player) Returns whether the screen handler can be used.private List<RegistryEntry<BannerPattern>>
getPatternsFor
(ItemStack stack) int
private boolean
isPatternIndexValid
(int index) boolean
onButtonClick
(PlayerEntity player, int id) Called whenplayer
clicks a button withid
.void
onClosed
(PlayerEntity player) Called when this screen handler is closed.void
onContentChanged
(Inventory inventory) Called when a slot's content has changed.quickMove
(PlayerEntity player, int slot) Quick-moves the stack atslot
to other slots of the screen handler that belong to a different inventory or another section of the same inventory.void
setInventoryChangeListener
(Runnable inventoryChangeListener) private void
updateOutputSlot
(RegistryEntry<BannerPattern> pattern) Methods inherited from class net.minecraft.screen.ScreenHandler
addListener, addProperties, addProperty, addSlot, calculateComparatorOutput, calculateComparatorOutput, calculateStackSize, canInsertIntoSlot, canInsertIntoSlot, canInsertItemIntoSlot, canUse, checkDataCount, checkSize, copySharedSlots, disableSyncing, dropInventory, enableSyncing, endQuickCraft, getCursorStack, getRevision, getSlot, getSlotIndex, getStacks, getType, insertItem, isValid, nextRevision, onSlotClick, packQuickCraftData, removeListener, sendContentUpdates, setCursorStack, setPreviousCursorStack, setPreviousTrackedSlot, setPreviousTrackedSlotMutable, setProperty, setStackInSlot, shouldQuickCraftContinue, syncState, unpackQuickCraftButton, unpackQuickCraftStage, updateSlotStacks, updateSyncHandler, updateToClient
-
Field Details
-
NO_PATTERN
private static final int NO_PATTERN- See Also:
- Mappings:
Namespace Name Mixin selector official k
Lcjg;k:I
intermediary field_39120
Lnet/minecraft/class_1726;field_39120:I
named NO_PATTERN
Lnet/minecraft/screen/LoomScreenHandler;NO_PATTERN:I
-
INVENTORY_START
private static final int INVENTORY_START- See Also:
- Mappings:
Namespace Name Mixin selector official l
Lcjg;l:I
intermediary field_30826
Lnet/minecraft/class_1726;field_30826:I
named INVENTORY_START
Lnet/minecraft/screen/LoomScreenHandler;INVENTORY_START:I
-
INVENTORY_END
private static final int INVENTORY_END- See Also:
- Mappings:
Namespace Name Mixin selector official m
Lcjg;m:I
intermediary field_30827
Lnet/minecraft/class_1726;field_30827:I
named INVENTORY_END
Lnet/minecraft/screen/LoomScreenHandler;INVENTORY_END:I
-
HOTBAR_START
private static final int HOTBAR_START- See Also:
- Mappings:
Namespace Name Mixin selector official n
Lcjg;n:I
intermediary field_30828
Lnet/minecraft/class_1726;field_30828:I
named HOTBAR_START
Lnet/minecraft/screen/LoomScreenHandler;HOTBAR_START:I
-
HOTBAR_END
private static final int HOTBAR_END- See Also:
- Mappings:
Namespace Name Mixin selector official o
Lcjg;o:I
intermediary field_30829
Lnet/minecraft/class_1726;field_30829:I
named HOTBAR_END
Lnet/minecraft/screen/LoomScreenHandler;HOTBAR_END:I
-
context
- Mappings:
Namespace Name Mixin selector official p
Lcjg;p:Lcim;
intermediary field_17316
Lnet/minecraft/class_1726;field_17316:Lnet/minecraft/class_3914;
named context
Lnet/minecraft/screen/LoomScreenHandler;context:Lnet/minecraft/screen/ScreenHandlerContext;
-
selectedPattern
- Mappings:
Namespace Name Mixin selector official q
Lcjg;q:Lcit;
intermediary field_17317
Lnet/minecraft/class_1726;field_17317:Lnet/minecraft/class_3915;
named selectedPattern
Lnet/minecraft/screen/LoomScreenHandler;selectedPattern:Lnet/minecraft/screen/Property;
-
bannerPatterns
- Mappings:
Namespace Name Mixin selector official r
Lcjg;r:Ljava/util/List;
intermediary field_39121
Lnet/minecraft/class_1726;field_39121:Ljava/util/List;
named bannerPatterns
Lnet/minecraft/screen/LoomScreenHandler;bannerPatterns:Ljava/util/List;
-
inventoryChangeListener
Runnable inventoryChangeListener- Mappings:
Namespace Name Mixin selector official s
Lcjg;s:Ljava/lang/Runnable;
intermediary field_17318
Lnet/minecraft/class_1726;field_17318:Ljava/lang/Runnable;
named inventoryChangeListener
Lnet/minecraft/screen/LoomScreenHandler;inventoryChangeListener:Ljava/lang/Runnable;
-
bannerSlot
- Mappings:
Namespace Name Mixin selector official t
Lcjg;t:Lcjw;
intermediary field_17319
Lnet/minecraft/class_1726;field_17319:Lnet/minecraft/class_1735;
named bannerSlot
Lnet/minecraft/screen/LoomScreenHandler;bannerSlot:Lnet/minecraft/screen/slot/Slot;
-
dyeSlot
- Mappings:
Namespace Name Mixin selector official u
Lcjg;u:Lcjw;
intermediary field_17320
Lnet/minecraft/class_1726;field_17320:Lnet/minecraft/class_1735;
named dyeSlot
Lnet/minecraft/screen/LoomScreenHandler;dyeSlot:Lnet/minecraft/screen/slot/Slot;
-
patternSlot
- Mappings:
Namespace Name Mixin selector official v
Lcjg;v:Lcjw;
intermediary field_17321
Lnet/minecraft/class_1726;field_17321:Lnet/minecraft/class_1735;
named patternSlot
Lnet/minecraft/screen/LoomScreenHandler;patternSlot:Lnet/minecraft/screen/slot/Slot;
-
outputSlot
- Mappings:
Namespace Name Mixin selector official w
Lcjg;w:Lcjw;
intermediary field_17322
Lnet/minecraft/class_1726;field_17322:Lnet/minecraft/class_1735;
named outputSlot
Lnet/minecraft/screen/LoomScreenHandler;outputSlot:Lnet/minecraft/screen/slot/Slot;
-
lastTakeResultTime
long lastTakeResultTime- Mappings:
Namespace Name Mixin selector official x
Lcjg;x:J
intermediary field_20383
Lnet/minecraft/class_1726;field_20383:J
named lastTakeResultTime
Lnet/minecraft/screen/LoomScreenHandler;lastTakeResultTime:J
-
input
- Mappings:
Namespace Name Mixin selector official y
Lcjg;y:Lbju;
intermediary field_7850
Lnet/minecraft/class_1726;field_7850:Lnet/minecraft/class_1263;
named input
Lnet/minecraft/screen/LoomScreenHandler;input:Lnet/minecraft/inventory/Inventory;
-
output
- Mappings:
Namespace Name Mixin selector official z
Lcjg;z:Lbju;
intermediary field_17323
Lnet/minecraft/class_1726;field_17323:Lnet/minecraft/class_1263;
named output
Lnet/minecraft/screen/LoomScreenHandler;output:Lnet/minecraft/inventory/Inventory;
-
-
Constructor Details
-
LoomScreenHandler
- Mappings:
Namespace Name Mixin selector official <init>
Lcjg;<init>(ILcfh;)V
intermediary <init>
Lnet/minecraft/class_1726;<init>(ILnet/minecraft/class_1661;)V
named <init>
Lnet/minecraft/screen/LoomScreenHandler;<init>(ILnet/minecraft/entity/player/PlayerInventory;)V
-
LoomScreenHandler
- Mappings:
Namespace Name Mixin selector official <init>
Lcjg;<init>(ILcfh;Lcim;)V
intermediary <init>
Lnet/minecraft/class_1726;<init>(ILnet/minecraft/class_1661;Lnet/minecraft/class_3914;)V
named <init>
Lnet/minecraft/screen/LoomScreenHandler;<init>(ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/screen/ScreenHandlerContext;)V
-
-
Method Details
-
canUse
Returns whether the screen handler can be used.Subclasses should call #canUse(ScreenHandlerContext, PlayerEntity, Block)} or implement the check itself. The implementation should check that the player is near the screen handler's source position (e.g. block position) and that the source (e.g. block) is not destroyed.
- Specified by:
canUse
in classScreenHandler
- Returns:
- whether the screen handler can be used
- Mappings:
Namespace Name Mixin selector official a
Lcib;a(Lcfi;)Z
intermediary method_7597
Lnet/minecraft/class_1703;method_7597(Lnet/minecraft/class_1657;)Z
named canUse
Lnet/minecraft/screen/ScreenHandler;canUse(Lnet/minecraft/entity/player/PlayerEntity;)Z
-
onButtonClick
Called whenplayer
clicks a button withid
."Button click" is an abstract concept; it does not have to be triggered by a button. Examples of button clicks include selecting a recipe for a stonecutter, turning a page of a lectern's book, or selecting an enchantment on an enchanting table. Buttons are identified by an integer.
- Overrides:
onButtonClick
in classScreenHandler
- Returns:
- whether the button click is handled successfully
- Mappings:
Namespace Name Mixin selector official b
Lcib;b(Lcfi;I)Z
intermediary method_7604
Lnet/minecraft/class_1703;method_7604(Lnet/minecraft/class_1657;I)Z
named onButtonClick
Lnet/minecraft/screen/ScreenHandler;onButtonClick(Lnet/minecraft/entity/player/PlayerEntity;I)Z
-
getPatternsFor
- Mappings:
Namespace Name Mixin selector official c
Lcjg;c(Lcmy;)Ljava/util/List;
intermediary method_43705
Lnet/minecraft/class_1726;method_43705(Lnet/minecraft/class_1799;)Ljava/util/List;
named getPatternsFor
Lnet/minecraft/screen/LoomScreenHandler;getPatternsFor(Lnet/minecraft/item/ItemStack;)Ljava/util/List;
-
isPatternIndexValid
private boolean isPatternIndexValid(int index) - Mappings:
Namespace Name Mixin selector official e
Lcjg;e(I)Z
intermediary method_45016
Lnet/minecraft/class_1726;method_45016(I)Z
named isPatternIndexValid
Lnet/minecraft/screen/LoomScreenHandler;isPatternIndexValid(I)Z
-
onContentChanged
Called when a slot's content has changed.This is not called by default; subclasses that override this method should also use a custom
Inventory
whosemarkDirty
method is overridden to call this method as a backing inventory of the slot.This can be used to update the output slot when input changes.
- Overrides:
onContentChanged
in classScreenHandler
- Mappings:
Namespace Name Mixin selector official a
Lcib;a(Lbju;)V
intermediary method_7609
Lnet/minecraft/class_1703;method_7609(Lnet/minecraft/class_1263;)V
named onContentChanged
Lnet/minecraft/screen/ScreenHandler;onContentChanged(Lnet/minecraft/inventory/Inventory;)V
-
getBannerPatterns
- Mappings:
Namespace Name Mixin selector official l
Lcjg;l()Ljava/util/List;
intermediary method_43706
Lnet/minecraft/class_1726;method_43706()Ljava/util/List;
named getBannerPatterns
Lnet/minecraft/screen/LoomScreenHandler;getBannerPatterns()Ljava/util/List;
-
getSelectedPattern
public int getSelectedPattern()- Mappings:
Namespace Name Mixin selector official m
Lcjg;m()I
intermediary method_7647
Lnet/minecraft/class_1726;method_7647()I
named getSelectedPattern
Lnet/minecraft/screen/LoomScreenHandler;getSelectedPattern()I
-
setInventoryChangeListener
- Mappings:
Namespace Name Mixin selector official a
Lcjg;a(Ljava/lang/Runnable;)V
intermediary method_17423
Lnet/minecraft/class_1726;method_17423(Ljava/lang/Runnable;)V
named setInventoryChangeListener
Lnet/minecraft/screen/LoomScreenHandler;setInventoryChangeListener(Ljava/lang/Runnable;)V
-
quickMove
Quick-moves the stack atslot
to other slots of the screen handler that belong to a different inventory or another section of the same inventory. For example, items can be quick-moved between a chest's slots and the player inventory or between the main player inventory and the hotbar.Subclasses should call
ScreenHandler.insertItem(net.minecraft.item.ItemStack, int, int, boolean)
, and if the insertion was successful, clear the slot (if the stack is exhausted) or mark it as dirty. See the vanilla subclasses for basic implementation.Quick-moving is also known as "shift-clicking" since it's usually triggered using Shift+left click.
- Specified by:
quickMove
in classScreenHandler
- Parameters:
slot
- the index of the slot to quick-move from- Returns:
ItemStack.EMPTY
when no stack can be transferred, otherwise the original stack- See Also:
- Mappings:
Namespace Name Mixin selector official a
Lcib;a(Lcfi;I)Lcmy;
intermediary method_7601
Lnet/minecraft/class_1703;method_7601(Lnet/minecraft/class_1657;I)Lnet/minecraft/class_1799;
named quickMove
Lnet/minecraft/screen/ScreenHandler;quickMove(Lnet/minecraft/entity/player/PlayerEntity;I)Lnet/minecraft/item/ItemStack;
-
onClosed
Called when this screen handler is closed.To close a screen handler, call
PlayerEntity.closeHandledScreen()
on the server instead of this method.This drops the cursor stack by default. Subclasses that have slots not backed by a persistent inventory should call
ScreenHandler.dropInventory(net.minecraft.entity.player.PlayerEntity, net.minecraft.inventory.Inventory)
to drop the stacks.- Overrides:
onClosed
in classScreenHandler
- Mappings:
Namespace Name Mixin selector official b
Lcib;b(Lcfi;)V
intermediary method_7595
Lnet/minecraft/class_1703;method_7595(Lnet/minecraft/class_1657;)V
named onClosed
Lnet/minecraft/screen/ScreenHandler;onClosed(Lnet/minecraft/entity/player/PlayerEntity;)V
-
updateOutputSlot
- Mappings:
Namespace Name Mixin selector official a
Lcjg;a(Lih;)V
intermediary method_7648
Lnet/minecraft/class_1726;method_7648(Lnet/minecraft/class_6880;)V
named updateOutputSlot
Lnet/minecraft/screen/LoomScreenHandler;updateOutputSlot(Lnet/minecraft/registry/entry/RegistryEntry;)V
-
getBannerSlot
- Mappings:
Namespace Name Mixin selector official n
Lcjg;n()Lcjw;
intermediary method_17428
Lnet/minecraft/class_1726;method_17428()Lnet/minecraft/class_1735;
named getBannerSlot
Lnet/minecraft/screen/LoomScreenHandler;getBannerSlot()Lnet/minecraft/screen/slot/Slot;
-
getDyeSlot
- Mappings:
Namespace Name Mixin selector official o
Lcjg;o()Lcjw;
intermediary method_17429
Lnet/minecraft/class_1726;method_17429()Lnet/minecraft/class_1735;
named getDyeSlot
Lnet/minecraft/screen/LoomScreenHandler;getDyeSlot()Lnet/minecraft/screen/slot/Slot;
-
getPatternSlot
- Mappings:
Namespace Name Mixin selector official p
Lcjg;p()Lcjw;
intermediary method_17430
Lnet/minecraft/class_1726;method_17430()Lnet/minecraft/class_1735;
named getPatternSlot
Lnet/minecraft/screen/LoomScreenHandler;getPatternSlot()Lnet/minecraft/screen/slot/Slot;
-
getOutputSlot
- Mappings:
Namespace Name Mixin selector official q
Lcjg;q()Lcjw;
intermediary method_17431
Lnet/minecraft/class_1726;method_17431()Lnet/minecraft/class_1735;
named getOutputSlot
Lnet/minecraft/screen/LoomScreenHandler;getOutputSlot()Lnet/minecraft/screen/slot/Slot;
-