PaperMC/paper-server/nms-patches/net/minecraft/world/item/ItemChorusFruit.patch

21 lines
999 B
Diff
Raw Normal View History

2021-03-15 23:00:00 +01:00
--- a/net/minecraft/world/item/ItemChorusFruit.java
+++ b/net/minecraft/world/item/ItemChorusFruit.java
@@ -39,7 +39,16 @@
Vec3D vec3d = entityliving.position();
- if (entityliving.randomTeleport(d3, d4, d5, true)) {
+ // CraftBukkit start - handle canceled status of teleport event
+ java.util.Optional<Boolean> status = entityliving.randomTeleport(d3, d4, d5, true, org.bukkit.event.player.PlayerTeleportEvent.TeleportCause.CHORUS_FRUIT);
+
+ if (!status.isPresent()) {
+ // teleport event was canceled, no more tries
+ break;
+ }
+
+ if (status.get()) {
+ // CraftBukkit end
world.gameEvent(GameEvent.TELEPORT, vec3d, GameEvent.a.of((Entity) entityliving));
SoundEffect soundeffect = entityliving instanceof EntityFox ? SoundEffects.FOX_TELEPORT : SoundEffects.CHORUS_FRUIT_TELEPORT;