ForceKnockback class
Пакет: com.hypixel.hytale.server.core.modules.interaction.interaction.config.server.combat
Файл: com/hypixel/hytale/server/core/modules/interaction/interaction/config/server/combat/ForceKnockback.java
extends: Knockback
Поля (2)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
BuilderCodec<ForceKnockback> |
CODEC |
|
Vector3d |
var4 |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.interaction.interaction.config.server.combat;
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.math.vector.Vector3dUtil;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">public class ForceKnockback class="kw">extends Knockback {
class="kw">public class="kw">static class="kw">final BuilderCodec<ForceKnockback> CODEC = BuilderCodec.builder(ForceKnockback.class, ForceKnockback::new, Knockback.BASE_CODEC)
.appendInherited(
new KeyedCodec<>("Direction", Vector3dUtil.CODEC),
(var0, var1) -> var0.direction.set(var1),
var0 -> var0.direction,
(var0, var1) -> var0.direction.set(var1.direction)
)
.addValidator(Validators.nonNull())
.add()
.afterDecode(var0 -> var0.direction.normalize())
.build();
class="kw">private class="kw">final Vector3d direction = new Vector3d(Vector3dUtil.UP);
class="kw">public ForceKnockback() {
}
@Nonnull
@Override
class="kw">public Vector3d calculateVector(Vector3d var1, float var2, Vector3d var3) {
Vector3d var4 = new Vector3d(this.direction);
var4.rotateY(var2);
var4.mul(this.force);
class="kw">return var4;
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "ForceKnockback{direction=" + this.direction + "} " + super.toString();
}
}