diff --git a/pom.xml b/pom.xml
index 2572f41..fd70afc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
de.privacynerd
ChatBeautifier
- 0.3.0
+ 0.3.1
jar
ChatBeautifier
diff --git a/src/main/java/de/privacynerd/chatbeautifier/displaynamecolor/ChooseChatColorGUI.java b/src/main/java/de/privacynerd/chatbeautifier/displaynamecolor/ChooseChatColorGUI.java
index 354119b..29e8431 100644
--- a/src/main/java/de/privacynerd/chatbeautifier/displaynamecolor/ChooseChatColorGUI.java
+++ b/src/main/java/de/privacynerd/chatbeautifier/displaynamecolor/ChooseChatColorGUI.java
@@ -1,12 +1,16 @@
package de.privacynerd.chatbeautifier.displaynamecolor;
+import de.privacynerd.chatbeautifier.utils.ConfigFilenames;
+import de.privacynerd.chatbeautifier.utils.FileConfig;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.format.TextColor;
import org.bukkit.Bukkit;
import org.bukkit.Material;
+import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import de.privacynerd.chatbeautifier.displaynamecolor.ChatColorUtils;
@@ -18,6 +22,11 @@ public class ChooseChatColorGUI {
public Inventory getGUI(Player player) {
Inventory gui = Bukkit.createInventory(player, 45, Component.text("Set chat color (0x01)", NamedTextColor.DARK_GRAY));
+ int currentColorCodesIndex = -1;
+ FileConfig chatColorConfig = new FileConfig(ConfigFilenames.chatNameColors);
+ String uuidStr = player.getUniqueId().toString();
+ if ( chatColorConfig.contains(uuidStr) ) currentColorCodesIndex = chatColorConfig.getInt(uuidStr);
+
// create item stacks to be filled into the gui later
ItemStack nothing = new ItemStack(Material.LIGHT_BLUE_STAINED_GLASS_PANE); // for filling the gaps
@@ -26,7 +35,7 @@ public class ChooseChatColorGUI {
ArrayList chooseColorCodes = ChatColorUtils.getChooseColorCodes();
for (int i=0; i<15; i++) {
- ItemMeta color_meta = nothing.getItemMeta();
+ ItemMeta color_meta = chooseColorItems.get(i).getItemMeta();
if(i==0) { // make it the black text readable
color_meta.displayName(Component.text(chooseColorNames.get(i), NamedTextColor.WHITE));
} else {
@@ -50,12 +59,51 @@ public class ChooseChatColorGUI {
}
for (int i=38; i<45; i++) { gui.setItem(i, nothing); }
+ // now fill the actual selectables
+ int i1, i2, i3, i4, i5; // indexes
+ ItemStack is1, is2, is3, is4, is5; // the item stacks
+ ItemMeta itemMeta; // just to declare it here and fill it later
for(int i=0; i<3; i++) {
- gui.setItem(11 + (8 * i) + i, chooseColorItems.get((4 * i) + i));
- gui.setItem(11 + (8 * i) + i +1, chooseColorItems.get((4 * i) + i +1));
- gui.setItem(11 + (8 * i) + i +2, chooseColorItems.get((4 * i) + i +2));
- gui.setItem(11 + (8 * i) + i +3, chooseColorItems.get((4 * i) + i +3));
- gui.setItem(11 + (8 * i) + i +4, chooseColorItems.get((4 * i) + i +4));
+ i1 = (4 * i) + i; is1 = chooseColorItems.get(i1);
+ i2 = i1 + 1; is2 = chooseColorItems.get(i2);
+ i3 = i1 + 2; is3 = chooseColorItems.get(i3);
+ i4 = i1 + 3; is4 = chooseColorItems.get(i4);
+ i5 = i1 + 4; is5 = chooseColorItems.get(i5);
+ if(i1 == currentColorCodesIndex) {
+ itemMeta = is1.getItemMeta();
+ itemMeta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
+ itemMeta.addEnchant(Enchantment.THORNS, 1, true);
+ is1.setItemMeta(itemMeta);
+ }
+ if(i2 == currentColorCodesIndex) {
+ itemMeta = is2.getItemMeta();
+ itemMeta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
+ itemMeta.addEnchant(Enchantment.THORNS, 1, true);
+ is2.setItemMeta(itemMeta);
+ }
+ if(i3 == currentColorCodesIndex) {
+ itemMeta = is3.getItemMeta();
+ itemMeta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
+ itemMeta.addEnchant(Enchantment.THORNS, 1, true);
+ is3.setItemMeta(itemMeta);
+ }
+ if(i4 == currentColorCodesIndex) {
+ itemMeta = is4.getItemMeta();
+ itemMeta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
+ itemMeta.addEnchant(Enchantment.THORNS, 1, true);
+ is4.setItemMeta(itemMeta);
+ }
+ if(i5 == currentColorCodesIndex) {
+ itemMeta = is5.getItemMeta();
+ itemMeta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
+ itemMeta.addEnchant(Enchantment.THORNS, 1, true);
+ is5.setItemMeta(itemMeta);
+ }
+ gui.setItem(11 + (8 * i) + i, is1);
+ gui.setItem(11 + (8 * i) + i +1, is2);
+ gui.setItem(11 + (8 * i) + i +2, is3);
+ gui.setItem(11 + (8 * i) + i +3, is4);
+ gui.setItem(11 + (8 * i) + i +4, is5);
}
return gui;
diff --git a/target/ChatBeautifier-0.3.1.jar b/target/ChatBeautifier-0.3.1.jar
new file mode 100644
index 0000000..df61f36
Binary files /dev/null and b/target/ChatBeautifier-0.3.1.jar differ
diff --git a/target/original-ChatBeautifier-0.3.1.jar b/target/original-ChatBeautifier-0.3.1.jar
new file mode 100644
index 0000000..60e0b80
Binary files /dev/null and b/target/original-ChatBeautifier-0.3.1.jar differ