PointPrefabContributor class
Пакет: com.hypixel.hytale.builtin.points.prefab
Файл: com/hypixel/hytale/builtin/points/prefab/PointPrefabContributor.java
implements: PrefabSaveContributor
Поля (9)
| Модификаторы | Тип | Имя |
|---|---|---|
|
Vector3d |
var12 |
|
Vector3d |
var13 |
|
Holder |
var14 |
|
Point |
var15 |
|
PointsPlugin |
var5 |
|
Store |
var6 |
|
PointManager |
var7 |
|
ComponentType |
var8 |
|
int |
var9 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var7 != null) |
static |
boolean |
withinBoundsboolean withinBounds(@Nonnull Vector3d var0, @Nonnull Vector3i var1, @Nonnull Vector3i var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.points.prefab;
class="kw">import com.hypixel.hytale.builtin.buildertools.prefabeditor.saving.PrefabSaveContributor;
class="kw">import com.hypixel.hytale.builtin.points.PointsPlugin;
class="kw">import com.hypixel.hytale.builtin.points.component.Point;
class="kw">import com.hypixel.hytale.builtin.points.manager.PointEntry;
class="kw">import com.hypixel.hytale.builtin.points.manager.PointManager;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Holder;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.math.vector.Rotation3f;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.prefab.selection.standard.BlockSelection;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">import org.joml.Vector3i;
class="kw">public class PointPrefabContributor class="kw">implements PrefabSaveContributor {
class="kw">public PointPrefabContributor() {
}
@Override
class="kw">public void contribute(@Nonnull BlockSelection var1, @Nonnull World var2, @Nonnull Vector3i var3, @Nonnull Vector3i var4) {
PointsPlugin var5 = PointsPlugin.get();
Store var6 = var2.getEntityStore().getStore();
PointManager var7 = var6.getResource(var5.getManagerResourceType());
if (var7 != null) {
ComponentType var8 = var5.getPointComponentType();
int var9 = 0;
for (PointEntry var11 : var7.getPoints()) {
Vector3d var12 = var11.getPosition();
if (withinBounds(var12, var3, var4)) {
Vector3d var13 = new Vector3d(var12);
var13.sub(var1.getX(), var1.getY(), var1.getZ());
Holder var14 = EntityStore.REGISTRY.newHolder();
var14.addComponent(TransformComponent.getComponentType(), new TransformComponent(var13, Rotation3f.IDENTITY));
Point var15 = Point.fromPointEntry(var11);
var15.setPrefabIndex(var9++);
var14.addComponent(var8, var15);
var1.addEntityHolderRaw(var14);
}
}
}
}
class="kw">private class="kw">static boolean withinBounds(@Nonnull Vector3d var0, @Nonnull Vector3i var1, @Nonnull Vector3i var2) {
class="kw">return var0.x() >= var1.x && var0.x() <= var2.x + 1 && var0.y() >= var1.y && var0.y() <= var2.y + 1 && var0.z() >= var1.z && var0.z() <= var2.z + 1;
}
}