Class CraftingScreenHandler
- Mappings:
Namespace Name official cbu
intermediary net/minecraft/class_1714
named net/minecraft/screen/CraftingScreenHandler
-
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
(Recipe<? super 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 official k
Lcbu;k:I
intermediary field_30781
Lnet/minecraft/class_1714;field_30781:I
named RESULT_ID
Lnet/minecraft/screen/CraftingScreenHandler;RESULT_ID:I
-
INPUT_START
private static final int INPUT_START- See Also:
- Mappings:
Namespace Name Mixin selector official l
Lcbu;l:I
intermediary field_30782
Lnet/minecraft/class_1714;field_30782:I
named INPUT_START
Lnet/minecraft/screen/CraftingScreenHandler;INPUT_START:I
-
INPUT_END
private static final int INPUT_END- See Also:
- Mappings:
Namespace Name Mixin selector official m
Lcbu;m:I
intermediary field_30783
Lnet/minecraft/class_1714;field_30783:I
named INPUT_END
Lnet/minecraft/screen/CraftingScreenHandler;INPUT_END:I
-
INVENTORY_START
private static final int INVENTORY_START- See Also:
- Mappings:
Namespace Name Mixin selector official n
Lcbu;n:I
intermediary field_30784
Lnet/minecraft/class_1714;field_30784:I
named INVENTORY_START
Lnet/minecraft/screen/CraftingScreenHandler;INVENTORY_START:I
-
INVENTORY_END
private static final int INVENTORY_END- See Also:
- Mappings:
Namespace Name Mixin selector official o
Lcbu;o:I
intermediary field_30785
Lnet/minecraft/class_1714;field_30785:I
named INVENTORY_END
Lnet/minecraft/screen/CraftingScreenHandler;INVENTORY_END:I
-
HOTBAR_START
private static final int HOTBAR_START- See Also:
- Mappings:
Namespace Name Mixin selector official p
Lcbu;p:I
intermediary field_30786
Lnet/minecraft/class_1714;field_30786:I
named HOTBAR_START
Lnet/minecraft/screen/CraftingScreenHandler;HOTBAR_START:I
-
HOTBAR_END
private static final int HOTBAR_END- See Also:
- Mappings:
Namespace Name Mixin selector official q
Lcbu;q:I
intermediary field_30787
Lnet/minecraft/class_1714;field_30787:I
named HOTBAR_END
Lnet/minecraft/screen/CraftingScreenHandler;HOTBAR_END:I
-
input
- Mappings:
Namespace Name Mixin selector official r
Lcbu;r:Lcbt;
intermediary field_7801
Lnet/minecraft/class_1714;field_7801:Lnet/minecraft/class_8566;
named input
Lnet/minecraft/screen/CraftingScreenHandler;input:Lnet/minecraft/inventory/RecipeInputInventory;
-
result
- Mappings:
Namespace Name Mixin selector official s
Lcbu;s:Lccs;
intermediary field_7800
Lnet/minecraft/class_1714;field_7800:Lnet/minecraft/class_1731;
named result
Lnet/minecraft/screen/CraftingScreenHandler;result:Lnet/minecraft/inventory/CraftingResultInventory;
-
context
- Mappings:
Namespace Name Mixin selector official t
Lcbu;t:Lcbq;
intermediary field_7799
Lnet/minecraft/class_1714;field_7799:Lnet/minecraft/class_3914;
named context
Lnet/minecraft/screen/CraftingScreenHandler;context:Lnet/minecraft/screen/ScreenHandlerContext;
-
player
- Mappings:
Namespace Name Mixin selector official u
Lcbu;u:Lbyo;
intermediary field_7797
Lnet/minecraft/class_1714;field_7797:Lnet/minecraft/class_1657;
named player
Lnet/minecraft/screen/CraftingScreenHandler;player:Lnet/minecraft/entity/player/PlayerEntity;
-
-
Constructor Details
-
CraftingScreenHandler
- Mappings:
Namespace Name Mixin selector official <init>
Lcbu;<init>(ILbyn;)V
intermediary <init>
Lnet/minecraft/class_1714;<init>(ILnet/minecraft/class_1661;)V
named <init>
Lnet/minecraft/screen/CraftingScreenHandler;<init>(ILnet/minecraft/entity/player/PlayerInventory;)V
-
CraftingScreenHandler
public CraftingScreenHandler(int syncId, PlayerInventory playerInventory, ScreenHandlerContext context) - Mappings:
Namespace Name Mixin selector official <init>
Lcbu;<init>(ILbyn;Lcbq;)V
intermediary <init>
Lnet/minecraft/class_1714;<init>(ILnet/minecraft/class_1661;Lnet/minecraft/class_3914;)V
named <init>
Lnet/minecraft/screen/CraftingScreenHandler;<init>(ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/screen/ScreenHandlerContext;)V
-
-
Method Details
-
updateResult
protected static void updateResult(ScreenHandler handler, World world, PlayerEntity player, RecipeInputInventory craftingInventory, CraftingResultInventory resultInventory) - Mappings:
Namespace Name Mixin selector official a
Lcbu;a(Lcbf;Lcmm;Lbyo;Lcbt;Lccs;)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
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
-
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 official a
Lcbf;a(Lbdq;)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
-
populateRecipeFinder
- Specified by:
populateRecipeFinder
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector official a
Lccp;a(Lbys;)V
intermediary method_7654
Lnet/minecraft/class_1729;method_7654(Lnet/minecraft/class_1662;)V
named populateRecipeFinder
Lnet/minecraft/screen/AbstractRecipeScreenHandler;populateRecipeFinder(Lnet/minecraft/recipe/RecipeMatcher;)V
-
clearCraftingSlots
public void clearCraftingSlots()- Specified by:
clearCraftingSlots
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector official l
Lccp;l()V
intermediary method_7657
Lnet/minecraft/class_1729;method_7657()V
named clearCraftingSlots
Lnet/minecraft/screen/AbstractRecipeScreenHandler;clearCraftingSlots()V
-
matches
- Specified by:
matches
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector official a
Lccp;a(Lcjc;)Z
intermediary method_7652
Lnet/minecraft/class_1729;method_7652(Lnet/minecraft/class_1860;)Z
named matches
Lnet/minecraft/screen/AbstractRecipeScreenHandler;matches(Lnet/minecraft/recipe/Recipe;)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 official b
Lcbf;b(Lbyo;)V
intermediary method_7595
Lnet/minecraft/class_1703;method_7595(Lnet/minecraft/class_1657;)V
named onClosed
Lnet/minecraft/screen/ScreenHandler;onClosed(Lnet/minecraft/entity/player/PlayerEntity;)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 official a
Lcbf;a(Lbyo;)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
-
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 official a
Lcbf;a(Lbyo;I)Lcfz;
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;
-
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 official a
Lcbf;a(Lcfz;Lccx;)Z
intermediary method_7613
Lnet/minecraft/class_1703;method_7613(Lnet/minecraft/class_1799;Lnet/minecraft/class_1735;)Z
named canInsertIntoSlot
Lnet/minecraft/screen/ScreenHandler;canInsertIntoSlot(Lnet/minecraft/item/ItemStack;Lnet/minecraft/screen/slot/Slot;)Z
-
getCraftingResultSlotIndex
public int getCraftingResultSlotIndex()- Specified by:
getCraftingResultSlotIndex
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector official m
Lccp;m()I
intermediary method_7655
Lnet/minecraft/class_1729;method_7655()I
named getCraftingResultSlotIndex
Lnet/minecraft/screen/AbstractRecipeScreenHandler;getCraftingResultSlotIndex()I
-
getCraftingWidth
public int getCraftingWidth()- Specified by:
getCraftingWidth
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector official n
Lccp;n()I
intermediary method_7653
Lnet/minecraft/class_1729;method_7653()I
named getCraftingWidth
Lnet/minecraft/screen/AbstractRecipeScreenHandler;getCraftingWidth()I
-
getCraftingHeight
public int getCraftingHeight()- Specified by:
getCraftingHeight
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector official o
Lccp;o()I
intermediary method_7656
Lnet/minecraft/class_1729;method_7656()I
named getCraftingHeight
Lnet/minecraft/screen/AbstractRecipeScreenHandler;getCraftingHeight()I
-
getCraftingSlotCount
public int getCraftingSlotCount()- Specified by:
getCraftingSlotCount
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector official p
Lccp;p()I
intermediary method_7658
Lnet/minecraft/class_1729;method_7658()I
named getCraftingSlotCount
Lnet/minecraft/screen/AbstractRecipeScreenHandler;getCraftingSlotCount()I
-
getCategory
- Specified by:
getCategory
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector official t
Lccp;t()Lccq;
intermediary method_30264
Lnet/minecraft/class_1729;method_30264()Lnet/minecraft/class_5421;
named getCategory
Lnet/minecraft/screen/AbstractRecipeScreenHandler;getCategory()Lnet/minecraft/recipe/book/RecipeBookCategory;
-
canInsertIntoSlot
public boolean canInsertIntoSlot(int index) - Specified by:
canInsertIntoSlot
in classAbstractRecipeScreenHandler<RecipeInputInventory>
- Mappings:
Namespace Name Mixin selector official e
Lccp;e(I)Z
intermediary method_32339
Lnet/minecraft/class_1729;method_32339(I)Z
named canInsertIntoSlot
Lnet/minecraft/screen/AbstractRecipeScreenHandler;canInsertIntoSlot(I)Z
-