Class LoomScreenHandler
- Mappings:
Namespace Name official ccgintermediary net/minecraft/class_1726named net/minecraft/screen/LoomScreenHandler
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate List<RegistryEntry<BannerPattern>>(package private) final Slotprivate final ScreenHandlerContext(package private) final Slotprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate final Inventory(package private) Runnable(package private) longprivate final Inventoryprivate final Slotprivate final Slot(package private) final PropertyFields 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
ConstructorsConstructorDescriptionLoomScreenHandler(int syncId, PlayerInventory playerInventory) LoomScreenHandler(int syncId, PlayerInventory playerInventory, ScreenHandlerContext context) -
Method Summary
Modifier and TypeMethodDescriptionbooleancanUse(PlayerEntity player) Returns whether the screen handler can be used.private List<RegistryEntry<BannerPattern>>getPatternsFor(ItemStack stack) intprivate booleanisPatternIndexValid(int index) booleanonButtonClick(PlayerEntity player, int id) Called whenplayerclicks a button withid.voidonClosed(PlayerEntity player) Called when this screen handler is closed.voidonContentChanged(Inventory inventory) Called when a slot's content has changed.quickMove(PlayerEntity player, int slot) Quick-moves the stack atslotto other slots of the screen handler that belong to a different inventory or another section of the same inventory.voidsetInventoryChangeListener(Runnable inventoryChangeListener) private voidupdateOutputSlot(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 kLccg;k:Iintermediary field_39120Lnet/minecraft/class_1726;field_39120:Inamed field_39120Lnet/minecraft/screen/LoomScreenHandler;field_39120:I
-
field_30826
private static final int field_30826- See Also:
- Mappings:
Namespace Name Mixin selector official lLccg;l:Iintermediary field_30826Lnet/minecraft/class_1726;field_30826:Inamed field_30826Lnet/minecraft/screen/LoomScreenHandler;field_30826:I
-
field_30827
private static final int field_30827- See Also:
- Mappings:
Namespace Name Mixin selector official mLccg;m:Iintermediary field_30827Lnet/minecraft/class_1726;field_30827:Inamed field_30827Lnet/minecraft/screen/LoomScreenHandler;field_30827:I
-
field_30828
private static final int field_30828- See Also:
- Mappings:
Namespace Name Mixin selector official nLccg;n:Iintermediary field_30828Lnet/minecraft/class_1726;field_30828:Inamed field_30828Lnet/minecraft/screen/LoomScreenHandler;field_30828:I
-
field_30829
private static final int field_30829- See Also:
- Mappings:
Namespace Name Mixin selector official oLccg;o:Iintermediary field_30829Lnet/minecraft/class_1726;field_30829:Inamed field_30829Lnet/minecraft/screen/LoomScreenHandler;field_30829:I
-
context
- Mappings:
Namespace Name Mixin selector official pLccg;p:Lcbo;intermediary field_17316Lnet/minecraft/class_1726;field_17316:Lnet/minecraft/class_3914;named contextLnet/minecraft/screen/LoomScreenHandler;context:Lnet/minecraft/screen/ScreenHandlerContext;
-
selectedPattern
- Mappings:
Namespace Name Mixin selector official qLccg;q:Lcbt;intermediary field_17317Lnet/minecraft/class_1726;field_17317:Lnet/minecraft/class_3915;named selectedPatternLnet/minecraft/screen/LoomScreenHandler;selectedPattern:Lnet/minecraft/screen/Property;
-
bannerPatterns
- Mappings:
Namespace Name Mixin selector official rLccg;r:Ljava/util/List;intermediary field_39121Lnet/minecraft/class_1726;field_39121:Ljava/util/List;named bannerPatternsLnet/minecraft/screen/LoomScreenHandler;bannerPatterns:Ljava/util/List;
-
inventoryChangeListener
Runnable inventoryChangeListener- Mappings:
Namespace Name Mixin selector official sLccg;s:Ljava/lang/Runnable;intermediary field_17318Lnet/minecraft/class_1726;field_17318:Ljava/lang/Runnable;named inventoryChangeListenerLnet/minecraft/screen/LoomScreenHandler;inventoryChangeListener:Ljava/lang/Runnable;
-
bannerSlot
- Mappings:
Namespace Name Mixin selector official tLccg;t:Lccv;intermediary field_17319Lnet/minecraft/class_1726;field_17319:Lnet/minecraft/class_1735;named bannerSlotLnet/minecraft/screen/LoomScreenHandler;bannerSlot:Lnet/minecraft/screen/slot/Slot;
-
dyeSlot
- Mappings:
Namespace Name Mixin selector official uLccg;u:Lccv;intermediary field_17320Lnet/minecraft/class_1726;field_17320:Lnet/minecraft/class_1735;named dyeSlotLnet/minecraft/screen/LoomScreenHandler;dyeSlot:Lnet/minecraft/screen/slot/Slot;
-
patternSlot
- Mappings:
Namespace Name Mixin selector official vLccg;v:Lccv;intermediary field_17321Lnet/minecraft/class_1726;field_17321:Lnet/minecraft/class_1735;named patternSlotLnet/minecraft/screen/LoomScreenHandler;patternSlot:Lnet/minecraft/screen/slot/Slot;
-
outputSlot
- Mappings:
Namespace Name Mixin selector official wLccg;w:Lccv;intermediary field_17322Lnet/minecraft/class_1726;field_17322:Lnet/minecraft/class_1735;named outputSlotLnet/minecraft/screen/LoomScreenHandler;outputSlot:Lnet/minecraft/screen/slot/Slot;
-
lastTakeResultTime
long lastTakeResultTime- Mappings:
Namespace Name Mixin selector official xLccg;x:Jintermediary field_20383Lnet/minecraft/class_1726;field_20383:Jnamed lastTakeResultTimeLnet/minecraft/screen/LoomScreenHandler;lastTakeResultTime:J
-
input
- Mappings:
Namespace Name Mixin selector official yLccg;y:Lbdp;intermediary field_7850Lnet/minecraft/class_1726;field_7850:Lnet/minecraft/class_1263;named inputLnet/minecraft/screen/LoomScreenHandler;input:Lnet/minecraft/inventory/Inventory;
-
output
- Mappings:
Namespace Name Mixin selector official zLccg;z:Lbdp;intermediary field_17323Lnet/minecraft/class_1726;field_17323:Lnet/minecraft/class_1263;named outputLnet/minecraft/screen/LoomScreenHandler;output:Lnet/minecraft/inventory/Inventory;
-
-
Constructor Details
-
LoomScreenHandler
- Mappings:
Namespace Name Mixin selector official <init>Lccg;<init>(ILbyl;)Vintermediary <init>Lnet/minecraft/class_1726;<init>(ILnet/minecraft/class_1661;)Vnamed <init>Lnet/minecraft/screen/LoomScreenHandler;<init>(ILnet/minecraft/entity/player/PlayerInventory;)V
-
LoomScreenHandler
- Mappings:
Namespace Name Mixin selector official <init>Lccg;<init>(ILbyl;Lcbo;)Vintermediary <init>Lnet/minecraft/class_1726;<init>(ILnet/minecraft/class_1661;Lnet/minecraft/class_3914;)Vnamed <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:
canUsein classScreenHandler- Returns:
- whether the screen handler can be used
- Mappings:
Namespace Name Mixin selector official aLcbd;a(Lbym;)Zintermediary method_7597Lnet/minecraft/class_1703;method_7597(Lnet/minecraft/class_1657;)Znamed canUseLnet/minecraft/screen/ScreenHandler;canUse(Lnet/minecraft/entity/player/PlayerEntity;)Z
-
onButtonClick
Called whenplayerclicks 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:
onButtonClickin classScreenHandler- Returns:
- whether the button click is handled successfully
- Mappings:
Namespace Name Mixin selector official bLcbd;b(Lbym;I)Zintermediary method_7604Lnet/minecraft/class_1703;method_7604(Lnet/minecraft/class_1657;I)Znamed onButtonClickLnet/minecraft/screen/ScreenHandler;onButtonClick(Lnet/minecraft/entity/player/PlayerEntity;I)Z
-
getPatternsFor
- Mappings:
Namespace Name Mixin selector official cLccg;c(Lcfx;)Ljava/util/List;intermediary method_43705Lnet/minecraft/class_1726;method_43705(Lnet/minecraft/class_1799;)Ljava/util/List;named getPatternsForLnet/minecraft/screen/LoomScreenHandler;getPatternsFor(Lnet/minecraft/item/ItemStack;)Ljava/util/List;
-
isPatternIndexValid
private boolean isPatternIndexValid(int index) - Mappings:
Namespace Name Mixin selector official eLccg;e(I)Zintermediary method_45016Lnet/minecraft/class_1726;method_45016(I)Znamed isPatternIndexValidLnet/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
InventorywhosemarkDirtymethod 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:
onContentChangedin classScreenHandler- Mappings:
Namespace Name Mixin selector official aLcbd;a(Lbdp;)Vintermediary method_7609Lnet/minecraft/class_1703;method_7609(Lnet/minecraft/class_1263;)Vnamed onContentChangedLnet/minecraft/screen/ScreenHandler;onContentChanged(Lnet/minecraft/inventory/Inventory;)V
-
getBannerPatterns
- Mappings:
Namespace Name Mixin selector official lLccg;l()Ljava/util/List;intermediary method_43706Lnet/minecraft/class_1726;method_43706()Ljava/util/List;named getBannerPatternsLnet/minecraft/screen/LoomScreenHandler;getBannerPatterns()Ljava/util/List;
-
getSelectedPattern
public int getSelectedPattern()- Mappings:
Namespace Name Mixin selector official mLccg;m()Iintermediary method_7647Lnet/minecraft/class_1726;method_7647()Inamed getSelectedPatternLnet/minecraft/screen/LoomScreenHandler;getSelectedPattern()I
-
setInventoryChangeListener
- Mappings:
Namespace Name Mixin selector official aLccg;a(Ljava/lang/Runnable;)Vintermediary method_17423Lnet/minecraft/class_1726;method_17423(Ljava/lang/Runnable;)Vnamed setInventoryChangeListenerLnet/minecraft/screen/LoomScreenHandler;setInventoryChangeListener(Ljava/lang/Runnable;)V
-
quickMove
Quick-moves the stack atslotto 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:
quickMovein classScreenHandler- Parameters:
slot- the index of the slot to quick-move from- Returns:
ItemStack.EMPTYwhen no stack can be transferred, otherwise the original stack- See Also:
- Mappings:
Namespace Name Mixin selector official aLcbd;a(Lbym;I)Lcfx;intermediary method_7601Lnet/minecraft/class_1703;method_7601(Lnet/minecraft/class_1657;I)Lnet/minecraft/class_1799;named quickMoveLnet/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:
onClosedin classScreenHandler- Mappings:
Namespace Name Mixin selector official bLcbd;b(Lbym;)Vintermediary method_7595Lnet/minecraft/class_1703;method_7595(Lnet/minecraft/class_1657;)Vnamed onClosedLnet/minecraft/screen/ScreenHandler;onClosed(Lnet/minecraft/entity/player/PlayerEntity;)V
-
updateOutputSlot
- Mappings:
Namespace Name Mixin selector official aLccg;a(Lhe;)Vintermediary method_7648Lnet/minecraft/class_1726;method_7648(Lnet/minecraft/class_6880;)Vnamed updateOutputSlotLnet/minecraft/screen/LoomScreenHandler;updateOutputSlot(Lnet/minecraft/registry/entry/RegistryEntry;)V
-
getBannerSlot
- Mappings:
Namespace Name Mixin selector official nLccg;n()Lccv;intermediary method_17428Lnet/minecraft/class_1726;method_17428()Lnet/minecraft/class_1735;named getBannerSlotLnet/minecraft/screen/LoomScreenHandler;getBannerSlot()Lnet/minecraft/screen/slot/Slot;
-
getDyeSlot
- Mappings:
Namespace Name Mixin selector official oLccg;o()Lccv;intermediary method_17429Lnet/minecraft/class_1726;method_17429()Lnet/minecraft/class_1735;named getDyeSlotLnet/minecraft/screen/LoomScreenHandler;getDyeSlot()Lnet/minecraft/screen/slot/Slot;
-
getPatternSlot
- Mappings:
Namespace Name Mixin selector official pLccg;p()Lccv;intermediary method_17430Lnet/minecraft/class_1726;method_17430()Lnet/minecraft/class_1735;named getPatternSlotLnet/minecraft/screen/LoomScreenHandler;getPatternSlot()Lnet/minecraft/screen/slot/Slot;
-
getOutputSlot
- Mappings:
Namespace Name Mixin selector official qLccg;q()Lccv;intermediary method_17431Lnet/minecraft/class_1726;method_17431()Lnet/minecraft/class_1735;named getOutputSlotLnet/minecraft/screen/LoomScreenHandler;getOutputSlot()Lnet/minecraft/screen/slot/Slot;
-