Class FunctionNumberProvider
java.lang.Object
com.petrolpark.core.data.loot.numberprovider.FunctionNumberProvider
- All Implemented Interfaces:
IEstimableNumberProvider,net.minecraft.world.level.storage.loot.LootContextUser,net.minecraft.world.level.storage.loot.providers.number.NumberProvider
- Direct Known Subclasses:
MaxNumberProvider,MeanNumberProvider,MinNumberProvider,ProductNumberProvider,SumNumberProvider
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final List<net.minecraft.world.level.storage.loot.providers.number.NumberProvider> protected static final Map<net.minecraft.world.level.storage.loot.providers.number.LootNumberProviderType, FunctionNumberProvider.Factory<?>> -
Constructor Summary
ConstructorsConstructorDescriptionFunctionNumberProvider(List<net.minecraft.world.level.storage.loot.providers.number.NumberProvider> children) -
Method Summary
Modifier and TypeMethodDescriptionabstract NumberEstimateapplyEstimate(Stream<NumberEstimate> estimates) abstract floatapplyFloat(net.minecraft.world.level.storage.loot.LootContext lootContext, DoubleStream childResults) abstract intstatic final <PROVIDER extends FunctionNumberProvider>
com.mojang.serialization.MapCodec<PROVIDER> codec(FunctionNumberProvider.Factory<PROVIDER> constructor) static final FunctionNumberProvider.Factory<?> get(net.minecraft.world.level.storage.loot.providers.number.LootNumberProviderType type) List<net.minecraft.world.level.storage.loot.providers.number.NumberProvider> final NumberEstimateA rough estimate for the output of this Number Provider, for display purposes only.final floatgetFloat(net.minecraft.world.level.storage.loot.LootContext lootContext) final intgetInt(net.minecraft.world.level.storage.loot.LootContext lootContext) final floatgetMaxFloat(net.minecraft.world.level.storage.loot.LootContext context) The maximum possible value this Number Provider can give, ignoring any randomness.static final com.mojang.serialization.DataResult<net.minecraft.world.level.storage.loot.providers.number.LootNumberProviderType> isFunction(net.minecraft.world.level.storage.loot.providers.number.LootNumberProviderType type) static final voidregister(net.minecraft.world.level.storage.loot.providers.number.LootNumberProviderType type, FunctionNumberProvider.Factory<?> constructor) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.minecraft.world.level.storage.loot.LootContextUser
getReferencedContextParams, validateMethods inherited from interface net.minecraft.world.level.storage.loot.providers.number.NumberProvider
getType
-
Field Details
-
FACTORIES
protected static final Map<net.minecraft.world.level.storage.loot.providers.number.LootNumberProviderType,FunctionNumberProvider.Factory<?>> FACTORIES -
children
protected final List<net.minecraft.world.level.storage.loot.providers.number.NumberProvider> children
-
-
Constructor Details
-
FunctionNumberProvider
public FunctionNumberProvider(List<net.minecraft.world.level.storage.loot.providers.number.NumberProvider> children)
-
-
Method Details
-
register
public static final void register(net.minecraft.world.level.storage.loot.providers.number.LootNumberProviderType type, FunctionNumberProvider.Factory<?> constructor) -
get
public static final FunctionNumberProvider.Factory<?> get(net.minecraft.world.level.storage.loot.providers.number.LootNumberProviderType type) -
isFunction
public static final com.mojang.serialization.DataResult<net.minecraft.world.level.storage.loot.providers.number.LootNumberProviderType> isFunction(net.minecraft.world.level.storage.loot.providers.number.LootNumberProviderType type) -
codec
public static final <PROVIDER extends FunctionNumberProvider> com.mojang.serialization.MapCodec<PROVIDER> codec(FunctionNumberProvider.Factory<PROVIDER> constructor) -
getChildren
-
getFloat
public final float getFloat(@Nonnull net.minecraft.world.level.storage.loot.LootContext lootContext) - Specified by:
getFloatin interfacenet.minecraft.world.level.storage.loot.providers.number.NumberProvider
-
getInt
public final int getInt(@Nonnull net.minecraft.world.level.storage.loot.LootContext lootContext) - Specified by:
getIntin interfacenet.minecraft.world.level.storage.loot.providers.number.NumberProvider
-
getEstimate
Description copied from interface:IEstimableNumberProviderA rough estimate for the output of this Number Provider, for display purposes only.- Specified by:
getEstimatein interfaceIEstimableNumberProvider
-
getMaxFloat
public final float getMaxFloat(net.minecraft.world.level.storage.loot.LootContext context) Description copied from interface:IEstimableNumberProviderThe maximum possible value this Number Provider can give, ignoring any randomness.- Specified by:
getMaxFloatin interfaceIEstimableNumberProvider
-
applyFloat
public abstract float applyFloat(net.minecraft.world.level.storage.loot.LootContext lootContext, DoubleStream childResults) -
applyInt
public abstract int applyInt(net.minecraft.world.level.storage.loot.LootContext lootContext, IntStream childResults) -
applyEstimate
-