Class ForgingScreenHandler
- Direct Known Subclasses:
AnvilScreenHandler
,SmithingScreenHandler
- Mappings:
Namespace Name named net/minecraft/screen/ForgingScreenHandler
intermediary net/minecraft/class_4861
official cqv
-
Field Summary
Modifier and TypeFieldDescriptionprotected final ScreenHandlerContext
private static final int
private static final int
protected final Inventory
protected final CraftingResultInventory
protected final PlayerEntity
private 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
ConstructorDescriptionForgingScreenHandler
(@Nullable ScreenHandlerType<?> type, int syncId, PlayerInventory playerInventory, ScreenHandlerContext context) -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addInputSlots
(ForgingSlotsManager forgingSlotsManager) private void
addPlayerInventorySlots
(PlayerInventory playerInventory) private void
addResultSlot
(ForgingSlotsManager forgingSlotsManager) protected abstract boolean
canTakeOutput
(PlayerEntity player, boolean present) protected abstract boolean
canUse
(BlockState state) boolean
canUse
(PlayerEntity player) Returns whether the screen handler can be used.private SimpleInventory
createInputInventory
(int size) protected abstract ForgingSlotsManager
private int
private int
private int
private int
int
int
getSlotFor
(ItemStack stack) protected boolean
isValidIngredient
(ItemStack stack) void
onClosed
(PlayerEntity player) Called when this screen handler is closed.void
onContentChanged
(Inventory inventory) Called when a slot's content has changed.protected abstract void
onTakeOutput
(PlayerEntity player, ItemStack stack) 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.abstract void
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, onButtonClick, onSlotClick, packQuickCraftData, removeListener, sendContentUpdates, setCursorStack, setPreviousCursorStack, setPreviousTrackedSlot, setPreviousTrackedSlotMutable, setProperty, setStackInSlot, shouldQuickCraftContinue, syncState, unpackQuickCraftButton, unpackQuickCraftStage, updateSlotStacks, updateSyncHandler, updateToClient
-
Field Details
-
field_41901
private static final int field_41901- See Also:
- Mappings:
Namespace Name Mixin selector named field_41901
Lnet/minecraft/screen/ForgingScreenHandler;field_41901:I
intermediary field_41901
Lnet/minecraft/class_4861;field_41901:I
official k
Lcqv;k:I
-
field_41902
private static final int field_41902- See Also:
- Mappings:
Namespace Name Mixin selector named field_41902
Lnet/minecraft/screen/ForgingScreenHandler;field_41902:I
intermediary field_41902
Lnet/minecraft/class_4861;field_41902:I
official l
Lcqv;l:I
-
context
- Mappings:
Namespace Name Mixin selector named context
Lnet/minecraft/screen/ForgingScreenHandler;context:Lnet/minecraft/screen/ScreenHandlerContext;
intermediary field_22481
Lnet/minecraft/class_4861;field_22481:Lnet/minecraft/class_3914;
official o
Lcqv;o:Lcqe;
-
player
- Mappings:
Namespace Name Mixin selector named player
Lnet/minecraft/screen/ForgingScreenHandler;player:Lnet/minecraft/entity/player/PlayerEntity;
intermediary field_22482
Lnet/minecraft/class_4861;field_22482:Lnet/minecraft/class_1657;
official p
Lcqv;p:Lcmv;
-
input
- Mappings:
Namespace Name Mixin selector named input
Lnet/minecraft/screen/ForgingScreenHandler;input:Lnet/minecraft/inventory/Inventory;
intermediary field_22480
Lnet/minecraft/class_4861;field_22480:Lnet/minecraft/class_1263;
official q
Lcqv;q:Lbqj;
-
inputSlotIndices
- Mappings:
Namespace Name Mixin selector named inputSlotIndices
Lnet/minecraft/screen/ForgingScreenHandler;inputSlotIndices:Ljava/util/List;
intermediary field_41903
Lnet/minecraft/class_4861;field_41903:Ljava/util/List;
official m
Lcqv;m:Ljava/util/List;
-
output
- Mappings:
Namespace Name Mixin selector named output
Lnet/minecraft/screen/ForgingScreenHandler;output:Lnet/minecraft/inventory/CraftingResultInventory;
intermediary field_22479
Lnet/minecraft/class_4861;field_22479:Lnet/minecraft/class_1731;
official r
Lcqv;r:Lcrj;
-
resultSlotIndex
private final int resultSlotIndex- Mappings:
Namespace Name Mixin selector named resultSlotIndex
Lnet/minecraft/screen/ForgingScreenHandler;resultSlotIndex:I
intermediary field_41904
Lnet/minecraft/class_4861;field_41904:I
official n
Lcqv;n:I
-
-
Constructor Details
-
ForgingScreenHandler
public ForgingScreenHandler(@Nullable @Nullable ScreenHandlerType<?> type, int syncId, PlayerInventory playerInventory, ScreenHandlerContext context) - Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/screen/ForgingScreenHandler;<init>(Lnet/minecraft/screen/ScreenHandlerType;ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/screen/ScreenHandlerContext;)V
intermediary <init>
Lnet/minecraft/class_4861;<init>(Lnet/minecraft/class_3917;ILnet/minecraft/class_1661;Lnet/minecraft/class_3914;)V
official <init>
Lcqv;<init>(Lcra;ILcmu;Lcqe;)V
-
-
Method Details
-
canTakeOutput
- Mappings:
Namespace Name Mixin selector named canTakeOutput
Lnet/minecraft/screen/ForgingScreenHandler;canTakeOutput(Lnet/minecraft/entity/player/PlayerEntity;Z)Z
intermediary method_24927
Lnet/minecraft/class_4861;method_24927(Lnet/minecraft/class_1657;Z)Z
official a
Lcqv;a(Lcmv;Z)Z
-
onTakeOutput
- Mappings:
Namespace Name Mixin selector named onTakeOutput
Lnet/minecraft/screen/ForgingScreenHandler;onTakeOutput(Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/item/ItemStack;)V
intermediary method_24923
Lnet/minecraft/class_4861;method_24923(Lnet/minecraft/class_1657;Lnet/minecraft/class_1799;)V
official a
Lcqv;a(Lcmv;Lcuo;)V
-
canUse
- Mappings:
Namespace Name Mixin selector named canUse
Lnet/minecraft/screen/ForgingScreenHandler;canUse(Lnet/minecraft/block/BlockState;)Z
intermediary method_24925
Lnet/minecraft/class_4861;method_24925(Lnet/minecraft/class_2680;)Z
official a
Lcqv;a(Ldta;)Z
-
addInputSlots
- Mappings:
Namespace Name Mixin selector named addInputSlots
Lnet/minecraft/screen/ForgingScreenHandler;addInputSlots(Lnet/minecraft/screen/slot/ForgingSlotsManager;)V
intermediary method_48354
Lnet/minecraft/class_4861;method_48354(Lnet/minecraft/class_8047;)V
official a
Lcqv;a(Lcqw;)V
-
addResultSlot
- Mappings:
Namespace Name Mixin selector named addResultSlot
Lnet/minecraft/screen/ForgingScreenHandler;addResultSlot(Lnet/minecraft/screen/slot/ForgingSlotsManager;)V
intermediary method_48355
Lnet/minecraft/class_4861;method_48355(Lnet/minecraft/class_8047;)V
official b
Lcqv;b(Lcqw;)V
-
addPlayerInventorySlots
- Mappings:
Namespace Name Mixin selector named addPlayerInventorySlots
Lnet/minecraft/screen/ForgingScreenHandler;addPlayerInventorySlots(Lnet/minecraft/entity/player/PlayerInventory;)V
intermediary method_48353
Lnet/minecraft/class_4861;method_48353(Lnet/minecraft/class_1661;)V
official a
Lcqv;a(Lcmu;)V
-
updateResult
public abstract void updateResult()- Mappings:
Namespace Name Mixin selector named updateResult
Lnet/minecraft/screen/ForgingScreenHandler;updateResult()V
intermediary method_24928
Lnet/minecraft/class_4861;method_24928()V
official m
Lcqv;m()V
-
getForgingSlotsManager
- Mappings:
Namespace Name Mixin selector named getForgingSlotsManager
Lnet/minecraft/screen/ForgingScreenHandler;getForgingSlotsManager()Lnet/minecraft/screen/slot/ForgingSlotsManager;
intermediary method_48352
Lnet/minecraft/class_4861;method_48352()Lnet/minecraft/class_8047;
official l
Lcqv;l()Lcqw;
-
createInputInventory
- Mappings:
Namespace Name Mixin selector named createInputInventory
Lnet/minecraft/screen/ForgingScreenHandler;createInputInventory(I)Lnet/minecraft/inventory/SimpleInventory;
intermediary method_48358
Lnet/minecraft/class_4861;method_48358(I)Lnet/minecraft/class_1277;
official e
Lcqv;e(I)Lbqz;
-
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
Lcps;a(Lbqj;)V
-
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
Lcps;a(Lcmv;)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
Lcps;b(Lcmv;)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
Lcps;b(Lcmv;I)Lcuo;
-
isValidIngredient
- Mappings:
Namespace Name Mixin selector named isValidIngredient
Lnet/minecraft/screen/ForgingScreenHandler;isValidIngredient(Lnet/minecraft/item/ItemStack;)Z
intermediary method_48356
Lnet/minecraft/class_4861;method_48356(Lnet/minecraft/class_1799;)Z
official c
Lcqv;c(Lcuo;)Z
-
getSlotFor
- Mappings:
Namespace Name Mixin selector named getSlotFor
Lnet/minecraft/screen/ForgingScreenHandler;getSlotFor(Lnet/minecraft/item/ItemStack;)I
intermediary method_48357
Lnet/minecraft/class_4861;method_48357(Lnet/minecraft/class_1799;)I
official d
Lcqv;d(Lcuo;)I
-
getResultSlotIndex
public int getResultSlotIndex()- Mappings:
Namespace Name Mixin selector named getResultSlotIndex
Lnet/minecraft/screen/ForgingScreenHandler;getResultSlotIndex()I
intermediary method_48360
Lnet/minecraft/class_4861;method_48360()I
official o
Lcqv;o()I
-
getPlayerInventoryStartIndex
private int getPlayerInventoryStartIndex()- Mappings:
Namespace Name Mixin selector named getPlayerInventoryStartIndex
Lnet/minecraft/screen/ForgingScreenHandler;getPlayerInventoryStartIndex()I
intermediary method_48359
Lnet/minecraft/class_4861;method_48359()I
official n
Lcqv;n()I
-
getPlayerInventoryEndIndex
private int getPlayerInventoryEndIndex()- Mappings:
Namespace Name Mixin selector named getPlayerInventoryEndIndex
Lnet/minecraft/screen/ForgingScreenHandler;getPlayerInventoryEndIndex()I
intermediary method_48361
Lnet/minecraft/class_4861;method_48361()I
official p
Lcqv;p()I
-
getPlayerHotbarStartIndex
private int getPlayerHotbarStartIndex()- Mappings:
Namespace Name Mixin selector named getPlayerHotbarStartIndex
Lnet/minecraft/screen/ForgingScreenHandler;getPlayerHotbarStartIndex()I
intermediary method_48362
Lnet/minecraft/class_4861;method_48362()I
official q
Lcqv;q()I
-
getPlayerHotbarEndIndex
private int getPlayerHotbarEndIndex()- Mappings:
Namespace Name Mixin selector named getPlayerHotbarEndIndex
Lnet/minecraft/screen/ForgingScreenHandler;getPlayerHotbarEndIndex()I
intermediary method_48363
Lnet/minecraft/class_4861;method_48363()I
official r
Lcqv;r()I
-