ProbeTestCommand class

Пакет: com.hypixel.hytale.server.npc.commands

Файл: com/hypixel/hytale/server/npc/commands/NPCTestCommand.java

extends: AbstractPlayerCommand

Поля (19)

МодификаторыТипИмя
BoundingBox var10
Box var11
TransformComponent var12
ModelComponent var13
Vector3d var14
Model var15
float var16
boolean var17
boolean var18
boolean var19
NPCPlugin var20
String var21
var21
var21
var21
CollisionResult var6
PositionProbeAir var7
PositionProbeWater var8
Player var9

Методы (2)

МодификаторыВозвратСигнатура
protected void executeprotected void execute(@Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5)
abstract super super("probe", "server.commands.npc.test.probe.desc")

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.commands;

class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.math.shape.Box;
class="kw">import com.hypixel.hytale.math.util.ChunkUtil;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.asset.type.model.config.Model;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractCommandCollection;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractPlayerCommand;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.modules.collision.CollisionModule;
class="kw">import com.hypixel.hytale.server.core.modules.collision.CollisionResult;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.BoundingBox;
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.PlayerRef;
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 com.hypixel.hytale.server.npc.NPCPlugin;
class="kw">import com.hypixel.hytale.server.npc.util.PositionProbeAir;
class="kw">import com.hypixel.hytale.server.npc.util.PositionProbeWater;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class NPCTestCommand class="kw">extends AbstractCommandCollection {
   class="kw">public NPCTestCommand() {
      super("test", "server.commands.npc.test.desc");
      this.addSubCommand(new NPCTestCommand.ProbeTestCommand());
   }

   class="kw">public class="kw">static class ProbeTestCommand class="kw">extends AbstractPlayerCommand {
      class="kw">public ProbeTestCommand() {
         super("probe", "server.commands.npc.test.probe.desc");
      }

      @Override
      class="kw">protected void execute(
         @Nonnull CommandContext var1, @Nonnull Store<EntityStore> var2, @Nonnull Ref<EntityStore> var3, @Nonnull PlayerRef var4, @Nonnull World var5
      ) {
         CollisionResult var6 = new CollisionResult();
         PositionProbeAir var7 = new PositionProbeAir();
         PositionProbeWater var8 = new PositionProbeWater();
         Player var9 = var2.getComponent(var3, Player.getComponentType());
         assert var9 != null;
         BoundingBox var10 = var2.getComponent(var3, BoundingBox.getComponentType());
         assert var10 != null;
         Box var11 = var10.getBoundingBox();
         TransformComponent var12 = var2.getComponent(var3, TransformComponent.getComponentType());
         assert var12 != null;
         ModelComponent var13 = var2.getComponent(var3, ModelComponent.getComponentType());
         assert var13 != null;
         Vector3d var14 = var12.getPosition();
         Model var15 = var13.getModel();
         float var16 = var15 != null ? var15.getEyeHeight(var3, var2) : 0.0F;
         boolean var17 = var7.probePosition(var3, var11, var14, var6, var2);
         boolean var18 = var8.probePosition(var3, var11, var14, var6, var16, var2);
         boolean var19 = CollisionModule.get().validatePosition(var5, var11, var14, 4, null, (var0, var1x, var2x, var3x) -> var3x.blockId != -1, var6) != -1;
         NPCPlugin var20 = NPCPlugin.get();
         String var21 = "Pos Y ["
            + var14.y
            + ", "
            + var11
            + "] Height="
            + var5.getChunk(ChunkUtil.indexChunkFromBlock(var14.x, var14.z)).getHeight(MathUtil.floor(var14.x), MathUtil.floor(var14.z));
         var1.sendMessage(Message.raw(var21));
         var20.getLogger().at(Level.INFO).log("%s", var21);
         var21 = "Air " + var17 + " " + var7;
         var1.sendMessage(Message.raw(var21));
         var20.getLogger().at(Level.INFO).log("%s", var21);
         var21 = "Water " + var18 + " " + var8;
         var1.sendMessage(Message.raw(var21));
         var20.getLogger().at(Level.INFO).log("%s", var21);
         var21 = "ValidatePosition " + var19;
         var1.sendMessage(Message.raw(var21));
         var20.getLogger().at(Level.INFO).log("%s", var21);
      }
   }
}