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