ConfigurableInstanceBlock class

Пакет: com.hypixel.hytale.builtin.instances.blocks

Файл: com/hypixel/hytale/builtin/instances/blocks/ConfigurableInstanceBlock.java

implements: Component<ChunkStore>

Поля (1)

МодификаторыТипИмя
ConfigurableInstanceBlock var5

Методы (22)

МодификаторыВозвратСигнатура
public OnRemovepublic OnRemove()
public String getInstanceKeyString getInstanceKey()
public String getInstanceNameString getInstanceName()
public Query<ChunkStore> getQuerypublic Query<ChunkStore> getQuery()
public double getRemoveBlockAfterdouble getRemoveBlockAfter()
public CompletableFuture<World> getWorldFutureCompletableFuture<World> getWorldFuture()
public UUID getWorldUUIDUUID getWorldUUID()
if if(var5.closeOnRemove)
if if(var5.worldUUID != null)
public boolean isCloseOnRemoveboolean isCloseOnRemove()
public boolean isPersonalReturnPointboolean isPersonalReturnPoint()
public void onEntityAddedpublic void onEntityAdded(@Nonnull Ref<ChunkStore> var1, @Nonnull AddReason var2, @Nonnull Store<ChunkStore> var3, @Nonnull CommandBuffer<ChunkStore> var4)
public void onEntityRemovepublic void onEntityRemove(@Nonnull Ref<ChunkStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<ChunkStore> var3, @Nonnull CommandBuffer<ChunkStore> var4)
public void setCloseOnRemovevoid setCloseOnRemove(boolean var1)
public void setInstanceKeyvoid setInstanceKey(@Nonnull String var1)
public void setInstanceNamevoid setInstanceName(@Nonnull String var1)
public void setPersonalReturnPointvoid setPersonalReturnPoint(boolean var1)
public void setPositionOffsetvoid setPositionOffset(@Nullable Vector3d var1)
public void setRemoveBlockAftervoid setRemoveBlockAfter(double var1)
public void setRotationvoid setRotation(@Nullable Rotation3f var1)
public void setWorldFuturevoid setWorldFuture(CompletableFuture<World> var1)
public void setWorldUUIDvoid setWorldUUID(UUID var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.instances.blocks;

class="kw">import com.hypixel.hytale.builtin.instances.InstancesPlugin;
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.component.AddReason;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.RemoveReason;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.query.Query;
class="kw">import com.hypixel.hytale.component.system.RefSystem;
class="kw">import com.hypixel.hytale.math.vector.Rotation3f;
class="kw">import com.hypixel.hytale.math.vector.Vector3dUtil;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import java.util.UUID;
class="kw">import java.util.concurrent.CompletableFuture;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;

class="kw">public class ConfigurableInstanceBlock class="kw">implements Component<ChunkStore> {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<ConfigurableInstanceBlock> CODEC = BuilderCodec.builder(ConfigurableInstanceBlock.class, ConfigurableInstanceBlock::new)
      .appendInherited(
         new KeyedCodec<>("WorldName", Codec.UUID_BINARY),
         (var0, var1) -> var0.worldUUID = var1,
         var0 -> var0.worldUUID,
         (var0, var1) -> var0.worldUUID = var1.worldUUID
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("CloseOnBlockRemove", Codec.BOOLEAN),
         (var0, var1) -> var0.closeOnRemove = var1,
         var0 -> var0.closeOnRemove,
         (var0, var1) -> var0.closeOnRemove = var1.closeOnRemove
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("InstanceName", Codec.STRING),
         (var0, var1) -> var0.instanceName = var1,
         var0 -> var0.instanceName,
         (var0, var1) -> var0.instanceName = var1.instanceName
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("InstanceKey", Codec.STRING),
         (var0, var1) -> var0.instanceKey = var1,
         var0 -> var0.instanceKey,
         (var0, var1) -> var0.instanceKey = var1.instanceKey
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("PositionOffset", Vector3dUtil.CODEC),
         (var0, var1) -> var0.positionOffset = var1,
         var0 -> var0.positionOffset,
         (var0, var1) -> var0.positionOffset = var1.positionOffset
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("Rotation", Rotation3f.PARTIAL_TELEPORT_CODEC),
         (var0, var1) -> var0.rotation = var1,
         var0 -> var0.rotation,
         (var0, var1) -> var0.rotation = var1.rotation
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("PersonalReturnPoint", Codec.BOOLEAN),
         (var0, var1) -> var0.personalReturnPoint = var1,
         var0 -> var0.personalReturnPoint,
         (var0, var1) -> var0.personalReturnPoint = var1.personalReturnPoint
      )
      .add()
      .appendInherited(
         new KeyedCodec<>("RemoveBlockAfter", Codec.DOUBLE),
         (var0, var1) -> var0.removeBlockAfter = var1,
         var0 -> var0.removeBlockAfter,
         (var0, var1) -> var0.removeBlockAfter = var1.removeBlockAfter
      )
      .add()
      .build();
   class="kw">protected UUID worldUUID;
   class="kw">protected CompletableFuture<World> worldFuture;
   class="kw">protected boolean closeOnRemove = true;
   class="kw">private String instanceName;
   class="kw">private String instanceKey;
   @Nullable
   class="kw">private Vector3d positionOffset;
   @Nullable
   class="kw">private Rotation3f rotation;
   class="kw">private boolean personalReturnPoint = false;
   class="kw">private double removeBlockAfter = -1.0;

   @Nonnull
   class="kw">public class="kw">static ComponentType<ChunkStore, ConfigurableInstanceBlock> getComponentType() {
      class="kw">return InstancesPlugin.get().getConfigurableInstanceBlockComponentType();
   }

   class="kw">public ConfigurableInstanceBlock() {
   }

   class="kw">public ConfigurableInstanceBlock(
      UUID var1, boolean var2, String var3, String var4, @Nullable Vector3d var5, @Nullable Rotation3f var6, boolean var7, double var8
   ) {
      this.worldUUID = var1;
      this.closeOnRemove = var2;
      this.instanceName = var3;
      this.instanceKey = var4;
      this.positionOffset = var5;
      this.rotation = var6;
      this.personalReturnPoint = var7;
      this.removeBlockAfter = var8;
   }

   class="kw">public UUID getWorldUUID() {
      class="kw">return this.worldUUID;
   }

   class="kw">public void setWorldUUID(UUID var1) {
      this.worldUUID = var1;
   }

   class="kw">public CompletableFuture<World> getWorldFuture() {
      class="kw">return this.worldFuture;
   }

   class="kw">public void setWorldFuture(CompletableFuture<World> var1) {
      this.worldFuture = var1;
   }

   class="kw">public boolean isCloseOnRemove() {
      class="kw">return this.closeOnRemove;
   }

   class="kw">public void setCloseOnRemove(boolean var1) {
      this.closeOnRemove = var1;
   }

   class="kw">public String getInstanceName() {
      class="kw">return this.instanceName;
   }

   class="kw">public void setInstanceName(@Nonnull String var1) {
      this.instanceName = var1;
   }

   class="kw">public String getInstanceKey() {
      class="kw">return this.instanceKey;
   }

   class="kw">public void setInstanceKey(@Nonnull String var1) {
      this.instanceKey = var1;
   }

   @Nullable
   class="kw">public Vector3d getPositionOffset() {
      class="kw">return this.positionOffset;
   }

   class="kw">public void setPositionOffset(@Nullable Vector3d var1) {
      this.positionOffset = var1;
   }

   @Nullable
   class="kw">public Rotation3f getRotation() {
      class="kw">return this.rotation;
   }

   class="kw">public void setRotation(@Nullable Rotation3f var1) {
      this.rotation = var1;
   }

   class="kw">public boolean isPersonalReturnPoint() {
      class="kw">return this.personalReturnPoint;
   }

   class="kw">public void setPersonalReturnPoint(boolean var1) {
      this.personalReturnPoint = var1;
   }

   class="kw">public double getRemoveBlockAfter() {
      class="kw">return this.removeBlockAfter;
   }

   class="kw">public void setRemoveBlockAfter(double var1) {
      this.removeBlockAfter = var1;
   }

   @Nullable
   @Override
   class="kw">public Component<ChunkStore> clone() {
      class="kw">return new ConfigurableInstanceBlock(
         this.worldUUID,
         this.closeOnRemove,
         this.instanceName,
         this.instanceKey,
         this.positionOffset,
         this.rotation,
         this.personalReturnPoint,
         this.removeBlockAfter
      );
   }

   class="kw">public class="kw">static class OnRemove class="kw">extends RefSystem<ChunkStore> {
      class="kw">public OnRemove() {
      }

      @Override
      class="kw">public void onEntityAdded(
         @Nonnull Ref<ChunkStore> var1, @Nonnull AddReason var2, @Nonnull Store<ChunkStore> var3, @Nonnull CommandBuffer<ChunkStore> var4
      ) {
      }

      @Override
      class="kw">public void onEntityRemove(
         @Nonnull Ref<ChunkStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<ChunkStore> var3, @Nonnull CommandBuffer<ChunkStore> var4
      ) {
         ConfigurableInstanceBlock var5 = var4.getComponent(var1, ConfigurableInstanceBlock.getComponentType());
         assert var5 != null;
         if (var5.closeOnRemove) {
            if (var5.worldUUID != null) {
               InstancesPlugin.safeRemoveInstance(var5.worldUUID);
            } else if (var5.worldFuture != null) {
               var5.worldFuture.thenAccept(var0 -> InstancesPlugin.safeRemoveInstance(var0.getName()));
            }
         }
      }

      @Nullable
      @Override
      class="kw">public Query<ChunkStore> getQuery() {
         class="kw">return ConfigurableInstanceBlock.getComponentType();
      }
   }
}