summaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authormyiume <cursed_kidd@yahoo.com>2014-02-19 15:40:37 +0200
committerturt2live <travpc@gmail.com>2014-08-17 00:17:02 -0600
commit4507cec090af201ea73436341933ffd801e521d6 (patch)
tree30a6269e9bd853c618bbed3e78eca7cee72245b7 /src/main
parentb3e83b00fc54eb04c1a527383711b04abf6985bd (diff)
downloadcraftbukkit-4507cec090af201ea73436341933ffd801e521d6.tar
craftbukkit-4507cec090af201ea73436341933ffd801e521d6.tar.gz
craftbukkit-4507cec090af201ea73436341933ffd801e521d6.tar.lz
craftbukkit-4507cec090af201ea73436341933ffd801e521d6.tar.xz
craftbukkit-4507cec090af201ea73436341933ffd801e521d6.zip
Fix PlayerFishEvent not correctly cancelling. Fixes BUKKIT-5396
Prior to this commit cancelling the PlayerFishEvent would cause various states of the fishing routine to be incorrectly or wrongly fired. This incorrect behaviour was due to the miscommunication between the server and client regarding the fishing state. When the event was cancelled, the bobber entity was removed and caused the client to incorrectly determine what the "next state" was to logically be. This commit resolves the issue by ensuring the client is made aware of the correct changes at the correct time regarding the bobber entity, therefore keeping the logical steps of "fishing" proper and in-tact.
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/net/minecraft/server/EntityFishingHook.java9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
index 2ee3f301..9d4ea60f 100644
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
@@ -370,8 +370,6 @@ public class EntityFishingHook extends Entity {
this.world.getServer().getPluginManager().callEvent(playerFishEvent);
if (playerFishEvent.isCancelled()) {
- this.die();
- this.owner.hookedFish = null;
return 0;
}
// CraftBukkit end
@@ -394,8 +392,6 @@ public class EntityFishingHook extends Entity {
this.world.getServer().getPluginManager().callEvent(playerFishEvent);
if (playerFishEvent.isCancelled()) {
- this.die();
- this.owner.hookedFish = null;
return 0;
}
// CraftBukkit end
@@ -421,8 +417,6 @@ public class EntityFishingHook extends Entity {
this.world.getServer().getPluginManager().callEvent(playerFishEvent);
if (playerFishEvent.isCancelled()) {
- this.die();
- this.owner.hookedFish = null;
return 0;
}
// CraftBukkit end
@@ -434,6 +428,9 @@ public class EntityFishingHook extends Entity {
if (b0 == 0) {
PlayerFishEvent playerFishEvent = new PlayerFishEvent((Player) this.owner.getBukkitEntity(), null, (Fish) this.getBukkitEntity(), PlayerFishEvent.State.FAILED_ATTEMPT);
this.world.getServer().getPluginManager().callEvent(playerFishEvent);
+ if (playerFishEvent.isCancelled()) {
+ return 0;
+ }
}
// CraftBukkit end