Class StatModifiersManager

java.lang.Object
com.hypixel.hytale.server.core.entity.StatModifiersManager

public class StatModifiersManager extends Object
  • Field Details

    • recalculate

      @Nonnull private final AtomicBoolean recalculate
    • statsToClear

      @Nonnull private final it.unimi.dsi.fastutil.ints.IntSet statsToClear
  • Constructor Details

    • StatModifiersManager

      public StatModifiersManager()
  • Method Details

    • setRecalculate

      public void setRecalculate(boolean value)
    • queueEntityStatsToClear

      public void queueEntityStatsToClear(@Nonnull int[] entityStatsToClear)
    • recalculateEntityStatModifiers

      public void recalculateEntityStatModifiers(@Nonnull Ref<EntityStore> ref, @Nonnull EntityStatMap statMap, @Nonnull ComponentAccessor<EntityStore> componentAccessor)
    • calculateEffectStatModifiers

      @Nonnull private static it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap<it.unimi.dsi.fastutil.objects.Object2FloatMap<StaticModifier.CalculationType>> calculateEffectStatModifiers(@Nonnull Ref<EntityStore> ref, @Nonnull ComponentAccessor<EntityStore> componentAccessor)
    • applyEffectModifiers

      private static void applyEffectModifiers(@Nonnull EntityStatMap statMap, @Nonnull it.unimi.dsi.fastutil.ints.Int2ObjectMap<it.unimi.dsi.fastutil.objects.Object2FloatMap<StaticModifier.CalculationType>> statModifiers)
    • computeStatModifiers

      private static void computeStatModifiers(double brokenPenalty, @Nonnull it.unimi.dsi.fastutil.ints.Int2ObjectMap<it.unimi.dsi.fastutil.objects.Object2FloatMap<StaticModifier.CalculationType>> statModifiers, @Nonnull ItemStack itemInHand, @Nonnull it.unimi.dsi.fastutil.ints.Int2ObjectMap<StaticModifier[]> itemStatModifiers)
    • computeStatModifiers

      @Nonnull private static it.unimi.dsi.fastutil.ints.Int2ObjectMap<it.unimi.dsi.fastutil.objects.Object2FloatMap<StaticModifier.CalculationType>> computeStatModifiers(@Nonnull BrokenPenalties brokenPenalties, @Nonnull Inventory inventory)
    • addArmorStatModifiers

      private static void addArmorStatModifiers(@Nonnull ItemStack itemStack, double brokenPenalties, @Nonnull it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap<it.unimi.dsi.fastutil.objects.Object2FloatMap<StaticModifier.CalculationType>> statModifiers)
    • addItemStatModifiers

      private static void addItemStatModifiers(@Nullable ItemStack itemStack, @Nonnull EntityStatMap entityStatMap, @Nonnull String prefix, @Nonnull Function<Item,it.unimi.dsi.fastutil.ints.Int2ObjectMap<StaticModifier[]>> toStatModifiers)
    • clearAllStatModifiers

      private static void clearAllStatModifiers(@Nonnull EntityStatMap.Predictable predictable, @Nonnull EntityStatMap entityStatMap, @Nonnull String prefix, @Nullable it.unimi.dsi.fastutil.ints.Int2ObjectMap<StaticModifier[]> excluding)
    • clearStatModifiers

      private static void clearStatModifiers(@Nonnull EntityStatMap.Predictable predictable, @Nonnull EntityStatMap entityStatMap, int statIndex, @Nonnull String prefix, int offset)
    • applyStatModifiers

      private static void applyStatModifiers(@Nonnull EntityStatMap statMap, @Nonnull it.unimi.dsi.fastutil.ints.Int2ObjectMap<it.unimi.dsi.fastutil.objects.Object2FloatMap<StaticModifier.CalculationType>> statModifiers)