ModelParticle class

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

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

implements: NetworkSerializable<com.hypixel.hytale.protocol.ModelParticle>

Поля (2)

МодификаторыТипИмя
final BuilderCodec<ModelParticle> CODEC
com.hypixel.hytale.protocol.ModelParticle var1

Методы (18)

МодификаторыВозвратСигнатура
public ModelParticle cloneModelParticle clone()
public Color getColorColor getColor()
public Vector3f getPositionOffsetVector3f getPositionOffset()
public Direction getRotationOffsetDirection getRotationOffset()
public float getScalefloat getScale()
public String getSystemIdString getSystemId()
public EntityPart getTargetEntityPartEntityPart getTargetEntityPart()
public String getTargetNodeNameString getTargetNodeName()
if if(this.positionOffset != null)
public boolean isClearParticlesOnRemoveboolean isClearParticlesOnRemove()
public boolean isDetachedFromModelboolean isDetachedFromModel()
public ModelParticle scaleModelParticle scale(float var1)
public void setClearParticlesOnRemovevoid setClearParticlesOnRemove(boolean var1)
public void setDetachedFromModelvoid setDetachedFromModel(boolean var1)
public void setPositionOffsetvoid setPositionOffset(Vector3f var1)
public void setScalevoid setScale(float var1)
public void setSystemIdvoid setSystemId(String var1)
public void setTargetNodeNamevoid setTargetNodeName(String var1)

Исходный код

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

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.EnumCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
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.Color;
class="kw">import com.hypixel.hytale.protocol.Direction;
class="kw">import com.hypixel.hytale.protocol.EntityPart;
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 javax.annotation.Nonnull;
class="kw">import org.joml.Vector3f;

class="kw">public class ModelParticle class="kw">implements NetworkSerializable<com.hypixel.hytale.protocol.ModelParticle> {
   class="kw">public class="kw">static class="kw">final BuilderCodec<ModelParticle> CODEC = BuilderCodec.builder(ModelParticle.class, ModelParticle::new)
      .append(new KeyedCodec<>("SystemId", Codec.STRING), (var0, var1) -> var0.systemId = var1, var0 -> var0.systemId)
      .addValidator(Validators.nonNull())
      .addValidator(ParticleSystem.VALIDATOR_CACHE.getValidator())
      .add()
      .<EntityPart>append(
         new KeyedCodec<>("TargetEntityPart", new EnumCodec<>(EntityPart.class)), (var0, var1) -> var0.targetEntityPart = var1, var0 -> var0.targetEntityPart
      )
      .addValidator(Validators.nonNull())
      .add()
      .append(new KeyedCodec<>("TargetNodeName", Codec.STRING), (var0, var1) -> var0.targetNodeName = var1, var0 -> var0.targetNodeName)
      .add()
      .append(new KeyedCodec<>("Color", ProtocolCodecs.COLOR), (var0, var1) -> var0.color = var1, var0 -> var0.color)
      .add()
      .<Double>append(new KeyedCodec<>("Scale", Codec.DOUBLE), (var0, var1) -> var0.scale = var1.floatValue(), var0 -> (double)var0.scale)
      .addValidator(Validators.greaterThan(0.0))
      .add()
      .append(new KeyedCodec<>("PositionOffset", Vector3fUtil.CODEC), (var0, var1) -> var0.positionOffset = var1, var0 -> var0.positionOffset)
      .add()
      .append(new KeyedCodec<>("RotationOffset", ProtocolCodecs.DIRECTION), (var0, var1) -> var0.rotationOffset = var1, var0 -> var0.rotationOffset)
      .add()
      .<Boolean>append(new KeyedCodec<>("DetachedFromModel", Codec.BOOLEAN), (var0, var1) -> var0.detachedFromModel = var1, var0 -> var0.detachedFromModel)
      .documentation("To indicate if the spawned particle should be attached to the model and follow it, or spawn in world space.")
      .add()
      .<Boolean>append(
         new KeyedCodec<>("ClearParticlesOnRemove", Codec.BOOLEAN), (var0, var1) -> var0.clearParticlesOnRemove = var1, var0 -> var0.clearParticlesOnRemove
      )
      .documentation(
         "When the owning entity is removed, clear this effect's already-emitted particles instantly instead of letting them finish their lifespan."
      )
      .add()
      .build();
   class="kw">public class="kw">static class="kw">final ArrayCodec<ModelParticle> ARRAY_CODEC = new ArrayCodec<>(CODEC, ModelParticle[]::new);
   class="kw">protected String systemId;
   @Nonnull
   class="kw">protected EntityPart targetEntityPart = EntityPart.Self;
   class="kw">protected String targetNodeName;
   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 boolean detachedFromModel;
   class="kw">protected boolean clearParticlesOnRemove;

