feat: permission message and items

This commit is contained in:
ineanto 2023-07-10 17:38:03 +02:00
parent 92f88a1b92
commit 00168c03a7
5 changed files with 19 additions and 15 deletions

View file

@ -8,6 +8,8 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import xyz.atnrch.nicko.i18n.I18N;
import xyz.atnrch.nicko.i18n.I18NDict;
public class NickoCommand implements CommandExecutor { public class NickoCommand implements CommandExecutor {
private String helpMessage = "§cNicko §8§o[{version}] §f- §2Help:\n" + private String helpMessage = "§cNicko §8§o[{version}] §f- §2Help:\n" +
@ -17,7 +19,7 @@ public class NickoCommand implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (sender instanceof Player) { if (sender instanceof Player) {
Player player = (Player) sender; final Player player = (Player) sender;
if (args.length >= 1) { if (args.length >= 1) {
switch (args[0]) { switch (args[0]) {
case "debug": case "debug":
@ -33,7 +35,12 @@ public class NickoCommand implements CommandExecutor {
return false; return false;
} }
if(player.isOp() || player.hasPermission("nicko.use") || player.hasPermission("nicko.*")) {
new HomeGUI(player).open(); new HomeGUI(player).open();
} else {
final I18N i18N = new I18N(player);
player.sendMessage(i18N.translate(I18NDict.Error.PERMISSION));
}
return false; return false;
} }

View file

@ -18,11 +18,11 @@ public class HomeGUI {
public HomeGUI(Player player) { public HomeGUI(Player player) {
final String[] dynamicStructure = new String[]{ final String[] dynamicStructure = new String[]{
"# # # # # # # # #", "# # # # # # # # P",
"A # # N B S # # #", "# # # N B S # # #",
"E P # # # # # # R"}; "E A # # # # # # R"};
if (!player.hasPermission("nicko.admin") || !player.isOp()) { if (!player.isOp() || !player.hasPermission("nicko.admin")) {
dynamicStructure[2] = dynamicStructure[2].replace("A", "#"); dynamicStructure[2] = dynamicStructure[2].replace("A", "#");
} }

View file

@ -9,7 +9,7 @@ import xyz.xenondevs.invui.item.impl.SuppliedItem;
public class ChangeBothItem extends SuppliedItem { public class ChangeBothItem extends SuppliedItem {
public ChangeBothItem() { public ChangeBothItem() {
super(() -> { 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.setDisplayName("§6Skin §fand §6name §fchange");
builder.addLoreLines("§7Will open a GUI to change both your name and your skin."); builder.addLoreLines("§7Will open a GUI to change both your name and your skin.");
return builder; return builder;

View file

@ -1,21 +1,17 @@
package xyz.atnrch.nicko.gui.items.home; package xyz.atnrch.nicko.gui.items.home;
import xyz.atnrch.nicko.gui.AdminGUI;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.event.inventory.ClickType; 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.builder.ItemBuilder;
import xyz.xenondevs.invui.item.impl.SuppliedItem; import xyz.xenondevs.invui.item.impl.SuppliedItem;
public class AdminAccessItem extends SuppliedItem { public class AdminAccessItem extends SuppliedItem {
public AdminAccessItem() { public AdminAccessItem() {
super(() -> { super(() -> {
final ItemBuilder builder = new ItemBuilder(Material.COMMAND_BLOCK); final ItemBuilder builder = new ItemBuilder(Material.COMMAND_BLOCK_MINECART);
builder.addEnchantment(Enchantment.DAMAGE_ALL, 1, false); builder.setDisplayName("Administration panel");
builder.addItemFlags(ItemFlag.HIDE_ENCHANTS); builder.addLoreLines("§7Configure and manage Nicko.");
builder.setDisplayName("§cAdministration panel");
builder.addLoreLines("§7Configure and and manage Nicko.");
return builder; return builder;
}, click -> { }, click -> {
final ClickType clickType = click.getClickType(); final ClickType clickType = click.getClickType();

View file

@ -45,6 +45,7 @@ public class I18NDict {
public static class Error { public static class Error {
public static final String GENERIC = "error.generic"; 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 PLAYER_OFFLINE = "error.offline";
public static final String CACHE = "error.cache"; public static final String CACHE = "error.cache";
public static final String MOJANG_NAME = "error.mojang_name"; public static final String MOJANG_NAME = "error.mojang_name";