fix: fix some issues, finish the breaking changes
This commit is contained in:
parent
1c05f4675d
commit
92b3f6a664
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,10 +1,13 @@
|
|||
package me.theclashfruit.hubbit.commands;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import me.theclashfruit.hubbit.Hubbit;
|
||||
import me.theclashfruit.hubbit.utils.ConfigLoaderSingleton;
|
||||
import me.theclashfruit.hubbit.utils.MenuInventoryHolder;
|
||||
import me.theclashfruit.hubbit.utils.MessageFormatter;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
|
@ -31,7 +34,7 @@ public class MenuCommand implements CommandExecutor {
|
|||
if(sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
|
||||
Inventory menu = new MenuInventoryHolder(getPlugin(Hubbit.class), menuConfig.getInt("size"), MiniMessage.miniMessage().deserialize(menuConfig.getString("title"))).getInventory();
|
||||
Inventory menu = new MenuInventoryHolder(getPlugin(Hubbit.class), menuConfig.getInt("size"), MessageFormatter.formatMessage(menuConfig.getString("title"), player)).getInventory();
|
||||
|
||||
int inventorySize = menuConfig.getInt("size");
|
||||
|
||||
|
@ -67,13 +70,13 @@ public class MenuCommand implements CommandExecutor {
|
|||
|
||||
ItemMeta itemMeta = itemStack.getItemMeta();
|
||||
|
||||
itemMeta.displayName(MiniMessage.miniMessage().deserialize(item.get("name").toString()));
|
||||
itemMeta.displayName(MessageFormatter.formatMessage(item.get("name").toString(), player));
|
||||
|
||||
List<String> lore = (List<String>) item.get("lore");
|
||||
List<Component> loreFinal = new java.util.ArrayList<>(List.of());
|
||||
|
||||
for (String s : lore) {
|
||||
loreFinal.add(MiniMessage.miniMessage().deserialize(s));
|
||||
loreFinal.add(MessageFormatter.formatMessage(s, player));
|
||||
}
|
||||
|
||||
itemMeta.lore(loreFinal);
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
package me.theclashfruit.hubbit.events;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import me.theclashfruit.hubbit.Hubbit;
|
||||
import me.theclashfruit.hubbit.utils.MessageFormatter;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.Configuration;
|
||||
import org.bukkit.event.EventHandler;
|
||||
|
@ -24,7 +27,7 @@ public class PlayerActionsListener implements Listener {
|
|||
public void onPlayerJoin(PlayerJoinEvent event) {
|
||||
Configuration mainConfig = getPlugin(Hubbit.class).getConfig();
|
||||
|
||||
event.joinMessage(MiniMessage.miniMessage().deserialize(mainConfig.getString("messages.player.join")));
|
||||
event.joinMessage(MessageFormatter.formatMessage(mainConfig.getString("messages.player.join"), event.getPlayer()));
|
||||
|
||||
getLogger().log(java.util.logging.Level.INFO, String.valueOf(mainConfig.getStringList("hub.worlds").contains(event.getPlayer().getWorld().getName())));
|
||||
|
||||
|
@ -36,15 +39,16 @@ public class PlayerActionsListener implements Listener {
|
|||
|
||||
ItemMeta itemMeta = itemStack.getItemMeta();
|
||||
|
||||
itemMeta.setDisplayName(ChatColor.translateAlternateColorCodes('&', (String) item.get("name")));
|
||||
itemMeta.displayName(MessageFormatter.formatMessage(item.get("name").toString(), event.getPlayer()));
|
||||
|
||||
List<String> lore = (List<String>) item.get("lore");
|
||||
List<Component> loreFinal = new java.util.ArrayList<>(List.of());
|
||||
|
||||
for (int i = 0; i < lore.size(); i++) {
|
||||
lore.set(i, ChatColor.translateAlternateColorCodes('&', lore.get(i)));
|
||||
for (String s : lore) {
|
||||
loreFinal.add(MessageFormatter.formatMessage(s, event.getPlayer()));
|
||||
}
|
||||
|
||||
itemMeta.setLore(lore);
|
||||
itemMeta.lore(loreFinal);
|
||||
|
||||
itemStack.setItemMeta(itemMeta);
|
||||
|
||||
|
@ -60,7 +64,8 @@ public class PlayerActionsListener implements Listener {
|
|||
public void onPlayerQuit(PlayerQuitEvent event) {
|
||||
Configuration mainConfig = getPlugin(Hubbit.class).getConfig();
|
||||
|
||||
event.quitMessage(MiniMessage.miniMessage().deserialize(mainConfig.getString("messages.player.quit")));
|
||||
event.quitMessage(MessageFormatter.formatMessage(mainConfig.getString("messages.player.leave"), event.getPlayer()));
|
||||
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
package me.theclashfruit.hubbit.utils;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import net.kyori.adventure.text.minimessage.tag.Tag;
|
||||
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;
|
||||
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class MessageFormatter {
|
||||
public static Component formatMessage(String message, Player player) {
|
||||
return MiniMessage.miniMessage().deserialize(message, new MessageFormatter().papiTag(player));
|
||||
}
|
||||
|
||||
public @NotNull TagResolver papiTag(final @NotNull Player player) {
|
||||
return TagResolver.resolver("papi", (argumentQueue, context) -> {
|
||||
final String papiPlaceholder = argumentQueue.popOr("papi tag requires an argument").value();
|
||||
final String parsedPlaceholder = PlaceholderAPI.setPlaceholders(player, '%' + papiPlaceholder + '%');
|
||||
final Component componentPlaceholder = LegacyComponentSerializer.legacySection().deserialize(parsedPlaceholder);
|
||||
|
||||
return Tag.selfClosingInserting(componentPlaceholder);
|
||||
});
|
||||
}
|
||||
}
|
|
@ -1,8 +1,8 @@
|
|||
messages:
|
||||
prefix: '<dark_grey>[<aqua><bold>Hubbit</bold><dark_grey>]</dark_grey>'
|
||||
player:
|
||||
join: '<dark_grey>[<dark_green>+<dark_grey>] <grey>%player_name% joined the server!'
|
||||
leave: '<dark_grey>[<red>-<dark_grey>] <grey>%player_name% left the server!'
|
||||
join: '<dark_grey>[<dark_green>+<dark_grey>] <grey><papi:player_name> joined the server!'
|
||||
leave: '<dark_grey>[<red>-<dark_grey>] <grey><papi:player_name> left the server!'
|
||||
|
||||
hub:
|
||||
worlds:
|
||||
|
|
|
@ -4,7 +4,7 @@ main: me.theclashfruit.hubbit.Hubbit
|
|||
api-version: 1.19
|
||||
load: STARTUP
|
||||
|
||||
softdepend: [ PlaceholderAPI ]
|
||||
depend: [ PlaceholderAPI ]
|
||||
|
||||
commands:
|
||||
hubbit:
|
||||
|
|
Loading…
Reference in a new issue