Class LoomScreenHandler

java.lang.Object
net.minecraft.screen.ScreenHandler
net.minecraft.screen.LoomScreenHandler

public class LoomScreenHandler extends ScreenHandler
Mappings:
Namespace Name
named net/minecraft/screen/LoomScreenHandler
intermediary net/minecraft/class_1726
official crb
  • Field Details

    • NO_PATTERN

      private static final int NO_PATTERN
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named NO_PATTERN Lnet/minecraft/screen/LoomScreenHandler;NO_PATTERN:I
      intermediary field_39120 Lnet/minecraft/class_1726;field_39120:I
      official k Lcrb;k:I
    • INVENTORY_START

      private static final int INVENTORY_START
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named INVENTORY_START Lnet/minecraft/screen/LoomScreenHandler;INVENTORY_START:I
      intermediary field_30826 Lnet/minecraft/class_1726;field_30826:I
      official l Lcrb;l:I
    • INVENTORY_END

      private static final int INVENTORY_END
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named INVENTORY_END Lnet/minecraft/screen/LoomScreenHandler;INVENTORY_END:I
      intermediary field_30827 Lnet/minecraft/class_1726;field_30827:I
      official m Lcrb;m:I
    • HOTBAR_START

      private static final int HOTBAR_START
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named HOTBAR_START Lnet/minecraft/screen/LoomScreenHandler;HOTBAR_START:I
      intermediary field_30828 Lnet/minecraft/class_1726;field_30828:I
      official n Lcrb;n:I
    • HOTBAR_END

      private static final int HOTBAR_END
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named HOTBAR_END Lnet/minecraft/screen/LoomScreenHandler;HOTBAR_END:I
      intermediary field_30829 Lnet/minecraft/class_1726;field_30829:I
      official o Lcrb;o:I
    • context

      private final ScreenHandlerContext context
      Mappings:
      Namespace Name Mixin selector
      named context Lnet/minecraft/screen/LoomScreenHandler;context:Lnet/minecraft/screen/ScreenHandlerContext;
      intermediary field_17316 Lnet/minecraft/class_1726;field_17316:Lnet/minecraft/class_3914;
      official p Lcrb;p:Lcqh;
    • selectedPattern

      final Property selectedPattern
      Mappings:
      Namespace Name Mixin selector
      named selectedPattern Lnet/minecraft/screen/LoomScreenHandler;selectedPattern:Lnet/minecraft/screen/Property;
      intermediary field_17317 Lnet/minecraft/class_1726;field_17317:Lnet/minecraft/class_3915;
      official q Lcrb;q:Lcqo;
    • bannerPatterns

      private List<RegistryEntry<BannerPattern>> bannerPatterns
      Mappings:
      Namespace Name Mixin selector
      named bannerPatterns Lnet/minecraft/screen/LoomScreenHandler;bannerPatterns:Ljava/util/List;
      intermediary field_39121 Lnet/minecraft/class_1726;field_39121:Ljava/util/List;
      official r Lcrb;r:Ljava/util/List;
    • inventoryChangeListener

      Runnable inventoryChangeListener
      Mappings:
      Namespace Name Mixin selector
      named inventoryChangeListener Lnet/minecraft/screen/LoomScreenHandler;inventoryChangeListener:Ljava/lang/Runnable;
      intermediary field_17318 Lnet/minecraft/class_1726;field_17318:Ljava/lang/Runnable;
      official s Lcrb;s:Ljava/lang/Runnable;
    • bannerPatternLookup

      private final RegistryEntryLookup<BannerPattern> bannerPatternLookup
      Mappings:
      Namespace Name Mixin selector
      named bannerPatternLookup Lnet/minecraft/screen/LoomScreenHandler;bannerPatternLookup:Lnet/minecraft/registry/RegistryEntryLookup;
      intermediary field_49741 Lnet/minecraft/class_1726;field_49741:Lnet/minecraft/class_7871;
      official t Lcrb;t:Ljj;
    • bannerSlot

      final Slot bannerSlot
      Mappings:
      Namespace Name Mixin selector
      named bannerSlot Lnet/minecraft/screen/LoomScreenHandler;bannerSlot:Lnet/minecraft/screen/slot/Slot;
      intermediary field_17319 Lnet/minecraft/class_1726;field_17319:Lnet/minecraft/class_1735;
      official u Lcrb;u:Lcrr;
    • dyeSlot

      final Slot dyeSlot
      Mappings:
      Namespace Name Mixin selector
      named dyeSlot Lnet/minecraft/screen/LoomScreenHandler;dyeSlot:Lnet/minecraft/screen/slot/Slot;
      intermediary field_17320 Lnet/minecraft/class_1726;field_17320:Lnet/minecraft/class_1735;
      official v Lcrb;v:Lcrr;
    • patternSlot

      private final Slot patternSlot
      Mappings:
      Namespace Name Mixin selector
      named patternSlot Lnet/minecraft/screen/LoomScreenHandler;patternSlot:Lnet/minecraft/screen/slot/Slot;
      intermediary field_17321 Lnet/minecraft/class_1726;field_17321:Lnet/minecraft/class_1735;
      official w Lcrb;w:Lcrr;
    • outputSlot

      private final Slot outputSlot
      Mappings:
      Namespace Name Mixin selector
      named outputSlot Lnet/minecraft/screen/LoomScreenHandler;outputSlot:Lnet/minecraft/screen/slot/Slot;
      intermediary field_17322 Lnet/minecraft/class_1726;field_17322:Lnet/minecraft/class_1735;
      official x Lcrb;x:Lcrr;
    • lastTakeResultTime

      long lastTakeResultTime
      Mappings:
      Namespace Name Mixin selector
      named lastTakeResultTime Lnet/minecraft/screen/LoomScreenHandler;lastTakeResultTime:J
      intermediary field_20383 Lnet/minecraft/class_1726;field_20383:J
      official y Lcrb;y:J
    • input

      private final Inventory input
      Mappings:
      Namespace Name Mixin selector
      named input Lnet/minecraft/screen/LoomScreenHandler;input:Lnet/minecraft/inventory/Inventory;
      intermediary field_7850 Lnet/minecraft/class_1726;field_7850:Lnet/minecraft/class_1263;
      official z Lcrb;z:Lbqp;
    • output

      private final Inventory output
      Mappings:
      Namespace Name Mixin selector
      named output Lnet/minecraft/screen/LoomScreenHandler;output:Lnet/minecraft/inventory/Inventory;
      intermediary field_17323 Lnet/minecraft/class_1726;field_17323:Lnet/minecraft/class_1263;
      official A Lcrb;A:Lbqp;
  • Constructor Details

    • LoomScreenHandler

      public LoomScreenHandler(int syncId, PlayerInventory playerInventory)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/screen/LoomScreenHandler;<init>(ILnet/minecraft/entity/player/PlayerInventory;)V
      intermediary <init> Lnet/minecraft/class_1726;<init>(ILnet/minecraft/class_1661;)V
      official <init> Lcrb;<init>(ILcmy;)V
    • LoomScreenHandler

      public LoomScreenHandler(int syncId, PlayerInventory playerInventory, ScreenHandlerContext context)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/screen/LoomScreenHandler;<init>(ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/screen/ScreenHandlerContext;)V
      intermediary <init> Lnet/minecraft/class_1726;<init>(ILnet/minecraft/class_1661;Lnet/minecraft/class_3914;)V
      official <init> Lcrb;<init>(ILcmy;Lcqh;)V
  • Method Details

    • canUse

      public boolean canUse(PlayerEntity player)
      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 class ScreenHandler
      Returns:
      whether the screen handler can be used
      Mappings:
      Namespace Name Mixin selector
      named canUse Lnet/minecraft/screen/ScreenHandler;canUse(Lnet/minecraft/entity/player/PlayerEntity;)Z
      intermediary method_7597 Lnet/minecraft/class_1703;method_7597(Lnet/minecraft/class_1657;)Z
      official a Lcpw;a(Lcmz;)Z
    • onButtonClick

      public boolean onButtonClick(PlayerEntity player, int id)
      Called when player clicks a button with id.

      "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 class ScreenHandler
      Returns:
      whether the button click is handled successfully
      Implementation Note:
      This is normally only called by the server; however, screens that use buttons can call this on the client.
      Mappings:
      Namespace Name Mixin selector
      named onButtonClick Lnet/minecraft/screen/ScreenHandler;onButtonClick(Lnet/minecraft/entity/player/PlayerEntity;I)Z
      intermediary method_7604 Lnet/minecraft/class_1703;method_7604(Lnet/minecraft/class_1657;I)Z
      official b Lcpw;b(Lcmz;I)Z
    • getPatternsFor

      private List<RegistryEntry<BannerPattern>> getPatternsFor(ItemStack stack)
      Mappings:
      Namespace Name Mixin selector
      named getPatternsFor Lnet/minecraft/screen/LoomScreenHandler;getPatternsFor(Lnet/minecraft/item/ItemStack;)Ljava/util/List;
      intermediary method_43705 Lnet/minecraft/class_1726;method_43705(Lnet/minecraft/class_1799;)Ljava/util/List;
      official c Lcrb;c(Lcur;)Ljava/util/List;
    • isPatternIndexValid

      private boolean isPatternIndexValid(int index)
      Mappings:
      Namespace Name Mixin selector
      named isPatternIndexValid Lnet/minecraft/screen/LoomScreenHandler;isPatternIndexValid(I)Z
      intermediary method_45016 Lnet/minecraft/class_1726;method_45016(I)Z
      official e Lcrb;e(I)Z
    • onContentChanged

      public void onContentChanged(Inventory inventory)
      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 whose markDirty 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 class ScreenHandler
      Mappings:
      Namespace Name Mixin selector
      named onContentChanged Lnet/minecraft/screen/ScreenHandler;onContentChanged(Lnet/minecraft/inventory/Inventory;)V
      intermediary method_7609 Lnet/minecraft/class_1703;method_7609(Lnet/minecraft/class_1263;)V
      official a Lcpw;a(Lbqp;)V
    • getBannerPatterns

      public List<RegistryEntry<BannerPattern>> getBannerPatterns()
      Mappings:
      Namespace Name Mixin selector
      named getBannerPatterns Lnet/minecraft/screen/LoomScreenHandler;getBannerPatterns()Ljava/util/List;
      intermediary method_43706 Lnet/minecraft/class_1726;method_43706()Ljava/util/List;
      official l Lcrb;l()Ljava/util/List;
    • getSelectedPattern

      public int getSelectedPattern()
      Mappings:
      Namespace Name Mixin selector
      named getSelectedPattern Lnet/minecraft/screen/LoomScreenHandler;getSelectedPattern()I
      intermediary method_7647 Lnet/minecraft/class_1726;method_7647()I
      official m Lcrb;m()I
    • setInventoryChangeListener

      public void setInventoryChangeListener(Runnable inventoryChangeListener)
      Mappings:
      Namespace Name Mixin selector
      named setInventoryChangeListener Lnet/minecraft/screen/LoomScreenHandler;setInventoryChangeListener(Ljava/lang/Runnable;)V
      intermediary method_17423 Lnet/minecraft/class_1726;method_17423(Ljava/lang/Runnable;)V
      official a Lcrb;a(Ljava/lang/Runnable;)V
    • quickMove

      public ItemStack quickMove(PlayerEntity player, int slot)
      Quick-moves the stack at slot 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 class ScreenHandler
      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
      named quickMove Lnet/minecraft/screen/ScreenHandler;quickMove(Lnet/minecraft/entity/player/PlayerEntity;I)Lnet/minecraft/item/ItemStack;
      intermediary method_7601 Lnet/minecraft/class_1703;method_7601(Lnet/minecraft/class_1657;I)Lnet/minecraft/class_1799;
      official a Lcpw;a(Lcmz;I)Lcur;
    • onClosed

      public void onClosed(PlayerEntity player)
      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 class ScreenHandler
      Mappings:
      Namespace Name Mixin selector
      named onClosed Lnet/minecraft/screen/ScreenHandler;onClosed(Lnet/minecraft/entity/player/PlayerEntity;)V
      intermediary method_7595 Lnet/minecraft/class_1703;method_7595(Lnet/minecraft/class_1657;)V
      official b Lcpw;b(Lcmz;)V
    • updateOutputSlot

      private void updateOutputSlot(RegistryEntry<BannerPattern> pattern)
      Mappings:
      Namespace Name Mixin selector
      named updateOutputSlot Lnet/minecraft/screen/LoomScreenHandler;updateOutputSlot(Lnet/minecraft/registry/entry/RegistryEntry;)V
      intermediary method_7648 Lnet/minecraft/class_1726;method_7648(Lnet/minecraft/class_6880;)V
      official a Lcrb;a(Lji;)V
    • getBannerSlot

      public Slot getBannerSlot()
      Mappings:
      Namespace Name Mixin selector
      named getBannerSlot Lnet/minecraft/screen/LoomScreenHandler;getBannerSlot()Lnet/minecraft/screen/slot/Slot;
      intermediary method_17428 Lnet/minecraft/class_1726;method_17428()Lnet/minecraft/class_1735;
      official n Lcrb;n()Lcrr;
    • getDyeSlot

      public Slot getDyeSlot()
      Mappings:
      Namespace Name Mixin selector
      named getDyeSlot Lnet/minecraft/screen/LoomScreenHandler;getDyeSlot()Lnet/minecraft/screen/slot/Slot;
      intermediary method_17429 Lnet/minecraft/class_1726;method_17429()Lnet/minecraft/class_1735;
      official o Lcrb;o()Lcrr;
    • getPatternSlot

      public Slot getPatternSlot()
      Mappings:
      Namespace Name Mixin selector
      named getPatternSlot Lnet/minecraft/screen/LoomScreenHandler;getPatternSlot()Lnet/minecraft/screen/slot/Slot;
      intermediary method_17430 Lnet/minecraft/class_1726;method_17430()Lnet/minecraft/class_1735;
      official p Lcrb;p()Lcrr;
    • getOutputSlot

      public Slot getOutputSlot()
      Mappings:
      Namespace Name Mixin selector
      named getOutputSlot Lnet/minecraft/screen/LoomScreenHandler;getOutputSlot()Lnet/minecraft/screen/slot/Slot;
      intermediary method_17431 Lnet/minecraft/class_1726;method_17431()Lnet/minecraft/class_1735;
      official q Lcrb;q()Lcrr;