From c19c3b764aec27b15cc43052d0931e94477c5100 Mon Sep 17 00:00:00 2001 From: Piecuuu <56731916+Piecuuu@users.noreply.github.com> Date: Sun, 22 Feb 2026 21:39:02 +0100 Subject: [PATCH] just make a new thing. a lot better. definetly won't leak. --- .../java/pl/piecuu/invisninja/InvisNinja.java | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/src/main/java/pl/piecuu/invisninja/InvisNinja.java b/src/main/java/pl/piecuu/invisninja/InvisNinja.java index 45dd97b..8d4477e 100644 --- a/src/main/java/pl/piecuu/invisninja/InvisNinja.java +++ b/src/main/java/pl/piecuu/invisninja/InvisNinja.java @@ -1,7 +1,11 @@ package pl.piecuu.invisninja; +import java.util.Formatter; +import java.util.Iterator; +import java.util.List; import java.util.Random; import java.util.UUID; +import java.util.regex.Pattern; import java.util.stream.Collectors; import org.bukkit.Bukkit; @@ -12,12 +16,20 @@ import org.bukkit.event.Listener; import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.potion.PotionEffectType; +import org.bukkit.scoreboard.Team; import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.TextComponent; import net.kyori.adventure.text.TextReplacementConfig; +import net.kyori.adventure.text.TranslatableComponent; +import net.kyori.adventure.text.TranslationArgument; import net.kyori.adventure.text.event.ClickEvent; +import net.kyori.adventure.text.format.Style; import net.kyori.adventure.text.format.TextColor; import net.kyori.adventure.text.format.TextDecoration; +import net.kyori.adventure.text.minimessage.MiniMessage; +import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; +import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; import net.kyori.adventure.util.HSVLike; public class InvisNinja extends JavaPlugin implements Listener { @@ -81,19 +93,13 @@ public class InvisNinja extends JavaPlugin implements Listener { final int min = 5; final int randomNameLength = rand.nextInt((max - min) + 1) + min; // 5-16 - Component newMessage = e.deathMessage() - .replaceText(TextReplacementConfig.builder() - .match(p.getName()) - .replacement( - Component.text("a".repeat(randomNameLength)) - .decoration(TextDecoration.OBFUSCATED, true) - .color(TextColor.color(InvisNinja.hsvFromLong(seed))) - .hoverEvent(Component.empty()) - .insertion("") - .clickEvent(ClickEvent.changePage(1)) // make it not leak players... whoops - ) - .build() - ); + TranslatableComponent newMessage = Component.translatable("death.attack.player") + .arguments(List.of( + ((TranslatableComponent)e.deathMessage()).arguments().getFirst(), + Component.text("a".repeat(randomNameLength)) + .decoration(TextDecoration.OBFUSCATED, true) + .color(TextColor.color(InvisNinja.hsvFromLong(seed))) + )); e.deathMessage(newMessage); }