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