SetClientVelocity class

Пакет: com.hypixel.hytale.server.core.modules.entity.player

Файл: com/hypixel/hytale/server/core/modules/entity/player/PlayerInput.java

implements: PlayerInput.InputUpdate

Поля (2)

МодификаторыТипИмя
Velocity var4
private final Vector3d velocity

Методы (4)

МодификаторыВозвратСигнатура
public void applypublic void apply(CommandBuffer<EntityStore> var1, @Nonnull ArchetypeChunk<EntityStore> var2, int var3)
public PlayerInput.InputUpdate clonepublic PlayerInput.InputUpdate clone()
public Vector3d getVelocitypublic Vector3d getVelocity()
if if(var4 != null)

Исходный код

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

class="kw">import com.hypixel.hytale.component.ArchetypeChunk;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.protocol.Direction;
class="kw">import com.hypixel.hytale.protocol.MovementStates;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.entity.movement.MovementStatesComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.EntityModule;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.HeadRotation;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.modules.physics.component.Velocity;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class PlayerInput class="kw">implements Component<EntityStore> {
   @Nonnull
   class="kw">private class="kw">final List<PlayerInput.InputUpdate> inputUpdateQueue = new ObjectArrayList();
   class="kw">private int mountId;

   class="kw">public PlayerInput() {
   }

   class="kw">public class="kw">static ComponentType<EntityStore, PlayerInput> getComponentType() {
      class="kw">return EntityModule.get().getPlayerInputComponentType();
   }

   class="kw">public void queue(PlayerInput.InputUpdate var1) {
      this.inputUpdateQueue.add(var1);
   }

   @Nonnull
   class="kw">public List<PlayerInput.InputUpdate> getMovementUpdateQueue() {
      class="kw">return this.inputUpdateQueue;
   }

   class="kw">public int getMountId() {
      class="kw">return this.mountId;
   }

   class="kw">public void setMountId(int var1) {
      this.mountId = var1;
   }

   @Nonnull
   @Override
   class="kw">public Component<EntityStore> clone() {
      PlayerInput var1 = new PlayerInput();

      for (PlayerInput.InputUpdate var3 : this.inputUpdateQueue) {
         var1.inputUpdateQueue.add(var3.clone());
      }

      var1.mountId = this.mountId;
      class="kw">return var1;
   }

   class="kw">public class="kw">static class AbsoluteMovement class="kw">implements PlayerInput.InputUpdate {
      class="kw">private double x;
      class="kw">private double y;
      class="kw">private double z;

      class="kw">public AbsoluteMovement(double var1, double var3, double var5) {
         this.x = var1;
         this.y = var3;
         this.z = var5;
      }

      class="kw">public double getX() {
         class="kw">return this.x;
      }

      class="kw">public void setX(double var1) {
         this.x = var1;
      }

      class="kw">public double getY() {
         class="kw">return this.y;
      }

      class="kw">public void setY(double var1) {
         this.y = var1;
      }

      class="kw">public double getZ() {
         class="kw">return this.z;
      }

      class="kw">public void setZ(double var1) {
         this.z = var1;
      }

      @Override
      class="kw">public void apply(@Nonnull CommandBuffer<EntityStore> var1, @Nonnull ArchetypeChunk<EntityStore> var2, int var3) {
         Ref var4 = var2.getReferenceTo(var3);
         Player var5 = var2.getComponent(var3, Player.getComponentType());
         assert var5 != null;
         var5.moveTo(var4, this.x, this.y, this.z, var1);
      }

      @Override
      class="kw">public PlayerInput.InputUpdate clone() {
         class="kw">return new PlayerInput.AbsoluteMovement(this.x, this.y, this.z);
      }
   }

   class="kw">public class="kw">interface InputUpdate {
      void apply(CommandBuffer<EntityStore> var1, ArchetypeChunk<EntityStore> var2, int var3);

      PlayerInput.InputUpdate clone();
   }

   class="kw">public class="kw">static class RelativeMovement class="kw">implements PlayerInput.InputUpdate {
      class="kw">private double x;
      class="kw">private double y;
      class="kw">private double z;

      class="kw">public RelativeMovement(double var1, double var3, double var5) {
         this.x = var1;
         this.y = var3;
         this.z = var5;
      }

      class="kw">public double getX() {
         class="kw">return this.x;
      }

      class="kw">public void setX(double var1) {
         this.x = var1;
      }

      class="kw">public double getY() {
         class="kw">return this.y;
      }

      class="kw">public void setY(double var1) {
         this.y = var1;
      }

      class="kw">public double getZ() {
         class="kw">return this.z;
      }

      class="kw">public void setZ(double var1) {
         this.z = var1;
      }

      @Override
      class="kw">public void apply(@Nonnull CommandBuffer<EntityStore> var1, @Nonnull ArchetypeChunk<EntityStore> var2, int var3) {
         Ref var4 = var2.getReferenceTo(var3);
         Player var5 = var2.getComponent(var3, Player.getComponentType());
         assert var5 != null;
         TransformComponent var6 = var2.getComponent(var3, TransformComponent.getComponentType());
         assert var6 != null;
         Vector3d var7 = var6.getPosition();
         var5.moveTo(var4, var7.x + this.x, var7.y + this.y, var7.z + this.z, var1);
      }

