InstanceEntityConfig class

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

Файл: com/hypixel/hytale/builtin/instances/config/InstanceEntityConfig.java

implements: Component<EntityStore>

Поля (4)

МодификаторыТипИмя
ComponentType var1
ComponentType var1
InstanceEntityConfig var1
InstanceEntityConfig var2

Методы (8)

МодификаторыВозвратСигнатура
public void clearReturnStackvoid clearReturnStack()
public void dropReturnsIntovoid dropReturnsInto(@Nonnull UUID var1)
for for(WorldReturnPoint var3 : this.returnStack)
public WorldReturnPoint getReturnPointWorldReturnPoint getReturnPoint()
public WorldReturnPoint getReturnPointOverrideWorldReturnPoint getReturnPointOverride()
public void pushReturnPointvoid pushReturnPoint(@Nonnull WorldReturnPoint var1)
public void setReturnPointvoid setReturnPoint(WorldReturnPoint var1)
public void setReturnPointOverridevoid setReturnPointOverride(WorldReturnPoint var1)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.instances.InstancesPlugin;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Holder;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.ArrayList;
class="kw">import java.util.Collections;
class="kw">import java.util.List;
class="kw">import java.util.UUID;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class InstanceEntityConfig class="kw">implements Component<EntityStore> {
   @Nonnull
   class="kw">public class="kw">static class="kw">final String ID = "Instance";
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<InstanceEntityConfig> CODEC = BuilderCodec.builder(InstanceEntityConfig.class, InstanceEntityConfig::new)
      .appendInherited(
         new KeyedCodec<>("ReturnPoint", WorldReturnPoint.CODEC),
         (var0, var1) -> var0.returnPoint = var1,
         var0 -> var0.returnPoint,
         (var0, var1) -> var0.returnPoint = var1.returnPoint
      )
      .add()
      .<WorldReturnPoint[]>appendInherited(
         new KeyedCodec<>("ReturnStack", new ArrayCodec<>(WorldReturnPoint.CODEC, WorldReturnPoint[]::new)), (var0, var1) -> {
            var0.returnStack.clear();
            Collections.addAll(var0.returnStack, var1);
         }, var0 -> var0.returnStack.toArray(new WorldReturnPoint[0]), (var0, var1) -> {
            var0.returnStack.clear();
            var0.returnStack.addAll(var1.returnStack);
         }
      )
      .documentation(
         "Return points of outer instances when instances are chained (e.g. a breach entered from an instanced temple), used when the direct class="kw">return world no longer exists."
      )
      .add()
      .build();
   class="kw">private WorldReturnPoint returnPoint;
   class="kw">private class="kw">final List<WorldReturnPoint> returnStack = new ArrayList<>();
   class="kw">private class="kw">transient WorldReturnPoint returnPointOverride;

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

   @Nonnull
   class="kw">public class="kw">static ComponentType<EntityStore, InstanceEntityConfig> getComponentType() {
      class="kw">return InstancesPlugin.get().getInstanceEntityConfigComponentType();
   }

   @Nonnull
   class="kw">public class="kw">static InstanceEntityConfig ensureAndGet(@Nonnull Holder<EntityStore> var0) {
      ComponentType var1 = getComponentType();
      class="kw">return var0.ensureAndGetComponent(var1);
   }

   @Nullable
   class="kw">public class="kw">static InstanceEntityConfig removeAndGet(@Nonnull Holder<EntityStore> var0) {
      ComponentType var1 = getComponentType();
      InstanceEntityConfig var2 = var0.getComponent(var1);
      var0.removeComponent(var1);
      class="kw">return var2;
   }

   class="kw">public WorldReturnPoint getReturnPoint() {
      class="kw">return this.returnPoint;
   }

   class="kw">public void setReturnPoint(WorldReturnPoint var1) {
      this.returnPoint = var1;
   }

   class="kw">public void pushReturnPoint(@Nonnull WorldReturnPoint var1) {
      this.returnStack.add(var1);
   }

   @Nullable
   class="kw">public WorldReturnPoint popReturnPoint() {
      class="kw">return this.returnStack.isEmpty() ? null : this.returnStack.remove(this.returnStack.size() - 1);
   }

   class="kw">public void dropReturnsInto(@Nonnull UUID var1) {
      this.returnStack.removeIf(var1x -> var1.equals(var1x.getWorld()));
   }

   class="kw">public void clearReturnStack() {
      this.returnStack.clear();
   }

   class="kw">public WorldReturnPoint getReturnPointOverride() {
      class="kw">return this.returnPointOverride;
   }

   class="kw">public void setReturnPointOverride(WorldReturnPoint var1) {
      this.returnPointOverride = var1;
   }

   @Nonnull
   class="kw">public InstanceEntityConfig clone() {
      InstanceEntityConfig var1 = new InstanceEntityConfig();
      var1.returnPoint = this.returnPoint == null ? null : this.returnPoint.clone();
      var1.returnPointOverride = this.returnPointOverride == null ? null : this.returnPointOverride.clone();

      for (WorldReturnPoint var3 : this.returnStack) {
         var1.returnStack.add(var3.clone());
      }

      class="kw">return var1;
   }
}