PointKnockback class
Пакет: com.hypixel.hytale.server.core.modules.interaction.interaction.config.server.combat
Файл: com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/combat/PointKnockback.java
extends: Knockback
Поля (8)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
BuilderCodec<PointKnockback> |
CODEC |
|
double |
var10 |
|
double |
var12 |
|
Vector3d |
var4 |
|
|
var4 |
|
Vector3d |
var5 |
|
double |
var6 |
|
double |
var8 |
Методы (4)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
return new |
Vector3dreturn new Vector3d(var8, var12, var10) |
|
|
if if(this.offsetX != 0 || this.offsetZ != 0) |
|
|
if if(var6 > 1.0E-8) |
|
|
if if(this.rotateY != 0) |
Исходный код
Показать/скрыть
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 PointKnockback class="kw">extends Knockback {
class="kw">public class="kw">static class="kw">final BuilderCodec<PointKnockback> CODEC = BuilderCodec.builder(PointKnockback.class, PointKnockback::new, Knockback.BASE_CODEC)
.append(new KeyedCodec<>("VelocityY", Codec.DOUBLE), (var0, var1) -> var0.velocityY = var1.floatValue(), var0 -> (double)var0.velocityY)
.add()
.append(new KeyedCodec<>("RotateY", Codec.INTEGER), (var0, var1) -> var0.rotateY = var1, var0 -> var0.rotateY)
.add()
.append(new KeyedCodec<>("OffsetX", Codec.INTEGER), (var0, var1) -> var0.offsetX = var1, var0 -> var0.offsetX)
.add()
.append(new KeyedCodec<>("OffsetZ", Codec.INTEGER), (var0, var1) -> var0.offsetZ = var1, var0 -> var0.offsetZ)
.add()
.build();
class="kw">protected float velocityY;
class="kw">protected int rotateY;
class="kw">protected int offsetX;
class="kw">protected int offsetZ;
class="kw">public PointKnockback() {
}
@Nonnull
@Override
class="kw">public Vector3d calculateVector(@Nonnull Vector3d var1, float var2, @Nonnull Vector3d var3) {
Vector3d var4 = var1;
if (this.offsetX != 0 || this.offsetZ != 0) {
var4 = new Vector3d(this.offsetX, 0.0, this.offsetZ);
var4.rotateY(var2);
var4.add(var1);
}
Vector3d var5 = new Vector3d(var3).sub(var4);
double var6 = var5.lengthSquared();
if (var6 > 1.0E-8) {
var5.div(Math.sqrt(var6));
} else {
var5.set(0.0, 0.0, -1.0).rotateY(var2);
}
if (this.rotateY != 0) {
var5.rotateY(Math.toRadians(this.rotateY));
}
double var8 = var5.x() * this.force;
double var10 = var5.z() * this.force;
double var12 = this.velocityY;
class="kw">return new Vector3d(var8, var12, var10);
}
}