mirror of
https://github.com/CivMC/Civ.git
synced 2026-07-15 23:20:44 +00:00
Migrated to new commands handling.
This commit is contained in:
@@ -1,18 +1,21 @@
|
||||
package me.Josvth.RandomSpawn;
|
||||
package me.Josvth.RandomSpawn.Commands;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import me.Josvth.RandomSpawn.RandomSpawn;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public abstract class RandomSpawnCommandExecutor {
|
||||
public abstract class AbstractCommand {
|
||||
|
||||
protected RandomSpawn plugin;
|
||||
protected String name;
|
||||
protected final RandomSpawn plugin;
|
||||
protected final String name;
|
||||
|
||||
public void setPlugin(RandomSpawn instance) {
|
||||
plugin = instance;
|
||||
}
|
||||
|
||||
public AbstractCommand(RandomSpawn instance, String commandName){
|
||||
plugin = instance;
|
||||
name = commandName;
|
||||
}
|
||||
|
||||
public abstract boolean onCommand(CommandSender sender, List<String> args);
|
||||
|
||||
public boolean onConsoleCommand(CommandSender sender, List<String> args){
|
||||
@@ -22,8 +25,7 @@ public abstract class RandomSpawnCommandExecutor {
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String getDescription() {
|
||||
try {
|
||||
return plugin.getCommand("rs " + name).getDescription();
|
||||
@@ -2,13 +2,15 @@ package me.Josvth.RandomSpawn.Commands;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import me.Josvth.RandomSpawn.RandomSpawn;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class BedsCommand extends AbstractCommand{
|
||||
|
||||
public BedsCommand(){
|
||||
name = "usebeds";
|
||||
public BedsCommand(RandomSpawn instance){
|
||||
super(instance,"usebeds");
|
||||
}
|
||||
|
||||
public boolean onCommand(CommandSender sender, List<String> args){
|
||||
|
||||
@@ -2,15 +2,15 @@ package me.Josvth.RandomSpawn.Commands;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import me.Josvth.RandomSpawn.RandomSpawnCommandExecutor;
|
||||
import me.Josvth.RandomSpawn.RandomSpawn;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class DisableCommand extends RandomSpawnCommandExecutor{
|
||||
public class DisableCommand extends AbstractCommand{
|
||||
|
||||
public DisableCommand(){
|
||||
name = "disable";
|
||||
public DisableCommand(RandomSpawn instance){
|
||||
super(instance,"disable");
|
||||
}
|
||||
|
||||
public boolean onCommand(CommandSender sender, List<String> args){
|
||||
|
||||
@@ -2,15 +2,15 @@ package me.Josvth.RandomSpawn.Commands;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import me.Josvth.RandomSpawn.RandomSpawnCommandExecutor;
|
||||
import me.Josvth.RandomSpawn.RandomSpawn;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class EnableCommand extends RandomSpawnCommandExecutor{
|
||||
public class EnableCommand extends AbstractCommand{
|
||||
|
||||
public EnableCommand(){
|
||||
this.name = "enable";
|
||||
public EnableCommand(RandomSpawn instance){
|
||||
super(instance,"enable");
|
||||
}
|
||||
|
||||
public boolean onCommand(CommandSender sender, List<String> args){
|
||||
|
||||
@@ -5,13 +5,12 @@ import java.util.List;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import me.Josvth.RandomSpawn.RandomSpawnCommandExecutor;
|
||||
import me.Josvth.RandomSpawn.RandomSpawn;
|
||||
|
||||
public class FirstJoinCommand extends AbstractCommand{
|
||||
|
||||
public class FirstJoinCommand extends RandomSpawnCommandExecutor{
|
||||
|
||||
public FirstJoinCommand(){
|
||||
this.name = "firstjoin";
|
||||
public FirstJoinCommand(RandomSpawn instance){
|
||||
super(instance, "firstjoin");
|
||||
}
|
||||
|
||||
public boolean onCommand(CommandSender sender, List<String> args){
|
||||
|
||||
@@ -3,16 +3,16 @@ package me.Josvth.RandomSpawn.Commands;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import me.Josvth.RandomSpawn.RandomSpawnCommandExecutor;
|
||||
import me.Josvth.RandomSpawn.RandomSpawn;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class RandomSpawnHelpCommand extends RandomSpawnCommandExecutor{
|
||||
public class HelpCommand extends AbstractCommand{
|
||||
|
||||
public RandomSpawnHelpCommand(){
|
||||
this.name = "help";
|
||||
public HelpCommand(RandomSpawn instance){
|
||||
super(instance, "help");
|
||||
}
|
||||
|
||||
public boolean onCommand(CommandSender sender, List<String> args){
|
||||
@@ -2,16 +2,16 @@ package me.Josvth.RandomSpawn.Commands;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import me.Josvth.RandomSpawn.RandomSpawnCommandExecutor;
|
||||
import me.Josvth.RandomSpawn.RandomSpawn;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class InfoCommand extends RandomSpawnCommandExecutor {
|
||||
public class InfoCommand extends AbstractCommand {
|
||||
|
||||
public InfoCommand(){
|
||||
this.name = "info";
|
||||
public InfoCommand(RandomSpawn instance){
|
||||
super(instance, "info");
|
||||
}
|
||||
|
||||
public boolean onCommand(CommandSender sender, List<String> args){
|
||||
|
||||
@@ -2,15 +2,15 @@ package me.Josvth.RandomSpawn.Commands;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import me.Josvth.RandomSpawn.RandomSpawnCommandExecutor;
|
||||
import me.Josvth.RandomSpawn.RandomSpawn;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class RandomSpawnKeepSpawnsCommand extends RandomSpawnCommandExecutor {
|
||||
public class KeepSpawnsCommand extends AbstractCommand {
|
||||
|
||||
public RandomSpawnKeepSpawnsCommand(){
|
||||
this.name = "keepfirstspawns";
|
||||
public KeepSpawnsCommand(RandomSpawn instance){
|
||||
super(instance, "keepfirstspawns");
|
||||
}
|
||||
|
||||
public boolean onCommand(CommandSender sender, List<String> args){
|
||||
@@ -2,15 +2,15 @@ package me.Josvth.RandomSpawn.Commands;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import me.Josvth.RandomSpawn.RandomSpawnCommandExecutor;
|
||||
import me.Josvth.RandomSpawn.RandomSpawn;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class RandomSpawnReloadCommand extends RandomSpawnCommandExecutor {
|
||||
public class ReloadCommand extends AbstractCommand {
|
||||
|
||||
public RandomSpawnReloadCommand(){
|
||||
this.name = "reload";
|
||||
public ReloadCommand(RandomSpawn instance){
|
||||
super(instance, "reload");
|
||||
}
|
||||
|
||||
public boolean onCommand(CommandSender sender, List<String> args){
|
||||
@@ -2,16 +2,16 @@ package me.Josvth.RandomSpawn.Commands;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import me.Josvth.RandomSpawn.RandomSpawnCommandExecutor;
|
||||
import me.Josvth.RandomSpawn.RandomSpawn;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class RandomSpawnSetAreaCommand extends RandomSpawnCommandExecutor{
|
||||
public class SetAreaCommand extends AbstractCommand{
|
||||
|
||||
public RandomSpawnSetAreaCommand(){
|
||||
this.name = "setarea";
|
||||
public SetAreaCommand(RandomSpawn instance){
|
||||
super(instance,"setarea");
|
||||
}
|
||||
|
||||
public boolean onCommand(CommandSender sender, List<String> args){
|
||||
@@ -2,15 +2,15 @@ package me.Josvth.RandomSpawn.Commands;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import me.Josvth.RandomSpawn.RandomSpawnCommandExecutor;
|
||||
import me.Josvth.RandomSpawn.RandomSpawn;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class RandomSpawnSetFirstSpawnCommand extends RandomSpawnCommandExecutor{
|
||||
public class SetFirstSpawnCommand extends AbstractCommand{
|
||||
|
||||
public RandomSpawnSetFirstSpawnCommand(){
|
||||
this.name = "setfirstspawn";
|
||||
public SetFirstSpawnCommand(RandomSpawn instance){
|
||||
super(instance,"setfirstspawn");
|
||||
}
|
||||
|
||||
public boolean onCommand(CommandSender sender, List<String> args){
|
||||
@@ -2,16 +2,16 @@ package me.Josvth.RandomSpawn.Commands;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import me.Josvth.RandomSpawn.RandomSpawnCommandExecutor;
|
||||
import me.Josvth.RandomSpawn.RandomSpawn;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class RandomSpawnTpFirstSpawnCommand extends RandomSpawnCommandExecutor{
|
||||
public class TpFirstSpawnCommand extends AbstractCommand{
|
||||
|
||||
public RandomSpawnTpFirstSpawnCommand(){
|
||||
this.name = "tpfirstspawn";
|
||||
public TpFirstSpawnCommand(RandomSpawn instance){
|
||||
super(instance,"tpfirstspawn");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -2,15 +2,15 @@ package me.Josvth.RandomSpawn.Commands;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import me.Josvth.RandomSpawn.RandomSpawnCommandExecutor;
|
||||
import me.Josvth.RandomSpawn.RandomSpawn;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class RandomSpawnUnsetFirstSpawnCommand extends RandomSpawnCommandExecutor{
|
||||
public class UnsetFirstSpawnCommand extends AbstractCommand{
|
||||
|
||||
public RandomSpawnUnsetFirstSpawnCommand(){
|
||||
this.name = "unsetfirstspawn";
|
||||
public UnsetFirstSpawnCommand(RandomSpawn instance){
|
||||
super(instance,"unsetfirstspawn");
|
||||
}
|
||||
|
||||
public boolean onCommand(CommandSender sender, List<String> args){
|
||||
@@ -2,6 +2,7 @@ package me.Josvth.RandomSpawn.Handlers;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
@@ -9,14 +10,13 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import me.Josvth.RandomSpawn.RandomSpawn;
|
||||
import me.Josvth.RandomSpawn.RandomSpawnCommandExecutor;
|
||||
import me.Josvth.RandomSpawn.Commands.*;
|
||||
|
||||
public class CommandHandler implements CommandExecutor{
|
||||
|
||||
RandomSpawn plugin;
|
||||
final RandomSpawn plugin;
|
||||
|
||||
HashMap<String,RandomSpawnCommandExecutor> commands = new HashMap<String,RandomSpawnCommandExecutor>();
|
||||
HashMap<String,AbstractCommand> commands = new HashMap<String,AbstractCommand>();
|
||||
|
||||
public CommandHandler(RandomSpawn instance) {
|
||||
plugin = instance;
|
||||
@@ -24,30 +24,30 @@ public class CommandHandler implements CommandExecutor{
|
||||
plugin.getCommand("randomspawn").setExecutor(this);
|
||||
plugin.getCommand("rs").setExecutor(this);
|
||||
|
||||
registerCommands(new RandomSpawnCommandExecutor[]{
|
||||
new BedsCommand(),
|
||||
new DisableCommand(),
|
||||
new EnableCommand(),
|
||||
new FirstJoinCommand(),
|
||||
new RandomSpawnHelpCommand(),
|
||||
new InfoCommand(),
|
||||
new RandomSpawnKeepSpawnsCommand(),
|
||||
new RandomSpawnReloadCommand(),
|
||||
new RandomSpawnSetAreaCommand(),
|
||||
new RandomSpawnSetFirstSpawnCommand(),
|
||||
new RandomSpawnTpFirstSpawnCommand(),
|
||||
new RandomSpawnUnsetFirstSpawnCommand(),
|
||||
registerCommands(new AbstractCommand[]{
|
||||
new BedsCommand(plugin),
|
||||
new DisableCommand(plugin),
|
||||
new EnableCommand(plugin),
|
||||
new FirstJoinCommand(plugin),
|
||||
new HelpCommand(plugin),
|
||||
new InfoCommand(plugin),
|
||||
new KeepSpawnsCommand(plugin),
|
||||
new ReloadCommand(plugin),
|
||||
new SetAreaCommand(plugin),
|
||||
new SetFirstSpawnCommand(plugin),
|
||||
new TpFirstSpawnCommand(plugin),
|
||||
new UnsetFirstSpawnCommand(plugin),
|
||||
});
|
||||
}
|
||||
|
||||
private void registerCommands(RandomSpawnCommandExecutor[] executors) {
|
||||
private void registerCommands(AbstractCommand[] abstractCommands) {
|
||||
|
||||
for(RandomSpawnCommandExecutor executor : executors){
|
||||
executor.setPlugin(plugin);
|
||||
commands.put(executor.getName(), executor);
|
||||
if (executor.getAliases() != null){
|
||||
for(String alias : executor.getAliases()){
|
||||
commands.put(alias, executor);
|
||||
for(AbstractCommand abstractCommand : abstractCommands){
|
||||
commands.put(abstractCommand.getName(), abstractCommand);
|
||||
List<String> aliases = abstractCommand.getAliases();
|
||||
if (abstractCommand.getAliases() != null){
|
||||
for(String alias: aliases){
|
||||
commands.put(alias, abstractCommand);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -58,20 +58,20 @@ public class CommandHandler implements CommandExecutor{
|
||||
|
||||
if (args.length == 0 || !commands.containsKey(args[0])) return false;
|
||||
|
||||
RandomSpawnCommandExecutor commandExecutor = commands.get(args[0]);
|
||||
AbstractCommand abstractCommand = commands.get(args[0]);
|
||||
|
||||
if (!(sender instanceof Player)){
|
||||
sender.sendMessage("This command can only be used in game!");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (commandExecutor.getPermission() != null && !sender.hasPermission(commandExecutor.getPermission())){
|
||||
if (abstractCommand.getPermission() != null && !sender.hasPermission(abstractCommand.getPermission())){
|
||||
sender.sendMessage("You don't have the permission to use this command!");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (commandExecutor.onCommand(sender, Arrays.asList(args).subList(1, args.length)) == false && commandExecutor.getUsage() != null){
|
||||
sender.sendMessage(commandExecutor.getUsage());
|
||||
if (abstractCommand.onCommand(sender, Arrays.asList(args).subList(1, args.length)) == false && abstractCommand.getUsage() != null){
|
||||
sender.sendMessage(abstractCommand.getUsage());
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user