VoidWorldGenProvider class

Пакет: com.hypixel.hytale.server.core.universe.world.worldgen.provider

Файл: com/hypixel/hytale/server/core/universe/world/worldgen/provider/VoidWorldGenProvider.java

implements: IWorldGenProvider

Поля (10)

МодификаторыТипИмя
final String ID
private final int environmentId
private final int tintId
int var1
String var2
int var3
int var3
String var4
int var5
GeneratedBlockChunk var8

Методы (13)

МодификаторыВозвратСигнатура
public VoidWorldGenpublic VoidWorldGen()
public VoidWorldGenpublic VoidWorldGen(@Nullable Color var1, @Nullable String var2)
public VoidWorldGenpublic VoidWorldGen(int var1, int var2)
abstract throw new WorldGenLoadExceptionthrow new WorldGenLoadException("Unknown key! " + var2)
abstract throw new WorldGenLoadExceptionthrow new WorldGenLoadException("Unknown key! " + var4)
for for(int var9 = 0; var9 < 32; var9++)
for for(int var10 = 0; var10 < 32; var10++)
public CompletableFuture<GeneratedChunk> generatepublic CompletableFuture<GeneratedChunk> generate(int var1, long var2, int var4, int var5, LongPredicate var6, Long2FloatFunction var7)
public Transform[] getSpawnPointspublic Transform[] getSpawnPoints(int var1)
public WorldGenTimingsCollector getTimingspublic WorldGenTimingsCollector getTimings()
if if(var3 == Integer.MIN_VALUE)
if if(var5 == Integer.MIN_VALUE)
if if(this.environmentId != 0)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.universe.world.worldgen.provider;

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.math.vector.Transform;
class="kw">import com.hypixel.hytale.protocol.Color;
class="kw">import com.hypixel.hytale.server.core.asset.type.environment.config.Environment;
class="kw">import com.hypixel.hytale.server.core.asset.util.ColorParseUtil;
class="kw">import com.hypixel.hytale.server.core.codec.ProtocolCodecs;
class="kw">import com.hypixel.hytale.server.core.universe.world.worldgen.GeneratedBlockChunk;
class="kw">import com.hypixel.hytale.server.core.universe.world.worldgen.GeneratedChunk;
class="kw">import com.hypixel.hytale.server.core.universe.world.worldgen.GeneratedEntityChunk;
class="kw">import com.hypixel.hytale.server.core.universe.world.worldgen.IWorldGen;
class="kw">import com.hypixel.hytale.server.core.universe.world.worldgen.WorldGenLoadException;
class="kw">import com.hypixel.hytale.server.core.universe.world.worldgen.WorldGenTimingsCollector;
class="kw">import it.unimi.dsi.fastutil.longs.Long2FloatFunction;
class="kw">import java.util.concurrent.CompletableFuture;
class="kw">import java.util.function.LongPredicate;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class VoidWorldGenProvider class="kw">implements IWorldGenProvider {
   class="kw">public class="kw">static class="kw">final String ID = "Void";
   class="kw">public class="kw">static class="kw">final BuilderCodec<VoidWorldGenProvider> CODEC = BuilderCodec.<VoidWorldGenProvider>builder(
         VoidWorldGenProvider.class, VoidWorldGenProvider::new
      )
      .documentation("A world generation provider that does not generate any blocks.")
      .<Color>append(new KeyedCodec<>("Tint", ProtocolCodecs.COLOR), (var0, var1) -> var0.tint = var1, var0 -> var0.tint)
      .documentation("The tint to set for all chunks that are generated.")
      .add()
      .<String>append(new KeyedCodec<>("Environment", Codec.STRING), (var0, var1) -> var0.environment = var1, var0 -> var0.environment)
      .documentation("The environment to set for every column in generated chunks.")
      .addValidator(Environment.VALIDATOR_CACHE.getValidator())
      .add()
      .build();
   class="kw">private Color tint;
   class="kw">private String environment;

   class="kw">public VoidWorldGenProvider() {
   }

   class="kw">public VoidWorldGenProvider(Color var1, String var2) {
      this.tint = var1;
      this.environment = var2;
   }

   @Nonnull
   @Override
   class="kw">public IWorldGen getGenerator() class="kw">throws WorldGenLoadException {
      int var1 = this.tint == null ? 0 : ColorParseUtil.colorToARGBInt(this.tint);
      String var2 = this.environment != null ? this.environment : "Default";
      int var3 = Environment.getAssetMap().getIndex(var2);
      if (var3 == Integer.MIN_VALUE) {
         throw new WorldGenLoadException("Unknown key! " + var2);
      } else {
         class="kw">return new VoidWorldGenProvider.VoidWorldGen(var1, var3);
      }
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "VoidWorldGenProvider{environment='" + this.environment + "'}";
   }

   class="kw">public class="kw">static class VoidWorldGen class="kw">implements IWorldGen {
      class="kw">private class="kw">final int tintId;
      class="kw">private class="kw">final int environmentId;

      class="kw">public VoidWorldGen() {
         this.tintId = 0;
         this.environmentId = 0;
      }

      class="kw">public VoidWorldGen(@Nullable Color var1, @Nullable String var2) class="kw">throws WorldGenLoadException {
         int var3 = var1 == null ? 0 : ColorParseUtil.colorToARGBInt(var1);
         this.tintId = var3;
         String var4 = var2 != null ? var2 : "Default";
         int var5 = Environment.getAssetMap().getIndex(var4);
         if (var5 == Integer.MIN_VALUE) {
            throw new WorldGenLoadException("Unknown key! " + var4);
         }

         this.environmentId = var5;
      }

      class="kw">public VoidWorldGen(int var1, int var2) {
         this.tintId = var1;
         this.environmentId = var2;
      }

      @Nullable
      @Override
      class="kw">public WorldGenTimingsCollector getTimings() {
         class="kw">return null;
      }

      @Nonnull
      @Override
      class="kw">public Transform[] getSpawnPoints(int var1) {
         class="kw">return new Transform[]{new Transform(0.0, 1.0, 0.0)};
      }

      @Nonnull
      @Override
      class="kw">public CompletableFuture<GeneratedChunk> generate(int var1, long var2, int var4, int var5, LongPredicate var6, Long2FloatFunction var7) {
         GeneratedBlockChunk var8 = new GeneratedBlockChunk(var2, var4, var5);

         for (int var9 = 0; var9 < 32; var9++) {
            for (int var10 = 0; var10 < 32; var10++) {
               if (this.environmentId != 0) {
                  var8.setEnvironmentColumn(var9, var10, this.environmentId);
               }

               var8.setTint(var9, var10, this.tintId);
            }
         }

         class="kw">return CompletableFuture.completedFuture(new GeneratedChunk(var8, new GeneratedEntityChunk(), GeneratedChunk.makeSections()));
      }
   }
}