MaskVoxelSpace class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.voxelspace
Файл: com/hypixel/hytale/builtin/hytalegenerator/voxelspace/MaskVoxelSpace.java
implements: VoxelSpace<Material>
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
Bounds3i |
var2 |
|
Material |
var5 |
Методы (7)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(int var3 = var2.min.x; var3 < var2.max.x; var3++) |
|
|
for for(int var4 = var2.min.z; var4 < var2.max.z; var4++) |
|
|
for for(int var5 = var2.min.y; var5 < var2.max.y; var5++) |
public |
void |
setvoid set(@Nullable Material var1, int var2, int var3, int var4) |
public |
void |
setvoid set(@Nullable Material var1, @Nonnull Vector3i var2) |
public |
void |
setAllvoid setAll(@Nullable Material var1) |
public |
void |
setSourcevoid setSource(@Nonnull VoxelSpace<Material> var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.voxelspace;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.BlockMask;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.bounds.Bounds3i;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.material.Material;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3i;
class="kw">public class MaskVoxelSpace class="kw">implements VoxelSpace<Material> {
@Nonnull
class="kw">private class="kw">final BlockMask mask;
@Nonnull
class="kw">private VoxelSpace<Material> source;
class="kw">public MaskVoxelSpace(@Nonnull BlockMask var1, @Nonnull VoxelSpace<Material> var2) {
this.mask = var1;
this.source = var2;
}
class="kw">public void setSource(@Nonnull VoxelSpace<Material> var1) {
this.source = var1;
}
class="kw">public void set(@Nullable Material var1, int var2, int var3, int var4) {
assert this.source.getBounds().contains(var2, var3, var4);
if (this.mask.canPlace(var1.hashMaterialIds())) {
Material var5 = this.source.get(var2, var3, var4);
if (this.mask.canReplace(var1.hashMaterialIds(), var5.hashMaterialIds())) {
this.source.set(var1, var2, var3, var4);
}
}
}
class="kw">public void set(@Nullable Material var1, @Nonnull Vector3i var2) {
this.set(var1, var2.x, var2.y, var2.z);
}
class="kw">public void setAll(@Nullable Material var1) {
Bounds3i var2 = this.source.getBounds();
for (int var3 = var2.min.x; var3 < var2.max.x; var3++) {
for (int var4 = var2.min.z; var4 < var2.max.z; var4++) {
for (int var5 = var2.min.y; var5 < var2.max.y; var5++) {
this.set(var1, var3, var5, var4);
}
}
}
}
@Nullable
class="kw">public Material get(int var1, int var2, int var3) {
class="kw">return this.source.get(var1, var2, var3);
}
@Nullable
class="kw">public Material get(@Nonnull Vector3i var1) {
class="kw">return this.source.get(var1);
}
@Nonnull
@Override
class="kw">public Bounds3i getBounds() {
class="kw">return this.source.getBounds();
}
}