GameFlagsResource class
Пакет: com.hypixel.hytale.builtin.gameflags
Файл: com/hypixel/hytale/builtin/gameflags/GameFlagsResource.java
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
String |
ID |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
void |
flushvoid flush() |
public |
int |
getLevelint getLevel(@Nonnull String var1) |
public |
void |
raisevoid raise(@Nonnull String var1, int var2) |
public |
void |
removevoid remove(@Nonnull String var1) |
public |
void |
setvoid set(@Nonnull String var1, int var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.gameflags;
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.codec.codecs.map.MapCodec;
class="kw">import com.hypixel.hytale.server.core.universe.Universe;
class="kw">import java.util.HashMap;
class="kw">import java.util.Map;
class="kw">import java.util.TreeMap;
class="kw">import java.util.concurrent.ConcurrentHashMap;
class="kw">import javax.annotation.Nonnull;
class="kw">public class GameFlagsResource {
class="kw">public class="kw">static class="kw">final String ID = "GameFlags";
class="kw">public class="kw">static class="kw">final BuilderCodec<GameFlagsResource> CODEC = BuilderCodec.builder(GameFlagsResource.class, GameFlagsResource::new)
.append(
new KeyedCodec<>("Flags", new MapCodec<>(Codec.INTEGER, HashMap::new)), (var0, var1) -> var0.flags = new ConcurrentHashMap<>(var1), var0 -> var0.flags
)
.documentation("Flag name to integer value; a missing flag is 0.")
.add()
.build();
class="kw">private Map<String, Integer> flags = new ConcurrentHashMap<>();
class="kw">public GameFlagsResource() {
}
@Nonnull
class="kw">public class="kw">static GameFlagsResource get() {
class="kw">return Universe.get().getResource(GameFlagsPlugin.get().getResourceType());
}
class="kw">public int getLevel(@Nonnull String var1) {
class="kw">return this.flags.getOrDefault(var1, 0);
}
class="kw">public void set(@Nonnull String var1, int var2) {
this.flags.put(var1, var2);
}
class="kw">public void raise(@Nonnull String var1, int var2) {
this.flags.merge(var1, var2, Math::max);
}
class="kw">public void remove(@Nonnull String var1) {
this.flags.remove(var1);
}
@Nonnull
class="kw">public Map<String, Integer> snapshot() {
class="kw">return new TreeMap<>(this.flags);
}
class="kw">public class="kw">static void flush() {
Universe.get().flushResource(GameFlagsPlugin.get().getResourceType());
}
}