Class EnchantmentScreenHandler

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

public class EnchantmentScreenHandler extends ScreenHandler
Mappings:
Namespace Name
named net/minecraft/screen/EnchantmentScreenHandler
intermediary net/minecraft/class_1718
official ctx
  • Field Details

    • EMPTY_LAPIS_SLOT_TEXTURE

      static final Identifier EMPTY_LAPIS_SLOT_TEXTURE
      Mappings:
      Namespace Name Mixin selector
      named EMPTY_LAPIS_SLOT_TEXTURE Lnet/minecraft/screen/EnchantmentScreenHandler;EMPTY_LAPIS_SLOT_TEXTURE:Lnet/minecraft/util/Identifier;
      intermediary field_45143 Lnet/minecraft/class_1718;field_45143:Lnet/minecraft/class_2960;
      official p Lctx;p:Lalz;
    • inventory

      private final Inventory inventory
      Mappings:
      Namespace Name Mixin selector
      named inventory Lnet/minecraft/screen/EnchantmentScreenHandler;inventory:Lnet/minecraft/inventory/Inventory;
      intermediary field_7809 Lnet/minecraft/class_1718;field_7809:Lnet/minecraft/class_1263;
      official q Lctx;q:Lbtb;
    • context

      private final ScreenHandlerContext context
      Mappings:
      Namespace Name Mixin selector
      named context Lnet/minecraft/screen/EnchantmentScreenHandler;context:Lnet/minecraft/screen/ScreenHandlerContext;
      intermediary field_7813 Lnet/minecraft/class_1718;field_7813:Lnet/minecraft/class_3914;
      official r Lctx;r:Lcto;
    • random

      private final Random random
      Mappings:
      Namespace Name Mixin selector
      named random Lnet/minecraft/screen/EnchantmentScreenHandler;random:Lnet/minecraft/util/math/random/Random;
      intermediary field_7811 Lnet/minecraft/class_1718;field_7811:Lnet/minecraft/class_5819;
      official s Lctx;s:Lbam;
    • seed

      private final Property seed
      Mappings:
      Namespace Name Mixin selector
      named seed Lnet/minecraft/screen/EnchantmentScreenHandler;seed:Lnet/minecraft/screen/Property;
      intermediary field_7814 Lnet/minecraft/class_1718;field_7814:Lnet/minecraft/class_3915;
      official t Lctx;t:Lctv;
    • enchantmentPower

      public final int[] enchantmentPower
      Mappings:
      Namespace Name Mixin selector
      named enchantmentPower Lnet/minecraft/screen/EnchantmentScreenHandler;enchantmentPower:[I
      intermediary field_7808 Lnet/minecraft/class_1718;field_7808:[I
      official m Lctx;m:[I
    • enchantmentId

      public final int[] enchantmentId
      Mappings:
      Namespace Name Mixin selector
      named enchantmentId Lnet/minecraft/screen/EnchantmentScreenHandler;enchantmentId:[I
      intermediary field_7812 Lnet/minecraft/class_1718;field_7812:[I
      official n Lctx;n:[I
    • enchantmentLevel

      public final int[] enchantmentLevel
      Mappings:
      Namespace Name Mixin selector
      named enchantmentLevel Lnet/minecraft/screen/EnchantmentScreenHandler;enchantmentLevel:[I
      intermediary field_7810 Lnet/minecraft/class_1718;field_7810:[I
      official o Lctx;o:[I
  • Constructor Details

    • EnchantmentScreenHandler

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

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

    • 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
    • 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 a Lctb;a(Lcpw;I)Z
    • generateEnchantments

      private List<EnchantmentLevelEntry> generateEnchantments(DynamicRegistryManager registryManager, ItemStack stack, int slot, int level)
      Mappings:
      Namespace Name Mixin selector
      named generateEnchantments Lnet/minecraft/screen/EnchantmentScreenHandler;generateEnchantments(Lnet/minecraft/registry/DynamicRegistryManager;Lnet/minecraft/item/ItemStack;II)Ljava/util/List;
      intermediary method_7637 Lnet/minecraft/class_1718;method_7637(Lnet/minecraft/class_5455;Lnet/minecraft/class_1799;II)Ljava/util/List;
      official a Lctx;a(Lke;Lcxo;II)Ljava/util/List;
    • getLapisCount

      public int getLapisCount()
      Mappings:
      Namespace Name Mixin selector
      named getLapisCount Lnet/minecraft/screen/EnchantmentScreenHandler;getLapisCount()I
      intermediary method_7638 Lnet/minecraft/class_1718;method_7638()I
      official l Lctx;l()I
    • getSeed

      public int getSeed()
      Mappings:
      Namespace Name Mixin selector
      named getSeed Lnet/minecraft/screen/EnchantmentScreenHandler;getSeed()I
      intermediary method_17413 Lnet/minecraft/class_1718;method_17413()I
      official m Lctx;m()I
    • 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;