Package commoble.morered.soldering

# Class SolderingMenu

java.lang.Object
net.minecraft.world.inventory.AbstractContainerMenu
commoble.morered.soldering.SolderingMenu

public class SolderingMenu extends net.minecraft.world.inventory.AbstractContainerMenu

## Field Summary

Fields
Modifier and Type
Field
Description
`final net.minecraft.world.inventory.ResultContainer`
`craftResult`
`Optional<net.minecraft.world.item.crafting.Recipe<net.minecraft.world.inventory.CraftingContainer>>`
`currentRecipe`
`static final int`
`FIRST_PLAYER_INVENTORY_HOTBAR_SLOT_ID`
`static final int`
`FIRST_PLAYER_INVENTORY_SLOT_ID`
`static final int`
`OUTPUT_SLOT_ID`
`static final int`
`PLAYER_INVENTORY_SLOT_COLUMNS`
`static final int`
`PLAYER_INVENTORY_SLOT_COUNT`
`static final int`
`PLAYER_INVENTORY_SLOT_ROWS`

### Fields inherited from class net.minecraft.world.inventory.AbstractContainerMenu

`CARRIED_SLOT_SIZE, containerId, QUICKCRAFT_HEADER_CONTINUE, QUICKCRAFT_HEADER_END, QUICKCRAFT_HEADER_START, QUICKCRAFT_TYPE_CHARITABLE, QUICKCRAFT_TYPE_CLONE, QUICKCRAFT_TYPE_GREEDY, SLOT_CLICKED_OUTSIDE, slots`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`SolderingMenu(int id, net.minecraft.world.entity.player.Inventory playerInventory, net.minecraft.core.BlockPos pos)`

## Method Summary

Modifier and Type
Method
Description
`void`
`attemptRecipeAssembly(Optional<net.minecraft.world.item.crafting.Recipe<net.minecraft.world.inventory.CraftingContainer>> recipeHolder)`
Attempts to assemble the given recipe and updates crafting result if successful
`boolean`
`canTakeItemForPickAll(net.minecraft.world.item.ItemStack stack, net.minecraft.world.inventory.Slot slotIn)`
Called to determine if the current slot is valid for the stack merging (double-click) code.
`static SolderingMenu`
`getClientContainer(int id, net.minecraft.world.entity.player.Inventory playerInventory)`
`static net.minecraft.world.inventory.MenuConstructor`
`getServerContainerProvider(net.minecraft.core.BlockPos pos)`
`static Optional<net.minecraft.world.item.crafting.Recipe<net.minecraft.world.inventory.CraftingContainer>>`
`getSolderingRecipe(net.minecraft.world.item.crafting.RecipeManager manager, net.minecraft.resources.ResourceLocation id)`
`void`
`onPlayerChoseRecipe(net.minecraft.resources.ResourceLocation recipeID)`
`net.minecraft.world.item.ItemStack`
`quickMoveStack(net.minecraft.world.entity.player.Player playerIn, int slotIndex)`
Handle when the stack in slot `index` is shift-clicked.
`boolean`
`stillValid(net.minecraft.world.entity.player.Player playerIn)`
Determines whether supplied player can use this container
`void`
`updateRecipeAndResult(Optional<net.minecraft.world.item.crafting.Recipe<net.minecraft.world.inventory.CraftingContainer>> recipeHolder)`

### Methods inherited from class net.minecraft.world.inventory.AbstractContainerMenu

`addDataSlot, addDataSlots, addSlot, addSlotListener, broadcastChanges, broadcastFullState, canDragTo, canItemQuickReplace, checkContainerDataCount, checkContainerSize, clearContainer, clicked, clickMenuButton, findSlot, getCarried, getItems, getQuickcraftHeader, getQuickcraftMask, getQuickCraftPlaceCount, getQuickcraftType, getRedstoneSignalFromBlockEntity, getRedstoneSignalFromContainer, getSlot, getStateId, getType, incrementStateId, initializeContents, isValidQuickcraftType, isValidSlotIndex, moveItemStackTo, removed, removeSlotListener, resetQuickCraft, resumeRemoteUpdates, sendAllDataToRemote, setCarried, setData, setItem, setRemoteCarried, setRemoteSlot, setRemoteSlotNoCopy, setSynchronizer, slotsChanged, stillValid, suppressRemoteUpdates, transferState`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### OUTPUT_SLOT_ID

