Added /we version and /we reload.

This commit is contained in:
sk89q 2011-02-19 01:22:28 -08:00
parent d5e8f037c9
commit 824e4c9381
7 changed files with 103 additions and 2 deletions

View File

@ -50,6 +50,10 @@ commands:
/paste: /paste:
description: Paste the clipboard's contents description: Paste the clipboard's contents
usage: /<command> [-ao] usage: /<command> [-ao]
we:
description: WorldEdit commands
usage: /<command>
aliases: ['worldedit']
toggleplace: toggleplace:
description: description:
usage: /<command> usage: /<command>
@ -295,3 +299,6 @@ commands:
/drain: /drain:
description: Drain a pool description: Drain a pool
usage: /<command> <radius> usage: /<command> <radius>
/version:
description: Get WorldEdit version
usage: /<command>

View File

@ -39,4 +39,9 @@ public abstract class ServerInterface {
* @return * @return
*/ */
public abstract boolean isValidMobType(String type); public abstract boolean isValidMobType(String type);
/**
* Reload WorldEdit configuration.
*/
public abstract void reload();
} }

View File

@ -1069,6 +1069,15 @@ public class WorldEdit {
public LocalConfiguration getConfiguration() { public LocalConfiguration getConfiguration() {
return config; return config;
} }
/**
* Get the server interface.
*
* @return
*/
public ServerInterface getServer() {
return server;
}
/** /**
* Get the version. * Get the version.

View File

@ -25,8 +25,10 @@ import com.sk89q.worldedit.ServerInterface;
public class BukkitServerInterface extends ServerInterface { public class BukkitServerInterface extends ServerInterface {
public Server server; public Server server;
public WorldEditPlugin plugin;
public BukkitServerInterface(Server server) { public BukkitServerInterface(WorldEditPlugin plugin, Server server) {
this.plugin = plugin;
this.server = server; this.server = server;
} }
@ -41,4 +43,9 @@ public class BukkitServerInterface extends ServerInterface {
return CreatureType.fromName(type) != null; return CreatureType.fromName(type) != null;
} }
@Override
public void reload() {
plugin.loadConfiguration();
}
} }

View File

@ -76,7 +76,7 @@ public class WorldEditPlugin extends JavaPlugin {
permsListener = new PermissionsResolverServerListener(perms); permsListener = new PermissionsResolverServerListener(perms);
loadConfiguration(); loadConfiguration();
server = new BukkitServerInterface(getServer()); server = new BukkitServerInterface(this, getServer());
controller = new WorldEdit(server, config); controller = new WorldEdit(server, config);
api = new WorldEditAPI(this); api = new WorldEditAPI(this);

View File

@ -22,6 +22,7 @@ package com.sk89q.worldedit.commands;
import com.sk89q.minecraft.util.commands.Command; import com.sk89q.minecraft.util.commands.Command;
import com.sk89q.minecraft.util.commands.CommandContext; import com.sk89q.minecraft.util.commands.CommandContext;
import com.sk89q.minecraft.util.commands.CommandPermissions; import com.sk89q.minecraft.util.commands.CommandPermissions;
import com.sk89q.minecraft.util.commands.NestedCommand;
import com.sk89q.worldedit.*; import com.sk89q.worldedit.*;
import com.sk89q.worldedit.blocks.ItemType; import com.sk89q.worldedit.blocks.ItemType;
@ -153,4 +154,14 @@ public class GeneralCommands {
player.printError("No items found."); player.printError("No items found.");
} }
} }
@Command(
aliases = {"we", "worldedit"},
desc = "WorldEdit commands"
)
@NestedCommand({WorldEditCommands.class})
public static void we(CommandContext args, WorldEdit we,
LocalSession session, LocalPlayer player, EditSession editSession)
throws WorldEditException {
}
} }

View File

@ -0,0 +1,62 @@
// $Id$
/*
* WorldEdit
* Copyright (C) 2010, 2011 sk89q <http://www.sk89q.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.sk89q.worldedit.commands;
import com.sk89q.minecraft.util.commands.Command;
import com.sk89q.minecraft.util.commands.CommandContext;
import com.sk89q.minecraft.util.commands.CommandPermissions;
import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.LocalPlayer;
import com.sk89q.worldedit.LocalSession;
import com.sk89q.worldedit.WorldEdit;
import com.sk89q.worldedit.WorldEditException;
public class WorldEditCommands {
@Command(
aliases = {"version", "ver"},
usage = "",
desc = "Get WorldEdit version",
min = 0,
max = 0
)
public static void version(CommandContext args, WorldEdit we,
LocalSession session, LocalPlayer player, EditSession editSession)
throws WorldEditException {
player.print("WorldEdit version " + WorldEdit.getVersion());
player.print("http://www.sk89q.com/projects/worldedit/");
}
@Command(
aliases = {"reload"},
usage = "",
desc = "Reload WorldEdit",
min = 0,
max = 0
)
@CommandPermissions({"worldedit.reload"})
public static void reload(CommandContext args, WorldEdit we,
LocalSession session, LocalPlayer player, EditSession editSession)
throws WorldEditException {
we.getServer().reload();
player.print("Configuration reloaded!");
}
}