Class PrefabWeights

java.lang.Object
com.hypixel.hytale.server.core.prefab.PrefabWeights

public class PrefabWeights extends Object
  • Field Details

    • MAP_SUPPLIER

      public static final Supplier<it.unimi.dsi.fastutil.objects.Object2DoubleMap<String>> MAP_SUPPLIER
    • MAP_CODEC

      public static final Codec<it.unimi.dsi.fastutil.objects.Object2DoubleMap<String>> MAP_CODEC
    • CODEC

      public static final Codec<PrefabWeights> CODEC
    • NONE

      public static final PrefabWeights NONE
    • DEFAULT_WEIGHT

      public static final double DEFAULT_WEIGHT
      See Also:
    • DELIMITER_CHAR

      public static final char DELIMITER_CHAR
      See Also:
    • ASSIGNMENT_CHAR

      public static final char ASSIGNMENT_CHAR
      See Also:
    • defaultWeight

      private double defaultWeight
    • weightsLookup

      private it.unimi.dsi.fastutil.objects.Object2DoubleMap<String> weightsLookup
    • sum

      protected double sum
    • weights

      protected double[] weights
    • initialized

      protected volatile boolean initialized
  • Constructor Details

    • PrefabWeights

      public PrefabWeights()
    • PrefabWeights

      private PrefabWeights(it.unimi.dsi.fastutil.objects.Object2DoubleMap<String> weights)
  • Method Details

    • size

      public int size()
    • get

      @Nullable public <T> T get(@Nonnull T[] elements, @Nonnull Function<T,String> nameFunc, @Nonnull Random random)
    • get

      @Nullable public <T> T get(@Nonnull T[] elements, @Nonnull Function<T,String> nameFunc, double value)
    • getWeight

      public double getWeight(String prefab)
    • setWeight

      public void setWeight(String prefab, double weight)
    • removeWeight

      public void removeWeight(String prefab)
    • getDefaultWeight

      public double getDefaultWeight()
    • setDefaultWeight

      public void setDefaultWeight(double defaultWeight)
    • getMappingString

      @Nonnull public String getMappingString()
    • toString

      @Nonnull public String toString()
      Overrides:
      toString in class Object
    • initialize

      private <T> void initialize(@Nonnull T[] elements, @Nonnull Function<T,String> nameFunc)
    • parse

      @Nonnull public static PrefabWeights parse(@Nonnull String mappingString)
    • entrySet

      public Set<it.unimi.dsi.fastutil.objects.Object2DoubleMap.Entry<String>> entrySet()
    • checkWeight

      private static void checkWeight(String prefab, double weight)