DirectionalKnockback class

Пакет: com.hypixel.hytale.server.core.modules.interaction.interaction.config.server.combat

Файл: com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/combat/DirectionalKnockback.java

extends: Knockback

Поля (7)

МодификаторыТипИмя
final BuilderCodec<DirectionalKnockback> CODEC
Vector3d var11
double var12
Vector3d var4
Vector3d var5
double var7
double var9

Методы (2)

МодификаторыВозвратСигнатура
abstract return new Vector3dreturn new Vector3d(var12, var9, var7)
if if(this.relativeX != 0.0F || this.relativeZ != 0.0F)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.interaction.interaction.config.server.combat;

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 javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class DirectionalKnockback class="kw">extends Knockback {
   class="kw">public class="kw">static class="kw">final BuilderCodec<DirectionalKnockback> CODEC = BuilderCodec.builder(
         DirectionalKnockback.class, DirectionalKnockback::new, Knockback.BASE_CODEC
      )
      .append(new KeyedCodec<>("RelativeX", Codec.DOUBLE), (var0, var1) -> var0.relativeX = var1.floatValue(), var0 -> (double)var0.relativeX)
      .add()
      .append(new KeyedCodec<>("VelocityY", Codec.DOUBLE), (var0, var1) -> var0.velocityY = var1.floatValue(), var0 -> (double)var0.velocityY)
      .add()
      .append(new KeyedCodec<>("RelativeZ", Codec.DOUBLE), (var0, var1) -> var0.relativeZ = var1.floatValue(), var0 -> (double)var0.relativeZ)
      .add()
      .build();
   class="kw">protected float relativeX;
   class="kw">protected float velocityY;
   class="kw">protected float relativeZ;

   class="kw">public DirectionalKnockback() {
   }

   @Nonnull
   @Override
   class="kw">public Vector3d calculateVector(@Nonnull Vector3d var1, float var2, @Nonnull Vector3d var3) {
      Vector3d var4 = new Vector3d(var1).sub(var3);
      if (var4.lengthSquared() <= 1.0E-8) {
         Vector3d var5 = new Vector3d(0.0, 0.0, -1.0);
         var5.rotateY(var2);
         var4.set(var5);
      } else {
         var4.normalize();
      }

      if (this.relativeX != 0.0F || this.relativeZ != 0.0F) {
         Vector3d var11 = new Vector3d(this.relativeX, 0.0, this.relativeZ);
         var11.rotateY(var2);
         var4.add(var11);
      }

      double var12 = var4.x() * this.force;
      double var7 = var4.z() * this.force;
      double var9 = this.velocityY;
      class="kw">return new Vector3d(var12, var9, var7);
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "DirectionalKnockback{relativeX=" + this.relativeX + ", relativeZ=" + this.relativeZ + "}";
   }
}