ValueStore class

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

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

implements: Component<EntityStore>

Поля (5)

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

Методы (15)

МодификаторыВозвратСигнатура
public Builderpublic Builder()
abstract Double Double("Double value")
Type Type(String nullxx)
public ValueStore buildpublic ValueStore build()
public String getpublic String get()
static ComponentType<EntityStore, ValueStore> getComponentTypeComponentType<EntityStore, ValueStore> getComponentType()
public int getDoubleSlotpublic int getDoubleSlot(String var1)
public int getIntSlotpublic int getIntSlot(String var1)
public int getStringSlotpublic int getStringSlot(String var1)
public double readDoubledouble readDouble(int var1)
public int readIntint readInt(int var1)
public String readStringString readString(int var1)
public void storeDoublevoid storeDouble(int var1, double var2)
public void storeIntvoid storeInt(int var1, int var2)
public void storeStringvoid storeString(int var1, String var2)

Исходный код

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