Selector interface

Пакет: com.hypixel.hytale.server.core.modules.interaction.interaction.config.selector

Файл: com/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/Selector.java

Поля (14)

МодификаторыТипИмя
int var10
int var11
int var12
int var13
int var14
TransformComponent var6
List var6
Vector3d var7
SpatialResource var7
float var8
SpatialResource var8
int var9
Vector3d var9
SpatialResource var9

Методы (12)

МодификаторыВозвратСигнатура
abstract void acceptvoid accept(int var1, int var2, int var3, int var4, int var5, int var6)
for for(int var15 = var9; var15 < var12; var15++)
for for(int var16 = var10; var16 < var13; var16++)
for for(int var17 = var11; var17 < var14; var17++)
for for(Ref var11 : var6)
static void selectNearbyBlocksvoid selectNearbyBlocks(double var0, double var2, double var4, double var6, @Nonnull TriIntConsumer var8)
static void selectNearbyEntitiesvoid selectNearbyEntities(@Nonnull CommandBuffer<EntityStore> var0, @Nonnull Ref<EntityStore> var1, double var2, @Nonnull Consumer<Ref<EntityStore>> var4, @Nonnull Predicate<Ref<EntityStore>> var5)
static void selectNearbyEntitiesvoid selectNearbyEntities(@Nonnull ComponentAccessor<EntityStore> var0, @Nonnull Vector3d var1, double var2, @Nonnull Consumer<Ref<EntityStore>> var4, @Nullable Predicate<Ref<EntityStore>> var5)
abstract selectNearbyEntities selectNearbyEntities(var0, var9, var2, var4, var5)
abstract void selectTargetBlocksvoid selectTargetBlocks(@Nonnull CommandBuffer<EntityStore> var1, @Nonnull Ref<EntityStore> var2, @Nonnull Selector.BlockConsumer var3)
abstract void selectTargetEntitiesvoid selectTargetEntities(@Nonnull CommandBuffer<EntityStore> var1, @Nonnull Ref<EntityStore> var2, BiConsumer<Ref<EntityStore>, Vector4d> var3, Predicate<Ref<EntityStore>> var4)
abstract void tickvoid tick(@Nonnull CommandBuffer<EntityStore> var1, @Nonnull Ref<EntityStore> var2, float var3, float var4)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.interaction.interaction.config.selector;

class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.spatial.SpatialResource;
class="kw">import com.hypixel.hytale.function.consumer.TriIntConsumer;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.server.core.modules.entity.EntityModule;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.ModelComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.List;
class="kw">import java.util.function.BiConsumer;
class="kw">import java.util.function.Consumer;
class="kw">import java.util.function.Predicate;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">import org.joml.Vector4d;

class="kw">public class="kw">interface Selector {
   class="kw">static void selectNearbyBlocks(double var0, double var2, double var4, double var6, @Nonnull TriIntConsumer var8) {
      int var9 = MathUtil.floor(var0 - var6);
      int var10 = MathUtil.floor(var2 - var6);
      int var11 = MathUtil.floor(var4 - var6);
      int var12 = MathUtil.floor(var0 + var6);
      int var13 = MathUtil.floor(var2 + var6);
      int var14 = MathUtil.floor(var4 + var6);

      for (int var15 = var9; var15 < var12; var15++) {
         for (int var16 = var10; var16 < var13; var16++) {
            for (int var17 = var11; var17 < var14; var17++) {
               var8.accept(var15, var16, var17);
            }
         }
      }
   }

   class="kw">static void selectNearbyEntities(
      @Nonnull CommandBuffer<EntityStore> var0,
      @Nonnull Ref<EntityStore> var1,
      double var2,
      @Nonnull Consumer<Ref<EntityStore>> var4,
      @Nonnull Predicate<Ref<EntityStore>> var5
   ) {
      TransformComponent var6 = var0.getComponent(var1, TransformComponent.getComponentType());
      assert var6 != null;
      Vector3d var7 = var6.getPosition();
      float var8 = ModelComponent.getEyeHeight(var1, var0);
      Vector3d var9 = new Vector3d(var7).add(0.0, var8, 0.0);
      selectNearbyEntities(var0, var9, var2, var4, var5);
   }

   class="kw">static void selectNearbyEntities(
      @Nonnull ComponentAccessor<EntityStore> var0,
      @Nonnull Vector3d var1,
      double var2,
      @Nonnull Consumer<Ref<EntityStore>> var4,
      @Nullable Predicate<Ref<EntityStore>> var5
   ) {
      List var6 = SpatialResource.getThreadLocalReferenceList();
      SpatialResource var7 = var0.getResource(EntityModule.get().getPlayerSpatialResourceType());
      var7.getSpatialStructure().collect(var1, var2, var6);
      SpatialResource var8 = var0.getResource(EntityModule.get().getEntitySpatialResourceType());
      var8.getSpatialStructure().collect(var1, var2, var6);
      SpatialResource var9 = var0.getResource(EntityModule.get().getItemSpatialResourceType());
      var9.getSpatialStructure().collect(var1, var2, var6);

      for (Ref var11 : var6) {
         if (var11 != null && var11.isValid() && (var5 == null || var5.test(var11))) {
            var4.accept(var11);
         }
      }
   }

   void tick(@Nonnull CommandBuffer<EntityStore> var1, @Nonnull Ref<EntityStore> var2, float var3, float var4);

   void selectTargetEntities(
      @Nonnull CommandBuffer<EntityStore> var1, @Nonnull Ref<EntityStore> var2, BiConsumer<Ref<EntityStore>, Vector4d> var3, Predicate<Ref<EntityStore>> var4
   );

   void selectTargetBlocks(@Nonnull CommandBuffer<EntityStore> var1, @Nonnull Ref<EntityStore> var2, @Nonnull Selector.BlockConsumer var3);

   @FunctionalInterface
   class="kw">interface BlockConsumer {
      void accept(int var1, int var2, int var3, int var4, int var5, int var6);
   }
}