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;
}
}
}