just make a new thing. a lot better. definetly won't leak.

This commit is contained in:
Piecuuu 2026-02-22 21:39:02 +01:00
parent dff64c2f8a
commit 9450812256

View file

@ -1,8 +1,8 @@
package pl.piecuu.invisninja;
import java.util.List;
import java.util.Random;
import java.util.UUID;
import java.util.stream.Collectors;
import org.bukkit.Bukkit;
import org.bukkit.entity.Entity;
@ -14,8 +14,7 @@ import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionEffectType;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextReplacementConfig;
import net.kyori.adventure.text.event.ClickEvent;
import net.kyori.adventure.text.TranslatableComponent;
import net.kyori.adventure.text.format.TextColor;
import net.kyori.adventure.text.format.TextDecoration;
import net.kyori.adventure.util.HSVLike;
@ -81,19 +80,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);
}