MaterialAsset class

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

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

implements: JsonAssetWithMap<String, DefaultAssetMap<String, MaterialAsset>>, Cleanable

Поля (7)

МодификаторыТипИмя
RotationTuple var2
var2
var2
SolidMaterial var3
var3
FluidMaterial var4
var4

Методы (2)

МодификаторыВозвратСигнатура
abstract return new Materialreturn new Material(var3, var4)
public String getIdString getId()

Исходный код

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

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.material.FluidMaterial;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.material.Material;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.material.MaterialCache;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.material.SolidMaterial;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.Rotation;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.RotationTuple;
class="kw">import javax.annotation.Nonnull;

class="kw">public class MaterialAsset class="kw">implements JsonAssetWithMap<String, DefaultAssetMap<String, MaterialAsset>>, Cleanable {
   @Nonnull
   class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, MaterialAsset> CODEC = AssetBuilderCodec.builder(
         MaterialAsset.class,
         MaterialAsset::new,
         Codec.STRING,
         (var0, var1) -> var0.id = var1,
         var0 -> var0.id,
         (var0, var1) -> var0.data = var1,
         var0 -> var0.data
      )
      .append(new KeyedCodec<>("Solid", Codec.STRING, true), (var0, var1) -> var0.solidName = var1, var0 -> var0.solidName)
      .add()
      .append(new KeyedCodec<>("Fluid", Codec.STRING, true), (var0, var1) -> var0.fluidName = var1, var0 -> var0.fluidName)
      .add()
      .append(new KeyedCodec<>("SolidBottomUp", Codec.BOOLEAN, false), (var0, var1) -> var0.isSolidBottomUp = var1, var0 -> var0.isSolidBottomUp)
      .add()
      .append(
         new KeyedCodec<>("SolidRotation", OrthogonalRotationAsset.CODEC, false),
         (var0, var1) -> var0.solidRotationAsset = var1,
         var0 -> var0.solidRotationAsset
      )
      .add()
      .build();
   class="kw">private String id;
   class="kw">private AssetExtraInfo.Data data;
   @Nonnull
   class="kw">private String solidName = "";
   @Nonnull
   class="kw">private String fluidName = "";
   class="kw">private boolean isSolidBottomUp = false;
   class="kw">private OrthogonalRotationAsset solidRotationAsset = new OrthogonalRotationAsset();

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

   class="kw">public MaterialAsset(@Nonnull String var1, @Nonnull String var2, boolean var3) {
      this.solidName = var1;
      this.fluidName = var2;
      this.isSolidBottomUp = var3;
   }

   class="kw">public MaterialAsset(@Nonnull String var1, @Nonnull String var2, @Nonnull OrthogonalRotationAsset var3) {
      this.solidName = var1;
      this.fluidName = var2;
      this.isSolidBottomUp = false;
      this.solidRotationAsset = var3;
   }

   @Nonnull
   class="kw">public Material build(@Nonnull MaterialCache var1) {
      RotationTuple var2;
      if (this.solidRotationAsset.isNone() && this.isSolidBottomUp) {
         var2 = RotationTuple.of(Rotation.None, Rotation.OneEighty, Rotation.None);
      } else {
         var2 = this.solidRotationAsset.build();
      }

      SolidMaterial var3 = var1.EMPTY_AIR;
      if (!this.solidName.isEmpty()) {
         var3 = var1.getSolidMaterial(this.solidName, var2);
      }

      FluidMaterial var4 = var1.EMPTY_FLUID;
      if (!this.fluidName.isEmpty()) {
         var4 = var1.getFluidMaterial(this.fluidName);
      }

      class="kw">return new Material(var3, var4);
   }

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

   @Override
   class="kw">public void cleanUp() {
   }
}