Interface IPqualityPlugin

All Known Implementing Classes:
BuiltInPqualityPlugin, CreatePqualityPlugin

public interface IPqualityPlugin

The main interface to implement to create a pquality plugin.

Instances will recieve a bunch of references to functions that accept an ItemStack (or IFlagPole, if the Petrolpark Library is a dependent) and number (double, int or float) and return those numbers according to the multiplier, big multiplier or reducer of the IQuality of that ItemStack. As the implementations of IQuality.multiply(int) etc. are not contractual, you should use the matching function for each primitive.

IPqualityModPlugins must have the JeiPlugin annotation to get loaded by pquality.

See Also:
  • Example implementation
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    acceptFlagPoleModifiers(petrolpark.mc.library.util.function.ObjDouble2DoubleFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> doubleMultiplier, petrolpark.mc.library.util.function.ObjDouble2DoubleFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> doubleBigMultiplier, petrolpark.mc.library.util.function.ObjDouble2DoubleFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> doubleReducer, petrolpark.mc.library.util.function.ObjInt2IntFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> intMultiplier, petrolpark.mc.library.util.function.ObjInt2IntFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> intBigMultiplier, petrolpark.mc.library.util.function.ObjInt2IntFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> intReducer, petrolpark.mc.library.util.function.ObjFloat2FloatFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> floatMultiplier, petrolpark.mc.library.util.function.ObjFloat2FloatFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> floatBigMultiplier, petrolpark.mc.library.util.function.ObjFloat2FloatFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> floatReducer, BiFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>,org.apache.commons.lang3.math.Fraction,org.apache.commons.lang3.math.Fraction> fractionMultiplier, BiFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>,org.apache.commons.lang3.math.Fraction,org.apache.commons.lang3.math.Fraction> fractionBigMultiplier, BiFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>,org.apache.commons.lang3.math.Fraction,org.apache.commons.lang3.math.Fraction> fractionReducer)
     
    default void
    acceptItemStackModifiers(petrolpark.mc.library.util.function.ObjDouble2DoubleFunction<net.minecraft.world.item.ItemStack> doubleMultiplier, petrolpark.mc.library.util.function.ObjDouble2DoubleFunction<net.minecraft.world.item.ItemStack> doubleBigMultiplier, petrolpark.mc.library.util.function.ObjDouble2DoubleFunction<net.minecraft.world.item.ItemStack> doubleReducer, petrolpark.mc.library.util.function.ObjInt2IntFunction<net.minecraft.world.item.ItemStack> intMultiplier, petrolpark.mc.library.util.function.ObjInt2IntFunction<net.minecraft.world.item.ItemStack> intBigMultiplier, petrolpark.mc.library.util.function.ObjInt2IntFunction<net.minecraft.world.item.ItemStack> intReducer, petrolpark.mc.library.util.function.ObjFloat2FloatFunction<net.minecraft.world.item.ItemStack> floatMultiplier, petrolpark.mc.library.util.function.ObjFloat2FloatFunction<net.minecraft.world.item.ItemStack> floatBigMultiplier, petrolpark.mc.library.util.function.ObjFloat2FloatFunction<net.minecraft.world.item.ItemStack> floatReducer, BiFunction<net.minecraft.world.item.ItemStack,org.apache.commons.lang3.math.Fraction,org.apache.commons.lang3.math.Fraction> fractionMultiplier, BiFunction<net.minecraft.world.item.ItemStack,org.apache.commons.lang3.math.Fraction,org.apache.commons.lang3.math.Fraction> fractionBigMultiplier, BiFunction<net.minecraft.world.item.ItemStack,org.apache.commons.lang3.math.Fraction,org.apache.commons.lang3.math.Fraction> fractionReducer)
     
    default void
     
    default boolean
     
  • Method Details

    • shouldLoad

      default boolean shouldLoad()
    • acceptFlagPoleModifiers

      default void acceptFlagPoleModifiers(petrolpark.mc.library.util.function.ObjDouble2DoubleFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> doubleMultiplier, petrolpark.mc.library.util.function.ObjDouble2DoubleFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> doubleBigMultiplier, petrolpark.mc.library.util.function.ObjDouble2DoubleFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> doubleReducer, petrolpark.mc.library.util.function.ObjInt2IntFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> intMultiplier, petrolpark.mc.library.util.function.ObjInt2IntFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> intBigMultiplier, petrolpark.mc.library.util.function.ObjInt2IntFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> intReducer, petrolpark.mc.library.util.function.ObjFloat2FloatFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> floatMultiplier, petrolpark.mc.library.util.function.ObjFloat2FloatFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> floatBigMultiplier, petrolpark.mc.library.util.function.ObjFloat2FloatFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>> floatReducer, BiFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>,org.apache.commons.lang3.math.Fraction,org.apache.commons.lang3.math.Fraction> fractionMultiplier, BiFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>,org.apache.commons.lang3.math.Fraction,org.apache.commons.lang3.math.Fraction> fractionBigMultiplier, BiFunction<petrolpark.mc.library.core.flags.IFlagPole<?,?>,org.apache.commons.lang3.math.Fraction,org.apache.commons.lang3.math.Fraction> fractionReducer)
    • acceptItemStackModifiers

      default void acceptItemStackModifiers(petrolpark.mc.library.util.function.ObjDouble2DoubleFunction<net.minecraft.world.item.ItemStack> doubleMultiplier, petrolpark.mc.library.util.function.ObjDouble2DoubleFunction<net.minecraft.world.item.ItemStack> doubleBigMultiplier, petrolpark.mc.library.util.function.ObjDouble2DoubleFunction<net.minecraft.world.item.ItemStack> doubleReducer, petrolpark.mc.library.util.function.ObjInt2IntFunction<net.minecraft.world.item.ItemStack> intMultiplier, petrolpark.mc.library.util.function.ObjInt2IntFunction<net.minecraft.world.item.ItemStack> intBigMultiplier, petrolpark.mc.library.util.function.ObjInt2IntFunction<net.minecraft.world.item.ItemStack> intReducer, petrolpark.mc.library.util.function.ObjFloat2FloatFunction<net.minecraft.world.item.ItemStack> floatMultiplier, petrolpark.mc.library.util.function.ObjFloat2FloatFunction<net.minecraft.world.item.ItemStack> floatBigMultiplier, petrolpark.mc.library.util.function.ObjFloat2FloatFunction<net.minecraft.world.item.ItemStack> floatReducer, BiFunction<net.minecraft.world.item.ItemStack,org.apache.commons.lang3.math.Fraction,org.apache.commons.lang3.math.Fraction> fractionMultiplier, BiFunction<net.minecraft.world.item.ItemStack,org.apache.commons.lang3.math.Fraction,org.apache.commons.lang3.math.Fraction> fractionBigMultiplier, BiFunction<net.minecraft.world.item.ItemStack,org.apache.commons.lang3.math.Fraction,org.apache.commons.lang3.math.Fraction> fractionReducer)
    • registerEffectDescriptions

      default void registerEffectDescriptions(Consumer<IQualityEffectDescription> adder)