Class ForgingScreenHandler
- Direct Known Subclasses:
- AnvilScreenHandler,- SmithingScreenHandler
- Mappings:
- Namespace - Name - official - ccf- intermediary - net/minecraft/class_4861- named - net/minecraft/screen/ForgingScreenHandler
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected final ScreenHandlerContextprivate static final intprivate static final intprotected final Inventoryprotected final CraftingResultInventoryprotected final PlayerEntityprivate final intFields inherited from class net.minecraft.screen.ScreenHandlerEMPTY_SPACE_SLOT_INDEX, field_30731, field_30732, field_30733, field_30734, field_30735, field_30736, field_30737, slots, syncId
- 
Constructor SummaryConstructorsConstructorDescriptionForgingScreenHandler(@Nullable ScreenHandlerType<?> type, int syncId, PlayerInventory playerInventory, ScreenHandlerContext context) 
- 
Method SummaryModifier and TypeMethodDescriptionprivate voidaddInputSlots(ForgingSlotsManager forgingSlotsManager) private voidaddPlayerInventorySlots(PlayerInventory playerInventory) private voidaddResultSlot(ForgingSlotsManager forgingSlotsManager) protected abstract booleancanTakeOutput(PlayerEntity player, boolean present) protected abstract booleancanUse(BlockState state) booleancanUse(PlayerEntity player) Returns whether the screen handler can be used.private SimpleInventorycreateInputInventory(int size) protected abstract ForgingSlotsManagerprivate intprivate intprivate intprivate intintintgetSlotFor(ItemStack stack) protected booleanisValidIngredient(ItemStack stack) voidonClosed(PlayerEntity player) Called when this screen handler is closed.voidonContentChanged(Inventory inventory) Called when a slot's content has changed.protected abstract voidonTakeOutput(PlayerEntity player, ItemStack stack) quickMove(PlayerEntity player, int slot) Quick-moves the stack atslotto other slots of the screen handler that belong to a different inventory or another section of the same inventory.abstract voidMethods inherited from class net.minecraft.screen.ScreenHandleraddListener, 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_41901private static final int field_41901- See Also:
- Mappings:
- Namespace - Name - Mixin selector - official - k- Lccf;k:I- intermediary - field_41901- Lnet/minecraft/class_4861;field_41901:I- named - field_41901- Lnet/minecraft/screen/ForgingScreenHandler;field_41901:I
 
- 
field_41902private static final int field_41902- See Also:
- Mappings:
- Namespace - Name - Mixin selector - official - l- Lccf;l:I- intermediary - field_41902- Lnet/minecraft/class_4861;field_41902:I- named - field_41902- Lnet/minecraft/screen/ForgingScreenHandler;field_41902:I
 
- 
context- Mappings:
- Namespace - Name - Mixin selector - official - o- Lccf;o:Lcbq;- intermediary - field_22481- Lnet/minecraft/class_4861;field_22481:Lnet/minecraft/class_3914;- named - context- Lnet/minecraft/screen/ForgingScreenHandler;context:Lnet/minecraft/screen/ScreenHandlerContext;
 
- 
player- Mappings:
- Namespace - Name - Mixin selector - official - p- Lccf;p:Lbyo;- intermediary - field_22482- Lnet/minecraft/class_4861;field_22482:Lnet/minecraft/class_1657;- named - player- Lnet/minecraft/screen/ForgingScreenHandler;player:Lnet/minecraft/entity/player/PlayerEntity;
 
- 
input- Mappings:
- Namespace - Name - Mixin selector - official - q- Lccf;q:Lbdq;- intermediary - field_22480- Lnet/minecraft/class_4861;field_22480:Lnet/minecraft/class_1263;- named - input- Lnet/minecraft/screen/ForgingScreenHandler;input:Lnet/minecraft/inventory/Inventory;
 
- 
inputSlotIndices- Mappings:
- Namespace - Name - Mixin selector - official - m- Lccf;m:Ljava/util/List;- intermediary - field_41903- Lnet/minecraft/class_4861;field_41903:Ljava/util/List;- named - inputSlotIndices- Lnet/minecraft/screen/ForgingScreenHandler;inputSlotIndices:Ljava/util/List;
 
