summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWilliam Bowers <william.bowers@gmail.com>2011-03-29 01:59:00 -0700
committerErik Broes <erikbroes@grum.nl>2011-04-02 17:00:29 +0200
commit287114f8edc19da9eb28fba937551871611ddebf (patch)
tree6a48b839205b85b783e923e6288d834cf9a4f6a0 /src
parent3f2a31fa5e320199198d984a92d01eeba81ede76 (diff)
downloadbukkit-287114f8edc19da9eb28fba937551871611ddebf.tar
bukkit-287114f8edc19da9eb28fba937551871611ddebf.tar.gz
bukkit-287114f8edc19da9eb28fba937551871611ddebf.tar.lz
bukkit-287114f8edc19da9eb28fba937551871611ddebf.tar.xz
bukkit-287114f8edc19da9eb28fba937551871611ddebf.zip
Added the SPAWN_CHANGE event, which occurs when a world's spawn is changed.
This event includes the world who's spawn changed and its previous spawn location. To listen for this event: PluginManager pm = getServer().getPluginManager(); YourWorldListener worldListener = new YourWorldListener(this); pm.registerEvent(Event.Type.SPAWN_CHANGE, worldListener, Priority.Normal, this); To use this event: public class YourWorldListener extends WorldListener { @Override public void onSpawnChange(SpawnChangeEvent event) { World world = event.getWorld(); Location previousLocation = event.getPreviousLocation(); } }
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/bukkit/event/Event.java7
-rw-r--r--src/main/java/org/bukkit/event/world/SpawnChangeEvent.java28
-rw-r--r--src/main/java/org/bukkit/event/world/WorldListener.java8
-rw-r--r--src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java6
4 files changed, 49 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/event/Event.java b/src/main/java/org/bukkit/event/Event.java
index cf636ce0..dd59c069 100644
--- a/src/main/java/org/bukkit/event/Event.java
+++ b/src/main/java/org/bukkit/event/Event.java
@@ -455,6 +455,13 @@ public abstract class Event implements Serializable {
ITEM_SPAWN (Category.WORLD),
/**
+ * Called when a World's spawn is changed
+ *
+ * @see org.bukkit.event.world.SpawnChangeEvent
+ */
+ SPAWN_CHANGE (Category.WORLD),
+
+ /**
* Called when a world is saved
*
*/
diff --git a/src/main/java/org/bukkit/event/world/SpawnChangeEvent.java b/src/main/java/org/bukkit/event/world/SpawnChangeEvent.java
new file mode 100644
index 00000000..02159d01
--- /dev/null
+++ b/src/main/java/org/bukkit/event/world/SpawnChangeEvent.java
@@ -0,0 +1,28 @@
+package org.bukkit.event.world;
+
+import org.bukkit.World;
+import org.bukkit.Location;
+
+/**
+ * An event that is called when a world's spawn changes. The
+ * world's previous spawn location is included.
+ *
+ * @author willurd
+ */
+public class SpawnChangeEvent extends WorldEvent {
+ private Location previousLocation;
+
+ public SpawnChangeEvent(World world, Location previousLocation) {
+ super(Type.SPAWN_CHANGE, world);
+ this.previousLocation = previousLocation;
+ }
+
+ /**
+ * Gets the previous spawn location
+ *
+ * @return Location that used to be spawn
+ */
+ public Location getPreviousLocation() {
+ return previousLocation;
+ }
+}
diff --git a/src/main/java/org/bukkit/event/world/WorldListener.java b/src/main/java/org/bukkit/event/world/WorldListener.java
index 0cdc7fcf..ef70af83 100644
--- a/src/main/java/org/bukkit/event/world/WorldListener.java
+++ b/src/main/java/org/bukkit/event/world/WorldListener.java
@@ -25,6 +25,14 @@ public class WorldListener implements Listener {
}
/**
+ * Called when a World's spawn is changed
+ *
+ * @param event Relevant event details
+ */
+ public void onSpawnChange(SpawnChangeEvent event) {
+ }
+
+ /**
* Called when a world is saved
*
* @param event Relevant event details
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
index 42d893d5..ceb750ad 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -379,6 +379,12 @@ public final class JavaPluginLoader implements PluginLoader {
((WorldListener) listener).onChunkUnload((ChunkUnloadEvent) event);
}
};
+ case SPAWN_CHANGE:
+ return new EventExecutor() {
+ public void execute(Listener listener, Event event) {
+ ((WorldListener) listener).onSpawnChange((SpawnChangeEvent) event);
+ }
+ };
case WORLD_SAVE:
return new EventExecutor() {
public void execute(Listener listener, Event event) {