Package net.commoble.jumbofurnace.jumbo_furnace

# Class OutputItemHandler

java.lang.Object
net.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack,net.neoforged.neoforge.transfer.item.ItemResource>
net.neoforged.neoforge.transfer.item.ItemStacksResourceHandler
net.commoble.jumbofurnace.jumbo_furnace.OutputItemHandler

All Implemented Interfaces:
  `net.neoforged.neoforge.common.util.ValueIOSerializable`, `net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>`

public class OutputItemHandler extends net.neoforged.neoforge.transfer.item.ItemStacksResourceHandler

## Field Summary

Fields
Modifier and Type
Field
Description
`SnapshotStack<List<net.minecraft.world.item.ItemStack>>`
`backstock`
`static final String`
`BACKSTOCK`
`static final com.mojang.serialization.Codec<List<net.minecraft.world.item.ItemStack>>`
`BACKSTOCK_CODEC`
`static final String`
`EXPERIENCE`
`boolean`
`forcingInserts`
`float`
`storedExperience`
`final JumboFurnaceCoreBlockEntity`
`te`

### Fields inherited from class net.neoforged.neoforge.transfer.StacksResourceHandler

`codec, emptyStack, stacks, VALUE_IO_KEY`

## Constructor Summary

Constructors
Constructor
Description
`OutputItemHandler(JumboFurnaceCoreBlockEntity te)`

## Method Summary

Modifier and Type
Method
Description
`void`
`addExperience(float experience)`
`void`
`deserialize(net.minecraft.world.level.storage.ValueInput input)`
`int`
`extract(int slot, net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext context)`
`float`
`getAndConsumeExperience()`
`net.minecraft.world.item.ItemStack`
`insertCraftResult(net.minecraft.world.item.ItemStack stack)`
`boolean`
`isValid(int slot, net.neoforged.neoforge.transfer.item.ItemResource resource)`
`protected void`
`onContentsChanged(int slot, net.minecraft.world.item.ItemStack oldStack)`
`void`
`serialize(net.minecraft.world.level.storage.ValueOutput output)`

### Methods inherited from class net.neoforged.neoforge.transfer.item.ItemStacksResourceHandler

`copyOf, getAmountFrom, getCapacity, getResourceFrom, getStackFrom, matches`

### Methods inherited from class net.neoforged.neoforge.transfer.StacksResourceHandler

`copyToList, getAmountAsLong, getCapacityAsLong, getResource, insert, set, size`

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

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

### Methods inherited from interface net.neoforged.neoforge.transfer.ResourceHandler

`extract, getAmountAsInt, getCapacityAsInt, insert`

## Field Details

### EXPERIENCE

public static final String EXPERIENCE

See Also:
  - Constant Field Values

### BACKSTOCK

public static final String BACKSTOCK

See Also:
  - Constant Field Values

### BACKSTOCK_CODEC

public static final com.mojang.serialization.Codec<List<net.minecraft.world.item.ItemStack>> BACKSTOCK_CODEC

### te

public final JumboFurnaceCoreBlockEntity te

### forcingInserts

public boolean forcingInserts

### storedExperience

public float storedExperience

### backstock

public SnapshotStack<List<net.minecraft.world.item.ItemStack>> backstock

## Constructor Details

### OutputItemHandler

public OutputItemHandler(JumboFurnaceCoreBlockEntity te)

## Method Details

### addExperience

public void addExperience(float experience)

### isValid

public boolean isValid(int slot, net.neoforged.neoforge.transfer.item.ItemResource resource)

Specified by:
  `isValid` in interface `net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>`
Overrides:
  `isValid` in class `net.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack,net.neoforged.neoforge.transfer.item.ItemResource>`

### insertCraftResult

public net.minecraft.world.item.ItemStack insertCraftResult(net.minecraft.world.item.ItemStack stack)

### onContentsChanged

protected void onContentsChanged(int slot, net.minecraft.world.item.ItemStack oldStack)

Overrides:
  `onContentsChanged` in class `net.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack,net.neoforged.neoforge.transfer.item.ItemResource>`

### getAndConsumeExperience

public float getAndConsumeExperience()

### serialize

public void serialize(net.minecraft.world.level.storage.ValueOutput output)

Specified by:
  `serialize` in interface `net.neoforged.neoforge.common.util.ValueIOSerializable`
Overrides:
  `serialize` in class `net.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack,net.neoforged.neoforge.transfer.item.ItemResource>`

### deserialize

public void deserialize(net.minecraft.world.level.storage.ValueInput input)

Specified by:
  `deserialize` in interface `net.neoforged.neoforge.common.util.ValueIOSerializable`
Overrides:
  `deserialize` in class `net.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack,net.neoforged.neoforge.transfer.item.ItemResource>`

### extract

public int extract(int slot, net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext context)

Specified by:
  `extract` in interface `net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>`
Overrides:
  `extract` in class `net.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack,net.neoforged.neoforge.transfer.item.ItemResource>`