feat: finish string breaking changes
This commit is contained in:
parent
35038ea9d2
commit
81f7a688a9
Binary file not shown.
BIN
.gradle/7.6.1/checksums/md5-checksums.bin
Normal file
BIN
.gradle/7.6.1/checksums/md5-checksums.bin
Normal file
Binary file not shown.
BIN
.gradle/7.6.1/checksums/sha1-checksums.bin
Normal file
BIN
.gradle/7.6.1/checksums/sha1-checksums.bin
Normal file
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,6 +1,11 @@
|
|||
package me.theclashfruit.hubbit.commands;
|
||||
|
||||
import me.theclashfruit.hubbit.Hubbit;
|
||||
import me.theclashfruit.hubbit.utils.ConfigLoaderSingleton;
|
||||
import me.theclashfruit.hubbit.utils.MenuInventoryHolder;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.TextComponent;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
|
@ -9,6 +14,7 @@ import org.bukkit.command.CommandExecutor;
|
|||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
@ -18,6 +24,7 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import static org.bukkit.plugin.java.JavaPlugin.getPlugin;
|
||||
import static org.bukkit.Bukkit.getLogger;
|
||||
|
||||
public class MenuCommand implements CommandExecutor {
|
||||
|
@ -28,7 +35,7 @@ public class MenuCommand implements CommandExecutor {
|
|||
if(sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
|
||||
Inventory menu = Bukkit.createInventory(player, menuConfig.getInt("size"), ChatColor.translateAlternateColorCodes('&', menuConfig.getString("title")));
|
||||
Inventory menu = new MenuInventoryHolder(getPlugin(Hubbit.class), menuConfig.getInt("size"), MiniMessage.miniMessage().deserialize(menuConfig.getString("title"))).getInventory();
|
||||
|
||||
int inventorySize = menuConfig.getInt("size");
|
||||
|
||||
|
@ -39,7 +46,7 @@ public class MenuCommand implements CommandExecutor {
|
|||
|
||||
ItemMeta borderItemMeta = borderItem.getItemMeta();
|
||||
|
||||
borderItemMeta.setDisplayName(" ");
|
||||
borderItemMeta.displayName(MiniMessage.miniMessage().deserialize(" "));
|
||||
|
||||
borderItem.setItemMeta(borderItemMeta);
|
||||
|
||||
|
@ -64,15 +71,16 @@ public class MenuCommand implements CommandExecutor {
|
|||
|
||||
ItemMeta itemMeta = itemStack.getItemMeta();
|
||||
|
||||
itemMeta.setDisplayName(ChatColor.translateAlternateColorCodes('&', (String) item.get("name")));
|
||||
itemMeta.displayName(MiniMessage.miniMessage().deserialize(item.get("name").toString()));
|
||||
|
||||
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(MiniMessage.miniMessage().deserialize(s));
|
||||
}
|
||||
|
||||
itemMeta.setLore(lore);
|
||||
itemMeta.lore(loreFinal);
|
||||
|
||||
itemStack.setItemMeta(itemMeta);
|
||||
|
||||
|
@ -84,7 +92,7 @@ public class MenuCommand implements CommandExecutor {
|
|||
|
||||
player.openInventory(menu);
|
||||
} else {
|
||||
sender.sendMessage("You must be a player to use this command!");
|
||||
sender.sendRichMessage("You must be a player to use this command!");
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package me.theclashfruit.hubbit.events;
|
||||
|
||||
import me.theclashfruit.hubbit.utils.ConfigLoaderSingleton;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
|
@ -23,7 +24,7 @@ public class MenuListener implements Listener {
|
|||
|
||||
Player player = (Player) event.getWhoClicked();
|
||||
|
||||
if(event.getView().getTitle().equalsIgnoreCase(ChatColor.translateAlternateColorCodes('&', menuConfig.getString("title")))) {
|
||||
if(event.getView().title().equals(MiniMessage.miniMessage().deserialize(menuConfig.getString("title")))) {
|
||||
int eventSlot = event.getSlot();
|
||||
|
||||
menuConfig.getMapList("pages").forEach(page -> {
|
||||
|
@ -38,12 +39,12 @@ public class MenuListener implements Listener {
|
|||
case "send_message" -> {
|
||||
player.closeInventory();
|
||||
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&', menuEvent.get("data").toString()));
|
||||
player.sendMessage(MiniMessage.miniMessage().deserialize(menuEvent.get("data").toString()));
|
||||
}
|
||||
case "join_server" -> {
|
||||
player.closeInventory();
|
||||
|
||||
player.performCommand("/server " + menuEvent.get("data").toString());
|
||||
player.performCommand("server " + menuEvent.get("data").toString());
|
||||
}
|
||||
case "execute_command" -> {
|
||||
player.closeInventory();
|
||||
|
@ -54,8 +55,11 @@ public class MenuListener implements Listener {
|
|||
default -> {
|
||||
player.closeInventory();
|
||||
|
||||
player.sendMessage(ChatColor.RED + "An error occurred while executing the action of the item.");
|
||||
player.sendMessage(ChatColor.RED + "Please contact an administrator.");
|
||||
player.sendRichMessage(
|
||||
"<red>An error occurred while executing the action of the item." +
|
||||
"<newline>" +
|
||||
"<red>Please contact an administrator."
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -73,8 +77,6 @@ public class MenuListener implements Listener {
|
|||
|
||||
Player player = event.getPlayer();
|
||||
|
||||
|
||||
|
||||
if(player.getInventory().getItemInMainHand().getType() == Material.valueOf(menuConfig.getString("open_material"))) {
|
||||
event.setCancelled(true);
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
package me.theclashfruit.hubbit.events;
|
||||
|
||||
import me.theclashfruit.hubbit.Hubbit;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.TextComponent;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
package me.theclashfruit.hubbit.utils;
|
||||
|
||||
import me.theclashfruit.hubbit.Hubbit;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.InventoryHolder;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
public class MenuInventoryHolder implements InventoryHolder {
|
||||
private final Inventory inventory;
|
||||
|
||||
public MenuInventoryHolder(Hubbit plugin, int InventorySize, net.kyori.adventure.text.Component title) {
|
||||
this.inventory = plugin.getServer().createInventory(this, InventorySize, title);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Inventory getInventory() {
|
||||
return this.inventory;
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
title: '&3Servers'
|
||||
title: '<dark_aqua>Servers'
|
||||
size: 54
|
||||
|
||||
border:
|
||||
|
@ -8,17 +8,17 @@ border:
|
|||
open_material: 'COMPASS'
|
||||
|
||||
pages:
|
||||
- title: '&3Servers'
|
||||
- title: '<dark_aqua>Servers'
|
||||
items:
|
||||
- name: '&aGetting Started'
|
||||
- name: '<green>Getting Started'
|
||||
material: 'OAK_SIGN'
|
||||
slot: 22
|
||||
count: 1
|
||||
lore:
|
||||
- '&7Edit menu/server_menu.yml to change this menu.'
|
||||
- '<grey>Edit menu/server_menu.yml to change this menu.'
|
||||
events:
|
||||
- type: 'click'
|
||||
action: 'send_message'
|
||||
data: '&aYou clicked on Getting Started!'
|
||||
data: '<green>You clicked on Getting Started!'
|
||||
|
||||
navigation: false
|
Loading…
Reference in a new issue