StandardPhysicsConfig class
Пакет: com.hypixel.hytale.server.core.modules.projectile.config
Файл: com/hypixel/hytale/server/core/modules/projectile/config/StandardPhysicsConfig.java
implements: PhysicsConfig
Поля (6)
| Модификаторы | Тип | Имя |
|---|---|---|
|
com.hypixel.hytale.protocol.PhysicsConfig |
var1 |
|
UUID |
var6 |
|
|
var6 |
|
|
var6 |
|
UUIDComponent |
var7 |
|
BoundingBox |
var8 |
Методы (9)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
int |
getBounceCountint getBounceCount() |
public |
double |
getBounceLimitdouble getBounceLimit() |
public |
double |
getBouncinessdouble getBounciness() |
public |
double |
getHitWaterImpulseLossdouble getHitWaterImpulseLoss() |
public |
double |
getRollingFrictionFactordouble getRollingFrictionFactor() |
public |
double |
getSwimmingDampingFactordouble getSwimmingDampingFactor() |
|
|
if if(var2 != null) |
public |
boolean |
isAllowRollingboolean isAllowRolling() |
public |
boolean |
isSticksVerticallyboolean isSticksVertically() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.projectile.config;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.EnumCodec;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Holder;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.protocol.PhysicsType;
class="kw">import com.hypixel.hytale.protocol.RotationMode;
class="kw">import com.hypixel.hytale.server.core.entity.UUIDComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.BoundingBox;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.UUID;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">public class StandardPhysicsConfig class="kw">implements PhysicsConfig {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<StandardPhysicsConfig> CODEC = BuilderCodec.builder(StandardPhysicsConfig.class, StandardPhysicsConfig::new)
.appendInherited(
new KeyedCodec<>("Density", Codec.DOUBLE), (var0, var1) -> var0.density = var1, var0 -> var0.density, (var0, var1) -> var0.density = var1.density
)
.add()
.appendInherited(
new KeyedCodec<>("Gravity", Codec.DOUBLE), (var0, var1) -> var0.gravity = var1, var0 -> var0.gravity, (var0, var1) -> var0.gravity = var1.gravity
)
.add()
.<Double>appendInherited(
new KeyedCodec<>("Bounciness", Codec.DOUBLE),
(var0, var1) -> var0.bounciness = var1,
var0 -> var0.bounciness,
(var0, var1) -> var0.bounciness = var1.bounciness
)
.addValidator(Validators.range(0.0, 1.0))
.add()
.appendInherited(
new KeyedCodec<>("BounceLimit", Codec.DOUBLE),
(var0, var1) -> var0.bounceLimit = var1,
var0 -> var0.bounceLimit,
(var0, var1) -> var0.bounceLimit = var1.bounceLimit
)
.add()
.appendInherited(
new KeyedCodec<>("BounceCount", Codec.INTEGER),
(var0, var1) -> var0.bounceCount = var1,
var0 -> var0.bounceCount,
(var0, var1) -> var0.bounceCount = var1.bounceCount
)
.add()
.appendInherited(
new KeyedCodec<>("SticksVertically", Codec.BOOLEAN),
(var0, var1) -> var0.sticksVertically = var1,
var0 -> var0.sticksVertically,
(var0, var1) -> var0.sticksVertically = var1.sticksVertically
)
.add()
.appendInherited(
new KeyedCodec<>("ComputeYaw", Codec.BOOLEAN),
(var0, var1) -> var0.computeYaw = var1,
var0 -> var0.computeYaw,
(var0, var1) -> var0.computeYaw = var1.computeYaw
)
.add()
.appendInherited(
new KeyedCodec<>("ComputePitch", Codec.BOOLEAN),
(var0, var1) -> var0.computePitch = var1,
var0 -> var0.computePitch,
(var0, var1) -> var0.computePitch = var1.computePitch
)
.add()
.appendInherited(
new KeyedCodec<>("RotationMode", new EnumCodec<>(RotationMode.class)),
(var0, var1) -> var0.rotationMode = var1,
var0 -> var0.rotationMode,
(var0, var1) -> var0.rotationMode = var1.rotationMode
)
.add()
.appendInherited(
new KeyedCodec<>("MoveOutOfSolidSpeed", Codec.DOUBLE),
(var0, var1) -> var0.moveOutOfSolidSpeed = var1,
var0 -> var0.moveOutOfSolidSpeed,
(var0, var1) -> var0.moveOutOfSolidSpeed = var1.moveOutOfSolidSpeed
)
.add()
.<Double>appendInherited(
new KeyedCodec<>("TerminalVelocityAir", Codec.DOUBLE),
(var0, var1) -> var0.terminalVelocityAir = var1,
var0 -> var0.terminalVelocityAir,
(var0, var1) -> var0.terminalVelocityAir = var1.terminalVelocityAir
)
.addValidator(Validators.greaterThan(0.0))
.add()
.appendInherited(
new KeyedCodec<>("DensityAir", Codec.DOUBLE),
(var0, var1) -> var0.densityAir = var1,
var0 -> var0.densityAir,
(var0, var1) -> var0.densityAir = var1.densityAir
)
.add()
.<Double>appendInherited(
new KeyedCodec<>("TerminalVelocityWater", Codec.DOUBLE),
(var0, var1) -> var0.terminalVelocityWater = var1,
var0 -> var0.terminalVelocityWater,
(var0, var1) -> var0.terminalVelocityWater = var1.terminalVelocityWater
)
.addValidator(Validators.greaterThan(0.0))
.add()
.appendInherited(
new KeyedCodec<>("DensityWater", Codec.DOUBLE),
(var0, var1) -> var0.densityWater = var1,
var0 -> var0.densityWater,
(var0, var1) -> var0.densityWater = var1.densityWater
)
.add()
.appendInherited(
new KeyedCodec<>("HitWaterImpulseLoss", Codec.DOUBLE),
(var0, var1) -> var0.hitWaterImpulseLoss = var1,
var0 -> var0.hitWaterImpulseLoss,
(var0, var1) -> var0.hitWaterImpulseLoss = var1.hitWaterImpulseLoss
)
.add()
.appendInherited(
new KeyedCodec<>("RotationForce", Codec.DOUBLE),
(var0, var1) -> var0.rotationForce = var1,
var0 -> var0.rotationForce,
(var0, var1) -> var0.rotationForce = var1.rotationForce
)
.add()
.appendInherited(
new KeyedCodec<>("SpeedRotationFactor", Codec.FLOAT),
(var0, var1) -> var0.speedRotationFactor = var1,
var0 -> var0.speedRotationFactor,
(var0, var1) -> var0.speedRotationFactor = var1.speedRotationFactor
)
.add()
.appendInherited(
new KeyedCodec<>("SwimmingDampingFactor", Codec.DOUBLE),
(var0, var1) -> var0.swimmingDampingFactor = var1,
var0 -> var0.swimmingDampingFactor,
(var0, var1) -> var0.swimmingDampingFactor = var1.swimmingDampingFactor
)
.add()
.appendInherited(
new KeyedCodec<>("AllowRolling", Codec.BOOLEAN),
(var0, var1) -> var0.allowRolling = var1,
var0 -> var0.allowRolling,
(var0, var1) -> var0.allowRolling = var1.allowRolling
)
.add()
.appendInherited(
new KeyedCodec<>("RollingFrictionFactor", Codec.DOUBLE),
(var0, var1) -> var0.rollingFrictionFactor = var1,
var0 -> var0.rollingFrictionFactor,
(var0, var1) -> var0.rollingFrictionFactor = var1.rollingFrictionFactor
)
.add()
.appendInherited(
new KeyedCodec<>("RollingSpeed", Codec.FLOAT),
(var0, var1) -> var0.rollingSpeed = var1,
var0 -> var0.rollingSpeed,
(var0, var1) -> var0.rollingSpeed = var1.rollingSpeed
)
.add()
.build();
class="kw">public class="kw">static class="kw">final StandardPhysicsConfig DEFAULT = new StandardPhysicsConfig();
class="kw">protected class="kw">static class="kw">final double HIT_WATER_IMPULSE_LOSS = 0.2;
class="kw">protected class="kw">static class="kw">final double ROTATION_FORCE = 3.0;
class="kw">protected class="kw">static class="kw">final float SPEED_ROTATION_FACTOR = 2.0F;
class="kw">protected class="kw">static class="kw">final double SWIMMING_DAMPING_FACTOR = 1.0;
class="kw">protected double density = 700.0;
class="kw">protected double gravity;
class="kw">protected double bounciness;
class="kw">protected int bounceCount = -1;
class="kw">protected double bounceLimit = 0.4;
class="kw">protected boolean sticksVertically;
class="kw">protected boolean computeYaw = true;
class="kw">protected boolean computePitch = true;
@Nonnull
class="kw">protected RotationMode rotationMode = RotationMode.VelocityDamped;
class="kw">protected boolean allowRolling = false;
class="kw">protected double rollingFrictionFactor = 0.99;
class="kw">protected float rollingSpeed = 0.1F;
class="kw">protected double moveOutOfSolidSpeed;
class="kw">protected double terminalVelocityAir = 1.0;
class="kw">protected double densityAir = 1.2;
class="kw">protected double terminalVelocityWater = 1.0;
class="kw">protected double densityWater = 998.0;
class="kw">protected double hitWaterImpulseLoss = 0.2;
class="kw">protected double rotationForce = 3.0;
class="kw">protected float speedRotationFactor = 2.0F;
class="kw">protected double swimmingDampingFactor = 1.0;
class="kw">public StandardPhysicsConfig() {
}
@Override
class="kw">public double getGravity() {
class="kw">return this.gravity;
}
@Override
class="kw">public void apply(
@Nonnull Holder<EntityStore> var1, @Nullable Ref<EntityStore> var2, @Nonnull Vector3d var3, @Nonnull ComponentAccessor<EntityStore> var4, boolean var5
) {
UUID var6;
if (var2 != null) {
UUIDComponent var7 = var4.getComponent(var2, UUIDComponent.getComponentType());
assert var7 != null;
var6 = var7.getUuid();
} else {
var6 = null;
}
BoundingBox var8 = var1.getComponent(BoundingBox.getComponentType());
assert var8 != null;
var1.addComponent(StandardPhysicsProvider.getComponentType(), new StandardPhysicsProvider(var8, var6, this, var3, var5));
}
@Nonnull
class="kw">public com.hypixel.hytale.protocol.PhysicsConfig toPacket() {
com.hypixel.hytale.protocol.PhysicsConfig var1 = new com.hypixel.hytale.protocol.PhysicsConfig();
var1.type = PhysicsType.Standard;
var1.density = this.density;
var1.gravity = this.gravity;
var1.bounciness = this.bounciness;
var1.bounceCount = this.bounceCount;
var1.bounceLimit = this.bounceLimit;
var1.sticksVertically = this.sticksVertically;
var1.computeYaw = this.computeYaw;
var1.computePitch = this.computePitch;
var1.rotationMode = this.rotationMode;
var1.moveOutOfSolidSpeed = this.moveOutOfSolidSpeed;
var1.terminalVelocityAir = this.terminalVelocityAir;
var1.densityAir = this.densityAir;
var1.terminalVelocityWater = this.terminalVelocityWater;
var1.densityWater = this.densityWater;
var1.hitWaterImpulseLoss = this.hitWaterImpulseLoss;
var1.rotationForce = this.rotationForce;
var1.speedRotationFactor = this.speedRotationFactor;
var1.swimmingDampingFactor = this.swimmingDampingFactor;
var1.allowRolling = this.allowRolling;
var1.rollingFrictionFactor = this.rollingFrictionFactor;
var1.rollingSpeed = this.rollingSpeed;
class="kw">return var1;
}
class="kw">public double getBounciness() {
class="kw">return this.bounciness;
}
class="kw">public int getBounceCount() {
class="kw">return this.bounceCount;
}
class="kw">public double getBounceLimit() {
class="kw">return this.bounceLimit;
}
class="kw">public boolean isSticksVertically() {
class="kw">return this.sticksVertically;
}
class="kw">public boolean isAllowRolling() {
class="kw">return this.allowRolling;
}
class="kw">public double getRollingFrictionFactor() {
class="kw">return this.rollingFrictionFactor;
}
class="kw">public double getSwimmingDampingFactor() {
class="kw">return this.swimmingDampingFactor;
}
class="kw">public double getHitWaterImpulseLoss() {
class="kw">return this.hitWaterImpulseLoss;
}
}