SettingsAsset class

Пакет: com.hypixel.hytale.builtin.hytalegenerator.assets

Файл: com/hypixel/hytale/builtin/hytalegenerator/assets/SettingsAsset.java

implements: JsonAssetWithMap<String, DefaultAssetMap<String, SettingsAsset>>

Методы (6)

МодификаторыВозвратСигнатура
public double getBufferCapacityFactordouble getBufferCapacityFactor()
public String getIdString getId()
static int getSampleBitsint getSampleBits(int var0)
public double getTargetPlayerCountdouble getTargetPlayerCount()
public double getTargetViewDistancedouble getTargetViewDistance()
return switchreturn switch(var0)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.assets;

class="kw">import com.hypixel.hytale.assetstore.AssetExtraInfo;
class="kw">import com.hypixel.hytale.assetstore.codec.AssetBuilderCodec;
class="kw">import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
class="kw">import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.plugin.HytaleGenerator;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;

class="kw">public class SettingsAsset class="kw">implements JsonAssetWithMap<String, DefaultAssetMap<String, SettingsAsset>> {
   @Nonnull
   class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, SettingsAsset> CODEC = AssetBuilderCodec.builder(
         SettingsAsset.class,
         SettingsAsset::new,
         Codec.STRING,
         (var0, var1) -> var0.id = var1,
         var0 -> var0.id,
         (var0, var1) -> var0.data = var1,
         var0 -> var0.data
      )
      .append(
         new KeyedCodec<>("StatsCheckpoints", new ArrayCodec<>(Codec.INTEGER, Integer[]::new), true),
         (var0, var1) -> var0.checkpoints = var1,
         var0 -> var0.checkpoints
      )
      .add()
      .<Integer>append(new KeyedCodec<>("LowPriorityConcurrency", Codec.INTEGER, true), (var0, var1) -> var0.lowConcurrence = var1, var0 -> var0.lowConcurrence)
      .addValidator(Validators.greaterThan(-2))
      .add()
      .<Integer>append(
         new KeyedCodec<>("NormalPriorityConcurrency", Codec.INTEGER, true), (var0, var1) -> var0.normalConcurrency = var1, var0 -> var0.normalConcurrency
      )
      .addValidator(Validators.greaterThan(-2))
      .add()
      .<Integer>append(
         new KeyedCodec<>("HighPriorityConcurrency", Codec.INTEGER, true), (var0, var1) -> var0.highConcurrency = var1, var0 -> var0.highConcurrency
      )
      .addValidator(Validators.greaterThan(-2))
      .add()
      .<Double>append(
         new KeyedCodec<>("BufferCapacityFactor", Codec.DOUBLE, true), (var0, var1) -> var0.bufferCapacityFactor = var1, var0 -> var0.bufferCapacityFactor
      )
      .addValidator(Validators.greaterThanOrEqual(0.0))
      .add()
      .<Double>append(
         new KeyedCodec<>("TargetViewDistance", Codec.DOUBLE, true), (var0, var1) -> var0.targetViewDistance = var1, var0 -> var0.targetViewDistance
      )
      .addValidator(Validators.greaterThanOrEqual(0.0))
      .add()
      .<Double>append(new KeyedCodec<>("TargetPlayerCount", Codec.DOUBLE, true), (var0, var1) -> var0.targetPlayerCount = var1, var0 -> var0.targetPlayerCount)
      .addValidator(Validators.greaterThanOrEqual(0.0))
      .add()
      .build();
   class="kw">private String id;
   class="kw">private AssetExtraInfo.Data data;
   class="kw">private Integer[] checkpoints = new Integer[]{1, 100, 500, 1000};
   class="kw">private int lowConcurrence = 0;
   class="kw">private int normalConcurrency = 0;
   class="kw">private int highConcurrency = 0;
   class="kw">private double bufferCapacityFactor = 0.1;
   class="kw">private double targetViewDistance = 512.0;
   class="kw">private double targetPlayerCount = 3.0;

   class="kw">public SettingsAsset() {
   }

   @Nonnull
   class="kw">public List<Integer> getStatsCheckpoints() {
      class="kw">return List.of(this.checkpoints);
   }

   @Nonnull
   class="kw">public HytaleGenerator.Concurrency getConcurrency() {
      class="kw">return new HytaleGenerator.Concurrency(this.lowConcurrence, this.normalConcurrency, this.highConcurrency);
   }

   class="kw">public double getBufferCapacityFactor() {
      class="kw">return this.bufferCapacityFactor;
   }

   class="kw">public double getTargetViewDistance() {
      class="kw">return this.targetViewDistance;
   }

   class="kw">public double getTargetPlayerCount() {
      class="kw">return this.targetPlayerCount;
   }

   class="kw">public class="kw">static int getSampleBits(int var0) {
      class="kw">return class="kw">switch (var0) {
         case 2 -> 1;
         case 4 -> 2;
         case 8 -> 3;
         class="kw">default -> 0;
      };
   }

   class="kw">public String getId() {
      class="kw">return this.id;
   }
}