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);
}
}