Type enum

Пакет: com.hypixel.hytale.server.npc.valuestore

Файл: com/hypixel/hytale/server/npc/valuestore/ValueStore.java

implements: Supplier<String>

Поля (2)

МодификаторыТипИмя
public static final ValueStore.Type[] VALUES
private final String description

Методы (2)

МодификаторыВозвратСигнатура
abstract Double Double("Double value")
public String getpublic String get()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.valuestore;

class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.npc.NPCPlugin;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.SlotMapper;
class="kw">import java.util.Arrays;
class="kw">import java.util.function.Supplier;
class="kw">import javax.annotation.Nonnull;

class="kw">public class ValueStore class="kw">implements Component<EntityStore> {
   @Nonnull
   class="kw">private class="kw">final String[] stringValues;
   @Nonnull
   class="kw">private class="kw">final int[] intValues;
   @Nonnull
   class="kw">private class="kw">final double[] doubleValues;

   class="kw">public class="kw">static ComponentType<EntityStore, ValueStore> getComponentType() {
      class="kw">return NPCPlugin.get().getValueStoreComponentType();
   }

   class="kw">private ValueStore(int var1, int var2, int var3) {
      this.stringValues = new String[var1];
      this.intValues = new int[var2];
      this.doubleValues = new double[var3];
      Arrays.fill(this.intValues, Integer.MIN_VALUE);
      Arrays.fill(this.doubleValues, -Double.MAX_VALUE);
   }

   class="kw">public String readString(int var1) {
      class="kw">return this.stringValues[var1];
   }

   class="kw">public void storeString(int var1, String var2) {
      this.stringValues[var1] = var2;
   }

   class="kw">public int readInt(int var1) {
      class="kw">return this.intValues[var1];
   }

   class="kw">public void storeInt(int var1, int var2) {
      this.intValues[var1] = var2;
   }

   class="kw">public double readDouble(int var1) {
      class="kw">return this.doubleValues[var1];
   }

   class="kw">public void storeDouble(int var1, double var2) {
      this.doubleValues[var1] = var2;
   }

   @Nonnull
   @Override
   class="kw">public Component<EntityStore> clone() {
      class="kw">return new ValueStore(this.stringValues.length, this.intValues.length, this.doubleValues.length);
   }

   class="kw">public class="kw">static class Builder {
      class="kw">private class="kw">final SlotMapper stringSlots = new SlotMapper();
      class="kw">private class="kw">final SlotMapper intSlots = new SlotMapper();
      class="kw">private class="kw">final SlotMapper doubleSlots = new SlotMapper();

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

      class="kw">public int getStringSlot(String var1) {
         class="kw">return this.stringSlots.getSlot(var1);
      }

      class="kw">public int getIntSlot(String var1) {
         class="kw">return this.intSlots.getSlot(var1);
      }

      class="kw">public int getDoubleSlot(String var1) {
         class="kw">return this.doubleSlots.getSlot(var1);
      }

      @Nonnull
      class="kw">public ValueStore build() {
         class="kw">return new ValueStore(this.stringSlots.slotCount(), this.intSlots.slotCount(), this.doubleSlots.slotCount());
      }
   }

   class="kw">public enum Type class="kw">implements Supplier<String> {
      String("String value"),
      Int("Integer value"),
      Double("Double value");

      class="kw">public class="kw">static class="kw">final ValueStore.Type[] VALUES = values();
      class="kw">private class="kw">final String description;

      Type(String nullxx) {
         this.description = nullxx;
      }

      class="kw">public String get() {
         class="kw">return this.description;
      }
   }
}