Skip to content

Commit abb0dfa

Browse files
Merge pull request #5 from hapily04/arrow-improvements
feat: more accurate entity collision for arrows
2 parents 7938534 + 9d8c2a9 commit abb0dfa

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

src/main/java/ca/atlasengine/projectiles/AbstractProjectile.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,10 @@ protected boolean callEntityCollisionEvent(@NotNull Pos pos, @NotNull Entity ent
110110
}
111111

112112
protected boolean callEntityCollision() {
113+
return callEntityCollision(boundingBox);
114+
}
115+
116+
protected boolean callEntityCollision(BoundingBox boundingBox) {
113117
if (previousPhysicsResult == null) return false;
114118
var diff = previousPhysicsResult.newPosition().sub(previousPosition).asVec();
115119

src/main/java/ca/atlasengine/projectiles/entities/ArrowProjectile.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
// https://gist.github.com/hapily04/a463cbed41d2cfba04a58ecc62fa61f9
2626
public class ArrowProjectile extends AbstractProjectile {
2727
private static final BoundingBox SMALL_BOUNDING_BOX = new BoundingBox(0.01, 0.01, 0.01);
28+
private static final BoundingBox REGULAR_BOUNDING_BOX = EntityType.ARROW.registry().boundingBox();
2829

2930
private boolean critical = false;
3031
private boolean firstTick = true;
@@ -72,7 +73,7 @@ public void tick(long time) {
7273
setView(yaw, pitch);
7374
}
7475

75-
if (!callEntityCollision())
76+
if (!callEntityCollision(REGULAR_BOUNDING_BOX))
7677
callBlockCollision();
7778
}
7879

0 commit comments

Comments
 (0)