WindowVoxelSpace class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.voxelspace
Файл: com/hypixel/hytale/builtin/hytalegenerator/voxelspace/WindowVoxelSpace.java
implements: VoxelSpace<T>
Методы (6)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
IllegalArgumentExceptionthrow new IllegalArgumentException("outside schematic") |
|
|
for for(int var2 = this.bounds.min.x; var2 < this.bounds.max.x; var2++) |
|
|
for for(int var3 = this.bounds.min.y; var3 < this.bounds.max.y; var3++) |
|
|
for for(int var4 = this.bounds.min.z; var4 < this.bounds.max.z; var4++) |
public |
void |
setBoundsvoid setBounds(@Nonnull Bounds3i var1) |
public |
void |
setBoundsvoid setBounds(int var1, int var2, int var3, int var4, int var5, int var6) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.voxelspace;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.bounds.Bounds3i;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3i;
class="kw">public class WindowVoxelSpace<T> class="kw">implements VoxelSpace<T> {
@Nonnull
class="kw">private class="kw">final VoxelSpace<T> source;
@Nonnull
class="kw">private class="kw">final Bounds3i bounds;
class="kw">public WindowVoxelSpace(@Nonnull VoxelSpace<T> var1) {
this.source = var1;
this.bounds = var1.getBounds().clone();
}
class="kw">public void setBounds(@Nonnull Bounds3i var1) {
assert this.source.getBounds().contains(var1);
this.bounds.assign(var1);
}
class="kw">public void setBounds(int var1, int var2, int var3, int var4, int var5, int var6) {
this.bounds.min.set(var1, var2, var3);
this.bounds.max.set(var4, var5, var6);
}
@Nonnull
class="kw">public VoxelSpace<T> getSourceVoxelSpace() {
class="kw">return this.source;
}
@Override
class="kw">public void set(T var1, int var2, int var3, int var4) {
if (this.bounds.contains(var2, var3, var4)) {
if (this.source.getBounds().contains(var2, var3, var4)) {
this.source.set(var1, var2, var3, var4);
}
}
}
@Override
class="kw">public void set(T var1, @Nonnull Vector3i var2) {
this.set(var1, var2.x, var2.y, var2.z);
}
@Override
class="kw">public void setAll(T var1) {
for (int var2 = this.bounds.min.x; var2 < this.bounds.max.x; var2++) {
for (int var3 = this.bounds.min.y; var3 < this.bounds.max.y; var3++) {
for (int var4 = this.bounds.min.z; var4 < this.bounds.max.z; var4++) {
this.set(var1, var2, var3, var4);
}
}
}
}
@Override
class="kw">public T get(int var1, int var2, int var3) {
if (!this.getBounds().contains(var1, var2, var3)) {
throw new IllegalArgumentException("outside schematic");
} else {
class="kw">return this.source.get(var1, var2, var3);
}
}
@Nullable
@Override
class="kw">public T get(@Nonnull Vector3i var1) {
class="kw">return this.get(var1.x, var1.y, var1.z);
}
@Nonnull
@Override
class="kw">public Bounds3i getBounds() {
class="kw">return this.bounds;
}
}