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 c19c3b764a

View file

@ -1,7 +1,11 @@
package pl.piecuu.invisninja; package pl.piecuu.invisninja;
import java.util.Formatter;
import java.util.Iterator;
import java.util.List;
import java.util.Random; import java.util.Random;
import java.util.UUID; import java.util.UUID;
import java.util.regex.Pattern;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -12,12 +16,20 @@ import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionEffectType; import org.bukkit.potion.PotionEffectType;
import org.bukkit.scoreboard.Team;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.TextReplacementConfig; 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.event.ClickEvent;
import net.kyori.adventure.text.format.Style;
import net.kyori.adventure.text.format.TextColor; import net.kyori.adventure.text.format.TextColor;
import net.kyori.adventure.text.format.TextDecoration; 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; import net.kyori.adventure.util.HSVLike;
public class InvisNinja extends JavaPlugin implements Listener { public class InvisNinja extends JavaPlugin implements Listener {
@ -81,19 +93,13 @@ public class InvisNinja extends JavaPlugin implements Listener {
final int min = 5; final int min = 5;
final int randomNameLength = rand.nextInt((max - min) + 1) + min; // 5-16 final int randomNameLength = rand.nextInt((max - min) + 1) + min; // 5-16
Component newMessage = e.deathMessage() TranslatableComponent newMessage = Component.translatable("death.attack.player")
.replaceText(TextReplacementConfig.builder() .arguments(List.of(
.match(p.getName()) ((TranslatableComponent)e.deathMessage()).arguments().getFirst(),
.replacement(
Component.text("a".repeat(randomNameLength)) Component.text("a".repeat(randomNameLength))
.decoration(TextDecoration.OBFUSCATED, true) .decoration(TextDecoration.OBFUSCATED, true)
.color(TextColor.color(InvisNinja.hsvFromLong(seed))) .color(TextColor.color(InvisNinja.hsvFromLong(seed)))
.hoverEvent(Component.empty()) ));
.insertion("")
.clickEvent(ClickEvent.changePage(1)) // make it not leak players... whoops
)
.build()
);
e.deathMessage(newMessage); e.deathMessage(newMessage);
} }