- 
output- Mappings:
- Namespace - Name - Mixin selector - official - r- Lccf;r:Lccs;- intermediary - field_22479- Lnet/minecraft/class_4861;field_22479:Lnet/minecraft/class_1731;- named - output- Lnet/minecraft/screen/ForgingScreenHandler;output:Lnet/minecraft/inventory/CraftingResultInventory;
 
- 
resultSlotIndexprivate final int resultSlotIndex- Mappings:
- Namespace - Name - Mixin selector - official - n- Lccf;n:I- intermediary - field_41904- Lnet/minecraft/class_4861;field_41904:I- named - resultSlotIndex- Lnet/minecraft/screen/ForgingScreenHandler;resultSlotIndex:I
 
 
- 
- 
Constructor Details- 
ForgingScreenHandlerpublic ForgingScreenHandler(@Nullable @Nullable ScreenHandlerType<?> type, int syncId, PlayerInventory playerInventory, ScreenHandlerContext context) - Mappings:
- Namespace - Name - Mixin selector - official - <init>- Lccf;<init>(Lcck;ILbyn;Lcbq;)V- intermediary - <init>- Lnet/minecraft/class_4861;<init>(Lnet/minecraft/class_3917;ILnet/minecraft/class_1661;Lnet/minecraft/class_3914;)V- named - <init>- Lnet/minecraft/screen/ForgingScreenHandler;<init>(Lnet/minecraft/screen/ScreenHandlerType;ILnet/minecraft/entity/player/PlayerInventory;Lnet/minecraft/screen/ScreenHandlerContext;)V
 
 
- 
- 
Method Details- 
canTakeOutput- Mappings:
- Namespace - Name - Mixin selector - official - a- Lccf;a(Lbyo;Z)Z- intermediary - method_24927- Lnet/minecraft/class_4861;method_24927(Lnet/minecraft/class_1657;Z)Z- named - canTakeOutput- Lnet/minecraft/screen/ForgingScreenHandler;canTakeOutput(Lnet/minecraft/entity/player/PlayerEntity;Z)Z
 
- 
onTakeOutput- Mappings:
- Namespace - Name - Mixin selector - official - a- Lccf;a(Lbyo;Lcfz;)V- intermediary - method_24923- Lnet/minecraft/class_4861;method_24923(Lnet/minecraft/class_1657;Lnet/minecraft/class_1799;)V- named - onTakeOutput- Lnet/minecraft/screen/ForgingScreenHandler;onTakeOutput(Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/item/ItemStack;)V
 
- 
canUse- Mappings:
- Namespace - Name - Mixin selector - official - a- Lccf;a(Ldcb;)Z- intermediary - method_24925- Lnet/minecraft/class_4861;method_24925(Lnet/minecraft/class_2680;)Z- named - canUse- Lnet/minecraft/screen/ForgingScreenHandler;canUse(Lnet/minecraft/block/BlockState;)Z
 
- 
addInputSlots- Mappings:
- Namespace - Name - Mixin selector - official - a- Lccf;a(Lccg;)V- intermediary - method_48354- Lnet/minecraft/class_4861;method_48354(Lnet/minecraft/class_8047;)V- named - addInputSlots- Lnet/minecraft/screen/ForgingScreenHandler;addInputSlots(Lnet/minecraft/screen/slot/ForgingSlotsManager;)V
 
- 
addResultSlot- Mappings:
- Namespace - Name - Mixin selector - official - b- Lccf;b(Lccg;)V- intermediary - method_48355- Lnet/minecraft/class_4861;method_48355(Lnet/minecraft/class_8047;)V- named - addResultSlot- Lnet/minecraft/screen/ForgingScreenHandler;addResultSlot(Lnet/minecraft/screen/slot/ForgingSlotsManager;)V
 
- 
addPlayerInventorySlots- Mappings:
- Namespace - Name - Mixin selector - official - a- Lccf;a(Lbyn;)V- intermediary - method_48353- Lnet/minecraft/class_4861;method_48353(Lnet/minecraft/class_1661;)V- named - addPlayerInventorySlots- Lnet/minecraft/screen/ForgingScreenHandler;addPlayerInventorySlots(Lnet/minecraft/entity/player/PlayerInventory;)V
 
- 
updateResultpublic abstract void updateResult()- Mappings:
- Namespace - Name - Mixin selector - official - m- Lccf;m()V- intermediary - method_24928- Lnet/minecraft/class_4861;method_24928()V- named - updateResult- Lnet/minecraft/screen/ForgingScreenHandler;updateResult()V
 
