Package alexiil.mc.lib.attributes.item
Class SingleItemSlot
java.lang.Object
alexiil.mc.lib.attributes.item.SingleItemSlotView
alexiil.mc.lib.attributes.item.SingleItemSlot
- All Implemented Interfaces:
ItemExtractable,ItemInsertable,ItemTransferable,LimitedConsumer<net.minecraft.item.ItemStack>,Reference<net.minecraft.item.ItemStack>,StackReference
- Direct Known Subclasses:
SingleCopyingItemSlot
A delegating accessor of a single slot in a
FixedItemInv.-
Method Summary
Modifier and TypeMethodDescriptionfinal net.minecraft.item.ItemStackattemptExtraction(ItemFilter filter, int maxAmount, Simulation simulation) final net.minecraft.item.ItemStackattemptInsertion(net.minecraft.item.ItemStack stack, Simulation simulation) Inserts the given stack into this insertable, and returns the excess.final voidforceSet(net.minecraft.item.ItemStack to) Sets the stack in the given slot to the given stack, or throws an exception if it was not permitted.final ItemFilterReturns anItemFilterto determine ifItemInsertable.attemptInsertion(ItemStack, Simulation)will accept a stack.final voidApplies the given function to the stack held in the slot, and usesforceSet(ItemStack)on the result (Which will throw an exception if the returned stack is not valid for this inventory).booleanset(net.minecraft.item.ItemStack value) final booleanset(net.minecraft.item.ItemStack to, Simulation simulation) Sets the stack in this slot to the given stack.Methods inherited from class alexiil.mc.lib.attributes.item.SingleItemSlotView
get, getFilter, getIndex, getMaxAmount, isValidMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface alexiil.mc.lib.attributes.item.ItemExtractable
attemptAnyExtraction, couldExtractAnything, extract, extract, extract, getPureExtractableMethods inherited from interface alexiil.mc.lib.attributes.item.ItemInsertable
getPureInsertable, insert, offer, offer, wouldAccept, wouldPartiallyAcceptMethods inherited from interface alexiil.mc.lib.attributes.item.ItemTransferable
filteredMethods inherited from interface alexiil.mc.lib.attributes.misc.Reference
asDestroyable, get, isValid
-
Method Details
-
getBackingInv
- Overrides:
getBackingInvin classSingleItemSlotView
-
set
Sets the stack in this slot to the given stack. -
forceSet
public final void forceSet(net.minecraft.item.ItemStack to) Sets the stack in the given slot to the given stack, or throws an exception if it was not permitted. -
modify
public final void modify(Function<net.minecraft.item.ItemStack, net.minecraft.item.ItemStack> function) Applies the given function to the stack held in the slot, and usesforceSet(ItemStack)on the result (Which will throw an exception if the returned stack is not valid for this inventory). -
attemptExtraction
public final net.minecraft.item.ItemStack attemptExtraction(ItemFilter filter, int maxAmount, Simulation simulation) Description copied from interface:ItemExtractable- Specified by:
attemptExtractionin interfaceItemExtractablemaxAmount- The maximum number of items that can be extracted. Negative numbers throw an exception.simulation- IfSimulation.SIMULATEthen this should return the same result that a call withSimulation.ACTIONwould do, but without modifying anything else.- Returns:
- A new, independent
ItemStackthat was extracted.
-
attemptInsertion
public final net.minecraft.item.ItemStack attemptInsertion(net.minecraft.item.ItemStack stack, Simulation simulation) Description copied from interface:ItemInsertableInserts the given stack into this insertable, and returns the excess.- Specified by:
attemptInsertionin interfaceItemInsertable- Parameters:
stack- The incoming stack. Must not be modified by this call.simulation- IfSimulation.SIMULATEthen this shouldn't modify anything.- Returns:
- the excess
ItemStackthat wasn't accepted. This will be independent of this insertable, however it might be the given stack instead of a completely new object.
-
getInsertionFilter
Description copied from interface:ItemInsertableReturns anItemFilterto determine ifItemInsertable.attemptInsertion(ItemStack, Simulation)will accept a stack. The default implementation is a call toattemptInsertion(stack,Simulation.SIMULATE), and it is only useful to override this if the resulting filter contains information that might be usable by the caller.- Specified by:
getInsertionFilterin interfaceItemInsertable- Returns:
- A filter to determine if
ItemInsertable.attemptInsertion(ItemStack, Simulation)will accept the entirety of a given stack.
-
set
public boolean set(net.minecraft.item.ItemStack value)
-