Use BlockCommandSender for dispatching Command block commands

Also allow commands that don't start with a / to match vanilla behavior
This commit is contained in:
Travis Watkins
2012-10-31 06:36:55 -05:00
parent 9e4e2c62af
commit 46d7cd1e05
3 changed files with 55 additions and 10 deletions

View File

@@ -0,0 +1,42 @@
package org.bukkit.craftbukkit.command;
import net.minecraft.server.TileEntityCommand;
import org.bukkit.block.Block;
import org.bukkit.command.BlockCommandSender;
/**
* Represents input from a command block
*/
public class CraftBlockCommandSender extends ServerCommandSender implements BlockCommandSender {
private final TileEntityCommand commandBlock;
public CraftBlockCommandSender(TileEntityCommand commandBlock) {
super();
this.commandBlock = commandBlock;
}
public Block getBlock() {
return commandBlock.world.getWorld().getBlockAt(commandBlock.x, commandBlock.y, commandBlock.z);
}
public void sendMessage(String message) {
}
public void sendRawMessage(String message) {
}
public void sendMessage(String[] messages) {
}
public String getName() {
return "@";
}
public boolean isOp() {
return true;
}
public void setOp(boolean value) {
throw new UnsupportedOperationException("Cannot change operator status of a block");
}
}