123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- package me.km.api;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
- import me.km.KajetansMod;
- import me.km.permissions.Permissions;
- import net.minecraft.command.CommandBase;
- import net.minecraft.command.CommandException;
- import net.minecraft.command.ICommandSender;
- import net.minecraft.server.MinecraftServer;
- public abstract class ModuleCommand extends CommandBase
- {
- private final Module m;
- private final String name;
- private String usage;
- private String description;
- private Permissions perm;
- private List<String> aliases;
-
- public ModuleCommand(String name, Module m)
- {
- this.name = name;
- this.m = m;
- this.usage = "";
- this.perm = null;
- this.aliases = Collections.<String>emptyList();
- }
- @Override
- public List<String> getAliases()
- {
- return aliases;
- }
-
- public void addAlias(String s)
- {
- if(aliases.isEmpty())
- {
- aliases = new ArrayList<>();
- }
- aliases.add(s);
- }
- public Module getModule()
- {
- return m;
- }
-
- @Override
- public String getName()
- {
- return name;
- }
-
- public void setUsage(String s)
- {
- usage = s;
- }
-
- @Override
- public String getUsage(ICommandSender sender)
- {
- return usage;
- }
-
- public void setDescription(String s)
- {
- description = s;
- }
-
- public String getDescription()
- {
- return description;
- }
-
- public void setPermission(Permissions perm)
- {
- this.perm = perm;
- }
-
- public Permissions getPermission()
- {
- return perm;
- }
-
- public abstract boolean execute(ICommandSender cs, String[] arg);
-
- @Override
- public void execute(MinecraftServer server, ICommandSender cs, String[] args) throws CommandException
- {
- if(!execute(cs, args))
- {
- m.send(cs, this.getUsage(cs));
- }
- }
- @Override
- public boolean checkPermission(MinecraftServer server, ICommandSender cs)
- {
- return KajetansMod.perms.has(cs, perm);
- }
- }
|