Class StonecutterScreenHandler

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

public class StonecutterScreenHandler extends ScreenHandler
Mappings:
Namespace Name
named net/minecraft/screen/StonecutterScreenHandler
intermediary net/minecraft/class_3971
official crw
  • Field Details

    • INPUT_ID

      public static final int INPUT_ID
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named INPUT_ID Lnet/minecraft/screen/StonecutterScreenHandler;INPUT_ID:I
      intermediary field_30842 Lnet/minecraft/class_3971;field_30842:I
      official k Lcrw;k:I
    • OUTPUT_ID

      public static final int OUTPUT_ID
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named OUTPUT_ID Lnet/minecraft/screen/StonecutterScreenHandler;OUTPUT_ID:I
      intermediary field_30843 Lnet/minecraft/class_3971;field_30843:I
      official l Lcrw;l:I
    • INVENTORY_START

      private static final int INVENTORY_START
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named INVENTORY_START Lnet/minecraft/screen/StonecutterScreenHandler;INVENTORY_START:I
      intermediary field_30844 Lnet/minecraft/class_3971;field_30844:I
      official p Lcrw;p:I
    • INVENTORY_END

      private static final int INVENTORY_END
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named INVENTORY_END Lnet/minecraft/screen/StonecutterScreenHandler;INVENTORY_END:I
      intermediary field_30845 Lnet/minecraft/class_3971;field_30845:I
      official q Lcrw;q:I
    • OUTPUT_START

      private static final int OUTPUT_START
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named OUTPUT_START Lnet/minecraft/screen/StonecutterScreenHandler;OUTPUT_START:I
      intermediary field_30846 Lnet/minecraft/class_3971;field_30846:I
      official r Lcrw;r:I
    • OUTPUT_END

      private static final int OUTPUT_END
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named OUTPUT_END Lnet/minecraft/screen/StonecutterScreenHandler;OUTPUT_END:I
      intermediary field_30847 Lnet/minecraft/class_3971;field_30847:I
      official s Lcrw;s:I
    • context

      private final ScreenHandlerContext context
      Mappings:
      Namespace Name Mixin selector
      named context Lnet/minecraft/screen/StonecutterScreenHandler;context:Lnet/minecraft/screen/ScreenHandlerContext;
      intermediary field_17630 Lnet/minecraft/class_3971;field_17630:Lnet/minecraft/class_3914;
      official t Lcrw;t:Lcqg;
    • selectedRecipe

      private final Property selectedRecipe
      Mappings:
      Namespace Name Mixin selector
      named selectedRecipe Lnet/minecraft/screen/StonecutterScreenHandler;selectedRecipe:Lnet/minecraft/screen/Property;
      intermediary field_17631 Lnet/minecraft/class_3971;field_17631:Lnet/minecraft/class_3915;
      official u Lcrw;u:Lcqn;
    • world

      private final World world
      Mappings:
      Namespace Name Mixin selector
      named world Lnet/minecraft/screen/StonecutterScreenHandler;world:Lnet/minecraft/world/World;
      intermediary field_17632 Lnet/minecraft/class_3971;field_17632:Lnet/minecraft/class_1937;
      official v Lcrw;v:Ldbz;
    • availableRecipes

      private List<RecipeEntry<StonecuttingRecipe>> availableRecipes
      Mappings:
      Namespace Name Mixin selector
      named availableRecipes Lnet/minecraft/screen/StonecutterScreenHandler;availableRecipes:Ljava/util/List;
      intermediary field_17633 Lnet/minecraft/class_3971;field_17633:Ljava/util/List;
      official w Lcrw;w:Ljava/util/List;
    • inputStack

      private ItemStack inputStack
      Mappings:
      Namespace Name Mixin selector
      named inputStack Lnet/minecraft/screen/StonecutterScreenHandler;inputStack:Lnet/minecraft/item/ItemStack;
      intermediary field_17634 Lnet/minecraft/class_3971;field_17634:Lnet/minecraft/class_1799;
      official x Lcrw;x:Lcuq;
    • lastTakeTime

      long lastTakeTime
      Mappings:
      Namespace Name Mixin selector
      named lastTakeTime Lnet/minecraft/screen/StonecutterScreenHandler;lastTakeTime:J
      intermediary field_17635 Lnet/minecraft/class_3971;field_17635:J
      official y Lcrw;y:J
    • inputSlot

      final Slot inputSlot
      Mappings:
      Namespace Name Mixin selector
      named inputSlot Lnet/minecraft/screen/StonecutterScreenHandler;inputSlot:Lnet/minecraft/screen/slot/Slot;
      intermediary field_17627 Lnet/minecraft/class_3971;field_17627:Lnet/minecraft/class_1735;
      official m Lcrw;m:Lcrq;
    • outputSlot

      final Slot outputSlot
      Mappings:
      Namespace Name Mixin selector
      named outputSlot Lnet/minecraft/screen/StonecutterScreenHandler;outputSlot:Lnet/minecraft/screen/slot/Slot;
      intermediary field_17628 Lnet/minecraft/class_3971;field_17628:Lnet/minecraft/class_1735;
      official n Lcrw;n:Lcrq;
    • contentsChangedListener

      Runnable contentsChangedListener
      Mappings:
      Namespace Name Mixin selector
      named contentsChangedListener Lnet/minecraft/screen/StonecutterScreenHandler;contentsChangedListener:Ljava/lang/Runnable;
      intermediary field_17636 Lnet/minecraft/class_3971;field_17636:Ljava/lang/Runnable;
      official z Lcrw;z:Ljava/lang/Runnable;
    • input

      public final Inventory input
      Mappings:
      Namespace Name Mixin selector
      named input Lnet/minecraft/screen/StonecutterScreenHandler;input:Lnet/minecraft/inventory/Inventory;
      intermediary field_17629 Lnet/minecraft/class_3971;field_17629:Lnet/minecraft/class_1263;
      official o Lcrw;o:Lbqo;
    • output

      Mappings:
      Namespace Name Mixin selector
      named output Lnet/minecraft/screen/StonecutterScreenHandler;output:Lnet/minecraft/inventory/CraftingResultInventory;
      intermediary field_19173 Lnet/minecraft/class_3971;field_19173:Lnet/minecraft/class_1731;
      official A Lcrw;A:Lcrl;
  • Constructor Details

    • StonecutterScreenHandler

      public StonecutterScreenHandler(int syncId, PlayerInventory playerInventory)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/screen/StonecutterScreenHandler;<init>(ILnet/minecraft/entity/player/PlayerInventory;)V
      intermediary <init> Lnet/minecraft/class_3971;<init>(ILnet/minecraft/class_1661;)V
      official <init> Lcrw;<init>(ILcmx;)V
    • StonecutterScreenHandler

      public StonecutterScreenHandler(int syncId, PlayerInventory playerInventory, ScreenHandlerContext context)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/screen/StonecutterScreenHandler;<init>(ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/screen/ScreenHandlerContext;)V
      intermediary <init> Lnet/minecraft/class_3971;<init>(ILnet/minecraft/class_1661;Lnet/minecraft/class_3914;)V
      official <init> Lcrw;<init>(ILcmx;Lcqg;)V
  • Method Details

    • getSelectedRecipe

      public int getSelectedRecipe()
      Mappings:
      Namespace Name Mixin selector
      named getSelectedRecipe Lnet/minecraft/screen/StonecutterScreenHandler;getSelectedRecipe()I
      intermediary method_17862 Lnet/minecraft/class_3971;method_17862()I
      official l Lcrw;l()I
    • getAvailableRecipes

      public List<RecipeEntry<StonecuttingRecipe>> getAvailableRecipes()
      Mappings:
      Namespace Name Mixin selector
      named getAvailableRecipes Lnet/minecraft/screen/StonecutterScreenHandler;getAvailableRecipes()Ljava/util/List;
      intermediary method_17863 Lnet/minecraft/class_3971;method_17863()Ljava/util/List;
      official m Lcrw;m()Ljava/util/List;
    • getAvailableRecipeCount

      public int getAvailableRecipeCount()
      Mappings:
      Namespace Name Mixin selector
      named getAvailableRecipeCount Lnet/minecraft/screen/StonecutterScreenHandler;getAvailableRecipeCount()I
      intermediary method_17864 Lnet/minecraft/class_3971;method_17864()I
      official n Lcrw;n()I
    • canCraft

      public boolean canCraft()
      Mappings:
      Namespace Name Mixin selector
      named canCraft Lnet/minecraft/screen/StonecutterScreenHandler;canCraft()Z
      intermediary method_17865 Lnet/minecraft/class_3971;method_17865()Z
      official o Lcrw;o()Z
    • 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 Lcpv;a(Lcmy;)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 Lcpv;b(Lcmy;I)Z
    • isInBounds

      private boolean isInBounds(int id)
      Mappings:
      Namespace Name Mixin selector
      named isInBounds Lnet/minecraft/screen/StonecutterScreenHandler;isInBounds(I)Z
      intermediary method_30160 Lnet/minecraft/class_3971;method_30160(I)Z
      official e Lcrw;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 Lcpv;a(Lbqo;)V
    • updateInput

      private void updateInput(Inventory input, ItemStack stack)
      Mappings:
      Namespace Name Mixin selector
      named updateInput Lnet/minecraft/screen/StonecutterScreenHandler;updateInput(Lnet/minecraft/inventory/Inventory;Lnet/minecraft/item/ItemStack;)V
      intermediary method_17855 Lnet/minecraft/class_3971;method_17855(Lnet/minecraft/class_1263;Lnet/minecraft/class_1799;)V
      official a Lcrw;a(Lbqo;Lcuq;)V
    • populateResult

      void populateResult()
      Mappings:
      Namespace Name Mixin selector
      named populateResult Lnet/minecraft/screen/StonecutterScreenHandler;populateResult()V
      intermediary method_17866 Lnet/minecraft/class_3971;method_17866()V
      official p Lcrw;p()V
    • getType

      public ScreenHandlerType<?> getType()
      Returns the screen handler type.

      A screen handler must have associated screen handler type to open it.

      Overrides:
      getType in class ScreenHandler
      Returns:
      the screen handler type
      Throws:
      UnsupportedOperationException - if the type is not passed in the constructor
      Mappings:
      Namespace Name Mixin selector
      named getType Lnet/minecraft/screen/ScreenHandler;getType()Lnet/minecraft/screen/ScreenHandlerType;
      intermediary method_17358 Lnet/minecraft/class_1703;method_17358()Lnet/minecraft/class_3917;
      official a Lcpv;a()Lcrc;
    • setContentsChangedListener

      public void setContentsChangedListener(Runnable contentsChangedListener)
      Mappings:
      Namespace Name Mixin selector
      named setContentsChangedListener Lnet/minecraft/screen/StonecutterScreenHandler;setContentsChangedListener(Ljava/lang/Runnable;)V
      intermediary method_17859 Lnet/minecraft/class_3971;method_17859(Ljava/lang/Runnable;)V
      official a Lcrw;a(Ljava/lang/Runnable;)V
    • 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 Lcpv;a(Lcuq;Lcrq;)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 a Lcpv;a(Lcmy;I)Lcuq;
    • 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 Lcpv;b(Lcmy;)V