Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.chickenstyle.fullInventory;
- import java.io.File;
- import java.io.IOException;
- import org.bukkit.ChatColor;
- import org.bukkit.Sound;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.file.YamlConfiguration;
- public class InventoryCommand implements CommandExecutor {
- public static boolean isInteger(String s) {
- try {
- Integer.parseInt(s);
- } catch(NumberFormatException e) {
- return false;
- } catch(NullPointerException e) {
- return false;
- }
- return true;
- }
- public static boolean isSound(String s) {
- try {
- Sound.valueOf(s);
- } catch(Exception e) {
- return false;
- }
- return true;
- }
- public static boolean isDouble(String s) {
- try {
- Double.valueOf(s);
- } catch(Exception e) {
- return false;
- }
- return true;
- }
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- Main main = Main.getPlugin(Main.class);
- File file = new File(Main.getPlugin(Main.class).getDataFolder(), "config.yml");
- YamlConfiguration config = YamlConfiguration.loadConfiguration(file);
- if (args.length == 1) {
- switch (args[0].toLowerCase()) {
- case "reload":
- if (sender.hasPermission("inventory.reload") || sender.hasPermission("inventory.admin")) {
- try {
- config.save(file);
- main.reloadConfig();
- } catch (IOException e) {
- e.printStackTrace();
- }
- sender.sendMessage(ChatColor.GREEN + "Config Has Been Reloaded");
- } else {
- sender.sendMessage(ChatColor.RED + "You dont have permission to use this command!");
- }
- break;
- case "help":
- if (sender.hasPermission("inventory.help") || sender.hasPermission("inventory.admin")) {
- sender.sendMessage(ChatColor.GRAY + "<---------------------------------->");
- sender.sendMessage(ChatColor.GRAY + "/inv reload // reloads you config");
- sender.sendMessage(ChatColor.GRAY + "");
- sender.sendMessage(ChatColor.GRAY + "/inv settype (text/title) // sets the type of the message");
- sender.sendMessage(ChatColor.GRAY + "");
- sender.sendMessage(ChatColor.GRAY + "/inv setdelay [seconds] // sets delay between message (I dont suggest to use it)");
- sender.sendMessage(ChatColor.GRAY + "");
- sender.sendMessage(ChatColor.GRAY + "/inv setmessage [message] // sets the message");
- sender.sendMessage(ChatColor.GRAY + "");
- sender.sendMessage(ChatColor.GRAY + "/inv setsound [sound's name] // sets the sound for the message");
- sender.sendMessage(ChatColor.GRAY + "");
- sender.sendMessage(ChatColor.GRAY + "/inv setduration [seconds] // sets the sound for the message");
- sender.sendMessage(ChatColor.GRAY + "<---------------------------------->");
- } else {
- sender.sendMessage(ChatColor.RED + "You dont have permission to use this command!");
- }
- break;
- default:
- sender.sendMessage(ChatColor.RED + "Invalid Usage");
- sender.sendMessage(ChatColor.RED + "Type: /inv help");
- break;
- }
- } else if (args.length >= 2) {
- switch (args[0].toLowerCase()) {
- case "settype":
- if (sender.hasPermission("inventory.admin") || sender.hasPermission("inventory.settype")) {
- if (args[1].toLowerCase().equals("text") || args[1].toLowerCase().equals("title")) {
- config.set("typeofmessage", args[1].toLowerCase());
- try {
- config.save(file);
- main.reloadConfig();
- } catch (IOException e) {
- e.printStackTrace();
- }
- sender.sendMessage(ChatColor.GREEN + "Type was set successfully");
- } else {
- sender.sendMessage(ChatColor.RED + "Invalid Usage");
- sender.sendMessage(ChatColor.RED + "Type: /inv help");
- }
- } else {
- sender.sendMessage(ChatColor.RED + "You dont have permission to use this command!");
- }
- break;
- case "setdelay":
- if (sender.hasPermission("inventory.setdelay") || sender.hasPermission("inventory.admin")) {
- if (isInteger(args[1])) {
- config.set("delaytime", Integer.valueOf(args[1]));
- try {
- config.save(file);
- main.reloadConfig();
- } catch (IOException e) {
- e.printStackTrace();
- }
- sender.sendMessage(ChatColor.GREEN + "Delay was set successfully");
- } else {
- sender.sendMessage(ChatColor.RED + "Invalid Number");
- sender.sendMessage(ChatColor.RED + "Type: /inv help");
- }
- } else {
- sender.sendMessage(ChatColor.RED + "You dont have permission to use this command!");
- }
- break;
- case "setmessage":
- if (sender.hasPermission("inventory.setmessage") || sender.hasPermission("inventory.admin")) {
- StringBuilder builder = new StringBuilder();
- for (int i = 1; i < args.length; i++) {
- builder.append(args[i]).append(" ");
- }
- String msg = builder.toString();
- config.set("message", msg);
- try {
- config.save(file);
- main.reloadConfig();
- } catch (IOException e) {
- e.printStackTrace();
- }
- sender.sendMessage(ChatColor.GREEN + "Message was set successfully");
- } else {
- sender.sendMessage(ChatColor.RED + "You dont have permission to use this command!");
- }
- break;
- case "setsound":
- if (sender.hasPermission("inventory.setsound") || sender.hasPermission("inventory.admin")) {
- if (isSound(args[1].toUpperCase())) {
- config.set("sound", args[1].toUpperCase());
- try {
- config.save(file);
- main.reloadConfig();
- } catch (IOException e) {
- e.printStackTrace();
- }
- sender.sendMessage(ChatColor.GREEN + "Sound was set successfully");
- } else {
- sender.sendMessage(ChatColor.RED + "Unvalid Sound");
- }
- }
- break;
- case "setduration":
- if (sender.hasPermission("inventory.setduration") || sender.hasPermission("inventory.admin")) {
- if (isDouble(args[1])) {
- config.set("setduration", Double.valueOf(args[1]));
- try {
- config.save(file);
- main.reloadConfig();
- } catch (IOException e) {
- e.printStackTrace();
- }
- sender.sendMessage(ChatColor.GREEN + "Message's duration was set successfully");
- } else {
- sender.sendMessage(ChatColor.RED + "Invalid Number");
- }
- }
- break;
- default:
- sender.sendMessage(ChatColor.RED + "Type: /inv help");
- break;
- }
- } else {
- sender.sendMessage(ChatColor.RED + "Invalid Usage");
- sender.sendMessage(ChatColor.RED + "Correct Usage: /inv help");
- }
- return false;
- }
- }
Add Comment
Please, Sign In to add comment