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