summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEvilSeph <evilseph@unaligned.org>2011-07-03 00:23:37 -0400
committerEvilSeph <evilseph@unaligned.org>2011-07-03 01:31:09 -0400
commitf92bc8a15fbf88ebcb42118626bbbfee7fc7ca05 (patch)
tree18c063a25dd9aba535e45802fd4a674c98e6dc75 /src
parent3f388a2ad9f74fefb1acf2ebfe949099b2feb8ed (diff)
downloadbukkit-f92bc8a15fbf88ebcb42118626bbbfee7fc7ca05.tar
bukkit-f92bc8a15fbf88ebcb42118626bbbfee7fc7ca05.tar.gz
bukkit-f92bc8a15fbf88ebcb42118626bbbfee7fc7ca05.tar.lz
bukkit-f92bc8a15fbf88ebcb42118626bbbfee7fc7ca05.tar.xz
bukkit-f92bc8a15fbf88ebcb42118626bbbfee7fc7ca05.zip
Added PlayerFish event.
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/bukkit/event/Event.java6
-rw-r--r--src/main/java/org/bukkit/event/player/PlayerFishEvent.java85
-rw-r--r--src/main/java/org/bukkit/event/player/PlayerListener.java7
-rw-r--r--src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java7
4 files changed, 105 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/event/Event.java b/src/main/java/org/bukkit/event/Event.java
index e6f30964..1d725598 100644
--- a/src/main/java/org/bukkit/event/Event.java
+++ b/src/main/java/org/bukkit/event/Event.java
@@ -287,6 +287,12 @@ public abstract class Event implements Serializable {
* @see org.bukkit.event.player.PlayerBedLeaveEvent
*/
PLAYER_BED_LEAVE(Category.PLAYER),
+ /**
+ * Called when a player is fishing
+ *
+ * @see org.bukkit.event.player.PlayerFishEvent
+ */
+ PLAYER_FISH(Category.PLAYER),
/**
* BLOCK EVENTS
diff --git a/src/main/java/org/bukkit/event/player/PlayerFishEvent.java b/src/main/java/org/bukkit/event/player/PlayerFishEvent.java
new file mode 100644
index 00000000..584785be
--- /dev/null
+++ b/src/main/java/org/bukkit/event/player/PlayerFishEvent.java
@@ -0,0 +1,85 @@
+package org.bukkit.event.player;
+
+import org.bukkit.entity.Player;
+import org.bukkit.event.Cancellable;
+import org.bukkit.entity.Entity;
+
+/**
+ * Thrown when a player is fishing
+ */
+public class PlayerFishEvent extends PlayerEvent implements Cancellable {
+ private final Entity entity;
+ private boolean cancel = false;
+ private State state;
+
+ public PlayerFishEvent(final Player player, final Entity entity, State state) {
+ super(Type.PLAYER_FISH, player);
+ this.entity = entity;
+ this.state = state;
+ }
+
+ /**
+ * Gets the entity caught by the player
+ *
+ * @return Entity caught by the player, null if fishing, bobber has gotten stuck in the ground or nothing has been caught
+ */
+ public Entity getCaught() {
+ return entity;
+ }
+
+ /**
+ * Gets the cancellation state of this event. A cancelled event will not
+ * be executed in the server, but will still pass to other plugins
+ *
+ * @return true if this event is cancelled
+ */
+ public boolean isCancelled() {
+ return cancel;
+ }
+
+ /**
+ * Sets the cancellation state of this event. A cancelled event will not
+ * be executed in the server, but will still pass to other plugins
+ *
+ * @param cancel true if you wish to cancel this event
+ */
+ public void setCancelled(boolean cancel) {
+ this.cancel = cancel;
+ }
+
+ /**
+ * Gets the state of the fishing
+ *
+ * @return A State detailing the state of the fishing
+ */
+ public State getState() {
+ return state;
+ }
+
+ /**
+ * An enum to specify the state of the fishing
+ */
+ public enum State {
+
+ /**
+ * When a player is fishing
+ */
+ FISHING,
+ /**
+ * When a player has successfully caught a fish
+ */
+ CAUGHT_FISH,
+ /**
+ * When a player has successfully caught an entity
+ */
+ CAUGHT_ENTITY,
+ /**
+ * When a bobber is stuck in the grund
+ */
+ IN_GROUND,
+ /**
+ * When a player fails to catch anything while fishing usually due to poor aiming or timing
+ */
+ FAILED_ATTEMPT,
+ }
+}
diff --git a/src/main/java/org/bukkit/event/player/PlayerListener.java b/src/main/java/org/bukkit/event/player/PlayerListener.java
index 4789bb06..54e5f042 100644
--- a/src/main/java/org/bukkit/event/player/PlayerListener.java
+++ b/src/main/java/org/bukkit/event/player/PlayerListener.java
@@ -176,4 +176,11 @@ public class PlayerListener implements Listener {
* @param event Relevant event details
*/
public void onPlayerPortal(PlayerPortalEvent event) {}
+
+ /**
+ * Called when a player is fishing
+ *
+ * @param event Relevant event details
+ */
+ public void onPlayerFish(PlayerFishEvent event) {}
}
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
index ec3eb340..e29c3018 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -406,6 +406,13 @@ public final class JavaPluginLoader implements PluginLoader {
}
};
+ case PLAYER_FISH:
+ return new EventExecutor() {
+ public void execute(Listener listener, Event event) {
+ ((PlayerListener) listener).onPlayerFish((PlayerFishEvent) event);
+ }
+ };
+
// Block Events
case BLOCK_PHYSICS:
return new EventExecutor() {