Class CraftingScreenHandler
- Mappings:
Namespace Name named net/minecraft/screen/CraftingScreenHandler
intermediary net/minecraft/class_1714
official cqm
-
Field Summary
Modifier and TypeFieldDescriptionprivate final ScreenHandlerContext
private static final int
private static final int
private final RecipeInputInventory
private static final int
private static final int
private static final int
private static final int
private final PlayerEntity
private final CraftingResultInventory
static final int
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
ConstructorDescriptionCraftingScreenHandler
(int syncId, PlayerInventory playerInventory) CraftingScreenHandler
(int syncId, PlayerInventory playerInventory, ScreenHandlerContext context) -
Method Summary
Modifier and TypeMethodDescriptionboolean
canInsertIntoSlot
(int index) boolean
canInsertIntoSlot
(ItemStack stack, Slot slot) Returns whetherstack
can be inserted toslot
.boolean
canUse
(PlayerEntity player) Returns whether the screen handler can be used.void
int
int
int
int
boolean
matches
(RecipeEntry<? extends Recipe<RecipeInputInventory>> recipe) void
onClosed
(PlayerEntity player) Called when this screen handler is closed.void
onContentChanged
(Inventory inventory) Called when a slot's content has changed.void
populateRecipeFinder
(RecipeMatcher finder) 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.protected static void
updateResult
(ScreenHandler handler, World world, PlayerEntity player, RecipeInputInventory craftingInventory, CraftingResultInventory resultInventory) Methods inherited from class net.minecraft.screen.AbstractRecipeScreenHandler
fillInputSlots
Methods inherited from class net.minecraft.screen.ScreenHandler
addListener, addProperties, addProperty, addSlot, calculateComparatorOutput, calculateComparatorOutput, calculateStackSize, canInsertIntoSlot, canInsertItemIntoSlot, canUse, checkDataCount, checkSize, copySharedSlots, disableSyncing, dropInventory, enableSyncing, endQuickCraft, getCursorStack, getRevision, getSlot, getSlotIndex, getStacks, getType, insertItem, isValid, nextRevision, onButtonClick, onSlotClick, packQuickCraftData, removeListener, sendContentUpdates, setCursorStack, setPreviousCursorStack, setPreviousTrackedSlot, setPreviousTrackedSlotMutable, setProperty, setStackInSlot, shouldQuickCraftContinue, syncState, unpackQuickCraftButton, unpackQuickCraftStage, updateSlotStacks, updateSyncHandler, updateToClient
-
Field Details
-
RESULT_ID
public static final int RESULT_ID- See Also:
- Mappings:
Namespace Name Mixin selector named RESULT_ID
Lnet/minecraft/screen/CraftingScreenHandler;RESULT_ID:I
intermediary field_30781
Lnet/minecraft/class_1714;field_30781:I
official k
Lcqm;k:I
-
INPUT_START
private static final int INPUT_START- See Also:
- Mappings:
Namespace Name Mixin selector named INPUT_START
Lnet/minecraft/screen/CraftingScreenHandler;INPUT_START:I
intermediary field_30782
Lnet/minecraft/class_1714;field_30782:I
official l
Lcqm;l:I
-
INPUT_END
private static final int INPUT_END- See Also:
- Mappings:
Namespace Name Mixin selector named INPUT_END
Lnet/minecraft/screen/CraftingScreenHandler;INPUT_END:I
intermediary field_30783
Lnet/minecraft/class_1714;field_30783:I
official m
Lcqm;m:I
-
INVENTORY_START
private static final int INVENTORY_START- See Also:
- Mappings:
Namespace Name Mixin selector named INVENTORY_START
Lnet/minecraft/screen/CraftingScreenHandler;INVENTORY_START:I
intermediary field_30784
Lnet/minecraft/class_1714;field_30784:I
official n
Lcqm;n:I
-
INVENTORY_END
private static final int INVENTORY_END- See Also:
- Mappings:
Namespace Name Mixin selector named INVENTORY_END
Lnet/minecraft/screen/CraftingScreenHandler;INVENTORY_END:I
intermediary field_30785
Lnet/minecraft/class_1714;field_30785:I
official o
Lcqm;o:I
-
HOTBAR_START
private static final int HOTBAR_START- See Also:
- Mappings:
Namespace Name Mixin selector named HOTBAR_START
Lnet/minecraft/screen/CraftingScreenHandler;HOTBAR_START:I
intermediary field_30786
Lnet/minecraft/class_1714;field_30786:I
official p
Lcqm;p:I
-
HOTBAR_END
private static final int HOTBAR_END- See Also:
- Mappings:
Namespace Name Mixin selector named HOTBAR_END
Lnet/minecraft/screen/CraftingScreenHandler;HOTBAR_END:I
intermediary field_30787
Lnet/minecraft/class_1714;field_30787:I
official q
Lcqm;q:I
-
input
- Mappings:
Namespace Name Mixin selector named input
Lnet/minecraft/screen/CraftingScreenHandler;input:Lnet/minecraft/inventory/RecipeInputInventory;
intermediary field_7801
Lnet/minecraft/class_1714;field_7801:Lnet/minecraft/class_8566;
official r
Lcqm;r:Lcql;
-
result
- Mappings:
Namespace Name Mixin selector named result
Lnet/minecraft/screen/CraftingScreenHandler;result:Lnet/minecraft/inventory/CraftingResultInventory;
intermediary field_7800
Lnet/minecraft/class_1714;field_7800:Lnet/minecraft/class_1731;
official s
Lcqm;s:Lcrl;
-
context
- Mappings:
Namespace Name Mixin selector named context
Lnet/minecraft/screen/CraftingScreenHandler;context:Lnet/minecraft/screen/ScreenHandlerContext;
intermediary field_7799
Lnet/minecraft/class_1714;field_7799:Lnet/minecraft/class_3914;
official t
Lcqm;t:Lcqg;
-
player
- Mappings:
Namespace Name Mixin selector named player
Lnet/minecraft/screen/CraftingScreenHandler;player:Lnet/minecraft/entity/player/PlayerEntity;
intermediary field_7797
Lnet/minecraft/class_1714;field_7797:Lnet/minecraft/class_1657;
official u
Lcqm;u:Lcmy;
-
-
Constructor Details
-
CraftingScreenHandler
- Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/screen/CraftingScreenHandler;<init>(ILnet/minecraft/entity/player/PlayerInventory;)V
intermediary <init>
Lnet/minecraft/class_1714;<init>(ILnet/minecraft/class_1661;)V
official <init>
Lcqm;<init>(ILcmx;)V
-
CraftingScreenHandler
public CraftingScreenHandler(int syncId, PlayerInventory playerInventory, ScreenHandlerContext context) - Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/screen/CraftingScreenHandler;<init>(ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/screen/ScreenHandlerContext;)V
intermediary <init>
Lnet/minecraft/class_1714;<init>(ILnet/minecraft/class_1661;Lnet/minecraft/class_3914;)V
official <init>
Lcqm;<init>(ILcmx;Lcqg;)V
-
-
Method Details
-
updateResult
protected static void updateResult(ScreenHandler handler, World world, PlayerEntity player, RecipeInputInventory craftingInventory, CraftingResultInventory resultInventory) - Mappings:
Namespace Name Mixin selector named updateResult
Lnet/minecraft/screen/CraftingScreenHandler;updateResult(Lnet/minecraft/screen/ScreenHandler;Lnet/minecraft/world/World;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/inventory/RecipeInputInventory;Lnet/minecraft/inventory/CraftingResultInventory;)V
intermediary method_17399
Lnet/minecraft/class_1714;method_17399(Lnet/minecraft/class_1703;Lnet/minecraft/class_1937;Lnet/minecraft/class_1657;Lnet/minecraft/class_8566;Lnet/minecraft/class_1731;)V
official a
Lcqm;a(Lcpv;Ldbz;Lcmy;Lcql;Lcrl;)V
-
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
Lcpv;a(Lbqo;)V
-
populateRecipeFinder
- Specified by:
populateRecipeFinder
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector named populateRecipeFinder
Lnet/minecraft/screen/AbstractRecipeScreenHandler;populateRecipeFinder(Lnet/minecraft/recipe/RecipeMatcher;)V
intermediary method_7654
Lnet/minecraft/class_1729;method_7654(Lnet/minecraft/class_1662;)V
official a
Lcri;a(Lcnc;)V
-
clearCraftingSlots
public void clearCraftingSlots()- Specified by:
clearCraftingSlots
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector named clearCraftingSlots
Lnet/minecraft/screen/AbstractRecipeScreenHandler;clearCraftingSlots()V
intermediary method_7657
Lnet/minecraft/class_1729;method_7657()V
official l
Lcri;l()V
-
matches
- Specified by:
matches
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector named matches
Lnet/minecraft/screen/AbstractRecipeScreenHandler;matches(Lnet/minecraft/recipe/RecipeEntry;)Z
intermediary method_7652
Lnet/minecraft/class_1729;method_7652(Lnet/minecraft/class_8786;)Z
official a
Lcri;a(Lcyy;)Z
-
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 b
Lcpv;b(Lcmy;)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 a
Lcpv;a(Lcmy;)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 a
Lcpv;a(Lcmy;I)Lcuq;
-
canInsertIntoSlot
Returns whetherstack
can be inserted toslot
.Subclasses should override this to return
false
if the slot is used for output.- Overrides:
canInsertIntoSlot
in classScreenHandler
- Returns:
- whether
stack
can be inserted toslot
- 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
-
getCraftingResultSlotIndex
public int getCraftingResultSlotIndex()- Specified by:
getCraftingResultSlotIndex
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector named getCraftingResultSlotIndex
Lnet/minecraft/screen/AbstractRecipeScreenHandler;getCraftingResultSlotIndex()I
intermediary method_7655
Lnet/minecraft/class_1729;method_7655()I
official m
Lcri;m()I
-
getCraftingWidth
public int getCraftingWidth()- Specified by:
getCraftingWidth
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector named getCraftingWidth
Lnet/minecraft/screen/AbstractRecipeScreenHandler;getCraftingWidth()I
intermediary method_7653
Lnet/minecraft/class_1729;method_7653()I
official n
Lcri;n()I
-
getCraftingHeight
public int getCraftingHeight()- Specified by:
getCraftingHeight
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector named getCraftingHeight
Lnet/minecraft/screen/AbstractRecipeScreenHandler;getCraftingHeight()I
intermediary method_7656
Lnet/minecraft/class_1729;method_7656()I
official o
Lcri;o()I
-
getCraftingSlotCount
public int getCraftingSlotCount()- Specified by:
getCraftingSlotCount
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector named getCraftingSlotCount
Lnet/minecraft/screen/AbstractRecipeScreenHandler;getCraftingSlotCount()I
intermediary method_7658
Lnet/minecraft/class_1729;method_7658()I
official p
Lcri;p()I
-
getCategory
- Specified by:
getCategory
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector named getCategory
Lnet/minecraft/screen/AbstractRecipeScreenHandler;getCategory()Lnet/minecraft/recipe/book/RecipeBookCategory;
intermediary method_30264
Lnet/minecraft/class_1729;method_30264()Lnet/minecraft/class_5421;
official t
Lcri;t()Lcrj;
-
canInsertIntoSlot
public boolean canInsertIntoSlot(int index) - Specified by:
canInsertIntoSlot
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector named canInsertIntoSlot
Lnet/minecraft/screen/AbstractRecipeScreenHandler;canInsertIntoSlot(I)Z
intermediary method_32339
Lnet/minecraft/class_1729;method_32339(I)Z
official e
Lcri;e(I)Z
-