BlockParticleSet class

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

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

implements: JsonAssetWithMap<String, DefaultAssetMap<String, BlockParticleSet>>, NetworkSerializable<com.hypixel.hytale.protocol.BlockParticleSet>

Поля (4)

МодификаторыТипИмя
ASSET_STORE
final AssetBuilderCodec<String, BlockParticleSet> CODEC
com.hypixel.hytale.protocol.BlockParticleSet var1
com.hypixel.hytale.protocol.BlockParticleSet var2

Методы (10)

МодификаторыВозвратСигнатура
static DefaultAssetMap<String, BlockParticleSet> getAssetMapDefaultAssetMap<String, BlockParticleSet> getAssetMap()
static AssetStore<String, BlockParticleSet, DefaultAssetMap<String, BlockParticleSet>> getAssetStoreAssetStore<String, BlockParticleSet, DefaultAssetMap<String, BlockParticleSet>> getAssetStore()
public Color getColorColor getColor()
public String getIdString getId()
public Map<BlockParticleEvent, String> getParticleSystemIdsMap<BlockParticleEvent, String> getParticleSystemIds()
public Vector3f getPositionOffsetVector3f getPositionOffset()
public Direction getRotationOffsetDirection getRotationOffset()
public float getScalefloat getScale()
if if(ASSET_STORE == null)
if if(var1 != null)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.asset.type.blockparticle.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.DefaultAssetMap;
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.codecs.map.EnumMapCodec;
class="kw">import com.hypixel.hytale.codec.schema.metadata.ui.UIDefaultCollapsedState;
class="kw">import com.hypixel.hytale.codec.validation.ValidatorCache;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.math.vector.Vector3fUtil;
class="kw">import com.hypixel.hytale.protocol.BlockParticleEvent;
class="kw">import com.hypixel.hytale.protocol.Color;
class="kw">import com.hypixel.hytale.protocol.Direction;
class="kw">import com.hypixel.hytale.server.core.asset.type.particle.config.ParticleSystem;
class="kw">import com.hypixel.hytale.server.core.codec.ProtocolCodecs;
class="kw">import com.hypixel.hytale.server.core.io.NetworkSerializable;
class="kw">import java.lang.ref.SoftReference;
class="kw">import java.util.Map;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3f;

class="kw">public class BlockParticleSet
   class="kw">implements JsonAssetWithMap<String, DefaultAssetMap<String, BlockParticleSet>>,
   NetworkSerializable<com.hypixel.hytale.protocol.BlockParticleSet> {
   class="kw">public class="kw">static class="kw">final AssetBuilderCodec<String, BlockParticleSet> CODEC = AssetBuilderCodec.<String, BlockParticleSet>builder(
         BlockParticleSet.class,
         BlockParticleSet::new,
         Codec.STRING,
         (var0, var1) -> var0.id = var1,
         var0 -> var0.id,
         (var0, var1) -> var0.data = var1,
         var0 -> var0.data
      )
      .documentation("Particle Systems that can be spawned in relation to block events.")
      .<Color>appendInherited(
         new KeyedCodec<>("Color", ProtocolCodecs.COLOR), (var0, var1) -> var0.color = var1, var0 -> var0.color, (var0, var1) -> var0.color = var1.color
      )
      .documentation("The colour used if none was specified in the particle settings.")
      .add()
      .<Float>appendInherited(
         new KeyedCodec<>("Scale", Codec.FLOAT), (var0, var1) -> var0.scale = var1, var0 -> var0.scale, (var0, var1) -> var0.scale = var1.scale
      )
      .documentation("The scale of the particle system.")
      .add()
      .<Vector3f>appendInherited(
         new KeyedCodec<>("PositionOffset", Vector3fUtil.CODEC),
         (var0, var1) -> var0.positionOffset = var1,
         var0 -> var0.positionOffset,
         (var0, var1) -> var0.positionOffset = var1.positionOffset
      )
      .documentation("The position offset from the spawn position.")
      .add()
      .<Direction>appendInherited(
         new KeyedCodec<>("RotationOffset", ProtocolCodecs.DIRECTION),
         (var0, var1) -> var0.rotationOffset = var1,
         var0 -> var0.rotationOffset,
         (var0, var1) -> var0.rotationOffset = var1.rotationOffset
      )
      .documentation("The rotation offset from the spawn rotation.")
      .add()
      .<Map<BlockParticleEvent, String>>appendInherited(
         new KeyedCodec<>("Particles", new EnumMapCodec<>(BlockParticleEvent.class, Codec.STRING)),
         (var0, var1) -> var0.particleSystemIds = var1,
         var0 -> var0.particleSystemIds,
         (var0, var1) -> var0.particleSystemIds = var1.particleSystemIds
      )
      .addValidator(Validators.nonNull())
      .addValidator(ParticleSystem.VALIDATOR_CACHE.getMapValueValidator())
      .metadata(UIDefaultCollapsedState.UNCOLLAPSED)
      .add()
      .build();
   class="kw">private class="kw">static AssetStore<String, BlockParticleSet, DefaultAssetMap<String, BlockParticleSet>> ASSET_STORE;
   class="kw">public class="kw">static class="kw">final ValidatorCache<String> VALIDATOR_CACHE = new ValidatorCache<>(new AssetKeyValidator<>(BlockParticleSet::getAssetStore));
   class="kw">protected AssetExtraInfo.Data data;
   class="kw">protected String id;
   class="kw">protected Color color;
   class="kw">protected float scale = 1.0F;
   class="kw">protected Vector3f positionOffset;
   class="kw">protected Direction rotationOffset;
   class="kw">protected Map<BlockParticleEvent, String> particleSystemIds;
   class="kw">private SoftReference<com.hypixel.hytale.protocol.BlockParticleSet> cachedPacket;

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

      class="kw">return ASSET_STORE;
   }

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

   class="kw">public BlockParticleSet(String var1, Color var2, float var3, Vector3f var4, Direction var5, Map<BlockParticleEvent, String> var6) {
      this.id = var1;
      this.color = var2;
      this.scale = var3;
      this.positionOffset = var4;
      this.rotationOffset = var5;
      this.particleSystemIds = var6;
   }

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

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

      com.hypixel.hytale.protocol.BlockParticleSet var2 = new com.hypixel.hytale.protocol.BlockParticleSet();
      var2.id = this.id;
      var2.color = this.color;
      var2.scale = this.scale;
      var2.positionOffset = this.positionOffset;
      var2.rotationOffset = this.rotationOffset;
      var2.particleSystemIds = this.particleSystemIds;
      this.cachedPacket = new SoftReference<>(var2);
      class="kw">return var2;
   }

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

   class="kw">public Color getColor() {
      class="kw">return this.color;
   }

   class="kw">public float getScale() {
      class="kw">return this.scale;
   }

   class="kw">public Vector3f getPositionOffset() {
      class="kw">return this.positionOffset;
   }

   class="kw">public Direction getRotationOffset() {
      class="kw">return this.rotationOffset;
   }

   class="kw">public Map<BlockParticleEvent, String> getParticleSystemIds() {
      class="kw">return this.particleSystemIds;
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "BlockParticleSet{id='"
         + this.id
         + "', color="
         + this.color
         + ", scale="
         + this.scale
         + ", positionOffset="
         + this.positionOffset
         + ", rotationOffset="
         + this.rotationOffset
         + ", particleSystemIds="
         + this.particleSystemIds
         + "}";
   }
}