Class ForgingScreenHandler

java.lang.Object
net.minecraft.screen.ScreenHandler
net.minecraft.screen.ForgingScreenHandler
Direct Known Subclasses:
AnvilScreenHandler, SmithingScreenHandler

public abstract class ForgingScreenHandler extends ScreenHandler
Mappings:
Namespace Name
official cag
intermediary net/minecraft/class_4861
named net/minecraft/screen/ForgingScreenHandler
  • Field Details

    • FIRST_INPUT_SLOT_INDEX

      public static final int FIRST_INPUT_SLOT_INDEX
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official l Lcag;l:I
      intermediary field_30814 Lnet/minecraft/class_4861;field_30814:I
      named FIRST_INPUT_SLOT_INDEX Lnet/minecraft/screen/ForgingScreenHandler;FIRST_INPUT_SLOT_INDEX:I
    • SECOND_INPUT_SLOT_INDEX

      public static final int SECOND_INPUT_SLOT_INDEX
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official m Lcag;m:I
      intermediary field_30815 Lnet/minecraft/class_4861;field_30815:I
      named SECOND_INPUT_SLOT_INDEX Lnet/minecraft/screen/ForgingScreenHandler;SECOND_INPUT_SLOT_INDEX:I
    • OUTPUT_SLOT_INDEX

      public static final int OUTPUT_SLOT_INDEX
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official n Lcag;n:I
      intermediary field_30816 Lnet/minecraft/class_4861;field_30816:I
      named OUTPUT_SLOT_INDEX Lnet/minecraft/screen/ForgingScreenHandler;OUTPUT_SLOT_INDEX:I
    • PLAYER_INVENTORY_START_INDEX

      private static final int PLAYER_INVENTORY_START_INDEX
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official k Lcag;k:I
      intermediary field_30813 Lnet/minecraft/class_4861;field_30813:I
      named PLAYER_INVENTORY_START_INDEX Lnet/minecraft/screen/ForgingScreenHandler;PLAYER_INVENTORY_START_INDEX:I
    • field_30817

      private static final int field_30817
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official s Lcag;s:I
      intermediary field_30817 Lnet/minecraft/class_4861;field_30817:I
      named field_30817 Lnet/minecraft/screen/ForgingScreenHandler;field_30817:I
    • field_30818

      private static final int field_30818
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official t Lcag;t:I
      intermediary field_30818 Lnet/minecraft/class_4861;field_30818:I
      named field_30818 Lnet/minecraft/screen/ForgingScreenHandler;field_30818:I
    • PLAYER_INVENTORY_END_INDEX

      private static final int PLAYER_INVENTORY_END_INDEX
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official u Lcag;u:I
      intermediary field_30819 Lnet/minecraft/class_4861;field_30819:I
      named PLAYER_INVENTORY_END_INDEX Lnet/minecraft/screen/ForgingScreenHandler;PLAYER_INVENTORY_END_INDEX:I
    • output

      protected final CraftingResultInventory output
      Mappings:
      Namespace Name Mixin selector
      official o Lcag;o:Lcas;
      intermediary field_22479 Lnet/minecraft/class_4861;field_22479:Lnet/minecraft/class_1731;
      named output Lnet/minecraft/screen/ForgingScreenHandler;output:Lnet/minecraft/inventory/CraftingResultInventory;
    • input

      protected final Inventory input
      Mappings:
      Namespace Name Mixin selector
      official p Lcag;p:Lbcf;
      intermediary field_22480 Lnet/minecraft/class_4861;field_22480:Lnet/minecraft/class_1263;
      named input Lnet/minecraft/screen/ForgingScreenHandler;input:Lnet/minecraft/inventory/Inventory;
    • context

      protected final ScreenHandlerContext context
      Mappings:
      Namespace Name Mixin selector
      official q Lcag;q:Lbzr;
      intermediary field_22481 Lnet/minecraft/class_4861;field_22481:Lnet/minecraft/class_3914;
      named context Lnet/minecraft/screen/ForgingScreenHandler;context:Lnet/minecraft/screen/ScreenHandlerContext;
    • player

      protected final PlayerEntity player
      Mappings:
      Namespace Name Mixin selector
      official r Lcag;r:Lbwp;
      intermediary field_22482 Lnet/minecraft/class_4861;field_22482:Lnet/minecraft/class_1657;
      named player Lnet/minecraft/screen/ForgingScreenHandler;player:Lnet/minecraft/entity/player/PlayerEntity;
  • Constructor Details

    • ForgingScreenHandler

      public ForgingScreenHandler(@Nullable @Nullable ScreenHandlerType<?> type, int syncId, PlayerInventory playerInventory, ScreenHandlerContext context)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lcag;<init>(Lcak;ILbwo;Lbzr;)V
      intermediary <init> Lnet/minecraft/class_4861;<init>(Lnet/minecraft/class_3917;ILnet/minecraft/class_1661;Lnet/minecraft/class_3914;)V
      named <init> Lnet/minecraft/screen/ForgingScreenHandler;<init>(Lnet/minecraft/screen/ScreenHandlerType;ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/screen/ScreenHandlerContext;)V
  • Method Details

    • canTakeOutput

      protected abstract boolean canTakeOutput(PlayerEntity player, boolean present)
      Mappings:
      Namespace Name Mixin selector
      official a Lcag;a(Lbwp;Z)Z
      intermediary method_24927 Lnet/minecraft/class_4861;method_24927(Lnet/minecraft/class_1657;Z)Z
      named canTakeOutput Lnet/minecraft/screen/ForgingScreenHandler;canTakeOutput(Lnet/minecraft/entity/player/PlayerEntity;Z)Z
    • onTakeOutput

      protected abstract void onTakeOutput(PlayerEntity player, ItemStack stack)
      Mappings:
      Namespace Name Mixin selector
      official a Lcag;a(Lbwp;Lcdt;)V
      intermediary method_24923 Lnet/minecraft/class_4861;method_24923(Lnet/minecraft/class_1657;Lnet/minecraft/class_1799;)V
      named onTakeOutput Lnet/minecraft/screen/ForgingScreenHandler;onTakeOutput(Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/item/ItemStack;)V
    • canUse

      protected abstract boolean canUse(BlockState state)
      Mappings:
      Namespace Name Mixin selector
      official a Lcag;a(Lcyt;)Z
      intermediary method_24925 Lnet/minecraft/class_4861;method_24925(Lnet/minecraft/class_2680;)Z
      named canUse Lnet/minecraft/screen/ForgingScreenHandler;canUse(Lnet/minecraft/block/BlockState;)Z
    • updateResult

      public abstract void updateResult()
      Mappings:
      Namespace Name Mixin selector
      official l Lcag;l()V
      intermediary method_24928 Lnet/minecraft/class_4861;method_24928()V
      named updateResult Lnet/minecraft/screen/ForgingScreenHandler;updateResult()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
      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
    • close

      public void close(PlayerEntity player)
      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 class ScreenHandler
      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
    • 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
      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
    • isUsableAsAddition

      protected boolean isUsableAsAddition(ItemStack stack)
      Mappings:
      Namespace Name Mixin selector
      official c Lcag;c(Lcdt;)Z
      intermediary method_30025 Lnet/minecraft/class_4861;method_30025(Lnet/minecraft/class_1799;)Z
      named isUsableAsAddition Lnet/minecraft/screen/ForgingScreenHandler;isUsableAsAddition(Lnet/minecraft/item/ItemStack;)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
      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;