public static final int OUTPUT_SLOT_ID

See Also:
  - Constant Field Values

### FIRST_PLAYER_INVENTORY_SLOT_ID

public static final int FIRST_PLAYER_INVENTORY_SLOT_ID

See Also:
  - Constant Field Values

### PLAYER_INVENTORY_SLOT_ROWS

public static final int PLAYER_INVENTORY_SLOT_ROWS

See Also:
  - Constant Field Values

### PLAYER_INVENTORY_SLOT_COLUMNS

public static final int PLAYER_INVENTORY_SLOT_COLUMNS

See Also:
  - Constant Field Values

### PLAYER_INVENTORY_SLOT_COUNT

public static final int PLAYER_INVENTORY_SLOT_COUNT

See Also:
  - Constant Field Values

### FIRST_PLAYER_INVENTORY_HOTBAR_SLOT_ID

public static final int FIRST_PLAYER_INVENTORY_HOTBAR_SLOT_ID

See Also:
  - Constant Field Values

### craftResult

public final net.minecraft.world.inventory.ResultContainer craftResult

### currentRecipe

public Optional<net.minecraft.world.item.crafting.Recipe<net.minecraft.world.inventory.CraftingContainer>> currentRecipe

## Constructor Details

### SolderingMenu

protected SolderingMenu(int id, net.minecraft.world.entity.player.Inventory playerInventory, net.minecraft.core.BlockPos pos)

## Method Details

### getClientContainer

public static SolderingMenu getClientContainer(int id, net.minecraft.world.entity.player.Inventory playerInventory)

### getServerContainerProvider

public static net.minecraft.world.inventory.MenuConstructor getServerContainerProvider(net.minecraft.core.BlockPos pos)

### stillValid

public boolean stillValid(net.minecraft.world.entity.player.Player playerIn)
Determines whether supplied player can use this container

Specified by:
  `stillValid` in class `net.minecraft.world.inventory.AbstractContainerMenu`

### canTakeItemForPickAll

public boolean canTakeItemForPickAll(net.minecraft.world.item.ItemStack stack, net.minecraft.world.inventory.Slot slotIn)
Called to determine if the current slot is valid for the stack merging (double-click) code. The stack passed in is null for the initial slot that was double-clicked.

Overrides:
  `canTakeItemForPickAll` in class `net.minecraft.world.inventory.AbstractContainerMenu`

### quickMoveStack

public net.minecraft.world.item.ItemStack quickMoveStack(net.minecraft.world.entity.player.Player playerIn, int slotIndex)
Handle when the stack in slot `index` is shift-clicked. Normally this moves the stack between the player inventory and the other inventory(s).

Specified by:
  `quickMoveStack` in class `net.minecraft.world.inventory.AbstractContainerMenu`

### onPlayerChoseRecipe

public void onPlayerChoseRecipe(net.minecraft.resources.ResourceLocation recipeID)

### getSolderingRecipe

public static Optional<net.minecraft.world.item.crafting.Recipe<net.minecraft.world.inventory.CraftingContainer>> getSolderingRecipe(net.minecraft.world.item.crafting.RecipeManager manager, net.minecraft.resources.ResourceLocation id)

### attemptRecipeAssembly

public void attemptRecipeAssembly(Optional<net.minecraft.world.item.crafting.Recipe<net.minecraft.world.inventory.CraftingContainer>> recipeHolder)
Attempts to assemble the given recipe and updates crafting result if successful

Parameters:
  `recipeHolder` - recipe holder

### updateRecipeAndResult

public void updateRecipeAndResult(Optional<net.minecraft.world.item.crafting.Recipe<net.minecraft.world.inventory.CraftingContainer>> recipeHolder)