Instruction class

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

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

Поля (3)

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

Методы (3)

МодификаторыВозвратСигнатура
public VelocityConfig getConfigpublic VelocityConfig getConfig()
public ChangeVelocityType getTypepublic ChangeVelocityType getType()
public Vector3d getVelocitypublic Vector3d getVelocity()

Исходный код

Показать/скрыть
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;
      }
   }
}