PhysicsValues class
Пакет: com.hypixel.hytale.server.core.modules.physics.component
Файл: com/hypixel/hytale/server/core/modules/physics/component/PhysicsValues.java
implements: Component<EntityStore>
Методы (7)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
double |
getDragCoefficientdouble getDragCoefficient() |
public |
double |
getMassdouble getMass() |
public |
boolean |
isInvertedGravityboolean isInvertedGravity() |
public |
void |
replaceValuesvoid replaceValues(@Nonnull PhysicsValues var1) |
public |
void |
resetToDefaultvoid resetToDefault() |
public |
void |
scalevoid scale(float var1) |
abstract |
|
this this(1.0, 0.5, false) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.physics.component;
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.validation.Validators;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.server.core.modules.entity.EntityModule;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">public class PhysicsValues class="kw">implements Component<EntityStore> {
@Nonnull
class="kw">public class="kw">static class="kw">final Double ZERO = 0.0;
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<PhysicsValues> CODEC = BuilderCodec.builder(PhysicsValues.class, PhysicsValues::new)
.append(new KeyedCodec<>("Mass", Codec.DOUBLE), (var0, var1) -> var0.mass = var1, var0 -> var0.mass)
.addValidator(Validators.greaterThan(ZERO))
.add()
.<Double>append(new KeyedCodec<>("DragCoefficient", Codec.DOUBLE), (var0, var1) -> var0.dragCoefficient = var1, var0 -> var0.dragCoefficient)
.addValidator(Validators.greaterThanOrEqual(ZERO))
.add()
.append(new KeyedCodec<>("InvertedGravity", Codec.BOOLEAN), (var0, var1) -> var0.invertedGravity = var1, var0 -> var0.invertedGravity)
.add()
.build();
class="kw">private class="kw">static class="kw">final double DEFAULT_MASS = 1.0;
class="kw">private class="kw">static class="kw">final double DEFAULT_DRAG_COEFFICIENT = 0.5;
class="kw">private class="kw">static class="kw">final boolean DEFAULT_INVERTED_GRAVITY = false;
class="kw">protected double mass;
class="kw">protected double dragCoefficient;
class="kw">protected boolean invertedGravity;
@Nonnull
class="kw">public class="kw">static ComponentType<EntityStore, PhysicsValues> getComponentType() {
class="kw">return EntityModule.get().getPhysicsValuesComponentType();
}
class="kw">public PhysicsValues() {
this(1.0, 0.5, false);
}
class="kw">public PhysicsValues(@Nonnull PhysicsValues var1) {
this(var1.mass, var1.dragCoefficient, var1.isInvertedGravity());
}
class="kw">public PhysicsValues(double var1, double var3, boolean var5) {
this.mass = var1;
this.dragCoefficient = var3;
this.invertedGravity = var5;
}
class="kw">public void replaceValues(@Nonnull PhysicsValues var1) {
this.mass = var1.mass;
this.dragCoefficient = var1.dragCoefficient;
this.invertedGravity = var1.invertedGravity;
}
class="kw">public void resetToDefault() {
this.mass = 1.0;
this.dragCoefficient = 0.5;
this.invertedGravity = false;
}
class="kw">public void scale(float var1) {
this.mass *= var1;
this.dragCoefficient *= var1;
}
class="kw">public double getMass() {
class="kw">return this.mass;
}
class="kw">public double getDragCoefficient() {
class="kw">return this.dragCoefficient;
}
class="kw">public boolean isInvertedGravity() {
class="kw">return this.invertedGravity;
}
@Nonnull
class="kw">public class="kw">static PhysicsValues getDefault() {
class="kw">return new PhysicsValues();
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "PhysicsValues{mass=" + this.mass + ", dragCoefficient=" + this.dragCoefficient + ", invertedGravity=" + this.invertedGravity + "}";
}
@Nonnull
@Override
class="kw">public Component<EntityStore> clone() {
class="kw">return new PhysicsValues(this);
}
}