Skip to content

Commit 9ceaa8c

Browse files
committed
Add Menu Name and Eye of Ender Prompt
Added a config option to change the menu name. Added a function to the Eye of Ender to reset the player's prefix on use. Eye of Ender now prompts "Click to Reset Your Prefix".
1 parent 3055def commit 9ceaa8c

File tree

4 files changed

+21
-2
lines changed

4 files changed

+21
-2
lines changed

src/main/java/adhdmc/simpleprefixes/config/Config.java

+4
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44
import adhdmc.simpleprefixes.util.Message;
55
import org.bukkit.configuration.file.FileConfiguration;
66

7+
78
public class Config {
89

910
public enum SAVING_TYPE { PDC, FILE }
1011
private static SAVING_TYPE savingType = SAVING_TYPE.PDC;
1112
private static String defaultPrefix = "<white>[<gray>Player</gray>]</white> ";
13+
private static String prefixMenuName = "<bold>Prefix Menu</bold>";
1214

1315
public static void loadConfig() {
1416
SimplePrefixes.getPlugin().reloadConfig();
@@ -19,9 +21,11 @@ public static void loadConfig() {
1921
SimplePrefixes.getPlugin().getLogger().warning(Message.LOGGER_INVALID_CONFIG_SAVING_TYPE.getMessage());
2022
}
2123
defaultPrefix = config.getString("default-prefix", defaultPrefix);
24+
prefixMenuName = config.getString("prefix-menu-name", prefixMenuName);
2225
}
2326

2427
public static SAVING_TYPE getSavingType() { return savingType; }
2528
public static String getDefaultPrefix() { return defaultPrefix; }
29+
public static String getPrefixMenuName() { return prefixMenuName; }
2630

2731
}

src/main/java/adhdmc/simpleprefixes/gui/chest/PrefixMenu.java

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package adhdmc.simpleprefixes.gui.chest;
22

33
import adhdmc.simpleprefixes.SimplePrefixes;
4+
import adhdmc.simpleprefixes.config.Config;
45
import adhdmc.simpleprefixes.util.Message;
56
import adhdmc.simpleprefixes.prefix.Prefix;
67
import adhdmc.simpleprefixes.prefix.RequirementUtil;
@@ -18,6 +19,7 @@
1819
import org.bukkit.persistence.PersistentDataType;
1920

2021
import java.util.ArrayList;
22+
import java.util.Arrays;
2123
import java.util.Collections;
2224
import java.util.List;
2325

@@ -39,7 +41,12 @@ public static PrefixMenu getInstance() {
3941
}
4042

4143
public Inventory generatePrefixMenu(Player p, int page) {
42-
Inventory inv = Bukkit.createInventory(null, 54);
44+
Inventory inv;
45+
if (Config.getPrefixMenuName() == null) inv = Bukkit.createInventory(null, 54);
46+
else {
47+
Component title = SimplePrefixes.getMiniMessage().deserialize(Config.getPrefixMenuName());
48+
inv = Bukkit.createInventory(null, 54, title);
49+
}
4350
List<String> prefixes = getPlayerPrefixOptions(p);
4451
inv.setItem(0, generatePageArrowItem(page, prefixes.size(), false));
4552
inv.setItem(4, generateHeaderItem());
@@ -116,6 +123,7 @@ private ItemStack generateHeaderItem() {
116123
// TODO: Set name and description through config.
117124
ItemMeta meta = item.getItemMeta();
118125
meta.getPersistentDataContainer().set(nskPrefixMenu, PersistentDataType.BYTE, (byte) 1);
126+
meta.displayName(mini.deserialize("<!i><aqua>Click to Reset Your Prefix</aqua>"));
119127
item.setItemMeta(meta);
120128
return item;
121129
}

src/main/java/adhdmc/simpleprefixes/gui/chest/listener/PrefixMenuListener.java

+6
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@ private boolean isPrefixMenu(Inventory inv) {
4444

4545
private void evalSelection(ItemStack item, Player p) {
4646
if (item == null) return;
47+
if (item.getItemMeta().getPersistentDataContainer().has(PrefixMenu.nskPrefixMenu)) {
48+
PrefixUtil.getInstance().setPrefix(p, null);
49+
p.sendMessage(Message.SUCCESS_RESET.getParsedMessage(p));
50+
p.playSound(p.getLocation(), Sound.UI_CARTOGRAPHY_TABLE_TAKE_RESULT, 1f, 1f);
51+
return;
52+
}
4753
Integer newPage = item.getItemMeta().getPersistentDataContainer().get(PrefixMenu.nskPage, PersistentDataType.INTEGER);
4854
if (newPage != null) {
4955
Inventory newMenu = PrefixMenu.getInstance().generatePrefixMenu(p, newPage);

src/main/resources/config.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44
# Please Note:
55
# PlaceholderAPI is required, but all configuration options support Placeholders.
66
#####
7-
#Don't touch unless asked to
7+
# Don't touch unless asked to
88
debug-level: 0
99

1010
# Saving Types: PDC, File
1111
saving-type: "file"
1212
default-prefix: "<white>[<gray>Player</gray>]</white> "
13+
prefix-menu-name: "<bold>Prefix Menu</bold>"

0 commit comments

Comments
 (0)