Skip to content
This repository was archived by the owner on Jun 1, 2024. It is now read-only.

Commit

Permalink
Add EntityController#deltaMovement
Browse files Browse the repository at this point in the history
  • Loading branch information
gmitch215 committed Feb 4, 2024
1 parent d5839c4 commit 96ff0ce
Show file tree
Hide file tree
Showing 17 changed files with 282 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import me.gamercoder215.mobchip.ai.navigation.EntityNavigation;
import org.bukkit.Location;
import org.bukkit.entity.Entity;
import org.bukkit.util.Vector;
import org.jetbrains.annotations.NotNull;

/**
Expand All @@ -13,7 +14,7 @@
public interface EntityController {

/**
* Forces this Entity to jump.
* Forces this Entity to jump naturally.
* @return this controller, for chaining
*/
EntityController jump();
Expand Down Expand Up @@ -148,5 +149,77 @@ default EntityController moveTo(double x, double y, double z) {
* @return true if looking, else false
*/
boolean isLookingAtTarget();

/**
* Gets the Delta Movement of this Entity.
* @return Delta Movement
*/
@NotNull
Vector getDeltaMovement();

/**
* Sets the Delta Movement of this Entity.
* <p>Delta Movement is a vector representing the current motion of an entity. You can use it to manually change the direction of motion for an entity without calculating for any collisions.</p>
* @param delta Delta Movement
*/
void setDeltaMovement(@NotNull Vector delta);

/**
* Sets the Delta Movement of this Entity.
* @param x Δx
* @param y ΔY
* @param z ΔZ
*/
default void setDeltaMovement(double x, double y, double z) {
setDeltaMovement(new Vector(x, y, z));
}

/**
* Gets the ΔX of this Entity.
* @return ΔX
*/
default double getDeltaMovementX() {
return getDeltaMovement().getX();
}

/**
* Sets the ΔX of this Entity.
* @param x New ΔX
*/
default void setDeltaMovementX(double x) {
setDeltaMovement(new Vector(x, getDeltaMovementY(), getDeltaMovementZ()));
}

/**
* Gets the ΔY of this Entity.
* @return ΔY
*/
default double getDeltaMovementY() {
return getDeltaMovement().getY();
}

/**
* Sets the ΔY of this Entity.
* @param y New ΔY
*/
default void setDeltaMovementY(double y) {
setDeltaMovement(new Vector(getDeltaMovementX(), y, getDeltaMovementZ()));
}

/**
* Gets the ΔZ of this Entity.
* @return ΔZ
*/
default double getDeltaMovementZ() {
return getDeltaMovement().getZ();
}

/**
* Sets the ΔZ of this Entity.
* @param z New ΔZ
*/
default void setDeltaMovementZ(double z) {
setDeltaMovement(new Vector(getDeltaMovementX(), getDeltaMovementY(), z));
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.bukkit.Location;
import org.bukkit.entity.Mob;
import org.bukkit.util.Vector;
import org.jetbrains.annotations.NotNull;

final class EntityController1_13_R1 implements EntityController {

Expand Down Expand Up @@ -106,4 +107,16 @@ public EntityController lookAt(double x, double y, double z) {
return this;
}

@Override
public @NotNull Vector getDeltaMovement() {
return new Vector(nms.motX, nms.motY, nms.motZ);
}

@Override
public void setDeltaMovement(@NotNull Vector delta) {
nms.motX = delta.getX();
nms.motY = delta.getY();
nms.motZ = delta.getZ();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.bukkit.Location;
import org.bukkit.entity.Mob;
import org.bukkit.util.Vector;
import org.jetbrains.annotations.NotNull;

final class EntityController1_13_R2 implements EntityController {

Expand Down Expand Up @@ -106,4 +107,16 @@ public EntityController lookAt(double x, double y, double z) {
return this;
}

@Override
public @NotNull Vector getDeltaMovement() {
return new Vector(nms.motX, nms.motY, nms.motZ);
}

@Override
public void setDeltaMovement(@NotNull Vector delta) {
nms.motX = delta.getX();
nms.motY = delta.getY();
nms.motZ = delta.getZ();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.bukkit.Location;
import org.bukkit.entity.Mob;
import org.bukkit.util.Vector;
import org.jetbrains.annotations.NotNull;

final class EntityController1_14_R1 implements EntityController {

Expand Down Expand Up @@ -107,4 +108,16 @@ public EntityController lookAt(double x, double y, double z) {
return this;
}

@Override
public @NotNull Vector getDeltaMovement() {
Vec3D delta = nms.getMot();
return new Vector(delta.getX(), delta.getY(), delta.getZ());
}

@Override
public void setDeltaMovement(@NotNull Vector delta) {
Vec3D vec = new Vec3D(delta.getX(), delta.getY(), delta.getZ());
nms.setMot(vec);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.bukkit.Location;
import org.bukkit.entity.Mob;
import org.bukkit.util.Vector;
import org.jetbrains.annotations.NotNull;

final class EntityController1_15_R1 implements EntityController {

Expand Down Expand Up @@ -107,4 +108,16 @@ public EntityController lookAt(double x, double y, double z) {
return this;
}

@Override
public @NotNull Vector getDeltaMovement() {
Vec3D delta = nms.getMot();
return new Vector(delta.getX(), delta.getY(), delta.getZ());
}

@Override
public void setDeltaMovement(@NotNull Vector delta) {
Vec3D vec = new Vec3D(delta.getX(), delta.getY(), delta.getZ());
nms.setMot(vec);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.bukkit.Location;
import org.bukkit.entity.Mob;
import org.bukkit.util.Vector;
import org.jetbrains.annotations.NotNull;

final class EntityController1_16_R1 implements EntityController {

Expand Down Expand Up @@ -107,4 +108,16 @@ public EntityController lookAt(double x, double y, double z) {
return this;
}

@Override
public @NotNull Vector getDeltaMovement() {
Vec3D delta = nms.getMot();
return new Vector(delta.getX(), delta.getY(), delta.getZ());
}

@Override
public void setDeltaMovement(@NotNull Vector delta) {
Vec3D vec = new Vec3D(delta.getX(), delta.getY(), delta.getZ());
nms.setMot(vec);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.bukkit.Location;
import org.bukkit.entity.Mob;
import org.bukkit.util.Vector;
import org.jetbrains.annotations.NotNull;

final class EntityController1_16_R2 implements EntityController {

Expand Down Expand Up @@ -107,4 +108,16 @@ public EntityController lookAt(double x, double y, double z) {
return this;
}

@Override
public @NotNull Vector getDeltaMovement() {
Vec3D delta = nms.getMot();
return new Vector(delta.getX(), delta.getY(), delta.getZ());
}

@Override
public void setDeltaMovement(@NotNull Vector delta) {
Vec3D vec = new Vec3D(delta.getX(), delta.getY(), delta.getZ());
nms.setMot(vec);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.bukkit.Location;
import org.bukkit.entity.Mob;
import org.bukkit.util.Vector;
import org.jetbrains.annotations.NotNull;

final class EntityController1_16_R3 implements EntityController {

Expand Down Expand Up @@ -108,4 +109,16 @@ public EntityController lookAt(double x, double y, double z) {
return this;
}

@Override
public @NotNull Vector getDeltaMovement() {
Vec3D delta = nms.getMot();
return new Vector(delta.getX(), delta.getY(), delta.getZ());
}

@Override
public void setDeltaMovement(@NotNull Vector delta) {
Vec3D vec = new Vec3D(delta.getX(), delta.getY(), delta.getZ());
nms.setMot(vec);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import org.bukkit.Location;
import org.bukkit.entity.Mob;
import org.bukkit.util.Vector;
import org.jetbrains.annotations.NotNull;

final class EntityController1_17_R1 implements EntityController {

Expand Down Expand Up @@ -102,4 +103,16 @@ public EntityController lookAt(double x, double y, double z) {
return this;
}

@Override
public @NotNull Vector getDeltaMovement() {
Vec3D delta = nms.getMot();
return new Vector(delta.getX(), delta.getY(), delta.getZ());
}

@Override
public void setDeltaMovement(@NotNull Vector delta) {
Vec3D vec = new Vec3D(delta.getX(), delta.getY(), delta.getZ());
nms.setMot(vec);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import org.bukkit.Location;
import org.bukkit.entity.Mob;
import org.bukkit.util.Vector;
import org.jetbrains.annotations.NotNull;

final class EntityController1_18_R1 implements EntityController {

Expand Down Expand Up @@ -102,4 +103,16 @@ public EntityController lookAt(double x, double y, double z) {
return this;
}

@Override
public @NotNull Vector getDeltaMovement() {
Vec3 delta = nms.getDeltaMovement();
return new Vector(delta.x, delta.y, delta.z);
}

@Override
public void setDeltaMovement(@NotNull Vector delta) {
Vec3 vec = new Vec3(delta.getX(), delta.getY(), delta.getZ());
nms.setDeltaMovement(vec);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import org.bukkit.Location;
import org.bukkit.entity.Mob;
import org.bukkit.util.Vector;
import org.jetbrains.annotations.NotNull;

final class EntityController1_18_R2 implements EntityController {

Expand Down Expand Up @@ -102,4 +103,16 @@ public EntityController lookAt(double x, double y, double z) {
return this;
}

@Override
public @NotNull Vector getDeltaMovement() {
Vec3 delta = nms.getDeltaMovement();
return new Vector(delta.x, delta.y, delta.z);
}

@Override
public void setDeltaMovement(@NotNull Vector delta) {
Vec3 vec = new Vec3(delta.getX(), delta.getY(), delta.getZ());
nms.setDeltaMovement(vec);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import org.bukkit.Location;
import org.bukkit.entity.Mob;
import org.bukkit.util.Vector;
import org.jetbrains.annotations.NotNull;

final class EntityController1_19_R1 implements EntityController {

Expand Down Expand Up @@ -101,4 +102,16 @@ public EntityController lookAt(double x, double y, double z) {
return this;
}

@Override
public @NotNull Vector getDeltaMovement() {
Vec3 delta = nms.getDeltaMovement();
return new Vector(delta.x, delta.y, delta.z);
}

@Override
public void setDeltaMovement(@NotNull Vector delta) {
Vec3 vec = new Vec3(delta.getX(), delta.getY(), delta.getZ());
nms.setDeltaMovement(vec);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import org.bukkit.Location;
import org.bukkit.entity.Mob;
import org.bukkit.util.Vector;
import org.jetbrains.annotations.NotNull;

final class EntityController1_19_R2 implements EntityController {

Expand Down Expand Up @@ -101,4 +102,16 @@ public EntityController lookAt(double x, double y, double z) {
return this;
}

@Override
public @NotNull Vector getDeltaMovement() {
Vec3 delta = nms.getDeltaMovement();
return new Vector(delta.x, delta.y, delta.z);
}

@Override
public void setDeltaMovement(@NotNull Vector delta) {
Vec3 vec = new Vec3(delta.getX(), delta.getY(), delta.getZ());
nms.setDeltaMovement(vec);
}

}
Loading

0 comments on commit 96ff0ce

Please sign in to comment.