   class="kw">public ModelParticle(String var1, EntityPart var2, String var3, Color var4, float var5, Vector3f var6, Direction var7, boolean var8, boolean var9) {
      this.systemId = var1;
      this.targetEntityPart = var2;
      this.targetNodeName = var3;
      this.color = var4;
      this.scale = var5;
      this.positionOffset = var6;
      this.rotationOffset = var7;
      this.detachedFromModel = var8;
      this.clearParticlesOnRemove = var9;
   }

   class="kw">public ModelParticle(ModelParticle var1) {
      this.systemId = var1.systemId;
      this.targetEntityPart = var1.targetEntityPart;
      this.targetNodeName = var1.targetNodeName;
      this.color = var1.color;
      this.scale = var1.scale;
      this.positionOffset = var1.positionOffset;
      this.rotationOffset = var1.rotationOffset;
      this.detachedFromModel = var1.detachedFromModel;
      this.clearParticlesOnRemove = var1.clearParticlesOnRemove;
   }

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

   @Nonnull
   class="kw">public com.hypixel.hytale.protocol.ModelParticle toPacket() {
      com.hypixel.hytale.protocol.ModelParticle var1 = new com.hypixel.hytale.protocol.ModelParticle();
      var1.systemId = this.systemId;
      var1.targetEntityPart = this.targetEntityPart;
      var1.targetNodeName = this.targetNodeName;
      var1.color = this.color;
      var1.scale = this.scale;
      var1.positionOffset = this.positionOffset;
      var1.rotationOffset = this.rotationOffset;
      var1.detachedFromModel = this.detachedFromModel;
      var1.clearParticlesOnRemove = this.clearParticlesOnRemove;
      class="kw">return var1;
   }

   class="kw">public String getSystemId() {
      class="kw">return this.systemId;
   }

   class="kw">public void setSystemId(String var1) {
      this.systemId = var1;
   }

   class="kw">public EntityPart getTargetEntityPart() {
      class="kw">return this.targetEntityPart;
   }

   class="kw">public String getTargetNodeName() {
      class="kw">return this.targetNodeName;
   }

   class="kw">public void setTargetNodeName(String var1) {
      this.targetNodeName = var1;
   }

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

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

   class="kw">public void setScale(float var1) {
      this.scale = var1;
   }

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

   class="kw">public void setPositionOffset(Vector3f var1) {
      this.positionOffset = var1;
   }

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

   class="kw">public boolean isDetachedFromModel() {
      class="kw">return this.detachedFromModel;
   }

   class="kw">public void setDetachedFromModel(boolean var1) {
      this.detachedFromModel = var1;
   }

   class="kw">public boolean isClearParticlesOnRemove() {
      class="kw">return this.clearParticlesOnRemove;
   }

   class="kw">public void setClearParticlesOnRemove(boolean var1) {
      this.clearParticlesOnRemove = var1;
   }

   class="kw">public ModelParticle scale(float var1) {
      this.scale *= var1;
      if (this.positionOffset != null) {
         this.positionOffset.x *= var1;
         this.positionOffset.y *= var1;
         this.positionOffset.z *= var1;
      }

      class="kw">return this;
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "ModelParticle{systemId='"
         + this.systemId
         + "', targetEntityPart="
         + this.targetEntityPart
         + ", targetNodeName='"
         + this.targetNodeName
         + "', color="
         + this.color
         + ", scale="
         + this.scale
         + ", positionOffset="
         + this.positionOffset
         + ", rotationOffset="
         + this.rotationOffset
         + ", detachedFromModel="
         + this.detachedFromModel
         + ", clearParticlesOnRemove="
         + this.clearParticlesOnRemove
         + "}";
   }

   class="kw">public ModelParticle clone() {
      class="kw">return new ModelParticle(this);
   }
}