SquareGrid2dPositionProvider class
Пакет: com.hypixel.hytale.builtin.hytalegenerator.positionproviders
Файл: com/hypixel/hytale/builtin/hytalegenerator/positionproviders/SquareGrid2dPositionProvider.java
extends: PositionProvider
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
double |
Y |
|
|
return |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(double var2 = this.rGridBounds.min.x; var2 < this.rGridBounds.max.x; var2++) |
|
|
for for(double var4 = this.rGridBounds.min.z; var4 < this.rGridBounds.max.z; var4++) |
|
|
if if(this.rGridBounds.min.x < var1.bounds.min.x) |
|
|
if if(this.rGridBounds.min.z < var1.bounds.min.z) |
|
|
if if(this.rControl.stop) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.positionproviders;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.bounds.Bounds3d;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.pipe.Control;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">public class SquareGrid2dPositionProvider class="kw">extends PositionProvider {
class="kw">private class="kw">static class="kw">final double Y = 0.0;
@Nonnull
class="kw">private class="kw">final Vector3d rPosition = new Vector3d();
@Nonnull
class="kw">private class="kw">final Bounds3d rGridBounds = new Bounds3d();
@Nonnull
class="kw">private class="kw">final Control rControl = new Control();
class="kw">public SquareGrid2dPositionProvider() {
}
@Override
class="kw">public void generate(@Nonnull PositionProvider.Context var1) {
if (!(var1.bounds.min.y > 0.0) && !(var1.bounds.max.y <= 0.0)) {
this.rGridBounds.min.set(Math.floor(var1.bounds.min.x), 0.0, Math.floor(var1.bounds.min.z));
this.rGridBounds.max.set(Math.ceil(var1.bounds.max.x), 1.0, Math.ceil(var1.bounds.max.z));
if (this.rGridBounds.min.x < var1.bounds.min.x) {
this.rGridBounds.min.x++;
}
if (this.rGridBounds.min.z < var1.bounds.min.z) {
this.rGridBounds.min.z++;
}
this.rControl.reset();
for (double var2 = this.rGridBounds.min.x; var2 < this.rGridBounds.max.x; var2++) {
for (double var4 = this.rGridBounds.min.z; var4 < this.rGridBounds.max.z; var4++) {
assert var1.bounds.contains(var2, 0.0, var4);
if (this.rControl.stop) {
class="kw">return;
}
this.rPosition.set(var2, 0.0, var4);
var1.pipe.accept(this.rPosition, this.rControl);
}
}
}
}
}