Class CraftingScreenHandler


public class CraftingScreenHandler extends AbstractCraftingScreenHandler
Mappings:
Namespace Name
named net/minecraft/screen/CraftingScreenHandler
intermediary net/minecraft/class_1714
official ctu
  • Field Details

    • field_52567

      private static final int field_52567
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named field_52567 Lnet/minecraft/screen/CraftingScreenHandler;field_52567:I
      intermediary field_52567 Lnet/minecraft/class_1714;field_52567:I
      official p Lctu;p:I
    • field_52568

      private static final int field_52568
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named field_52568 Lnet/minecraft/screen/CraftingScreenHandler;field_52568:I
      intermediary field_52568 Lnet/minecraft/class_1714;field_52568:I
      official q Lctu;q:I
    • RESULT_ID

      public static final int RESULT_ID
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named RESULT_ID Lnet/minecraft/screen/CraftingScreenHandler;RESULT_ID:I
      intermediary field_30781 Lnet/minecraft/class_1714;field_30781:I
      official o Lctu;o:I
    • INPUT_START

      private static final int INPUT_START
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named INPUT_START Lnet/minecraft/screen/CraftingScreenHandler;INPUT_START:I
      intermediary field_30782 Lnet/minecraft/class_1714;field_30782:I
      official r Lctu;r:I
    • field_52569

      private static final int field_52569
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named field_52569 Lnet/minecraft/screen/CraftingScreenHandler;field_52569:I
      intermediary field_52569 Lnet/minecraft/class_1714;field_52569:I
      official s Lctu;s:I
    • INPUT_END

      private static final int INPUT_END
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named INPUT_END Lnet/minecraft/screen/CraftingScreenHandler;INPUT_END:I
      intermediary field_30783 Lnet/minecraft/class_1714;field_30783:I
      official t Lctu;t:I
    • INVENTORY_START

      private static final int INVENTORY_START
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named INVENTORY_START Lnet/minecraft/screen/CraftingScreenHandler;INVENTORY_START:I
      intermediary field_30784 Lnet/minecraft/class_1714;field_30784:I
      official u Lctu;u:I
    • INVENTORY_END

      private static final int INVENTORY_END
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named INVENTORY_END Lnet/minecraft/screen/CraftingScreenHandler;INVENTORY_END:I
      intermediary field_30785 Lnet/minecraft/class_1714;field_30785:I
      official v Lctu;v:I
    • HOTBAR_START

      private static final int HOTBAR_START
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named HOTBAR_START Lnet/minecraft/screen/CraftingScreenHandler;HOTBAR_START:I
      intermediary field_30786 Lnet/minecraft/class_1714;field_30786:I
      official w Lctu;w:I
    • HOTBAR_END

      private static final int HOTBAR_END
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named HOTBAR_END Lnet/minecraft/screen/CraftingScreenHandler;HOTBAR_END:I
      intermediary field_30787 Lnet/minecraft/class_1714;field_30787:I
      official x Lctu;x:I
    • context

      private final ScreenHandlerContext context
      Mappings:
      Namespace Name Mixin selector
      named context Lnet/minecraft/screen/CraftingScreenHandler;context:Lnet/minecraft/screen/ScreenHandlerContext;
      intermediary field_7799 Lnet/minecraft/class_1714;field_7799:Lnet/minecraft/class_3914;
      official y Lctu;y:Lcto;
    • player

      private final PlayerEntity player
      Mappings:
      Namespace Name Mixin selector
      named player Lnet/minecraft/screen/CraftingScreenHandler;player:Lnet/minecraft/entity/player/PlayerEntity;
      intermediary field_7797 Lnet/minecraft/class_1714;field_7797:Lnet/minecraft/class_1657;
      official z Lctu;z:Lcpw;
    • filling

      private boolean filling
      Mappings:
      Namespace Name Mixin selector
      named filling Lnet/minecraft/screen/CraftingScreenHandler;filling:Z
      intermediary field_51625 Lnet/minecraft/class_1714;field_51625:Z
      official A Lctu;A:Z
  • Constructor Details

    • CraftingScreenHandler

      public CraftingScreenHandler(int syncId, PlayerInventory playerInventory)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/screen/CraftingScreenHandler;<init>(ILnet/minecraft/entity/player/PlayerInventory;)V
      intermediary <init> Lnet/minecraft/class_1714;<init>(ILnet/minecraft/class_1661;)V
      official <init> Lctu;<init>(ILcpv;)V
    • CraftingScreenHandler

      public CraftingScreenHandler(int syncId, PlayerInventory playerInventory, ScreenHandlerContext context)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/screen/CraftingScreenHandler;<init>(ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/screen/ScreenHandlerContext;)V
      intermediary <init> Lnet/minecraft/class_1714;<init>(ILnet/minecraft/class_1661;Lnet/minecraft/class_3914;)V
      official <init> Lctu;<init>(ILcpv;Lcto;)V
  • Method Details

    • updateResult

      protected static void updateResult(ScreenHandler handler, ServerWorld world, PlayerEntity player, RecipeInputInventory craftingInventory, CraftingResultInventory resultInventory, @Nullable @Nullable RecipeEntry<CraftingRecipe> recipe)
      Mappings:
      Namespace Name Mixin selector
      named updateResult Lnet/minecraft/screen/CraftingScreenHandler;updateResult(Lnet/minecraft/screen/ScreenHandler;Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/inventory/RecipeInputInventory;Lnet/minecraft/inventory/CraftingResultInventory;Lnet/minecraft/recipe/RecipeEntry;)V
      intermediary method_17399 Lnet/minecraft/class_1714;method_17399(Lnet/minecraft/class_1703;Lnet/minecraft/class_3218;Lnet/minecraft/class_1657;Lnet/minecraft/class_8566;Lnet/minecraft/class_1731;Lnet/minecraft/class_8786;)V
      official a Lctu;a(Lctb;Lash;Lcpw;Lctt;Lcut;Ldci;)V
    • 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 Lctb;a(Lbtb;)V
    • onInputSlotFillStart

      public void onInputSlotFillStart()
      Overrides:
      onInputSlotFillStart in class AbstractCraftingScreenHandler
      Mappings:
      Namespace Name Mixin selector
      named onInputSlotFillStart Lnet/minecraft/screen/AbstractCraftingScreenHandler;onInputSlotFillStart()V
      intermediary method_59963 Lnet/minecraft/class_9884;method_59963()V
      official l Lctc;l()V
    • onInputSlotFillFinish

      public void onInputSlotFillFinish(ServerWorld world, RecipeEntry<CraftingRecipe> recipe)
      Overrides:
      onInputSlotFillFinish in class AbstractCraftingScreenHandler
      Mappings:
      Namespace Name Mixin selector
      named onInputSlotFillFinish Lnet/minecraft/screen/AbstractCraftingScreenHandler;onInputSlotFillFinish(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/recipe/RecipeEntry;)V
      intermediary method_59964 Lnet/minecraft/class_9884;method_59964(Lnet/minecraft/class_3218;Lnet/minecraft/class_8786;)V
      official a Lctc;a(Lash;Ldci;)V
    • 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 a Lctb;a(Lcpw;)V
    • 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 b Lctb;b(Lcpw;)Z
    • 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 b Lctb;b(Lcpw;I)Lcxo;
    • canInsertIntoSlot

      public boolean canInsertIntoSlot(ItemStack stack, Slot slot)
      Returns whether stack can be inserted to slot.

      Subclasses should override this to return false if the slot is used for output.

      Overrides:
      canInsertIntoSlot in class ScreenHandler
      Returns:
      whether stack can be inserted to slot
      Mappings:
      Namespace Name Mixin selector
      named canInsertIntoSlot Lnet/minecraft/screen/ScreenHandler;canInsertIntoSlot(Lnet/minecraft/item/ItemStack;Lnet/minecraft/screen/slot/Slot;)Z
      intermediary method_7613 Lnet/minecraft/class_1703;method_7613(Lnet/minecraft/class_1799;Lnet/minecraft/class_1735;)Z
      official a Lctb;a(Lcxo;Lcuy;)Z
    • getOutputSlot

      public Slot getOutputSlot()
      Specified by:
      getOutputSlot in class AbstractCraftingScreenHandler
      Mappings:
      Namespace Name Mixin selector
      named getOutputSlot Lnet/minecraft/screen/AbstractCraftingScreenHandler;getOutputSlot()Lnet/minecraft/screen/slot/Slot;
      intermediary method_61627 Lnet/minecraft/class_9884;method_61627()Lnet/minecraft/class_1735;
      official m Lctc;m()Lcuy;
    • getInputSlots

      public List<Slot> getInputSlots()
      Specified by:
      getInputSlots in class AbstractCraftingScreenHandler
      Mappings:
      Namespace Name Mixin selector
      named getInputSlots Lnet/minecraft/screen/AbstractCraftingScreenHandler;getInputSlots()Ljava/util/List;
      intermediary method_61628 Lnet/minecraft/class_9884;method_61628()Ljava/util/List;
      official n Lctc;n()Ljava/util/List;
    • getCategory

      public RecipeBookType getCategory()
      Specified by:
      getCategory in class AbstractRecipeScreenHandler
      Mappings:
      Namespace Name Mixin selector
      named getCategory Lnet/minecraft/screen/AbstractRecipeScreenHandler;getCategory()Lnet/minecraft/recipe/book/RecipeBookType;
      intermediary method_30264 Lnet/minecraft/class_1729;method_30264()Lnet/minecraft/class_5421;
      official an_ Lcuq;an_()Lcur;
    • getPlayer

      protected PlayerEntity getPlayer()
      Specified by:
      getPlayer in class AbstractCraftingScreenHandler
      Mappings:
      Namespace Name Mixin selector
      named getPlayer Lnet/minecraft/screen/AbstractCraftingScreenHandler;getPlayer()Lnet/minecraft/entity/player/PlayerEntity;
      intermediary method_61631 Lnet/minecraft/class_9884;method_61631()Lnet/minecraft/class_1657;
      official q Lctc;q()Lcpw;