Block class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.props
Файл: com/hypixel/hytale/builtin/hytalegenerator/props/ManualProp.java
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
|
public final Material |
material |
|
public final Vector3i |
position |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public ManualProp.Block |
clonepublic ManualProp.Block clone() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.props;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.bounds.Bounds3i;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.material.Material;
class="kw">import java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3i;
class="kw">public class ManualProp class="kw">extends Prop {
@Nonnull
class="kw">private class="kw">final List<ManualProp.Block> blocks;
@Nonnull
class="kw">private class="kw">final Bounds3i bounds = new Bounds3i();
@Nonnull
class="kw">private class="kw">final Vector3i rPosition;
class="kw">public ManualProp(@Nonnull List<ManualProp.Block> var1) {
this.blocks = new ArrayList<>(var1.size());
for (ManualProp.Block var3 : var1) {
this.blocks.add(var3.clone());
this.bounds.encompass(var3.position);
}
this.rPosition = new Vector3i();
}
@Override
class="kw">public boolean generate(@Nonnull Prop.Context var1) {
Bounds3i var2 = var1.materialWriteSpace.getBounds();
for (ManualProp.Block var4 : this.blocks) {
this.rPosition.set(var4.position);
this.rPosition.add(var1.position);
if (var2.contains(this.rPosition)) {
var1.materialWriteSpace.set(var4.material, this.rPosition);
}
}
class="kw">return true;
}
@Nonnull
@Override
class="kw">public Bounds3i getReadBounds_voxelGrid() {
class="kw">return Bounds3i.ZERO;
}
@Nonnull
@Override
class="kw">public Bounds3i getWriteBounds_voxelGrid() {
class="kw">return this.bounds;
}
class="kw">public class="kw">static class Block {
class="kw">public class="kw">final Material material;
class="kw">public class="kw">final Vector3i position;
class="kw">public Block(@Nonnull Material var1, @Nonnull Vector3i var2) {
this.material = var1;
this.position = new Vector3i(var2);
}
@Nonnull
class="kw">public ManualProp.Block clone() {
class="kw">return new ManualProp.Block(this.material, this.position);
}
}
}