Constants interface
Пакет: com.hypixel.hytale.server.worldgen.loader.cave
Файл: com/hypixel/hytale/server/worldgen/loader/cave/CaveBiomeMaskJsonLoader.java
Поля (4)
| Модификаторы | Тип | Имя |
|---|---|---|
|
boolean |
DEFAULT_TERMINATE_SETTING |
|
String |
KEY_GENERATION |
|
String |
KEY_POPULATION |
|
String |
KEY_TERMINATE |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.loader.cave;
class="kw">import com.google.gson.JsonElement;
class="kw">import com.hypixel.hytale.procedurallib.condition.ConstantIntCondition;
class="kw">import com.hypixel.hytale.procedurallib.condition.IIntCondition;
class="kw">import com.hypixel.hytale.procedurallib.json.JsonLoader;
class="kw">import com.hypixel.hytale.procedurallib.json.SeedString;
class="kw">import com.hypixel.hytale.server.worldgen.SeedStringResource;
class="kw">import com.hypixel.hytale.server.worldgen.cave.CaveBiomeMaskFlags;
class="kw">import com.hypixel.hytale.server.worldgen.loader.biome.BiomeMaskJsonLoader;
class="kw">import com.hypixel.hytale.server.worldgen.loader.context.ZoneFileContext;
class="kw">import com.hypixel.hytale.server.worldgen.util.condition.flag.CompositeInt2Flags;
class="kw">import com.hypixel.hytale.server.worldgen.util.condition.flag.FlagOperator;
class="kw">import com.hypixel.hytale.server.worldgen.util.condition.flag.Int2FlagsCondition;
class="kw">import java.nio.file.Path;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class CaveBiomeMaskJsonLoader class="kw">extends JsonLoader<SeedStringResource, Int2FlagsCondition> {
class="kw">private class="kw">final ZoneFileContext zoneContext;
class="kw">public CaveBiomeMaskJsonLoader(@Nonnull SeedString<SeedStringResource> var1, Path var2, JsonElement var3, ZoneFileContext var4) {
super(var1.append(".CaveBiomeMask"), var2, var3);
this.zoneContext = var4;
}
@Nonnull
class="kw">public Int2FlagsCondition load() {
IIntCondition var1 = this.loadGenerationMask();
if (var1 == ConstantIntCondition.DEFAULT_FALSE) {
class="kw">return CaveBiomeMaskFlags.DEFAULT_DENY;
}
IIntCondition var2 = this.loadPopulationMask();
if (var1 == ConstantIntCondition.DEFAULT_TRUE && var2 == ConstantIntCondition.DEFAULT_TRUE) {
class="kw">return CaveBiomeMaskFlags.DEFAULT_ALLOW;
}
int var3 = this.loadDefaultResult();
CompositeInt2Flags.FlagCondition[] var4 = this.loadFlagConditions(var1, var2);
class="kw">return new CompositeInt2Flags(var3, var4);
}
@Nullable
class="kw">protected IIntCondition loadGenerationMask() {
class="kw">return this.loadBiomeMask("Generate");
}
@Nullable
class="kw">protected IIntCondition loadPopulationMask() {
class="kw">return this.loadBiomeMask("Populate");
}
@Nonnull
class="kw">protected CompositeInt2Flags.FlagCondition[] loadFlagConditions(IIntCondition var1, IIntCondition var2) {
class="kw">return new CompositeInt2Flags.FlagCondition[]{
new CompositeInt2Flags.FlagCondition(var1, FlagOperator.Or, 1), new CompositeInt2Flags.FlagCondition(var2, FlagOperator.Or, 2)
};
}
class="kw">protected int loadDefaultResult() {
int var1 = 4;
if (this.loadFlagSetting("Terminate", CaveBiomeMaskJsonLoader.Constants.DEFAULT_TERMINATE_SETTING)) {
var1 ^= 4;
}
class="kw">return var1;
}
@Nullable
class="kw">protected IIntCondition loadBiomeMask(String var1) {
IIntCondition var2 = ConstantIntCondition.DEFAULT_TRUE;
if (this.has(var1)) {
var2 = new BiomeMaskJsonLoader(this.seed, this.dataFolder, this.getRaw(var1), var1, this.zoneContext).load();
}
class="kw">return var2;
}
class="kw">protected boolean loadFlagSetting(String var1, boolean var2) {
boolean var3 = var2;
if (this.has(var1)) {
var3 = this.getRaw(var1).getAsBoolean();
}
class="kw">return var3;
}
class="kw">public class="kw">interface Constants {
String KEY_GENERATION = "Generate";
String KEY_POPULATION = "Populate";
String KEY_TERMINATE = "Terminate";
boolean DEFAULT_TERMINATE_SETTING = !CaveBiomeMaskFlags.canContinue(4);
}
}