Class EnchantmentScreenHandler
- Mappings:
Namespace Name named net/minecraft/screen/EnchantmentScreenHandler
intermediary net/minecraft/class_1718
official cqd
-
Field Summary
Modifier and TypeFieldDescriptionprivate final ScreenHandlerContext
(package private) static final Identifier
final int[]
final int[]
final int[]
private final Inventory
private final Random
private final Property
Fields inherited from class net.minecraft.screen.ScreenHandler
EMPTY_SPACE_SLOT_INDEX, field_30731, field_30732, field_30733, field_30734, field_30735, field_30736, field_30737, slots, syncId
-
Constructor Summary
ConstructorDescriptionEnchantmentScreenHandler
(int syncId, PlayerInventory playerInventory) EnchantmentScreenHandler
(int syncId, PlayerInventory playerInventory, ScreenHandlerContext context) -
Method Summary
Modifier and TypeMethodDescriptionboolean
canUse
(PlayerEntity player) Returns whether the screen handler can be used.private List
<EnchantmentLevelEntry> generateEnchantments
(DynamicRegistryManager registryManager, ItemStack stack, int slot, int level) int
int
getSeed()
boolean
onButtonClick
(PlayerEntity player, int id) Called whenplayer
clicks a button withid
.void
onClosed
(PlayerEntity player) Called when this screen handler is closed.void
onContentChanged
(Inventory inventory) Called when a slot's content has changed.quickMove
(PlayerEntity player, int slot) Quick-moves the stack atslot
to other slots of the screen handler that belong to a different inventory or another section of the same inventory.Methods inherited from class net.minecraft.screen.ScreenHandler
addListener, addProperties, addProperty, addSlot, calculateComparatorOutput, calculateComparatorOutput, calculateStackSize, canInsertIntoSlot, canInsertIntoSlot, canInsertItemIntoSlot, canUse, checkDataCount, checkSize, copySharedSlots, disableSyncing, dropInventory, enableSyncing, endQuickCraft, getCursorStack, getRevision, getSlot, getSlotIndex, getStacks, getType, insertItem, isValid, nextRevision, onSlotClick, packQuickCraftData, removeListener, sendContentUpdates, setCursorStack, setPreviousCursorStack, setPreviousTrackedSlot, setPreviousTrackedSlotMutable, setProperty, setStackInSlot, shouldQuickCraftContinue, syncState, unpackQuickCraftButton, unpackQuickCraftStage, updateSlotStacks, updateSyncHandler, updateToClient
-
Field Details
-
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 n
Lcqd;n:Lakk;
-
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 o
Lcqd;o:Lbqa;
-
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 p
Lcqd;p:Lcpu;
-
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 q
Lcqd;q:Layo;
-
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 r
Lcqd;r:Lcqb;
-
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 k
Lcqd;k:[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 l
Lcqd;l:[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 m
Lcqd;m:[I
-
-
Constructor Details
-
EnchantmentScreenHandler
- 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>
Lcqd;<init>(ILcmk;)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>
Lcqd;<init>(ILcmk;Lcpu;)V
-
-
Method Details
-
onContentChanged
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
whosemarkDirty
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 classScreenHandler
- 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
Lcpi;a(Lbqa;)V
-
onButtonClick
Called whenplayer
clicks a button withid
."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 classScreenHandler
- 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
Lcpi;a(Lcml;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
Lcqd;a(Ljx;Lcud;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
Lcqd;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
Lcqd;m()I
-
onClosed
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 classScreenHandler
- 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
Lcpi;a(Lcml;)V
-
canUse
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 classScreenHandler
- 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
Lcpi;b(Lcml;)Z
-
quickMove
Quick-moves the stack atslot
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 classScreenHandler
- 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
Lcpi;b(Lcml;I)Lcud;
-