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;
   }
}