BodyMotionTakeOff class
Пакет: com.hypixel.hytale.server.npc.corecomponents.movement
Файл: com/hypixel/hytale/server/npc/corecomponents/movement/BodyMotionTakeOff.java
extends: BodyMotionBase
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
double |
jumpSpeed |
|
NPCEntity |
var10 |
|
Vector3d |
var11 |
|
Role |
var8 |
|
TransformComponent |
var9 |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
|
super super(var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.corecomponents.movement;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
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 com.hypixel.hytale.server.npc.corecomponents.BodyMotionBase;
class="kw">import com.hypixel.hytale.server.npc.corecomponents.movement.builders.BuilderBodyMotionTakeOff;
class="kw">import com.hypixel.hytale.server.npc.entities.NPCEntity;
class="kw">import com.hypixel.hytale.server.npc.instructions.ExecutionSupport;
class="kw">import com.hypixel.hytale.server.npc.movement.Steering;
class="kw">import com.hypixel.hytale.server.npc.movement.controllers.MotionControllerFly;
class="kw">import com.hypixel.hytale.server.npc.role.Role;
class="kw">import com.hypixel.hytale.server.npc.sensorinfo.InfoProvider;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">public class BodyMotionTakeOff class="kw">extends BodyMotionBase {
class="kw">protected class="kw">final double jumpSpeed;
class="kw">public BodyMotionTakeOff(@Nonnull BuilderBodyMotionTakeOff var1) {
super(var1);
this.jumpSpeed = var1.getJumpSpeed();
}
@Override
class="kw">public boolean computeSteering(
@Nonnull Ref<EntityStore> var1,
@Nonnull ExecutionSupport var2,
@Nullable InfoProvider var3,
double var4,
@Nonnull Steering var6,
@Nonnull ComponentAccessor<EntityStore> var7
) {
Role var8 = var2.getRole();
assert var8 != null;
if (!var8.hasMotionController("Fly")) {
class="kw">return false;
}
if (!var2.getMotionContextSupport().getActiveMotionController().matchesType(MotionControllerFly.class)) {
TransformComponent var9 = var7.getComponent(var1, TransformComponent.getComponentType());
assert var9 != null;
NPCEntity var10 = var7.getComponent(var1, NPCEntity.getComponentType());
assert var10 != null;
var2.getRole().setActiveMotionController(var1, var10, "Fly", var7);
Vector3d var11 = var9.getPosition();
var11.y = var9.getPosition().y() + 0.1;
((MotionControllerFly)var2.getMotionContextSupport().getActiveMotionController()).takeOff(var1, this.jumpSpeed, var7);
}
class="kw">return false;
}
}