Merge pull request #22 from D3v1s0m/master

Changed TextComponent to use Adventure API instead
This commit is contained in:
Pyr 2023-04-23 21:31:14 +01:00 committed by GitHub
commit 5f49ef8db5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 31 additions and 44 deletions

@ -4,9 +4,9 @@ import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import io.github.znetworkw.znpcservers.utility.Utils; import io.github.znetworkw.znpcservers.utility.Utils;
import net.md_5.bungee.api.chat.ComponentBuilder; import lol.pyr.znpcsplus.ZNPCsPlus;
import net.md_5.bungee.api.chat.HoverEvent; import net.kyori.adventure.text.Component;
import net.md_5.bungee.api.chat.TextComponent; import net.kyori.adventure.text.TextComponent;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import java.util.Arrays; import java.util.Arrays;
@ -40,13 +40,11 @@ public class CommandSender {
} }
public void sendMessage(String message, Iterable<String> hover) { public void sendMessage(String message, Iterable<String> hover) {
TextComponent textComponent = new TextComponent(TextComponent.fromLegacyText(Utils.toColor(message))); TextComponent textComponent = Component.text(Utils.toColor(message));
if (hover != null) if (hover != null)
textComponent.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, (new ComponentBuilder( textComponent = textComponent.hoverEvent(Component.text(Utils.toColor(LINE_SEPARATOR_JOINER
Utils.toColor(LINE_SEPARATOR_JOINER .join(Iterables.concat(HELP_PREFIX, hover)))));
.join(Iterables.concat(HELP_PREFIX, hover))))) ZNPCsPlus.ADVENTURE.player(getPlayer()).sendMessage(textComponent);
.create()));
getPlayer().spigot().sendMessage(textComponent);
} }
public Player getPlayer() { public Player getPlayer() {

@ -7,7 +7,6 @@ import com.google.common.collect.Iterables;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.primitives.Doubles; import com.google.common.primitives.Doubles;
import com.google.common.primitives.Ints; import com.google.common.primitives.Ints;
import lol.pyr.znpcsplus.ZNPCsPlus;
import io.github.znetworkw.znpcservers.commands.Command; import io.github.znetworkw.znpcservers.commands.Command;
import io.github.znetworkw.znpcservers.commands.CommandInformation; import io.github.znetworkw.znpcservers.commands.CommandInformation;
import io.github.znetworkw.znpcservers.commands.CommandSender; import io.github.znetworkw.znpcservers.commands.CommandSender;
@ -20,12 +19,17 @@ import io.github.znetworkw.znpcservers.npc.conversation.Conversation;
import io.github.znetworkw.znpcservers.npc.conversation.ConversationModel; import io.github.znetworkw.znpcservers.npc.conversation.ConversationModel;
import io.github.znetworkw.znpcservers.user.ZUser; import io.github.znetworkw.znpcservers.user.ZUser;
import io.github.znetworkw.znpcservers.utility.location.ZLocation; import io.github.znetworkw.znpcservers.utility.location.ZLocation;
import lol.pyr.znpcsplus.ZNPCsPlus;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.event.ClickEvent;
import net.kyori.adventure.text.event.HoverEvent;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.format.TextDecoration;
import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.chat.*;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
@ -119,37 +123,23 @@ public class DefaultCommand extends Command {
} else { } else {
sender.sendMessage(ChatColor.DARK_GREEN + "NPC list:"); sender.sendMessage(ChatColor.DARK_GREEN + "NPC list:");
for (NPCModel npcModel : ConfigurationConstants.NPC_LIST) { for (NPCModel npcModel : ConfigurationConstants.NPC_LIST) {
List<BaseComponent> parts = new ArrayList<>(); TextComponent component = Component.text("-")
TextComponent component1 = new TextComponent("-"); .color(NamedTextColor.GREEN)
component1.setColor(ChatColor.GREEN); .append(Component.text(" " + npcModel.getId())
parts.add(component1); .color(npcModel.getShouldSpawn() ? NamedTextColor.GREEN : NamedTextColor.RED))
TextComponent idComponent = new TextComponent(" " + npcModel.getId()); .append(Component.text(" " + npcModel.getHologramLines().toString() + " (" + npcModel.getLocation().getWorldName() + " " + (int) npcModel.getLocation().getX() + " " + (int) npcModel.getLocation().getY() + " " + (int) npcModel.getLocation().getZ() + ") ")
idComponent.setColor(npcModel.getShouldSpawn() ? ChatColor.GREEN : ChatColor.RED); .color(NamedTextColor.GREEN))
parts.add(idComponent); .append(Component.text("[TELEPORT]")
String message = " " + npcModel.getHologramLines().toString() + " (" + npcModel.getLocation().getWorldName() + " " + (int) npcModel.getLocation().getX() + " " + (int) npcModel.getLocation().getY() + " " + (int) npcModel.getLocation().getZ() + ") "; .color(NamedTextColor.GREEN)
TextComponent textComponent = new TextComponent(message); .decorate(TextDecoration.BOLD)
textComponent.setColor(ChatColor.GREEN); .clickEvent(ClickEvent.runCommand("/znpcs teleport " + npcModel.getId()))
parts.add(textComponent); .hoverEvent(HoverEvent.showText(Component.text("Click to teleport to this NPC."))))
TextComponent textComponent2 = new TextComponent("[TELEPORT]"); .append(Component.text(" [DELETE]")
textComponent2.setBold(true); .color(NamedTextColor.RED)
textComponent2.setColor(ChatColor.DARK_GREEN); .decorate(TextDecoration.BOLD)
textComponent2.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, (new ComponentBuilder("Click to teleport this NPC!")) .clickEvent(ClickEvent.runCommand("/znpcs delete " + npcModel.getId()))
.hoverEvent(HoverEvent.showText(Component.text("Click to delete this NPC."))));
.color(ChatColor.GREEN).create())); ZNPCsPlus.ADVENTURE.player(sender.getPlayer()).sendMessage(component);
textComponent2.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/znpcs teleport " + npcModel
.getId()));
parts.add(textComponent2);
parts.add(new TextComponent(" "));
TextComponent textComponent3 = new TextComponent("[DELETE]");
textComponent3.setBold(true);
textComponent3.setColor(ChatColor.DARK_RED);
textComponent3.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, (new ComponentBuilder("Click to delete this NPC!"))
.color(ChatColor.RED).create()));
textComponent3.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/znpcs delete " + npcModel
.getId()));
parts.add(textComponent3);
sender.getPlayer().spigot().sendMessage(parts.toArray(new BaseComponent[0]));
} }
} }
} }

@ -13,7 +13,6 @@ import com.mojang.authlib.properties.PropertyMap;
import io.github.retrooper.packetevents.util.SpigotConversionUtil; import io.github.retrooper.packetevents.util.SpigotConversionUtil;
import io.github.znetworkw.znpcservers.UnexpectedCallException; import io.github.znetworkw.znpcservers.UnexpectedCallException;
import io.github.znetworkw.znpcservers.configuration.ConfigurationConstants; import io.github.znetworkw.znpcservers.configuration.ConfigurationConstants;
import io.github.znetworkw.znpcservers.configuration.ConfigurationValue;
import io.github.znetworkw.znpcservers.hologram.Hologram; import io.github.znetworkw.znpcservers.hologram.Hologram;
import io.github.znetworkw.znpcservers.nms.PacketCache; import io.github.znetworkw.znpcservers.nms.PacketCache;
import io.github.znetworkw.znpcservers.npc.conversation.ConversationModel; import io.github.znetworkw.znpcservers.npc.conversation.ConversationModel;