GeneratedChunk class

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

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

Поля (8)

МодификаторыТипИмя
final GeneratedBlockChunk generatedBlockChunk
Holder[] var0
BlockChunk var2
WorldChunk var3
BlockComponentSection var4
Holder var4
BlockComponentSection var5
int var6

Методы (6)

МодификаторыВозвратСигнатура
for for(int var1 = 0; var1 < var0.length; var1++)
public GeneratedBlockChunk getBlockChunkGeneratedBlockChunk getBlockChunk()
public GeneratedEntityChunk getEntityChunkGeneratedEntityChunk getEntityChunk()
public Holder<ChunkStore>[] getSectionsHolder<ChunkStore>[] getSections()
if if(var4 != null)
public void setStatevoid setState(int var1, int var2, int var3, @Nullable Holder<ChunkStore> var4)

Исходный код

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

class="kw">import com.hypixel.hytale.common.collection.Flags;
class="kw">import com.hypixel.hytale.component.Holder;
class="kw">import com.hypixel.hytale.math.util.ChunkUtil;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.BlockChunk;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.ChunkColumn;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.ChunkFlag;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.WorldChunk;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.environment.EnvironmentChunk;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.section.BlockComponentSection;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class GeneratedChunk {
   class="kw">private class="kw">final GeneratedBlockChunk generatedBlockChunk;
   class="kw">private class="kw">final GeneratedEntityChunk generatedEntityChunk;
   class="kw">private class="kw">final Holder<ChunkStore>[] sections;

   class="kw">public GeneratedChunk() {
      this(new GeneratedBlockChunk(), new GeneratedEntityChunk(), makeSections());
   }

   class="kw">public GeneratedChunk(GeneratedBlockChunk var1, GeneratedEntityChunk var2, Holder<ChunkStore>[] var3) {
      this.generatedBlockChunk = var1;
      this.generatedEntityChunk = var2;
      this.sections = var3;
   }

   class="kw">public GeneratedBlockChunk getBlockChunk() {
      class="kw">return this.generatedBlockChunk;
   }

   class="kw">public GeneratedEntityChunk getEntityChunk() {
      class="kw">return this.generatedEntityChunk;
   }

   class="kw">public Holder<ChunkStore>[] getSections() {
      class="kw">return this.sections;
   }

   @Nullable
   class="kw">public Holder<ChunkStore> getState(int var1, int var2, int var3) {
      BlockComponentSection var4 = this.sections[ChunkUtil.chunkCoordinate(var2)].getComponent(BlockComponentSection.getComponentType());
      class="kw">return var4 == null ? null : var4.getBlockHolder(ChunkUtil.indexBlock(var1, var2, var3));
   }

   class="kw">public void setState(int var1, int var2, int var3, @Nullable Holder<ChunkStore> var4) {
      BlockComponentSection var5 = this.sections[ChunkUtil.chunkCoordinate(var2)].ensureAndGetComponent(BlockComponentSection.getComponentType());
      int var6 = ChunkUtil.indexBlock(var1, var2, var3);
      var5.removeBlockHolder(var6);
      if (var4 != null) {
         var5.storeBlockHolder(var6, var4);
      }
   }

   @Nonnull
   class="kw">public Holder<ChunkStore> toWorldChunk(World var1) {
      BlockChunk var2 = this.generatedBlockChunk.toBlockChunk(this.sections);
      this.generatedEntityChunk.toEntitySections(this.sections);
      WorldChunk var3 = new WorldChunk(var1, new Flags<>(ChunkFlag.NEWLY_GENERATED), var2);
      Holder var4 = ChunkStore.REGISTRY.newHolder();
      var4.putComponent(WorldChunk.getComponentType(), var3);
      var4.putComponent(BlockChunk.getComponentType(), var2);
      var4.putComponent(EnvironmentChunk.getComponentType(), var2.getEnvironmentChunk());
      var4.putComponent(ChunkColumn.getComponentType(), new ChunkColumn(this.sections));
      class="kw">return var4;
   }

   @Nonnull
   class="kw">public Holder<ChunkStore> toHolder(World var1) {
      class="kw">return this.toWorldChunk(var1);
   }

   @Nonnull
   class="kw">public class="kw">static Holder<ChunkStore>[] makeSections() {
      Holder[] var0 = new Holder[10];

      for (int var1 = 0; var1 < var0.length; var1++) {
         var0[var1] = ChunkStore.REGISTRY.newHolder();
      }

      class="kw">return var0;
   }
}