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.Iterables;
import io.github.znetworkw.znpcservers.utility.Utils;
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.chat.HoverEvent;
import net.md_5.bungee.api.chat.TextComponent;
import lol.pyr.znpcsplus.ZNPCsPlus;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
import org.bukkit.entity.Player;
import java.util.Arrays;
@ -40,13 +40,11 @@ public class CommandSender {
}
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)
textComponent.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, (new ComponentBuilder(
Utils.toColor(LINE_SEPARATOR_JOINER
.join(Iterables.concat(HELP_PREFIX, hover)))))
.create()));
getPlayer().spigot().sendMessage(textComponent);
textComponent = textComponent.hoverEvent(Component.text(Utils.toColor(LINE_SEPARATOR_JOINER
.join(Iterables.concat(HELP_PREFIX, hover)))));
ZNPCsPlus.ADVENTURE.player(getPlayer()).sendMessage(textComponent);
}
public Player getPlayer() {

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

@ -13,7 +13,6 @@ import com.mojang.authlib.properties.PropertyMap;
import io.github.retrooper.packetevents.util.SpigotConversionUtil;
import io.github.znetworkw.znpcservers.UnexpectedCallException;
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.nms.PacketCache;
import io.github.znetworkw.znpcservers.npc.conversation.ConversationModel;