summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDinnerbone <dinnerbone@dinnerbone.com>2011-01-04 14:08:56 +0000
committerDinnerbone <dinnerbone@dinnerbone.com>2011-01-04 14:08:56 +0000
commit9296dd3ca14b33bd32f468ba808e8f2ca9cfaea2 (patch)
treee5c226851c7bc3e890a6695a42c1ba776bc8fee6 /src
parentc5c124eb1a74077290d7e1a84bfa06e1944dd913 (diff)
downloadbukkit-9296dd3ca14b33bd32f468ba808e8f2ca9cfaea2.tar
bukkit-9296dd3ca14b33bd32f468ba808e8f2ca9cfaea2.tar.gz
bukkit-9296dd3ca14b33bd32f468ba808e8f2ca9cfaea2.tar.lz
bukkit-9296dd3ca14b33bd32f468ba808e8f2ca9cfaea2.tar.xz
bukkit-9296dd3ca14b33bd32f468ba808e8f2ca9cfaea2.zip
Added Chunk events in new World category
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/bukkit/event/world/ChunkLoadedEvent.java26
-rw-r--r--src/main/java/org/bukkit/event/world/ChunkUnloadedEvent.java25
-rw-r--r--src/main/java/org/bukkit/event/world/WorldEvent.java27
-rw-r--r--src/main/java/org/bukkit/event/world/WorldListener.java25
-rw-r--r--src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java14
5 files changed, 117 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/event/world/ChunkLoadedEvent.java b/src/main/java/org/bukkit/event/world/ChunkLoadedEvent.java
new file mode 100644
index 00000000..f91b7aeb
--- /dev/null
+++ b/src/main/java/org/bukkit/event/world/ChunkLoadedEvent.java
@@ -0,0 +1,26 @@
+
+package org.bukkit.event.world;
+
+import org.bukkit.Chunk;
+
+/**
+ * Called when a chunk is loaded
+ */
+public class ChunkLoadedEvent extends WorldEvent {
+ private final Chunk chunk;
+
+ public ChunkLoadedEvent(final Type type, final Chunk chunk) {
+ super(type, chunk.getWorld());
+
+ this.chunk = chunk;
+ }
+
+ /**
+ * Gets the chunk being loaded/unloaded
+ *
+ * @return Chunk that triggered this event
+ */
+ public Chunk getChunk() {
+ return chunk;
+ }
+}
diff --git a/src/main/java/org/bukkit/event/world/ChunkUnloadedEvent.java b/src/main/java/org/bukkit/event/world/ChunkUnloadedEvent.java
new file mode 100644
index 00000000..3aa89221
--- /dev/null
+++ b/src/main/java/org/bukkit/event/world/ChunkUnloadedEvent.java
@@ -0,0 +1,25 @@
+
+package org.bukkit.event.world;
+
+import org.bukkit.Chunk;
+import org.bukkit.event.Cancellable;
+
+/**
+ * Called when a chunk is unloaded
+ */
+public class ChunkUnloadedEvent extends ChunkLoadedEvent implements Cancellable {
+ private boolean cancel = false;
+
+ public ChunkUnloadedEvent(final Type type, final Chunk chunk) {
+ super(type, chunk);
+ }
+
+ public boolean isCancelled() {
+ return cancel;
+ }
+
+ public void setCancelled(boolean cancel) {
+ this.cancel = cancel;
+ }
+
+}
diff --git a/src/main/java/org/bukkit/event/world/WorldEvent.java b/src/main/java/org/bukkit/event/world/WorldEvent.java
new file mode 100644
index 00000000..d877758a
--- /dev/null
+++ b/src/main/java/org/bukkit/event/world/WorldEvent.java
@@ -0,0 +1,27 @@
+
+package org.bukkit.event.world;
+
+import org.bukkit.World;
+import org.bukkit.event.Event;
+
+/**
+ * Represents events within a world
+ */
+public class WorldEvent extends Event {
+ private final World world;
+
+ public WorldEvent(final Type type, final World world) {
+ super(type);
+
+ this.world = world;
+ }
+
+ /**
+ * Gets the world primarily involved with this event
+ *
+ * @return World which caused this event
+ */
+ public World getWorld() {
+ return world;
+ }
+}
diff --git a/src/main/java/org/bukkit/event/world/WorldListener.java b/src/main/java/org/bukkit/event/world/WorldListener.java
new file mode 100644
index 00000000..fc8f5799
--- /dev/null
+++ b/src/main/java/org/bukkit/event/world/WorldListener.java
@@ -0,0 +1,25 @@
+
+package org.bukkit.event.world;
+
+import org.bukkit.event.Listener;
+
+/**
+ * Handles all World related events
+ */
+public class WorldListener implements Listener {
+ /**
+ * Called when a chunk is loaded
+ *
+ * @param event Relevant event details
+ */
+ public void onChunkLoaded(ChunkLoadedEvent event) {
+ }
+
+ /**
+ * Called when a chunk is unloaded
+ *
+ * @param event Relevant event details
+ */
+ public void onChunkUnloaded(ChunkUnloadedEvent event) {
+ }
+}
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
index ba220c3e..7cbccbe8 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -23,6 +23,9 @@ import org.bukkit.event.player.*;
import org.bukkit.event.server.PluginEvent;
import org.bukkit.event.server.ServerListener;
import org.bukkit.event.vehicle.*;
+import org.bukkit.event.world.ChunkLoadedEvent;
+import org.bukkit.event.world.ChunkUnloadedEvent;
+import org.bukkit.event.world.WorldListener;
import org.bukkit.plugin.*;
/**
@@ -136,6 +139,17 @@ public final class JavaPluginLoader implements PluginLoader {
trueListener.onPluginDisabled((PluginEvent)event);
break;
}
+ } else if(listener instanceof WorldListener) {
+ WorldListener trueListener = (WorldListener)listener;
+
+ switch (event.getType()) {
+ case CHUNK_LOADED:
+ trueListener.onChunkLoaded((ChunkLoadedEvent)event);
+ break;
+ case CHUNK_UNLOADED:
+ trueListener.onChunkUnloaded((ChunkUnloadedEvent)event);
+ break;
+ }
} else if(listener instanceof EntityListener) {
EntityListener trueListener = (EntityListener) listener;
switch(event.getType())