Class SimpleLimitedGroupedItemInv
java.lang.Object
alexiil.mc.lib.attributes.item.impl.DelegatingGroupedItemInv
alexiil.mc.lib.attributes.item.impl.SimpleLimitedGroupedItemInv
- All Implemented Interfaces:
AbstractItemInvView,GroupedItemInv,GroupedItemInvView,ItemExtractable,ItemInsertable,ItemTransferable,LimitedGroupedItemInv,LimitedConsumer<net.minecraft.item.ItemStack>
public class SimpleLimitedGroupedItemInv
extends DelegatingGroupedItemInv
implements LimitedGroupedItemInv
-
Nested Class Summary
Nested classes/interfaces inherited from interface alexiil.mc.lib.attributes.item.AbstractItemInvView
AbstractItemInvView.DefaultChangeTrackerNested classes/interfaces inherited from interface alexiil.mc.lib.attributes.item.GroupedItemInvView
GroupedItemInvView.ItemInvStatisticNested classes/interfaces inherited from interface alexiil.mc.lib.attributes.item.LimitedGroupedItemInv
LimitedGroupedItemInv.ItemLimitRule -
Field Summary
Fields inherited from class alexiil.mc.lib.attributes.item.impl.DelegatingGroupedItemInv
delegate -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidnet.minecraft.item.ItemStackattemptExtraction(ItemFilter filter, int maxAmount, Simulation simulation) net.minecraft.item.ItemStackattemptInsertion(net.minecraft.item.ItemStack stack, Simulation simulation) Inserts the given stack into this insertable, and returns the excess.copy()Creates a copy of thisLimitedGroupedItemInv(with the same backing inventory and the same rules), but not marked as final.Returns anItemFilterto determine ifItemInsertable.attemptInsertion(ItemStack, Simulation)will accept a stack.getRule(ItemFilter filter) Marks this object as final, and disallows any further changes to this.Methods inherited from class alexiil.mc.lib.attributes.item.impl.DelegatingGroupedItemInv
addListener, attemptAnyExtraction, getChangeValue, getStatistics, getStoredStacks, getTotalCapacityMethods 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.AbstractItemInvView
getChangeValueMethods inherited from interface alexiil.mc.lib.attributes.item.GroupedItemInv
createLimitedGroupedInv, filteredMethods inherited from interface alexiil.mc.lib.attributes.item.GroupedItemInvView
addListener, addListener, getAmount, getAmount, getCapacity, getGroupedView, getSpace, getStatistics, getStatistics, getStoredStacks, getTotalCapacity, isEmptyMethods 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.LimitedGroupedItemInv
asUnmodifiable, getAllRule, getRule, reset
-
Constructor Details
-
SimpleLimitedGroupedItemInv
-
-
Method Details
-
markFinal
Description copied from interface:LimitedGroupedItemInvMarks this object as final, and disallows any further changes to this. If this is called thenLimitedGroupedItemInv.asUnmodifiable()will return this object.- Specified by:
markFinalin interfaceLimitedGroupedItemInv- Returns:
- this.
-
assertMutable
protected void assertMutable() -
copy
Description copied from interface:LimitedGroupedItemInvCreates a copy of thisLimitedGroupedItemInv(with the same backing inventory and the same rules), but not marked as final.- Specified by:
copyin interfaceLimitedGroupedItemInv
-
attemptExtraction
public net.minecraft.item.ItemStack attemptExtraction(ItemFilter filter, int maxAmount, Simulation simulation) Description copied from interface:ItemExtractable- Specified by:
attemptExtractionin interfaceItemExtractable- Overrides:
attemptExtractionin classDelegatingGroupedItemInvmaxAmount- 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 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- Overrides:
attemptInsertionin classDelegatingGroupedItemInv- 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- Overrides:
getInsertionFilterin classDelegatingGroupedItemInv- Returns:
- A filter to determine if
ItemInsertable.attemptInsertion(ItemStack, Simulation)will accept the entirety of a given stack.
-
getRule
- Specified by:
getRulein interfaceLimitedGroupedItemInv- Returns:
- An
LimitedGroupedItemInv.ItemLimitRulethat applies to every item that matches the given filter.
-