mirror of
https://github.com/HibiscusMC/HMCCosmetics.git
synced 2025-12-28 03:19:15 +00:00
feat: rename setlocation to setwardrobesetting to allow modification of permission and distance ingame
This commit is contained in:
@@ -307,8 +307,8 @@ public class CosmeticCommand implements CommandExecutor {
|
||||
DyeMenu.openMenu(user, cosmetic);
|
||||
}
|
||||
}
|
||||
case ("setlocation") -> {
|
||||
if (!sender.hasPermission("hmccosmetics.cmd.setlocation")) {
|
||||
case ("setwardrobesetting") -> {
|
||||
if (!sender.hasPermission("hmccosmetics.cmd.setwardrobesetting")) {
|
||||
if (!silent) MessagesUtil.sendMessage(sender, "no-permission");
|
||||
return true;
|
||||
}
|
||||
@@ -344,6 +344,19 @@ public class CosmeticCommand implements CommandExecutor {
|
||||
if (!silent) MessagesUtil.sendMessage(player, "set-wardrobe-leaving");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args.length >= 4) {
|
||||
if (args[2].equalsIgnoreCase("permission")) {
|
||||
WardrobeSettings.setWardrobePermission(wardrobe, args[3]);
|
||||
if (!silent) MessagesUtil.sendMessage(player, "set-wardrobe-permission");
|
||||
return true;
|
||||
}
|
||||
if (args[2].equalsIgnoreCase("distance")) {
|
||||
WardrobeSettings.setWardrobeDistance(wardrobe, Integer.valueOf(args[3]));
|
||||
if (!silent) MessagesUtil.sendMessage(player, "set-wardrobe-distance");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
case ("dump") -> {
|
||||
if (player == null) return true;
|
||||
|
||||
@@ -38,7 +38,7 @@ public class CosmeticCommandTabComplete implements TabCompleter {
|
||||
if (hasPermission(sender, "hmccosmetics.cmd.wardrobe")) completions.add("wardrobe");
|
||||
if (hasPermission(sender, "hmccosmetics.cmd.dataclear")) completions.add("dataclear");
|
||||
if (hasPermission(sender, "hmccosmetics.cmd.dye")) completions.add("dye");
|
||||
if (hasPermission(sender, "hmccosmetics.cmd.setlocation")) completions.add("setlocation");
|
||||
if (hasPermission(sender, "hmccosmetics.cmd.setwardrobesetting")) completions.add("setwardrobesetting");
|
||||
if (hasPermission(sender, "hmccosmetics.cmd.hide")) completions.add("hide");
|
||||
if (hasPermission(sender, "hmccosmetics.cmd.show")) completions.add("show");
|
||||
if (hasPermission(sender, "hmccosmetics.cmd.debug")) completions.add("debug");
|
||||
@@ -87,7 +87,7 @@ public class CosmeticCommandTabComplete implements TabCompleter {
|
||||
completions.add(slot.name());
|
||||
}
|
||||
}
|
||||
case "setlocation" -> {
|
||||
case "setwardrobesetting" -> {
|
||||
for (Wardrobe wardrobe : WardrobeSettings.getWardrobes()) {
|
||||
completions.add(wardrobe.getId());
|
||||
}
|
||||
@@ -107,10 +107,12 @@ public class CosmeticCommandTabComplete implements TabCompleter {
|
||||
completions.add(player.getName());
|
||||
}
|
||||
}
|
||||
case "setlocation" -> {
|
||||
case "setwardrobesetting" -> {
|
||||
completions.add("npclocation");
|
||||
completions.add("viewerlocation");
|
||||
completions.add("leavelocation");
|
||||
completions.add("permission");
|
||||
completions.add("distance");
|
||||
}
|
||||
}
|
||||
StringUtil.copyPartialMatches(args[2], completions, finalCompletions);
|
||||
|
||||
@@ -27,6 +27,14 @@ public class Wardrobe {
|
||||
return location;
|
||||
}
|
||||
|
||||
public void setDistance(int distance) {
|
||||
this.distance = distance;
|
||||
}
|
||||
|
||||
public void setPermission(String permission) {
|
||||
this.permission = permission;
|
||||
}
|
||||
|
||||
public boolean hasPermission() {
|
||||
return permission != null;
|
||||
}
|
||||
|
||||
@@ -302,7 +302,7 @@ public class WardrobeSettings {
|
||||
plugin.getConfig().set("wardrobe.wardrobes." + wardrobe.getId() + ".npc-location." + "yaw", newLocation.getYaw());
|
||||
plugin.getConfig().set("wardrobe.wardrobes." + wardrobe.getId() + ".npc-location." + "pitch", newLocation.getPitch());
|
||||
|
||||
HMCCosmeticsPlugin.getInstance().saveConfig();
|
||||
plugin.saveConfig();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -321,7 +321,7 @@ public class WardrobeSettings {
|
||||
plugin.getConfig().set("wardrobe.wardrobes." + wardrobe.getId() + ".viewer-location.yaw", newLocation.getYaw());
|
||||
plugin.getConfig().set("wardrobe.wardrobes." + wardrobe.getId() + ".viewer-location.pitch", newLocation.getPitch());
|
||||
|
||||
HMCCosmeticsPlugin.getInstance().saveConfig();
|
||||
plugin.saveConfig();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -340,6 +340,26 @@ public class WardrobeSettings {
|
||||
plugin.getConfig().set("wardrobe.wardrobes." + wardrobe.getId() + ".leave-location.yaw", newLocation.getYaw());
|
||||
plugin.getConfig().set("wardrobe.wardrobes." + wardrobe.getId() + ".leave-location.pitch", newLocation.getPitch());
|
||||
|
||||
HMCCosmeticsPlugin.getInstance().saveConfig();
|
||||
plugin.saveConfig();
|
||||
}
|
||||
|
||||
public static void setWardrobePermission(Wardrobe wardrobe, String permission) {
|
||||
wardrobe.setPermission(permission);
|
||||
|
||||
HMCCosmeticsPlugin plugin = HMCCosmeticsPlugin.getInstance();
|
||||
|
||||
plugin.getConfig().set("wardrobe.wardrobes." + wardrobe.getId() + ".permission", permission);
|
||||
|
||||
plugin.saveConfig();
|
||||
}
|
||||
|
||||
public static void setWardrobeDistance(Wardrobe wardrobe, int distance) {
|
||||
wardrobe.setDistance(distance);
|
||||
|
||||
HMCCosmeticsPlugin plugin = HMCCosmeticsPlugin.getInstance();
|
||||
|
||||
plugin.getConfig().set("wardrobe.wardrobes." + wardrobe.getId() + ".distance", distance);
|
||||
|
||||
plugin.saveConfig();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,8 @@ not-near-wardrobe: "%prefix% <red>You are not near the wardrobe!"
|
||||
set-wardrobe-location: "%prefix% <gradient:#6D9DC5:#45CDE9>Set new wardrobe location!"
|
||||
set-wardrobe-viewing: "%prefix% <gradient:#6D9DC5:#45CDE9>Set new wardrobe viewing location!"
|
||||
set-wardrobe-leaving: "%prefix% <gradient:#6D9DC5:#45CDE9>Set new wardrobe leaving location!"
|
||||
set-wardrobe-permission: "%prefix% <gradient:#6D9DC5:#45CDE9>Set new wardrobe permission!"
|
||||
set-wardrobe-distance: "%prefix% <gradient:#6D9DC5:#45CDE9>Set new wardrobe distance!"
|
||||
no-wardrobes: "%prefix% <red>There are no wardrobes with that name!"
|
||||
wardrobe-not-setup: "%prefix% <red>This wardrobe does not have all required locations set!"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user