Skip to content

Commit 21fabb8

Browse files
kirushkinxrossnoah
andauthored
interface styling configuration (#40)
* interface styling configuration * change getMainColor to getPrimaryColor --------- Co-authored-by: Noah Ross <me@noah.dev>
1 parent 820c6a3 commit 21fabb8

9 files changed

Lines changed: 115 additions & 45 deletions

File tree

src/main/java/dev/noah/perplayerkit/PerPlayerKit.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import dev.noah.perplayerkit.storage.exceptions.StorageOperationException;
3434
import dev.noah.perplayerkit.util.BackupManager;
3535
import dev.noah.perplayerkit.util.BroadcastManager;
36+
import dev.noah.perplayerkit.util.StyleManager;
3637
import org.bstats.bukkit.Metrics;
3738
import org.bukkit.Bukkit;
3839
import org.bukkit.Material;
@@ -62,6 +63,8 @@ public void onEnable() {
6263
ConfigManager configManager = new ConfigManager(this);
6364
configManager.loadConfig();
6465

66+
new StyleManager(this);
67+
6568
new ItemFilter(this);
6669
new BroadcastManager(this);
6770

src/main/java/dev/noah/perplayerkit/commands/EnderchestCommand.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@
2020

2121
import dev.noah.perplayerkit.gui.ItemUtil;
2222
import dev.noah.perplayerkit.util.DisabledCommand;
23-
import org.bukkit.ChatColor;
24-
import org.bukkit.Material;
23+
import dev.noah.perplayerkit.util.StyleManager;
2524
import org.bukkit.command.Command;
2625
import org.bukkit.command.CommandExecutor;
2726
import org.bukkit.command.CommandSender;
@@ -51,9 +50,9 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
5150

5251
public void viewOnlyEC(Player p) {
5352

54-
ItemStack fill = ItemUtil.createItem(Material.BLUE_STAINED_GLASS_PANE,1,"");
53+
ItemStack fill = ItemUtil.createGlassPane();
5554

56-
Menu menu = ChestMenu.builder(5).title(ChatColor.BLUE + "View Only Enderchest").build();
55+
Menu menu = ChestMenu.builder(5).title(StyleManager.get().getPrimaryColor() + "View Only Enderchest").build();
5756

5857

5958
for (int i = 0; i < 9; i++) {

src/main/java/dev/noah/perplayerkit/commands/RegearCommand.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
import dev.noah.perplayerkit.util.BroadcastManager;
66
import dev.noah.perplayerkit.util.CooldownManager;
77
import dev.noah.perplayerkit.util.DisabledCommand;
8+
import dev.noah.perplayerkit.util.StyleManager;
89
import net.kyori.adventure.text.minimessage.MiniMessage;
910
import org.bukkit.Bukkit;
10-
import org.bukkit.ChatColor;
1111
import org.bukkit.Material;
1212
import org.bukkit.command.Command;
1313
import org.bukkit.command.CommandExecutor;
@@ -26,8 +26,9 @@
2626

2727
public class RegearCommand implements CommandExecutor, Listener {
2828

29-
public static final ItemStack REGEAR_SHULKER_ITEM = ItemUtil.createItem(Material.WHITE_SHULKER_BOX, 1, ChatColor.BLUE + "Regear Shulker", "&7● Restocks Your Kit", "&7● Use &9/rg &7to get another regear shulker");
30-
public static final ItemStack REGEAR_SHELL_ITEM = ItemUtil.createItem(Material.SHULKER_SHELL, 1, ChatColor.BLUE + "Regear Shell", "&7● Restocks Your Kit", "&7● Click to use!");
29+
public static final ItemStack REGEAR_SHULKER_ITEM = ItemUtil.createItem(Material.WHITE_SHULKER_BOX, 1, StyleManager.get().getPrimaryColor() + "Regear Shulker", "&7● Restocks Your Kit", "&7● Use " + StyleManager.get().getPrimaryColor() + "/rg &7to get another regear shulker");
30+
public static final ItemStack REGEAR_SHELL_ITEM = ItemUtil.createItem(Material.SHULKER_SHELL, 1, StyleManager.get().getPrimaryColor() + "Regear Shell", "&7● Restocks Your Kit", "&7● Click to use!");
31+
3132
private final Plugin plugin;
3233
private final CooldownManager commandCooldownManager;
3334
private final CooldownManager damageCooldownManager;
@@ -192,7 +193,7 @@ public record RegearInventoryHolder(
192193

193194
@Override
194195
public @NotNull Inventory getInventory() {
195-
Inventory inventory = Bukkit.createInventory(this, 27, ChatColor.BLUE + "Regear Shulker");
196+
Inventory inventory = Bukkit.createInventory(this, 27, StyleManager.get().getPrimaryColor() + "Regear Shulker");
196197
inventory.setItem(13, REGEAR_SHELL_ITEM);
197198
return inventory;
198199
}

src/main/java/dev/noah/perplayerkit/gui/GUI.java

Lines changed: 23 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,11 @@
2222
import dev.noah.perplayerkit.KitManager;
2323
import dev.noah.perplayerkit.KitRoomDataManager;
2424
import dev.noah.perplayerkit.PublicKit;
25-
import dev.noah.perplayerkit.util.BroadcastManager;
26-
import dev.noah.perplayerkit.util.IDUtil;
27-
import dev.noah.perplayerkit.util.PlayerUtil;
25+
import dev.noah.perplayerkit.util.*;
2826
import net.md_5.bungee.api.ChatColor;
2927
import org.bukkit.Bukkit;
3028
import org.bukkit.Material;
3129
import org.bukkit.OfflinePlayer;
32-
import org.bukkit.Sound;
3330
import org.bukkit.entity.Player;
3431
import org.bukkit.event.inventory.ClickType;
3532
import org.bukkit.inventory.ItemStack;
@@ -46,7 +43,7 @@
4643

4744
import static dev.noah.perplayerkit.gui.ItemUtil.addHideFlags;
4845
import static dev.noah.perplayerkit.gui.ItemUtil.createItem;
49-
import dev.noah.perplayerkit.util.SoundManager;
46+
import static dev.noah.perplayerkit.gui.ItemUtil.createGlassPane;
5047

5148
public class GUI {
5249
private final Plugin plugin;
@@ -67,7 +64,7 @@ public static void addLoadPublicKit(Slot slot, String id) {
6764
}
6865

6966
public static Menu createPublicKitMenu() {
70-
return ChestMenu.builder(6).title(ChatColor.BLUE + "Public Kit Room").redraw(true).build();
67+
return ChestMenu.builder(6).title(StyleManager.get().getPrimaryColor() + "Public Kit Room").redraw(true).build();
7168
}
7269

7370
public static boolean removeKitDeletionFlag(Player player) {
@@ -87,7 +84,7 @@ public void OpenKitMenu(Player p, int slot) {
8784
allowModification(menu.getSlot(i));
8885
}
8986
for (int i = 41; i < 54; i++) {
90-
menu.getSlot(i).setItem(ItemUtil.createItem(Material.BLUE_STAINED_GLASS_PANE, 1, " "));
87+
menu.getSlot(i).setItem(ItemUtil.createGlassPane());
9188
}
9289
menu.getSlot(45).setItem(createItem(Material.CHAINMAIL_BOOTS, 1, "&7&lBOOTS"));
9390
menu.getSlot(46).setItem(createItem(Material.CHAINMAIL_LEGGINGS, 1, "&7&lLEGGINGS"));
@@ -120,7 +117,7 @@ public void OpenPublicKitEditor(Player p, String kitId) {
120117
allowModification(menu.getSlot(i));
121118
}
122119
for (int i = 41; i < 54; i++) {
123-
menu.getSlot(i).setItem(ItemUtil.createItem(Material.BLUE_STAINED_GLASS_PANE, 1, " "));
120+
menu.getSlot(i).setItem(ItemUtil.createGlassPane());
124121
}
125122
menu.getSlot(45).setItem(createItem(Material.CHAINMAIL_BOOTS, 1, "&7&lBOOTS"));
126123
menu.getSlot(46).setItem(createItem(Material.CHAINMAIL_LEGGINGS, 1, "&7&lLEGGINGS"));
@@ -144,11 +141,11 @@ public void OpenECKitKenu(Player p, int slot) {
144141
Menu menu = createECMenu(slot);
145142

146143
for (int i = 0; i < 9; i++) {
147-
menu.getSlot(i).setItem(ItemUtil.createItem(Material.BLUE_STAINED_GLASS_PANE, 1, " "));
144+
menu.getSlot(i).setItem(ItemUtil.createGlassPane());
148145

149146
}
150147
for (int i = 36; i < 54; i++) {
151-
menu.getSlot(i).setItem(ItemUtil.createItem(Material.BLUE_STAINED_GLASS_PANE, 1, " "));
148+
menu.getSlot(i).setItem(ItemUtil.createGlassPane());
152149

153150
}
154151
if (KitManager.get().getItemStackArrayById(p.getUniqueId() + "ec" + slot) != null) {
@@ -183,7 +180,7 @@ public void InspectKit(Player p, UUID target, int slot) {
183180
}
184181
}
185182
for (int i = 41; i < 54; i++) {
186-
menu.getSlot(i).setItem(ItemUtil.createItem(Material.BLUE_STAINED_GLASS_PANE, 1, " "));
183+
menu.getSlot(i).setItem(ItemUtil.createGlassPane());
187184
}
188185
menu.getSlot(45).setItem(createItem(Material.CHAINMAIL_BOOTS, 1, "&7&lBOOTS"));
189186
menu.getSlot(46).setItem(createItem(Material.CHAINMAIL_LEGGINGS, 1, "&7&lLEGGINGS"));
@@ -216,11 +213,11 @@ public void InspectEc(Player p, UUID target, int slot) {
216213
Menu menu = createInspectEcMenu(slot, playerName);
217214

218215
for (int i = 0; i < 9; i++) {
219-
menu.getSlot(i).setItem(ItemUtil.createItem(Material.BLUE_STAINED_GLASS_PANE, 1, " "));
216+
menu.getSlot(i).setItem(ItemUtil.createGlassPane());
220217

221218
}
222219
for (int i = 36; i < 54; i++) {
223-
menu.getSlot(i).setItem(ItemUtil.createItem(Material.BLUE_STAINED_GLASS_PANE, 1, " "));
220+
menu.getSlot(i).setItem(ItemUtil.createGlassPane());
224221

225222
}
226223
if (KitManager.get().getItemStackArrayById(p.getUniqueId() + "ec" + slot) != null) {
@@ -254,7 +251,7 @@ public void InspectEc(Player p, UUID target, int slot) {
254251
public void OpenMainMenu(Player p) {
255252
Menu menu = createMainMenu(p);
256253
for (int i = 0; i < 54; i++) {
257-
menu.getSlot(i).setItem(createItem(Material.BLUE_STAINED_GLASS_PANE, 1, " "));
254+
menu.getSlot(i).setItem(createGlassPane());
258255
}
259256
for (int i = 9; i < 18; i++) {
260257
menu.getSlot(i).setItem(createItem(Material.CHEST, 1, "&3&lKit " + (i - 8), "&7● Left click to load kit", "&7● Right click to edit kit"));
@@ -279,7 +276,7 @@ public void OpenMainMenu(Player p) {
279276
}
280277

281278
for (int i = 37; i < 44; i++) {
282-
menu.getSlot(i).setItem(createItem(Material.BLUE_STAINED_GLASS_PANE, 1, " "));
279+
menu.getSlot(i).setItem(createGlassPane());
283280
}
284281

285282
menu.getSlot(37).setItem(createItem(Material.NETHER_STAR, 1, "&a&lKIT ROOM"));
@@ -308,7 +305,7 @@ public void OpenKitRoom(Player p, int page) {
308305
allowModification(menu.getSlot(i));
309306
}
310307
for (int i = 45; i < 54; i++) {
311-
menu.getSlot(i).setItem(ItemUtil.createItem(Material.BLUE_STAINED_GLASS_PANE, 1, " "));
308+
menu.getSlot(i).setItem(ItemUtil.createGlassPane());
312309
}
313310
if (KitRoomDataManager.get().getKitRoomPage(page) != null) {
314311
for (int i = 0; i < 45; i++) {
@@ -352,10 +349,10 @@ public Menu ViewPublicKitMenu(Player p, String id) {
352349
}
353350
return null;
354351
}
355-
Menu menu = ChestMenu.builder(6).title(ChatColor.BLUE + "Viewing Public Kit: " + id).redraw(true).build();
352+
Menu menu = ChestMenu.builder(6).title(StyleManager.get().getPrimaryColor() + "Viewing Public Kit: " + id).redraw(true).build();
356353

357354
for (int i = 0; i < 54; i++) {
358-
menu.getSlot(i).setItem(ItemUtil.createItem(Material.BLUE_STAINED_GLASS_PANE, 1, " "));
355+
menu.getSlot(i).setItem(ItemUtil.createGlassPane());
359356
}
360357

361358
for (int i = 9; i < 36; i++) {
@@ -382,7 +379,7 @@ public Menu ViewPublicKitMenu(Player p, String id) {
382379
public void OpenPublicKitMenu(Player player) {
383380
Menu menu = createPublicKitMenu();
384381
for (int i = 0; i < 54; i++) {
385-
menu.getSlot(i).setItem(ItemUtil.createItem(Material.BLUE_STAINED_GLASS_PANE, 1, " "));
382+
menu.getSlot(i).setItem(ItemUtil.createGlassPane());
386383
}
387384

388385
for (int i = 18; i < 36; i++) {
@@ -653,31 +650,31 @@ public void addEditLoadEC(Slot slot, int i) {
653650
}
654651

655652
public Menu createKitMenu(int slot) {
656-
return ChestMenu.builder(6).title(ChatColor.BLUE + "Kit: " + slot).build();
653+
return ChestMenu.builder(6).title(StyleManager.get().getPrimaryColor() + "Kit: " + slot).build();
657654
}
658655

659656
public Menu createPublicKitMenu(String id) {
660-
return ChestMenu.builder(6).title(ChatColor.BLUE + "Public Kit: " + id).build();
657+
return ChestMenu.builder(6).title(StyleManager.get().getPrimaryColor() + "Public Kit: " + id).build();
661658
}
662659

663660
public Menu createECMenu(int slot) {
664-
return ChestMenu.builder(6).title(ChatColor.BLUE + "Enderchest: " + slot).build();
661+
return ChestMenu.builder(6).title(StyleManager.get().getPrimaryColor() + "Enderchest: " + slot).build();
665662
}
666663

667664
public Menu createInspectMenu(int slot, String playerName) {
668-
return ChestMenu.builder(6).title(ChatColor.BLUE + "Inspecting " + playerName + "'s kit " + slot).build();
665+
return ChestMenu.builder(6).title(StyleManager.get().getPrimaryColor() + "Inspecting " + playerName + "'s kit " + slot).build();
669666
}
670667

671668
public Menu createInspectEcMenu(int slot, String playerName) {
672-
return ChestMenu.builder(6).title(ChatColor.BLUE + "Inspecting " + playerName + "'s enderchest " + slot).build();
669+
return ChestMenu.builder(6).title(StyleManager.get().getPrimaryColor() + "Inspecting " + playerName + "'s enderchest " + slot).build();
673670
}
674671

675672
public Menu createMainMenu(Player p) {
676-
return ChestMenu.builder(6).title(ChatColor.BLUE + p.getName() + "'s Kits").build();
673+
return ChestMenu.builder(6).title(StyleManager.get().getPrimaryColor() + p.getName() + "'s Kits").build();
677674
}
678675

679676
public Menu createKitRoom() {
680-
return ChestMenu.builder(6).title(ChatColor.BLUE + "Kit Room").redraw(true).build();
677+
return ChestMenu.builder(6).title(StyleManager.get().getPrimaryColor() + "Kit Room").redraw(true).build();
681678
}
682679

683680
public void allowModification(Slot slot) {

src/main/java/dev/noah/perplayerkit/gui/ItemUtil.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
*/
1919
package dev.noah.perplayerkit.gui;
2020

21+
import dev.noah.perplayerkit.util.StyleManager;
2122
import org.bukkit.ChatColor;
2223
import org.bukkit.Material;
2324
import org.bukkit.enchantments.Enchantment;
@@ -54,6 +55,10 @@ public static ItemStack createItem(Material material, int quantity, String name,
5455
return item;
5556
}
5657

58+
public static ItemStack createGlassPane() {
59+
return createItem(StyleManager.get().getGlassMaterial(), 1, " ");
60+
}
61+
5762
public static ItemStack createItem(Material material, String name) {
5863
return createItem(material, 1, name);
5964
}

src/main/java/dev/noah/perplayerkit/listeners/KitMenuCloseListener.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import dev.noah.perplayerkit.KitManager;
2222
import dev.noah.perplayerkit.gui.GUI;
23+
import dev.noah.perplayerkit.util.StyleManager;
2324
import net.md_5.bungee.api.ChatColor;
2425
import org.bukkit.Bukkit;
2526
import org.bukkit.OfflinePlayer;
@@ -41,10 +42,10 @@ public void onKitEditorClose(InventoryCloseEvent e) {
4142
if (inv.getSize() == 54) {
4243
if (inv.getLocation() == null) {
4344
InventoryView view = e.getView();
44-
if (view.getTitle().contains(ChatColor.BLUE + "Kit: ")) {
45+
if (view.getTitle().contains(StyleManager.get().getPrimaryColor() + "Kit: ")) {
4546
Player p = (Player) e.getPlayer();
4647
UUID uuid = p.getUniqueId();
47-
int slot = Integer.parseInt(view.getTitle().replace(ChatColor.BLUE + "Kit: ", ""));
48+
int slot = Integer.parseInt(view.getTitle().replace(StyleManager.get().getPrimaryColor() + "Kit: ", ""));
4849
ItemStack[] kit = new ItemStack[41];
4950
ItemStack[] chestitems = e.getInventory().getContents();
5051

@@ -67,9 +68,9 @@ public void onPublicKitEditorClose(InventoryCloseEvent e) {
6768
if (inv.getSize() == 54) {
6869
if (inv.getLocation() == null) {
6970
InventoryView view = e.getView();
70-
if (view.getTitle().contains(ChatColor.BLUE + "Public Kit: ")) {
71+
if (view.getTitle().contains(StyleManager.get().getPrimaryColor() + "Public Kit: ")) {
7172
Player player = (Player) e.getPlayer();
72-
String publickit = view.getTitle().replace(ChatColor.BLUE + "Public Kit: ", "");
73+
String publickit = view.getTitle().replace(StyleManager.get().getPrimaryColor() + "Public Kit: ", "");
7374
ItemStack[] kit = new ItemStack[41];
7475
ItemStack[] chestitems = e.getInventory().getContents();
7576

@@ -92,10 +93,10 @@ public void onEnderchestEditorClose(InventoryCloseEvent e) {
9293
if (inv.getSize() == 54) {
9394
if (inv.getLocation() == null) {
9495
InventoryView view = e.getView();
95-
if (view.getTitle().contains(ChatColor.BLUE + "Enderchest: ")) {
96+
if (view.getTitle().contains(StyleManager.get().getPrimaryColor() + "Enderchest: ")) {
9697
Player p = (Player) e.getPlayer();
9798
UUID uuid = p.getUniqueId();
98-
int slot = Integer.parseInt(view.getTitle().replace(ChatColor.BLUE + "Enderchest: ", ""));
99+
int slot = Integer.parseInt(view.getTitle().replace(StyleManager.get().getPrimaryColor() + "Enderchest: ", ""));
99100
ItemStack[] kit = new ItemStack[27];
100101
ItemStack[] chestitems = e.getInventory().getContents();
101102

@@ -118,13 +119,13 @@ public void onInspectKitEditorClose(InventoryCloseEvent e) {
118119
if (inv.getSize() == 54) {
119120
if (inv.getLocation() == null) {
120121
InventoryView view = e.getView();
121-
if (view.getTitle().contains(ChatColor.BLUE + "Inspecting ") && view.getTitle().contains("'s kit ")) {
122+
if (view.getTitle().contains(StyleManager.get().getPrimaryColor() + "Inspecting ") && view.getTitle().contains("'s kit ")) {
122123
Player p = (Player) e.getPlayer();
123124
if (!p.hasPermission("perplayerkit.admin")) {
124125
return;
125126
}
126127
String title = view.getTitle();
127-
String[] parts = title.replace(ChatColor.BLUE + "Inspecting ", "").split("'s kit ");
128+
String[] parts = title.replace(StyleManager.get().getPrimaryColor() + "Inspecting ", "").split("'s kit ");
128129
if (parts.length != 2) {
129130
return;
130131
}
@@ -185,13 +186,13 @@ public void onInspectEnderchestEditorClose(InventoryCloseEvent e) {
185186
if (inv.getSize() == 54) {
186187
if (inv.getLocation() == null) {
187188
InventoryView view = e.getView();
188-
if (view.getTitle().contains(ChatColor.BLUE + "Inspecting ") && view.getTitle().contains("'s enderchest ")) {
189+
if (view.getTitle().contains(StyleManager.get().getPrimaryColor() + "Inspecting ") && view.getTitle().contains("'s enderchest ")) {
189190
Player p = (Player) e.getPlayer();
190191
if (!p.hasPermission("perplayerkit.admin")) {
191192
return;
192193
}
193194
String title = view.getTitle();
194-
String[] parts = title.replace(ChatColor.BLUE + "Inspecting ", "").split("'s enderchest ");
195+
String[] parts = title.replace(StyleManager.get().getPrimaryColor() + "Inspecting ", "").split("'s enderchest ");
195196
if (parts.length != 2) {
196197
return;
197198
}

src/main/java/dev/noah/perplayerkit/listeners/KitRoomSaveListener.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package dev.noah.perplayerkit.listeners;
2020

2121
import dev.noah.perplayerkit.KitRoomDataManager;
22+
import dev.noah.perplayerkit.util.StyleManager;
2223
import net.md_5.bungee.api.ChatColor;
2324
import org.bukkit.Material;
2425
import org.bukkit.entity.Player;
@@ -40,7 +41,7 @@ public void onSaveButtonClick(InventoryClickEvent e) {
4041
InventoryView view = e.getView();
4142
Player p = (Player) e.getWhoClicked();
4243

43-
if (view.getTitle().contains(ChatColor.BLUE + p.getName() + "'s Kits")) {
44+
if (view.getTitle().contains(StyleManager.get().getPrimaryColor() + p.getName() + "'s Kits")) {
4445
ItemStack saveButton = e.getInventory().getItem(53);
4546
if (saveButton != null && saveButton.getType() == Material.BARRIER) {
4647
if (e.getSlot() == 53) {

0 commit comments

Comments
 (0)