SwitchDensityAsset class

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

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

extends: DensityAsset

Поля (10)

МодификаторыТипИмя
public static final AssetBuilderCodec<String, SwitchDensityAsset.SwitchCaseAsset> CODEC
private String caseState
private AssetExtraInfo.Data data
private DensityAsset densityAsset
private String id
IntArrayList var2
ArrayList var3
String var5
int var6
Density var7

Методы (9)

МодификаторыВозвратСигнатура
abstract return new ConstantValueDensityreturn new ConstantValueDensity(0.0)
public SwitchCaseAssetpublic SwitchCaseAsset()
abstract return new SwitchDensityreturn new SwitchDensity(var3, var2)
public void cleanUppublic void cleanUp()
for for(int var4 = 0; var4 < this.switchCaseAssets.length; var4++)
for for(SwitchDensityAsset.SwitchCaseAsset var4 : this.switchCaseAssets)
static int getHashFromStateint getHashFromState(String var0)
public String getIdpublic String getId()
if if(this.switchCaseAssets[var4] != null && this.switchCaseAssets[var4].densityAsset != null)

Исходный код

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

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.assets.Cleanable;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.density.ConstantValueDensity;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.density.Density;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.density.SwitchDensity;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import it.unimi.dsi.fastutil.ints.IntArrayList;
class="kw">import java.util.ArrayList;
class="kw">import java.util.Objects;
class="kw">import javax.annotation.Nonnull;

class="kw">public class SwitchDensityAsset class="kw">extends DensityAsset {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<SwitchDensityAsset> CODEC = BuilderCodec.builder(
         SwitchDensityAsset.class, SwitchDensityAsset::new, DensityAsset.ABSTRACT_CODEC
      )
      .append(
         new KeyedCodec<>("SwitchCases", new ArrayCodec<>(SwitchDensityAsset.SwitchCaseAsset.CODEC, SwitchDensityAsset.SwitchCaseAsset[]::new), false),
         (var0, var1) -> var0.switchCaseAssets = var1,
         var0 -> var0.switchCaseAssets
      )
      .add()
      .build();
   @Nonnull
   class="kw">public class="kw">static class="kw">final String DEFAULT_STATE = "Default";
   class="kw">public class="kw">static class="kw">final int DEFAULT_STATE_HASH = 0;
   class="kw">private SwitchDensityAsset.SwitchCaseAsset[] switchCaseAssets = new SwitchDensityAsset.SwitchCaseAsset[0];

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

   @Nonnull
   @Override
   class="kw">public Density build(@Nonnull DensityAsset.Argument var1) {
      if (this.isSkipped()) {
         class="kw">return new ConstantValueDensity(0.0);
      }

      IntArrayList var2 = new IntArrayList();
      ArrayList var3 = new ArrayList<>();

      for (int var4 = 0; var4 < this.switchCaseAssets.length; var4++) {
         if (this.switchCaseAssets[var4] != null && this.switchCaseAssets[var4].densityAsset != null) {
            String var5 = this.switchCaseAssets[var4].caseState;
            int var6 = getHashFromState(var5);
            Density var7 = this.switchCaseAssets[var4].densityAsset.build(var1);
            var2.add(var6);
            var3.add(var7);
         }
      }

      class="kw">return new SwitchDensity(var3, var2);
   }

   class="kw">public class="kw">static int getHashFromState(String var0) {
      class="kw">return "Default".equals(var0) ? 0 : Objects.hash(var0);
   }

   @Override
   class="kw">public void cleanUp() {
      this.cleanUpInputs();

      for (SwitchDensityAsset.SwitchCaseAsset var4 : this.switchCaseAssets) {
         var4.cleanUp();
      }
   }

   class="kw">public class="kw">static class SwitchCaseAsset class="kw">implements Cleanable, JsonAssetWithMap<String, DefaultAssetMap<String, SwitchDensityAsset.SwitchCaseAsset>> {
      @Nonnull
      class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, SwitchDensityAsset.SwitchCaseAsset> CODEC = AssetBuilderCodec.builder(
            SwitchDensityAsset.SwitchCaseAsset.class,
            SwitchDensityAsset.SwitchCaseAsset::new,
            Codec.STRING,
            (var0, var1) -> var0.id = var1,
            var0 -> var0.id,
            (var0, var1) -> var0.data = var1,
            var0 -> var0.data
         )
         .append(new KeyedCodec<>("CaseState", Codec.STRING, true), (var0, var1) -> var0.caseState = var1, var0 -> var0.caseState)
         .add()
         .append(new KeyedCodec<>("Density", DensityAsset.CODEC, true), (var0, var1) -> var0.densityAsset = var1, var0 -> var0.densityAsset)
         .add()
         .build();
      class="kw">private String id;
      class="kw">private AssetExtraInfo.Data data;
      class="kw">private String caseState = "";
      class="kw">private DensityAsset densityAsset;

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

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

      @Override
      class="kw">public void cleanUp() {
         this.densityAsset.cleanUp();
      }
   }
}