Class HopperScreenHandler

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

public class HopperScreenHandler extends ScreenHandler
Mappings:
Namespace Name
official bxj
intermediary net/minecraft/class_1722
named net/minecraft/screen/HopperScreenHandler
  • Field Details

    • SLOT_COUNT

      public static final int SLOT_COUNT
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official k Lbxj;k:I
      intermediary field_30801 Lnet/minecraft/class_1722;field_30801:I
      named SLOT_COUNT Lnet/minecraft/screen/HopperScreenHandler;SLOT_COUNT:I
    • inventory

      private final Inventory inventory
      Mappings:
      Namespace Name Mixin selector
      official l Lbxj;l:Lbac;
      intermediary field_7826 Lnet/minecraft/class_1722;field_7826:Lnet/minecraft/class_1263;
      named inventory Lnet/minecraft/screen/HopperScreenHandler;inventory:Lnet/minecraft/inventory/Inventory;
  • Constructor Details

    • HopperScreenHandler

      public HopperScreenHandler(int syncId, PlayerInventory playerInventory)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lbxj;<init>(ILbub;)V
      intermediary <init> Lnet/minecraft/class_1722;<init>(ILnet/minecraft/class_1661;)V
      named <init> Lnet/minecraft/screen/HopperScreenHandler;<init>(ILnet/minecraft/entity/player/PlayerInventory;)V
    • HopperScreenHandler

      public HopperScreenHandler(int syncId, PlayerInventory playerInventory, Inventory inventory)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lbxj;<init>(ILbub;Lbac;)V
      intermediary <init> Lnet/minecraft/class_1722;<init>(ILnet/minecraft/class_1661;Lnet/minecraft/class_1263;)V
      named <init> Lnet/minecraft/screen/HopperScreenHandler;<init>(ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/inventory/Inventory;)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
      official a Lbwm;a(Lbuc;)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
    • transferSlot

      public ItemStack transferSlot(PlayerEntity player, int index)
      Transfers (or "quick-moves") the stack at slot index to other slots of the screen handler that belong to a different inventory.

      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.

      Specified by:
      transferSlot in class ScreenHandler
      Returns:
      ItemStack.EMPTY when no stack can be transferred, otherwise the original stack
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lbwm;a(Lbuc;I)Lcax;
      intermediary method_7601 Lnet/minecraft/class_1703;method_7601(Lnet/minecraft/class_1657;I)Lnet/minecraft/class_1799;
      named transferSlot Lnet/minecraft/screen/ScreenHandler;transferSlot(Lnet/minecraft/entity/player/PlayerEntity;I)Lnet/minecraft/item/ItemStack;
    • 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 Lbwm;b(Lbuc;)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