      @Override
      class="kw">public PlayerInput.InputUpdate clone() {
         class="kw">return new PlayerInput.RelativeMovement(this.x, this.y, this.z);
      }
   }

   class="kw">public record SetBody(Direction direction) class="kw">implements PlayerInput.InputUpdate {
      class="kw">public SetBody {
      }

      @Override
      class="kw">public void apply(CommandBuffer<EntityStore> var1, @Nonnull ArchetypeChunk<EntityStore> var2, int var3) {
         TransformComponent var4 = var2.getComponent(var3, TransformComponent.getComponentType());
         if (var4 != null) {
            var4.getRotation().set(this.direction.pitch, this.direction.yaw, this.direction.roll);
         }
      }

      @Override
      class="kw">public PlayerInput.InputUpdate clone() {
         class="kw">return new PlayerInput.SetBody(this.direction.clone());
      }
   }

   class="kw">public class="kw">static class SetClientVelocity class="kw">implements PlayerInput.InputUpdate {
      class="kw">private class="kw">final Vector3d velocity;

      class="kw">public SetClientVelocity(com.hypixel.hytale.protocol.Vector3d var1) {
         this.velocity = new Vector3d(var1.x, var1.y, var1.z);
      }

      class="kw">public SetClientVelocity(Vector3d var1) {
         this.velocity = var1;
      }

      class="kw">public Vector3d getVelocity() {
         class="kw">return this.velocity;
      }

      @Override
      class="kw">public void apply(CommandBuffer<EntityStore> var1, @Nonnull ArchetypeChunk<EntityStore> var2, int var3) {
         Velocity var4 = var2.getComponent(var3, Velocity.getComponentType());
         if (var4 != null) {
            var4.setClient(this.velocity);
         }
      }

      @Override
      class="kw">public PlayerInput.InputUpdate clone() {
         class="kw">return new PlayerInput.SetClientVelocity(new Vector3d(this.velocity));
      }
   }

   class="kw">public record SetHead(Direction direction) class="kw">implements PlayerInput.InputUpdate {
      class="kw">public SetHead {
      }

      @Override
      class="kw">public void apply(CommandBuffer<EntityStore> var1, @Nonnull ArchetypeChunk<EntityStore> var2, int var3) {
         HeadRotation var4 = var2.getComponent(var3, HeadRotation.getComponentType());
         if (var4 != null) {
            var4.getRotation().set(this.direction.pitch, this.direction.yaw, this.direction.roll);
         }
      }

      @Override
      class="kw">public PlayerInput.InputUpdate clone() {
         class="kw">return new PlayerInput.SetHead(this.direction.clone());
      }
   }

   class="kw">public record SetMovementStates(MovementStates movementStates) class="kw">implements PlayerInput.InputUpdate {
      class="kw">public SetMovementStates {
      }

      @Override
      class="kw">public void apply(CommandBuffer<EntityStore> var1, @Nonnull ArchetypeChunk<EntityStore> var2, int var3) {
         MovementStatesComponent var4 = var2.getComponent(var3, MovementStatesComponent.getComponentType());
         if (var4 != null) {
            var4.setMovementStates(this.movementStates);
         }
      }

      @Override
      class="kw">public PlayerInput.InputUpdate clone() {
         class="kw">return new PlayerInput.SetMovementStates(this.movementStates.clone());
      }
   }

   class="kw">public record SetRiderMovementStates(MovementStates movementStates) class="kw">implements PlayerInput.InputUpdate {
      class="kw">public SetRiderMovementStates {
      }

      @Override
      class="kw">public void apply(CommandBuffer<EntityStore> var1, ArchetypeChunk<EntityStore> var2, int var3) {
      }

      @Override
      class="kw">public PlayerInput.InputUpdate clone() {
         class="kw">return new PlayerInput.SetRiderMovementStates(this.movementStates.clone());
      }
   }

   class="kw">public class="kw">static class WishMovement class="kw">implements PlayerInput.InputUpdate {
      class="kw">private double x;
      class="kw">private double y;
      class="kw">private double z;

      class="kw">public WishMovement(double var1, double var3, double var5) {
         this.x = var1;
         this.y = var3;
         this.z = var5;
      }

      class="kw">public double getX() {
         class="kw">return this.x;
      }

      class="kw">public void setX(double var1) {
         this.x = var1;
      }

      class="kw">public double getY() {
         class="kw">return this.y;
      }

      class="kw">public void setY(double var1) {
         this.y = var1;
      }

      class="kw">public double getZ() {
         class="kw">return this.z;
      }

      class="kw">public void setZ(double var1) {
         this.z = var1;
      }

      @Override
      class="kw">public void apply(CommandBuffer<EntityStore> var1, ArchetypeChunk<EntityStore> var2, int var3) {
      }

      @Override
      class="kw">public PlayerInput.InputUpdate clone() {
         class="kw">return new PlayerInput.WishMovement(this.x, this.y, this.z);
      }
   }
}