Implemented WorldUnloadEvent and unloadWorld().
This commit is contained in:
parent
7dab3f1f0a
commit
4ef2edfc5b
@ -190,6 +190,24 @@ public interface Server {
|
|||||||
*/
|
*/
|
||||||
public World createWorld(String name, World.Environment environment, long seed, ChunkGenerator generator);
|
public World createWorld(String name, World.Environment environment, long seed, ChunkGenerator generator);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unloads a world with the given name.
|
||||||
|
*
|
||||||
|
* @param name Name of the world to unload
|
||||||
|
* @param save Whether to save the chunks before unloading.
|
||||||
|
* @return Whether the action was Successful
|
||||||
|
*/
|
||||||
|
public boolean unloadWorld(String name, boolean save);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unloads the given world.
|
||||||
|
*
|
||||||
|
* @param world The world to unload
|
||||||
|
* @param save Whether to save the chunks before unloading.
|
||||||
|
* @return Whether the action was Successful
|
||||||
|
*/
|
||||||
|
public boolean unloadWorld(World world, boolean save);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the world with the given name
|
* Gets the world with the given name
|
||||||
*
|
*
|
||||||
|
@ -479,6 +479,10 @@ public abstract class Event implements Serializable {
|
|||||||
* Called when a World is loaded
|
* Called when a World is loaded
|
||||||
*/
|
*/
|
||||||
WORLD_LOAD (Category.WORLD),
|
WORLD_LOAD (Category.WORLD),
|
||||||
|
/**
|
||||||
|
* Called when a World is unloaded
|
||||||
|
*/
|
||||||
|
WORLD_UNLOAD (Category.WORLD),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ENTITY EVENTS
|
* ENTITY EVENTS
|
||||||
|
@ -57,6 +57,13 @@ public class WorldListener implements Listener {
|
|||||||
throw new AuthorNagException("onWorldLoad has been replaced with a new signature, (WorldLoadEvent)");
|
throw new AuthorNagException("onWorldLoad has been replaced with a new signature, (WorldLoadEvent)");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when a World is unloaded
|
||||||
|
*
|
||||||
|
* @param event Relevant event details
|
||||||
|
*/
|
||||||
|
public void onWorldUnload(WorldUnloadEvent event) { }
|
||||||
|
|
||||||
// TODO: Remove after RB
|
// TODO: Remove after RB
|
||||||
@Deprecated public void onWorldLoad(WorldEvent event) {}
|
@Deprecated public void onWorldLoad(WorldEvent event) {}
|
||||||
@Deprecated public void onWorldSave(WorldEvent event) {}
|
@Deprecated public void onWorldSave(WorldEvent event) {}
|
||||||
|
21
src/main/java/org/bukkit/event/world/WorldUnloadEvent.java
Normal file
21
src/main/java/org/bukkit/event/world/WorldUnloadEvent.java
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package org.bukkit.event.world;
|
||||||
|
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.event.Cancellable;
|
||||||
|
|
||||||
|
public class WorldUnloadEvent extends WorldEvent implements Cancellable {
|
||||||
|
|
||||||
|
private boolean isCancelled;
|
||||||
|
|
||||||
|
public WorldUnloadEvent(World world) {
|
||||||
|
super(Type.WORLD_UNLOAD, world);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isCancelled() {
|
||||||
|
return this.isCancelled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCancelled(boolean cancel) {
|
||||||
|
this.isCancelled = cancel;
|
||||||
|
}
|
||||||
|
}
|
@ -555,6 +555,13 @@ public final class JavaPluginLoader implements PluginLoader {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
case WORLD_UNLOAD:
|
||||||
|
return new EventExecutor() {
|
||||||
|
public void execute(Listener listener, Event event) {
|
||||||
|
((WorldListener) listener).onWorldUnload((WorldUnloadEvent) event);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// Painting Events
|
// Painting Events
|
||||||
case PAINTING_PLACE:
|
case PAINTING_PLACE:
|
||||||
return new EventExecutor() {
|
return new EventExecutor() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user