commit 0611c3c2bd2e8464010823e63eb50ceb6b0b9ef7 Author: Piecuuu <56731916+Piecuuu@users.noreply.github.com> Date: Sat Feb 21 20:55:50 2026 +0100 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2977c0e --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +build/ +bin/ +.gradle/ +.vscode/ \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..72bd3d9 --- /dev/null +++ b/build.gradle @@ -0,0 +1,37 @@ +plugins { + id 'java' + id 'maven-publish' +} + +group = 'pl.piecuu.invisninja' +version = '1.0' + +java { + toolchain.languageVersion = JavaLanguageVersion.of(21) + withSourcesJar() +} + +repositories { + mavenCentral() + mavenLocal() + maven { + url = 'https://repo.extendedclip.com/releases/' + } +} + +dependencies { + compileOnly "pl.piecuu.jajoptak:leaf-api:1.21.11-R0.1-SNAPSHOT" + compileOnly "me.clip:placeholderapi:2.11.7" +} + +tasks.withType(JavaCompile).configureEach { + options.encoding = 'UTF-8' +} + +publishing { + publications { + mavenJava(MavenPublication) { + from components.java + } + } +} diff --git a/src/main/java/pl/piecuu/invisninja/InvisNinja.java b/src/main/java/pl/piecuu/invisninja/InvisNinja.java new file mode 100644 index 0000000..00965ad --- /dev/null +++ b/src/main/java/pl/piecuu/invisninja/InvisNinja.java @@ -0,0 +1,40 @@ +package pl.piecuu.invisninja; + +import org.bukkit.Bukkit; +import org.bukkit.entity.Entity; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.PlayerDeathEvent; +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.format.TextDecoration; + +public class InvisNinja extends JavaPlugin implements Listener { + @Override + public void onEnable() { + Bukkit.getPluginManager().registerEvents(this, this); + } + + @EventHandler + public void onPlayerDeath(PlayerDeathEvent e) { + Entity en = e.getDamageSource().getCausingEntity(); + if(!(en instanceof Player p)) return; + if(!isPlayerInvisible(p)) return; + + Component newMessage = e.deathMessage() + .replaceText(TextReplacementConfig.builder() + .match(p.getName()) + .replacement(Component.text("aaaaaaaaaaaaa").decoration(TextDecoration.OBFUSCATED, true)) + .build() + ); + e.deathMessage(newMessage); + } + + public static boolean isPlayerInvisible(Player p) { + return p.hasPotionEffect(PotionEffectType.INVISIBILITY); + } +} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml new file mode 100644 index 0000000..e5cbc76 --- /dev/null +++ b/src/main/resources/plugin.yml @@ -0,0 +1,5 @@ +name: invisninja +version: 1.0 +author: Piecuu +main: pl.piecuu.invisninja.InvisNinja +api-version: '1.21.11'