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