PhysicalMaterial class

Пакет: com.hypixel.hytale.server.core.asset.type.physicalmaterial.config

Файл: com/hypixel/hytale/server/core/asset/type/physicalmaterial/config/PhysicalMaterial.java

implements: JsonAssetWithMap<String, IndexedLookupTableAssetMap<String, PhysicalMaterial>>, NetworkSerializable<com.hypixel.hytale.protocol.PhysicalMaterial>

Поля (4)

МодификаторыТипИмя
ASSET_STORE
final int EMPTY_ID
com.hypixel.hytale.protocol.PhysicalMaterial var1
com.hypixel.hytale.protocol.PhysicalMaterial var2

Методы (10)

МодификаторыВозвратСигнатура
static IndexedLookupTableAssetMap<String, PhysicalMaterial> getAssetMapIndexedLookupTableAssetMap<String, PhysicalMaterial> getAssetMap()
static AssetStore<String, PhysicalMaterial, IndexedLookupTableAssetMap<String, PhysicalMaterial>> getAssetStoreAssetStore<String, PhysicalMaterial, IndexedLookupTableAssetMap<String, PhysicalMaterial>> getAssetStore()
public float getAttenuationPerBlockfloat getAttenuationPerBlock()
public float getHfAttenuationPerBlockfloat getHfAttenuationPerBlock()
public String getIdString getId()
public float getReflectionCoefffloat getReflectionCoeff()
public float getShelterOpacityfloat getShelterOpacity()
if if(ASSET_STORE == null)
if if(var1 != null)
protected void processConfigvoid processConfig()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.asset.type.physicalmaterial.config;

class="kw">import com.hypixel.hytale.assetstore.AssetExtraInfo;
class="kw">import com.hypixel.hytale.assetstore.AssetKeyValidator;
class="kw">import com.hypixel.hytale.assetstore.AssetRegistry;
class="kw">import com.hypixel.hytale.assetstore.AssetStore;
class="kw">import com.hypixel.hytale.assetstore.codec.AssetBuilderCodec;
class="kw">import com.hypixel.hytale.assetstore.map.IndexedLookupTableAssetMap;
class="kw">import com.hypixel.hytale.assetstore.map.JsonAssetWithMap;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.validation.ValidatorCache;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.server.core.io.NetworkSerializable;
class="kw">import java.lang.ref.SoftReference;
class="kw">import javax.annotation.Nonnull;

