WaterPopulator class
Пакет: com.hypixel.hytale.server.worldgen.chunk.populator
Файл: com/hypixel/hytale/server/worldgen/chunk/populator/WaterPopulator.java
Поля (14)
| Модификаторы | Тип | Имя |
|---|---|---|
|
int |
var12 |
|
int |
var13 |
|
int |
var14 |
|
int |
var15 |
|
Biome |
var4 |
|
int |
var5 |
|
int |
var6 |
|
byte |
var6 |
|
WaterContainer |
var7 |
|
byte |
var7 |
|
int |
var8 |
|
|
var8 |
|
|
var8 |
|
BlockType |
var9 |
Методы (10)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(int var2 = 0; var2 < 32; var2++) |
|
|
for for(int var3 = 0; var3 < 32; var3++) |
|
|
for for(int var16 = var12; var16 <= var13; var16++) |
|
|
if if(var12 <= var13) |
|
|
if if(var3 != 0 && var7 < 4) |
static |
void |
populatevoid populate(int var0, @Nonnull ChunkGeneratorExecution var1) |
static |
void |
submergeBlockvoid submergeBlock(int var0, int var1, int var2, int var3, int var4, @Nonnull ChunkGeneratorExecution var5) |
abstract |
|
submergeBlock submergeBlock(var1, var16, var2, var14, var15, var3) |
static |
void |
submergeColumnvoid submergeColumn(int var0, int var1, int var2, @Nonnull ChunkGeneratorExecution var3) |
abstract |
|
submergeColumn submergeColumn(var0, var2, var3, var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.worldgen.chunk.populator;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
class="kw">import com.hypixel.hytale.server.core.asset.type.fluid.FluidTicker;
class="kw">import com.hypixel.hytale.server.worldgen.biome.Biome;
class="kw">import com.hypixel.hytale.server.worldgen.chunk.ChunkGeneratorExecution;
class="kw">import com.hypixel.hytale.server.worldgen.container.WaterContainer;
class="kw">import javax.annotation.Nonnull;
class="kw">public class WaterPopulator {
class="kw">public WaterPopulator() {
}
class="kw">public class="kw">static void populate(int var0, @Nonnull ChunkGeneratorExecution var1) {
for (int var2 = 0; var2 < 32; var2++) {
for (int var3 = 0; var3 < 32; var3++) {
submergeColumn(var0, var2, var3, var1);
}
}
}
class="kw">private class="kw">static void submergeColumn(int var0, int var1, int var2, @Nonnull ChunkGeneratorExecution var3) {
Biome var4 = var3.zoneBiomeResult(var1, var2).getBiome();
int var5 = var3.globalX(var1);
int var6 = var3.globalZ(var2);
WaterContainer var7 = var4.getWaterContainer();
for (WaterContainer.Entry var11 : var7.getEntries()) {
if (var11.shouldPopulate(var0, var5, var6)) {
int var12 = var11.getMin(var0, var5, var6);
int var13 = var11.getMax(var0, var5, var6);
if (var12 <= var13) {
int var14 = var11.getBlock();
int var15 = var11.getFluid();
for (int var16 = var12; var16 <= var13; var16++) {
submergeBlock(var1, var16, var2, var14, var15, var3);
}
}
}
}
}
class="kw">private class="kw">static void submergeBlock(int var0, int var1, int var2, int var3, int var4, @Nonnull ChunkGeneratorExecution var5) {
byte var6 = var5.getPriorityChunk().getRaw(var0, var1, var2);
byte var7 = (byte)(var6 & 31);
if (var7 < 4 || (var6 & 32) != 0) {
int var8;
if (var3 != 0 && var7 < 4) {
var5.setBlock(var0, var1, var2, (byte)-1, var3);
var8 = var3;
} else {
var8 = var5.getBlock(var0, var1, var2);
}
BlockType var9 = BlockType.getAssetMap().getAsset(var8);
if (var9 != null && !FluidTicker.isSolid(var9)) {
var5.setFluid(var0, var1, var2, (byte)-1, var4);
}
}
}
}