diff --git a/src/main/java/xyz/atnrch/nicko/command/NickoCommand.java b/src/main/java/xyz/atnrch/nicko/command/NickoCommand.java index 59bd685..d8429c2 100644 --- a/src/main/java/xyz/atnrch/nicko/command/NickoCommand.java +++ b/src/main/java/xyz/atnrch/nicko/command/NickoCommand.java @@ -8,6 +8,8 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import xyz.atnrch.nicko.i18n.I18N; +import xyz.atnrch.nicko.i18n.I18NDict; public class NickoCommand implements CommandExecutor { private String helpMessage = "§cNicko §8§o[{version}] §f- §2Help:\n" + @@ -17,7 +19,7 @@ public class NickoCommand implements CommandExecutor { @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (sender instanceof Player) { - Player player = (Player) sender; + final Player player = (Player) sender; if (args.length >= 1) { switch (args[0]) { case "debug": @@ -33,7 +35,12 @@ public class NickoCommand implements CommandExecutor { return false; } - new HomeGUI(player).open(); + if(player.isOp() || player.hasPermission("nicko.use") || player.hasPermission("nicko.*")) { + new HomeGUI(player).open(); + } else { + final I18N i18N = new I18N(player); + player.sendMessage(i18N.translate(I18NDict.Error.PERMISSION)); + } return false; } diff --git a/src/main/java/xyz/atnrch/nicko/gui/HomeGUI.java b/src/main/java/xyz/atnrch/nicko/gui/HomeGUI.java index a2c5f22..ba2475b 100644 --- a/src/main/java/xyz/atnrch/nicko/gui/HomeGUI.java +++ b/src/main/java/xyz/atnrch/nicko/gui/HomeGUI.java @@ -18,11 +18,11 @@ public class HomeGUI { public HomeGUI(Player player) { final String[] dynamicStructure = new String[]{ - "# # # # # # # # #", - "A # # N B S # # #", - "E P # # # # # # R"}; + "# # # # # # # # P", + "# # # N B S # # #", + "E A # # # # # # R"}; - if (!player.hasPermission("nicko.admin") || !player.isOp()) { + if (!player.isOp() || !player.hasPermission("nicko.admin")) { dynamicStructure[2] = dynamicStructure[2].replace("A", "#"); } diff --git a/src/main/java/xyz/atnrch/nicko/gui/items/appearance/ChangeBothItem.java b/src/main/java/xyz/atnrch/nicko/gui/items/appearance/ChangeBothItem.java index e85ebe8..2da2968 100644 --- a/src/main/java/xyz/atnrch/nicko/gui/items/appearance/ChangeBothItem.java +++ b/src/main/java/xyz/atnrch/nicko/gui/items/appearance/ChangeBothItem.java @@ -9,7 +9,7 @@ import xyz.xenondevs.invui.item.impl.SuppliedItem; public class ChangeBothItem extends SuppliedItem { public ChangeBothItem() { super(() -> { - final ItemBuilder builder = new ItemBuilder(Material.END_PORTAL_FRAME); + final ItemBuilder builder = new ItemBuilder(Material.TOTEM_OF_UNDYING); builder.setDisplayName("§6Skin §fand §6name §fchange"); builder.addLoreLines("§7Will open a GUI to change both your name and your skin."); return builder; diff --git a/src/main/java/xyz/atnrch/nicko/gui/items/home/AdminAccessItem.java b/src/main/java/xyz/atnrch/nicko/gui/items/home/AdminAccessItem.java index f5ab12a..298ebe4 100644 --- a/src/main/java/xyz/atnrch/nicko/gui/items/home/AdminAccessItem.java +++ b/src/main/java/xyz/atnrch/nicko/gui/items/home/AdminAccessItem.java @@ -1,21 +1,17 @@ package xyz.atnrch.nicko.gui.items.home; -import xyz.atnrch.nicko.gui.AdminGUI; import org.bukkit.Material; -import org.bukkit.enchantments.Enchantment; import org.bukkit.event.inventory.ClickType; -import org.bukkit.inventory.ItemFlag; +import xyz.atnrch.nicko.gui.AdminGUI; import xyz.xenondevs.invui.item.builder.ItemBuilder; import xyz.xenondevs.invui.item.impl.SuppliedItem; public class AdminAccessItem extends SuppliedItem { public AdminAccessItem() { super(() -> { - final ItemBuilder builder = new ItemBuilder(Material.COMMAND_BLOCK); - builder.addEnchantment(Enchantment.DAMAGE_ALL, 1, false); - builder.addItemFlags(ItemFlag.HIDE_ENCHANTS); - builder.setDisplayName("§cAdministration panel"); - builder.addLoreLines("§7Configure and and manage Nicko."); + final ItemBuilder builder = new ItemBuilder(Material.COMMAND_BLOCK_MINECART); + builder.setDisplayName("Administration panel"); + builder.addLoreLines("§7Configure and manage Nicko."); return builder; }, click -> { final ClickType clickType = click.getClickType(); diff --git a/src/main/java/xyz/atnrch/nicko/i18n/I18NDict.java b/src/main/java/xyz/atnrch/nicko/i18n/I18NDict.java index 931cd28..ce30a0a 100644 --- a/src/main/java/xyz/atnrch/nicko/i18n/I18NDict.java +++ b/src/main/java/xyz/atnrch/nicko/i18n/I18NDict.java @@ -45,6 +45,7 @@ public class I18NDict { public static class Error { public static final String GENERIC = "error.generic"; + public static final String PERMISSION = "error.permission"; public static final String PLAYER_OFFLINE = "error.offline"; public static final String CACHE = "error.cache"; public static final String MOJANG_NAME = "error.mojang_name";