106 lines
3.8 KiB
Java
106 lines
3.8 KiB
Java
package com.me.tft_02.soulbound.commands;
|
|
|
|
import org.bukkit.command.Command;
|
|
import org.bukkit.command.CommandExecutor;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.entity.Player;
|
|
|
|
import com.me.tft_02.soulbound.Soulbound;
|
|
|
|
public class SoulboundCommand implements CommandExecutor {
|
|
@Override
|
|
public boolean onCommand(final CommandSender sender, final Command command, final String label, final String[] args) {
|
|
switch (args.length) {
|
|
case 0:
|
|
sender.sendMessage(Soulbound.p.getlang("VERSION") + Soulbound.p.getDescription().getVersion());
|
|
return printUsage(sender);
|
|
case 1:
|
|
if (args[0].equalsIgnoreCase("reload")) {
|
|
return reloadConfiguration(sender);
|
|
}
|
|
if (args[0].equalsIgnoreCase("help") || args[0].equalsIgnoreCase("?")) {
|
|
getHelpPage(1, sender);
|
|
return true;
|
|
}
|
|
default:
|
|
if (args[0].equalsIgnoreCase("help") || args[0].equalsIgnoreCase("?")) {
|
|
return helpPages(sender, args);
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
|
|
private void getHelpPage(final int page, final CommandSender sender) {
|
|
final int maxPages = 2;
|
|
final int nextPage = page + 1;
|
|
if (page > maxPages) {
|
|
sender.sendMessage(Soulbound.p.getlang("PAGE_NOT_EXIST".replace("%maxPages%", maxPages + "")));
|
|
return;
|
|
}
|
|
sender.sendMessage(Soulbound.p.getlang("HELP_TITLE").replace("%page%", page + "").replace("%maxPages%", maxPages + ""));
|
|
if (page == 1) {
|
|
sender.sendMessage(Soulbound.p.getlang("HOW_DOES_IT_WORK"));
|
|
sender.sendMessage(Soulbound.p.getlang("HOW_DOES_IT_WORK_1"));
|
|
sender.sendMessage(Soulbound.p.getlang("HOW_DOES_IT_WORK_2"));
|
|
sender.sendMessage(Soulbound.p.getlang("HOW_DOES_IT_WORK_3"));
|
|
sender.sendMessage(Soulbound.p.getlang("HOW_DOES_IT_WORK_4"));
|
|
sender.sendMessage(Soulbound.p.getlang("HOW_DOES_IT_WORK_4_1"));
|
|
sender.sendMessage(Soulbound.p.getlang("HOW_DOES_IT_WORK_5"));
|
|
sender.sendMessage(Soulbound.p.getlang("HOW_DOES_IT_WORK_5_1"));
|
|
sender.sendMessage(Soulbound.p.getlang("HOW_DOES_IT_WORK_6"));
|
|
sender.sendMessage(Soulbound.p.getlang("HOW_DOES_IT_WORK_6_1"));
|
|
}
|
|
if (page == 2) {
|
|
sender.sendMessage(Soulbound.p.getlang("CMD"));
|
|
if (sender.hasPermission("soulbound.commands.bind")) {
|
|
sender.sendMessage(Soulbound.p.getlang("CMDVERSION"));
|
|
}
|
|
if (sender.hasPermission("soulbound.commands.bind")) {
|
|
sender.sendMessage(Soulbound.p.getlang("CMD_BIND"));
|
|
sender.sendMessage(Soulbound.p.getlang("CMD_BIND_FULL_INVENTORY"));
|
|
}
|
|
if (sender.hasPermission("soulbound.commands.bindonpickup")) {
|
|
sender.sendMessage(Soulbound.p.getlang("CMD_BIND_ON_PICKUP"));
|
|
}
|
|
if (sender.hasPermission("soulbound.commands.bindonuse")) {
|
|
sender.sendMessage(Soulbound.p.getlang("CMD_BIND_ON_USE"));
|
|
}
|
|
if (sender.hasPermission("soulbound.commands.bindonequip")) {
|
|
sender.sendMessage(Soulbound.p.getlang("CMD_BIND_ON_EQUIP"));
|
|
}
|
|
if (sender.hasPermission("soulbound.commands.unbind")) {
|
|
sender.sendMessage(Soulbound.p.getlang("CMD_UNBIND"));
|
|
}
|
|
}
|
|
if (nextPage <= maxPages) {
|
|
sender.sendMessage(Soulbound.p.getlang("CMD_NEXT").replace("%nextPage%", nextPage + ""));
|
|
}
|
|
}
|
|
|
|
private boolean helpPages(final CommandSender sender, final String[] args) {
|
|
if (!(sender instanceof Player)) {
|
|
sender.sendMessage(Soulbound.p.getlang("CAN_NOT_USE_ON_CONSOLE"));
|
|
return false;
|
|
}
|
|
if (args.length >= 2 && Integer.parseInt(args[1]) > 0) {
|
|
getHelpPage(Integer.parseInt(args[1]), sender);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
private boolean printUsage(final CommandSender sender) {
|
|
sender.sendMessage(Soulbound.p.getlang("CMD_USE"));
|
|
return false;
|
|
}
|
|
|
|
private boolean reloadConfiguration(final CommandSender sender) {
|
|
if (sender instanceof Player && !sender.hasPermission("soulbound.commands.reload")) {
|
|
return false;
|
|
}
|
|
Soulbound.p.reloadConfig();
|
|
sender.sendMessage(Soulbound.p.getlang("RELOAD"));
|
|
return false;
|
|
}
|
|
}
|