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
+ "}";
}
}