Data class
Пакет: com.hypixel.hytale.server.spawning.blockstates
Файл: com/hypixel/hytale/server/spawning/blockstates/SpawnMarkerBlock.java
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
|
public static final BuilderCodec<SpawnMarkerBlock.Data> |
CODEC |
|
private Vector3i |
markerOffset |
|
private String |
spawnMarker |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public Vector3i |
getMarkerOffsetpublic Vector3i getMarkerOffset() |
|
public String |
getSpawnMarkerpublic String getSpawnMarker() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.spawning.blockstates;
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.validation.Validators;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.math.vector.Vector3iUtil;
class="kw">import com.hypixel.hytale.server.core.entity.reference.PersistentRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import com.hypixel.hytale.server.spawning.SpawningPlugin;
class="kw">import com.hypixel.hytale.server.spawning.assets.spawnmarker.config.SpawnMarker;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3i;
class="kw">public class SpawnMarkerBlock class="kw">implements Component<ChunkStore> {
class="kw">public class="kw">static class="kw">final BuilderCodec<SpawnMarkerBlock> CODEC = BuilderCodec.builder(SpawnMarkerBlock.class, SpawnMarkerBlock::new)
.append(new KeyedCodec<>("MarkerReference", PersistentRef.CODEC), (var0, var1) -> var0.spawnMarkerReference = var1, var0 -> var0.spawnMarkerReference)
.add()
.append(new KeyedCodec<>("Config", SpawnMarkerBlock.Data.CODEC), (var0, var1) -> var0.config = var1, var0 -> var0.config)
.add()
.build();
class="kw">private PersistentRef spawnMarkerReference;
class="kw">private float markerLostTimeout = 30.0F;
@Nullable
class="kw">private SpawnMarkerBlock.Data config;
class="kw">public class="kw">static ComponentType<ChunkStore, SpawnMarkerBlock> getComponentType() {
class="kw">return SpawningPlugin.get().getSpawnMarkerBlockComponentType();
}
class="kw">public SpawnMarkerBlock() {
}
class="kw">public SpawnMarkerBlock(PersistentRef var1) {
this.spawnMarkerReference = var1;
}
class="kw">public PersistentRef getSpawnMarkerReference() {
class="kw">return this.spawnMarkerReference;
}
@Nullable
class="kw">public SpawnMarkerBlock.Data getConfig() {
class="kw">return this.config;
}
class="kw">public void setSpawnMarkerReference(PersistentRef var1) {
this.spawnMarkerReference = var1;
}
class="kw">public void refreshMarkerLostTimeout() {
this.markerLostTimeout = 30.0F;
}
class="kw">public boolean tickMarkerLostTimeout(float var1) {
class="kw">return (this.markerLostTimeout -= var1) <= 0.0F;
}
@Nullable
@Override
class="kw">public Component<ChunkStore> clone() {
class="kw">return new SpawnMarkerBlock(this.spawnMarkerReference != null ? new PersistentRef(this.spawnMarkerReference.getUuid()) : null);
}
class="kw">public class="kw">static class Data {
class="kw">public class="kw">static class="kw">final BuilderCodec<SpawnMarkerBlock.Data> CODEC = BuilderCodec.builder(SpawnMarkerBlock.Data.class, SpawnMarkerBlock.Data::new)
.appendInherited(
new KeyedCodec<>("SpawnMarker", Codec.STRING),
(var0, var1) -> var0.spawnMarker = var1,
var0 -> var0.spawnMarker,
(var0, var1) -> var0.spawnMarker = var1.spawnMarker
)
.documentation("The spawn marker to use.")
.addValidator(Validators.nonNull())
.addValidatorLate(() -> SpawnMarker.VALIDATOR_CACHE.getValidator().late())
.add()
.<Vector3i>appendInherited(
new KeyedCodec<>("MarkerOffset", Vector3iUtil.CODEC),
(var0, var1) -> var0.markerOffset = var1,
var0 -> var0.markerOffset,
(var0, var1) -> var0.markerOffset = var1.markerOffset
)
.documentation("An offset from the block at which the marker entity should be spawned.")
.add()
.build();
class="kw">private String spawnMarker;
class="kw">private Vector3i markerOffset;
class="kw">protected Data() {
}
class="kw">public String getSpawnMarker() {
class="kw">return this.spawnMarker;
}
class="kw">public Vector3i getMarkerOffset() {
class="kw">return this.markerOffset;
}
}
}