Velocity class

Пакет: com.hypixel.hytale.server.core.modules.physics.component

Файл: com/hypixel/hytale/server/core/modules/physics/component/Velocity.java

implements: Component<EntityStore>

Поля (3)

МодификаторыТипИмя
private final VelocityConfig config
private final ChangeVelocityType type
private final Vector3d velocity

Методы (19)

МодификаторыВозвратСигнатура
public Instructionpublic Instruction(@Nonnull Vector3d var1, @Nullable VelocityConfig var2, @Nonnull ChangeVelocityType var3)
public void addInstructionvoid addInstruction(@Nonnull Vector3d var1, @Nullable VelocityConfig var2, @Nonnull ChangeVelocityType var3)
public void addVelocityvoid addVelocity(@Nonnull Vector3d var1)
public void addVelocityvoid addVelocity(double var1, double var3, double var5)
public VelocityConfig getConfigpublic VelocityConfig getConfig()
public double getSpeeddouble getSpeed()
public ChangeVelocityType getTypepublic ChangeVelocityType getType()
public Vector3d getVelocitypublic Vector3d getVelocity()
public double getXdouble getX()
public double getYdouble getY()
public double getZdouble getZ()
public void setvoid set(@Nonnull Vector3d var1)
public void setvoid set(double var1, double var3, double var5)
public void setClientvoid setClient(@Nonnull Vector3d var1)
public void setClientvoid setClient(double var1, double var3, double var5)
public void setXvoid setX(double var1)
public void setYvoid setY(double var1)
public void setZvoid setZ(double var1)
public void setZerovoid setZero()

Исходный код

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

class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.math.vector.Vector3dUtil;
class="kw">import com.hypixel.hytale.protocol.ChangeVelocityType;
class="kw">import com.hypixel.hytale.server.core.modules.entity.EntityModule;
class="kw">import com.hypixel.hytale.server.core.modules.splitvelocity.VelocityConfig;
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 javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;

class="kw">public class Velocity class="kw">implements Component<EntityStore> {
   @Nonnull
   class="kw">public class="kw">static class="kw">final BuilderCodec<Velocity> CODEC = BuilderCodec.builder(Velocity.class, Velocity::new)
      .append(new KeyedCodec<>("Velocity", Vector3dUtil.CODEC), (var0, var1) -> var0.velocity.set(var1), var0 -> var0.velocity)
      .add()
      .build();
   @Nonnull
   class="kw">protected class="kw">final List<Velocity.Instruction> instructions = new ObjectArrayList();
   @Nonnull
   class="kw">protected class="kw">final Vector3d velocity = new Vector3d();
   @Nonnull
   class="kw">protected class="kw">final Vector3d clientVelocity = new Vector3d();

   @Nonnull
   class="kw">public class="kw">static ComponentType<EntityStore, Velocity> getComponentType() {
      class="kw">return EntityModule.get().getVelocityComponentType();
   }

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

   class="kw">public Velocity(@Nonnull Velocity var1) {
      this(new Vector3d(var1.velocity));
   }

   class="kw">public Velocity(@Nonnull Vector3d var1) {
      this.velocity.set(var1);
   }

   class="kw">public void setZero() {
      this.set(0.0, 0.0, 0.0);
   }

   class="kw">public void addVelocity(@Nonnull Vector3d var1) {
      this.velocity.add(var1);
   }

   class="kw">public void addVelocity(double var1, double var3, double var5) {
      this.velocity.add(var1, var3, var5);
   }

   class="kw">public void set(@Nonnull Vector3d var1) {
      this.set(var1.x(), var1.y(), var1.z());
   }

   class="kw">public void set(double var1, double var3, double var5) {
      this.velocity.set(var1, var3, var5);
   }

   class="kw">public void setClient(@Nonnull Vector3d var1) {
      this.setClient(var1.x(), var1.y(), var1.z());
   }

   class="kw">public void setClient(double var1, double var3, double var5) {
      this.clientVelocity.set(var1, var3, var5);
   }

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

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

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

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

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

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

   class="kw">public double getSpeed() {
      class="kw">return this.velocity.length();
   }

   class="kw">public void addInstruction(@Nonnull Vector3d var1, @Nullable VelocityConfig var2, @Nonnull ChangeVelocityType var3) {
      this.instructions.add(new Velocity.Instruction(var1, var2, var3));
   }

   @Nonnull
   class="kw">public List<Velocity.Instruction> getInstructions() {
      class="kw">return this.instructions;
   }

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

   @Nonnull
   class="kw">public Vector3d getClientVelocity() {
      class="kw">return this.clientVelocity;
   }

   @Nonnull
   class="kw">public Vector3d assignVelocityTo(@Nonnull Vector3d var1) {
      class="kw">return var1.set(this.velocity);
   }

   @Nonnull
   @Override
   class="kw">public Component<EntityStore> clone() {
      class="kw">return new Velocity(this);
   }

   class="kw">public class="kw">static class="kw">final class Instruction {
      @Nonnull
      class="kw">private class="kw">final Vector3d velocity;
      @Nullable
      class="kw">private class="kw">final VelocityConfig config;
      @Nonnull
      class="kw">private class="kw">final ChangeVelocityType type;

      class="kw">public Instruction(@Nonnull Vector3d var1, @Nullable VelocityConfig var2, @Nonnull ChangeVelocityType var3) {
         this.velocity = var1;
         this.config = var2;
         this.type = var3;
      }

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

      @Nullable
      class="kw">public VelocityConfig getConfig() {
         class="kw">return this.config;
      }

      @Nonnull
      class="kw">public ChangeVelocityType getType() {
         class="kw">return this.type;
      }
   }
}