SpawnMarkerBlock class

Пакет: com.hypixel.hytale.server.spawning.blockstates

Файл: com/hypixel/hytale/server/spawning/blockstates/SpawnMarkerBlock.java

implements: Component<ChunkStore>

Поля (4)

МодификаторыТипИмя
final BuilderCodec<SpawnMarkerBlock> CODEC
public static final BuilderCodec<SpawnMarkerBlock.Data> CODEC
private Vector3i markerOffset
private String spawnMarker

Методы (8)

МодификаторыВозвратСигнатура
protected Dataprotected Data()
static ComponentType<ChunkStore, SpawnMarkerBlock> getComponentTypeComponentType<ChunkStore, SpawnMarkerBlock> getComponentType()
public Vector3i getMarkerOffsetpublic Vector3i getMarkerOffset()
public String getSpawnMarkerpublic String getSpawnMarker()
public PersistentRef getSpawnMarkerReferencePersistentRef getSpawnMarkerReference()
public void refreshMarkerLostTimeoutvoid refreshMarkerLostTimeout()
public void setSpawnMarkerReferencevoid setSpawnMarkerReference(PersistentRef var1)
public boolean tickMarkerLostTimeoutboolean tickMarkerLostTimeout(float var1)

Исходный код

Показать/скрыть
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;
      }
   }
}