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