Class LoomScreenHandler
- Mappings:
Namespace Name official cai
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 static final int
private static final int
private static final int
private final Inventory
(package private) Runnable
(package private) long
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.void
close
(PlayerEntity player) Closes this screen handler.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
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
-
field_39120
private static final int field_39120- See Also:
- Mappings:
Namespace Name Mixin selector official k
Lcai;k:I
intermediary field_39120
Lnet/minecraft/class_1726;field_39120:I
named field_39120
Lnet/minecraft/screen/LoomScreenHandler;field_39120:I
-
field_30826
private static final int field_30826- See Also:
- Mappings:
Namespace Name Mixin selector official l
Lcai;l:I
intermediary field_30826
Lnet/minecraft/class_1726;field_30826:I
named field_30826
Lnet/minecraft/screen/LoomScreenHandler;field_30826:I
-
field_30827
private static final int field_30827- See Also:
- Mappings:
Namespace Name Mixin selector official m
Lcai;m:I
intermediary field_30827
Lnet/minecraft/class_1726;field_30827:I
named field_30827
Lnet/minecraft/screen/LoomScreenHandler;field_30827:I
-
field_30828
private static final int field_30828- See Also:
- Mappings:
Namespace Name Mixin selector official n
Lcai;n:I
intermediary field_30828
Lnet/minecraft/class_1726;field_30828:I
named field_30828
Lnet/minecraft/screen/LoomScreenHandler;field_30828:I
-
field_30829
private static final int field_30829- See Also:
- Mappings:
Namespace Name Mixin selector official o
Lcai;o:I
intermediary field_30829
Lnet/minecraft/class_1726;field_30829:I
named field_30829
Lnet/minecraft/screen/LoomScreenHandler;field_30829:I
-
context
- Mappings:
Namespace Name Mixin selector official p
Lcai;p:Lbzr;
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
Lcai;q:Lbzw;
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
Lcai;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
Lcai;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
Lcai;t:Lcax;
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
Lcai;u:Lcax;
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
Lcai;v:Lcax;
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
Lcai;w:Lcax;
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
Lcai;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
Lcai;y:Lbcf;
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
Lcai;z:Lbcf;
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>
Lcai;<init>(ILbwo;)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>
Lcai;<init>(ILbwo;Lbzr;)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
Lbzg;a(Lbwp;)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
Lbzg;b(Lbwp;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
Lcai;c(Lcdt;)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
Lcai;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
Lbzg;a(Lbcf;)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
Lcai;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
Lcai;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
Lcai;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
Lbzg;a(Lbwp;I)Lcdt;
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;
-
close
Closes this screen handler.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:
close
in classScreenHandler
- Mappings:
Namespace Name Mixin selector official b
Lbzg;b(Lbwp;)V
intermediary method_7595
Lnet/minecraft/class_1703;method_7595(Lnet/minecraft/class_1657;)V
named close
Lnet/minecraft/screen/ScreenHandler;close(Lnet/minecraft/entity/player/PlayerEntity;)V
-
updateOutputSlot
- Mappings:
Namespace Name Mixin selector official a
Lcai;a(Lgz;)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
Lcai;n()Lcax;
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
Lcai;o()Lcax;
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
Lcai;p()Lcax;
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
Lcai;q()Lcax;
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;
-