- 
getForgingSlotsManager- Mappings:
- Namespace - Name - Mixin selector - official - l- Lccf;l()Lccg;- intermediary - method_48352- Lnet/minecraft/class_4861;method_48352()Lnet/minecraft/class_8047;- named - getForgingSlotsManager- Lnet/minecraft/screen/ForgingScreenHandler;getForgingSlotsManager()Lnet/minecraft/screen/slot/ForgingSlotsManager;
 
- 
createInputInventory- Mappings:
- Namespace - Name - Mixin selector - official - e- Lccf;e(I)Lbee;- intermediary - method_48358- Lnet/minecraft/class_4861;method_48358(I)Lnet/minecraft/class_1277;- named - createInputInventory- Lnet/minecraft/screen/ForgingScreenHandler;createInputInventory(I)Lnet/minecraft/inventory/SimpleInventory;
 
- 
onContentChangedCalled when a slot's content has changed.This is not called by default; subclasses that override this method should also use a custom InventorywhosemarkDirtymethod 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:
- onContentChangedin class- ScreenHandler
- 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
 
- 
onClosedCalled 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:
- onClosedin class- ScreenHandler
- 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
 
- 
canUseReturns 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:
- canUsein class- ScreenHandler
- 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
 
- 
quickMoveQuick-moves the stack atslotto 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:
- quickMovein class- ScreenHandler
- Parameters:
- slot- the index of the slot to quick-move from
- Returns:
- ItemStack.EMPTYwhen 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;
 
- 
isValidIngredient- Mappings:
- Namespace - Name - Mixin selector - official - c- Lccf;c(Lcfz;)Z- intermediary - method_48356- Lnet/minecraft/class_4861;method_48356(Lnet/minecraft/class_1799;)Z- named - isValidIngredient- Lnet/minecraft/screen/ForgingScreenHandler;isValidIngredient(Lnet/minecraft/item/ItemStack;)Z
 
- 
getSlotFor- Mappings:
- Namespace - Name - Mixin selector - official - d- Lccf;d(Lcfz;)I- intermediary - method_48357- Lnet/minecraft/class_4861;method_48357(Lnet/minecraft/class_1799;)I- named - getSlotFor- Lnet/minecraft/screen/ForgingScreenHandler;getSlotFor(Lnet/minecraft/item/ItemStack;)I
 
- 
getResultSlotIndexpublic int getResultSlotIndex()- Mappings:
- Namespace - Name - Mixin selector - official - o- Lccf;o()I- intermediary - method_48360- Lnet/minecraft/class_4861;method_48360()I- named - getResultSlotIndex- Lnet/minecraft/screen/ForgingScreenHandler;getResultSlotIndex()I
 
- 
getPlayerInventoryStartIndexprivate int getPlayerInventoryStartIndex()- Mappings:
- Namespace - Name - Mixin selector - official - n- Lccf;n()I- intermediary - method_48359- Lnet/minecraft/class_4861;method_48359()I- named - getPlayerInventoryStartIndex- Lnet/minecraft/screen/ForgingScreenHandler;getPlayerInventoryStartIndex()I
 
- 
getPlayerInventoryEndIndexprivate int getPlayerInventoryEndIndex()- Mappings:
- Namespace - Name - Mixin selector - official - p- Lccf;p()I- intermediary - method_48361- Lnet/minecraft/class_4861;method_48361()I- named - getPlayerInventoryEndIndex- Lnet/minecraft/screen/ForgingScreenHandler;getPlayerInventoryEndIndex()I
 
- 
getPlayerHotbarStartIndexprivate int getPlayerHotbarStartIndex()- Mappings:
- Namespace - Name - Mixin selector - official - q- Lccf;q()I- intermediary - method_48362- Lnet/minecraft/class_4861;method_48362()I- named - getPlayerHotbarStartIndex- Lnet/minecraft/screen/ForgingScreenHandler;getPlayerHotbarStartIndex()I
 
- 
getPlayerHotbarEndIndexprivate int getPlayerHotbarEndIndex()- Mappings:
- Namespace - Name - Mixin selector - official - r- Lccf;r()I- intermediary - method_48363- Lnet/minecraft/class_4861;method_48363()I- named - getPlayerHotbarEndIndex- Lnet/minecraft/screen/ForgingScreenHandler;getPlayerHotbarEndIndex()I
 
 
-