From adc621639764e77f871f210d392e841d15367d4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Sun, 3 Sep 2023 17:00:47 +0300 Subject: [PATCH 1/2] =?UTF-8?q?Paper=20API=20+=20=D1=80=D0=B5=D1=84=D0=B0?= =?UTF-8?q?=D0=BA=D1=82=D0=BE=D1=80=20+=20=D0=B7=D0=B0=D0=BF=D1=80=D0=B5?= =?UTF-8?q?=D1=82=20=D0=BD=D0=B0=20=D0=BF=D1=80=D0=BE=D1=81=D0=BC=D0=BE?= =?UTF-8?q?=D1=82=D1=80=20=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2=20=D0=B2=20=D0=B8?= =?UTF-8?q?=D0=BD=D0=B2=D0=B8=D0=B7=D0=B5=20(=D0=BD=D0=BE=20=D1=82=D0=BE?= =?UTF-8?q?=D0=BB=D1=8C=D0=BA=D0=BE,=20=D0=B5=D1=81=D0=BB=D0=B8=20=D0=BD?= =?UTF-8?q?=D0=B5=D1=82=20=D0=B1=D1=80=D0=BE=D0=BD=D0=B8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 + pom.xml | 18 +++--- src/main/java/ru/rey/rhidetags/Core.java | 60 +++++++------------ .../rhidetags/listeners/PlayerInteract.java | 32 ++++++++++ .../rey/rhidetags/listeners/PlayerJoin.java | 13 ++++ src/main/resources/plugin.yml | 2 +- 6 files changed, 76 insertions(+), 52 deletions(-) create mode 100644 .gitignore create mode 100644 src/main/java/ru/rey/rhidetags/listeners/PlayerInteract.java create mode 100644 src/main/java/ru/rey/rhidetags/listeners/PlayerJoin.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2e6cb15 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +target/ +.idea/* +.idea/ \ No newline at end of file diff --git a/pom.xml b/pom.xml index 0678c8e..7ea39c6 100644 --- a/pom.xml +++ b/pom.xml @@ -6,14 +6,14 @@ ru.rey rHideTags - 1.0 + 1.0.1 jar rHideTags Plugin to hide players nametags - 1.8 + 17 UTF-8 https://vk.com/re1khsempai @@ -57,20 +57,16 @@ - spigotmc-repo - https://hub.spigotmc.org/nexus/content/repositories/snapshots/ - - - sonatype - https://oss.sonatype.org/content/groups/public/ + papermc-repo + https://repo.papermc.io/repository/maven-public/ - org.spigotmc - spigot-api - 1.15.2-R0.1-SNAPSHOT + io.papermc.paper + paper-api + 1.20.1-R0.1-SNAPSHOT provided diff --git a/src/main/java/ru/rey/rhidetags/Core.java b/src/main/java/ru/rey/rhidetags/Core.java index 243130a..8eed589 100644 --- a/src/main/java/ru/rey/rhidetags/Core.java +++ b/src/main/java/ru/rey/rhidetags/Core.java @@ -1,70 +1,50 @@ package ru.rey.rhidetags; -import net.md_5.bungee.api.ChatMessageType; -import net.md_5.bungee.api.chat.TextComponent; import org.bukkit.Bukkit; import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerInteractAtEntityEvent; -import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.scoreboard.Scoreboard; import org.bukkit.scoreboard.Team; +import ru.rey.rhidetags.listeners.PlayerInteract; +import ru.rey.rhidetags.listeners.PlayerJoin; -public final class Core extends JavaPlugin implements Listener { - - private Scoreboard board; - private Team team; - - private String message; +public final class Core extends JavaPlugin { + public static Scoreboard board; + private static Team team; + public static String message; @Override public void onEnable() { - getConfig().options().copyDefaults(true); - saveDefaultConfig(); + this.getConfig().options().copyDefaults(true); + this.saveDefaultConfig(); message = getConfig().getString("message"); - boardSettings(); + this.boardSettings(); - Bukkit.getPluginManager().registerEvents(this, this); + this.getServer().getPluginManager().registerEvents(new PlayerInteract(), this); + this.getServer().getPluginManager().registerEvents(new PlayerJoin(), this); - if (!Bukkit.getOnlinePlayers().isEmpty()) - Bukkit.getOnlinePlayers().forEach(p -> hideName(p)); + if (!this.getServer().getOnlinePlayers().isEmpty()) this.getServer().getOnlinePlayers().forEach(Core::hideName); - Bukkit.getConsoleSender().sendMessage(""); - Bukkit.getConsoleSender().sendMessage("§6rHideTags §f| §aSuccessfully enabled"); - Bukkit.getConsoleSender().sendMessage("§6rHideTags §f| §aBy: §fvk.com/omashune"); - Bukkit.getConsoleSender().sendMessage(""); + this.getLogger().info(""); + this.getLogger().info("\033[38;5;220mrHideTags \033[38;5;231m| \033[38;5;118mSuccessfully enabled\033[0m"); + this.getLogger().info("\033[38;5;220mrHideTags \033[38;5;231m| \033[38;5;118mBy: \033[38;5;231mvk.com/omashune\033[0m"); + this.getLogger().info(""); } - @EventHandler - public void onJoin(PlayerJoinEvent e) { - hideName(e.getPlayer()); - } - - @EventHandler - public void onInteract(PlayerInteractAtEntityEvent e) { - if (!(e.getRightClicked() instanceof Player)) return; - - e.getPlayer().spigot().sendMessage(ChatMessageType.ACTION_BAR, - TextComponent.fromLegacyText(message.replace("$name", ((Player) e.getRightClicked()).getDisplayName()))); - } - - private void hideName(Player p) { + public static void hideName(Player p) { team.addEntry(p.getName()); p.setScoreboard(board); } private void boardSettings() { board = Bukkit.getScoreboardManager().getNewScoreboard(); - board.registerNewTeam("rHideTags"); - - team = board.getTeam("rHideTags"); + board.registerNewTeam("hidenametags"); + team = board.getTeam("hidenametags"); + if(team == null) return; team.setOption(Team.Option.NAME_TAG_VISIBILITY, Team.OptionStatus.NEVER); team.setCanSeeFriendlyInvisibles(false); } - } diff --git a/src/main/java/ru/rey/rhidetags/listeners/PlayerInteract.java b/src/main/java/ru/rey/rhidetags/listeners/PlayerInteract.java new file mode 100644 index 0000000..d04be78 --- /dev/null +++ b/src/main/java/ru/rey/rhidetags/listeners/PlayerInteract.java @@ -0,0 +1,32 @@ +package ru.rey.rhidetags.listeners; + +import net.kyori.adventure.text.TextComponent; +import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerInteractAtEntityEvent; +import org.bukkit.potion.PotionEffectType; +import ru.rey.rhidetags.Core; + +import java.util.Arrays; +import java.util.Objects; + +public class PlayerInteract implements Listener { + @EventHandler + public void onInteract(PlayerInteractAtEntityEvent event) { + if (!(event.getRightClicked() instanceof Player) || + (((Player) event.getRightClicked()).getActivePotionEffects().stream().anyMatch( // конструкция для выявления + potion -> potion.getType().equals(PotionEffectType.INVISIBILITY) // в инвизе ли игрок + ) && Arrays.stream(((Player) event.getRightClicked()).getEquipment().getArmorContents()).noneMatch( + Objects::nonNull + ) && !event.getPlayer().isOp()) + ) return; + + event.getPlayer().sendActionBar( + LegacyComponentSerializer.legacySection().deserialize( + Core.message.replace("$name", ((TextComponent) ((Player) event.getRightClicked()).displayName()).content()) + ) + ); + } +} diff --git a/src/main/java/ru/rey/rhidetags/listeners/PlayerJoin.java b/src/main/java/ru/rey/rhidetags/listeners/PlayerJoin.java new file mode 100644 index 0000000..459f481 --- /dev/null +++ b/src/main/java/ru/rey/rhidetags/listeners/PlayerJoin.java @@ -0,0 +1,13 @@ +package ru.rey.rhidetags.listeners; + +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerJoinEvent; +import ru.rey.rhidetags.Core; + +public class PlayerJoin implements Listener { + @EventHandler + public void onJoin(PlayerJoinEvent event) { + Core.hideName(event.getPlayer()); + } +} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index d793dfe..3a06e22 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,7 +1,7 @@ name: rHideTags version: ${project.version} main: ru.rey.rhidetags.Core -api-version: 1.13 +api-version: 1.20 authors: [Rey] description: Plugin to hide players nametags website: https://vk.com/re1khsempai From 53e9dacb4379e5edebc0b0a47f98512888af0f80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Sun, 3 Sep 2023 17:02:24 +0300 Subject: [PATCH 2/2] =?UTF-8?q?1.1.1=20(=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D0=BB=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8E=20?= =?UTF-8?q?=D0=B2=20pom.xml)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7ea39c6..92c57ae 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ ru.rey rHideTags - 1.0.1 + 1.1.1 jar rHideTags