HyCodeYourTale
classpublicPriority 3

ForceKnockback

com.hypixel.hytale.server.core.modules.interaction.interaction.config.server.combat.ForceKnockback

extends Knockback

2

Methods

2

Public Methods

1

Fields

1

Constructors

Constants

BuilderCodec<ForceKnockback>CODEC= BuilderCodec.builder(ForceKnockback.class, ForceKnockback::new, Knockback.BASE_CODEC) .appe...

Constructors

public
ForceKnockback()

Methods

Public Methods (2)

public
Vector3d calculateVector(Vector3d source, float yaw, Vector3d target)
@Nonnull@Override
public
String toString()
@Nonnull@Override

Fields

Private/Package Fields (1)

privateVector3d direction

Inheritance

Parent
Current
Interface
Child

Use mouse wheel to zoom, drag to pan. Click nodes to navigate.

Related Classes

Source Code

package com.hypixel.hytale.server.core.modules.interaction.interaction.config.server.combat;

import com.hypixel.hytale.codec.KeyedCodec;
import com.hypixel.hytale.codec.builder.BuilderCodec;
import com.hypixel.hytale.codec.validation.Validators;
import com.hypixel.hytale.math.vector.Vector3d;
import javax.annotation.Nonnull;

public class ForceKnockback extends Knockback {
   public static final BuilderCodec<ForceKnockback> CODEC = BuilderCodec.builder(ForceKnockback.class, ForceKnockback::new, Knockback.BASE_CODEC)
      .appendInherited(new KeyedCodec<>("Direction", Vector3d.CODEC), (o, i) -> o.direction = i, o -> o.direction, (o, p) -> o.direction = p.direction)
      .addValidator(Validators.nonNull())
      .add()
      .afterDecode(i -> i.direction.normalize())
      .build();
   private Vector3d direction = Vector3d.UP;

   public ForceKnockback() {
   }

   @Nonnull
   @Override
   public Vector3d calculateVector(Vector3d source, float yaw, Vector3d target) {
      Vector3d vel = this.direction.clone();
      vel.rotateY(yaw);
      vel.scale((double)this.force);
      return vel;
   }

   @Nonnull
   @Override
   public String toString() {
      return "ForceKnockback{direction=" + this.direction + "} " + super.toString();
   }
}