9
0
mirror of https://github.com/Samsuik/Sakura.git synced 2026-01-03 22:16:38 +00:00

fix using the wrong teleportation position

This commit is contained in:
Samsuik
2025-08-25 00:07:37 +01:00
parent 95278079e2
commit eace2abc6f

View File

@@ -5,9 +5,9 @@
Vec3 vec3 = this.oldPosition();
if (owner instanceof ServerPlayer serverPlayer) {
+ // Sakura start - prevent ender pearls teleporting inside blocks
+ if (this.level().sakuraConfig().entity.enderPearl.preventTeleportingInsideBlocks && serverPlayer.insideAnyCollisionAt(serverLevel, this.position())) {
+ this.setPos(Vec3.atBottomCenterOf(this.blockPosition()));
+ if (serverPlayer.insideAnyCollisionAt(serverLevel, this.position())) {
+ if (this.level().sakuraConfig().entity.enderPearl.preventTeleportingInsideBlocks && serverPlayer.insideAnyCollisionAt(serverLevel, vec3)) {
+ vec3 = Vec3.atBottomCenterOf(this.blockPosition()); // teleportation position
+ if (serverPlayer.insideAnyCollisionAt(serverLevel, vec3)) {
+ this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.HIT);
+ return;
+ }