class="kw">public class PhysicalMaterial
   class="kw">implements JsonAssetWithMap<String, IndexedLookupTableAssetMap<String, PhysicalMaterial>>,
   NetworkSerializable<com.hypixel.hytale.protocol.PhysicalMaterial> {
   class="kw">public class="kw">static class="kw">final int EMPTY_ID = 0;
   class="kw">public class="kw">static class="kw">final String EMPTY = "EMPTY";
   class="kw">public class="kw">static class="kw">final PhysicalMaterial EMPTY_PHYSICAL_MATERIAL = new PhysicalMaterial("EMPTY");
   class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, PhysicalMaterial> CODEC = AssetBuilderCodec.builder(
         PhysicalMaterial.class,
         PhysicalMaterial::new,
         Codec.STRING,
         (var0, var1) -> var0.id = var1,
         var0 -> var0.id,
         (var0, var1) -> var0.data = var1,
         var0 -> var0.data
      )
      .appendInherited(
         new KeyedCodec<>("ReflectionCoeff", Codec.FLOAT),
         (var0, var1) -> var0.reflectionCoeff = var1,
         var0 -> var0.reflectionCoeff,
         (var0, var1) -> var0.reflectionCoeff = var1.reflectionCoeff
      )
      .addValidator(Validators.range(0.0F, 1.0F))
      .add()
      .<Float>appendInherited(
         new KeyedCodec<>("AttenuationPerBlock", Codec.FLOAT),
         (var0, var1) -> var0.attenuationPerBlock = var1,
         var0 -> var0.attenuationPerBlock,
         (var0, var1) -> var0.attenuationPerBlock = var1.attenuationPerBlock
      )
      .addValidator(Validators.min(0.0F))
      .add()
      .<Float>appendInherited(
         new KeyedCodec<>("HFAttenuationPerBlock", Codec.FLOAT),
         (var0, var1) -> var0.hfAttenuationPerBlock = var1,
         var0 -> var0.hfAttenuationPerBlock,
         (var0, var1) -> var0.hfAttenuationPerBlock = var1.hfAttenuationPerBlock
      )
      .addValidator(Validators.min(0.0F))
      .add()
      .<Float>appendInherited(
         new KeyedCodec<>("ShelterOpacity", Codec.FLOAT),
         (var0, var1) -> var0.shelterOpacity = var1,
         var0 -> var0.shelterOpacity,
         (var0, var1) -> var0.shelterOpacity = var1.shelterOpacity
      )
      .addValidator(Validators.range(0.0F, 1.0F))
      .add()
      .afterDecode(PhysicalMaterial::processConfig)
      .build();
   class="kw">public class="kw">static class="kw">final ValidatorCache<String> VALIDATOR_CACHE = new ValidatorCache<>(new AssetKeyValidator<>(PhysicalMaterial::getAssetStore));
   class="kw">private class="kw">static AssetStore<String, PhysicalMaterial, IndexedLookupTableAssetMap<String, PhysicalMaterial>> ASSET_STORE;
   class="kw">protected AssetExtraInfo.Data data;
   class="kw">protected String id;
   class="kw">protected float reflectionCoeff;
   class="kw">protected float attenuationPerBlock;
   class="kw">protected float hfAttenuationPerBlock;
   class="kw">protected float shelterOpacity;
   class="kw">private SoftReference<com.hypixel.hytale.protocol.PhysicalMaterial> cachedPacket;

   class="kw">public class="kw">static AssetStore<String, PhysicalMaterial, IndexedLookupTableAssetMap<String, PhysicalMaterial>> getAssetStore() {
      if (ASSET_STORE == null) {
         ASSET_STORE = AssetRegistry.getAssetStore(PhysicalMaterial.class);
      }

      class="kw">return ASSET_STORE;
   }

   class="kw">public class="kw">static IndexedLookupTableAssetMap<String, PhysicalMaterial> getAssetMap() {
      class="kw">return (IndexedLookupTableAssetMap<String, PhysicalMaterial>)getAssetStore().getAssetMap();
   }

   class="kw">public PhysicalMaterial(String var1) {
      this.id = var1;
   }

   class="kw">protected PhysicalMaterial() {
   }

   @Nonnull
   class="kw">public com.hypixel.hytale.protocol.PhysicalMaterial toPacket() {
      com.hypixel.hytale.protocol.PhysicalMaterial var1 = this.cachedPacket == null ? null : this.cachedPacket.get();
      if (var1 != null) {
         class="kw">return var1;
      }

      com.hypixel.hytale.protocol.PhysicalMaterial var2 = new com.hypixel.hytale.protocol.PhysicalMaterial();
      var2.id = this.id;
      var2.reflectionCoeff = this.reflectionCoeff;
      var2.attenuationPerBlock = this.attenuationPerBlock;
      var2.hFAttenuationPerBlock = this.hfAttenuationPerBlock;
      var2.shelterOpacity = this.shelterOpacity;
      this.cachedPacket = new SoftReference<>(var2);
      class="kw">return var2;
   }

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

   class="kw">public float getReflectionCoeff() {
      class="kw">return this.reflectionCoeff;
   }

   class="kw">public float getAttenuationPerBlock() {
      class="kw">return this.attenuationPerBlock;
   }

   class="kw">public float getHfAttenuationPerBlock() {
      class="kw">return this.hfAttenuationPerBlock;
   }

   class="kw">public float getShelterOpacity() {
      class="kw">return this.shelterOpacity;
   }

   class="kw">protected void processConfig() {
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "PhysicalMaterial{id='"
         + this.id
         + "', reflectionCoeff="
         + this.reflectionCoeff
         + ", attenuationPerBlock="
         + this.attenuationPerBlock
         + ", hfAttenuationPerBlock="
         + this.hfAttenuationPerBlock
         + ", shelterOpacity="
         + this.shelterOpacity
         + "}";
   }
}