diff options
author | md_5 <git@md-5.net> | 2016-03-06 09:46:57 +1100 |
---|---|---|
committer | md_5 <git@md-5.net> | 2016-03-06 09:46:57 +1100 |
commit | 249c5f0680e9bb69192aa4c3df12365567ba0372 (patch) | |
tree | c70d8500199f501cf4b059d1912ce418a8b7deb9 | |
parent | ac251f0cf9767e97ebdf1664c26cc9a565298843 (diff) | |
download | craftbukkit-249c5f0680e9bb69192aa4c3df12365567ba0372.tar craftbukkit-249c5f0680e9bb69192aa4c3df12365567ba0372.tar.gz craftbukkit-249c5f0680e9bb69192aa4c3df12365567ba0372.tar.lz craftbukkit-249c5f0680e9bb69192aa4c3df12365567ba0372.tar.xz craftbukkit-249c5f0680e9bb69192aa4c3df12365567ba0372.zip |
SPIGOT-1773: Chorus fruit teleport reason
-rw-r--r-- | nms-patches/ItemChorusFruit.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/nms-patches/ItemChorusFruit.patch b/nms-patches/ItemChorusFruit.patch new file mode 100644 index 00000000..d2606afd --- /dev/null +++ b/nms-patches/ItemChorusFruit.patch @@ -0,0 +1,32 @@ +--- a/net/minecraft/server/ItemChorusFruit.java ++++ b/net/minecraft/server/ItemChorusFruit.java +@@ -1,5 +1,11 @@ + package net.minecraft.server; + ++// CraftBukkit start ++import org.bukkit.Location; ++import org.bukkit.entity.Player; ++import org.bukkit.event.player.PlayerTeleportEvent; ++// CraftBukkit end ++ + public class ItemChorusFruit extends ItemFood { + + public ItemChorusFruit(int i, float f) { +@@ -19,6 +25,17 @@ + double d4 = MathHelper.a(entityliving.locY + (double) (entityliving.getRandom().nextInt(16) - 8), 0.0D, (double) (world.Z() - 1)); + double d5 = entityliving.locZ + (entityliving.getRandom().nextDouble() - 0.5D) * 16.0D; + ++ // CraftBukkit start ++ if (entityliving instanceof EntityPlayer) { ++ Player player = ((EntityPlayer) entityliving).getBukkitEntity(); ++ PlayerTeleportEvent teleEvent = new PlayerTeleportEvent(player, player.getLocation(), new Location(player.getWorld(), d3, d4, d5), PlayerTeleportEvent.TeleportCause.CHORUS_FRUIT); ++ world.getServer().getPluginManager().callEvent(teleEvent); ++ if (teleEvent.isCancelled()) { ++ break; ++ } ++ } ++ // CraftBukkit end ++ + if (entityliving.k(d3, d4, d5)) { + world.a((EntityHuman) null, d0, d1, d2, SoundEffects.af, SoundCategory.PLAYERS, 1.0F, 1.0F); + entityliving.a(SoundEffects.af, 1.0F, 1.0F); |