diff --git a/hamster-join-message/build.gradle b/hamster-join-message/build.gradle new file mode 100644 index 0000000..a7297c6 --- /dev/null +++ b/hamster-join-message/build.gradle @@ -0,0 +1,9 @@ +version '1.0.0' +setArchivesBaseName("HamsterJoinMessage") + +dependencies { + //noinspection VulnerableLibrariesLocal + compileOnly "net.md-5:bungeecord-api:${bungeecord_api_version}" + + compileOnly "cn.hamster3.mc.plugin.core:bungeecord:${hamster_core_version}" +} diff --git a/hamster-join-message/src/main/java/cn/hamster3/mc/plugin/join/message/bukkit/JoinMessagePlugin.java b/hamster-join-message/src/main/java/cn/hamster3/mc/plugin/join/message/bukkit/JoinMessagePlugin.java new file mode 100644 index 0000000..c4c3971 --- /dev/null +++ b/hamster-join-message/src/main/java/cn/hamster3/mc/plugin/join/message/bukkit/JoinMessagePlugin.java @@ -0,0 +1,25 @@ +package cn.hamster3.mc.plugin.join.message.bukkit; + +import org.bukkit.Bukkit; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.event.player.PlayerQuitEvent; +import org.bukkit.plugin.java.JavaPlugin; + +public class JoinMessagePlugin extends JavaPlugin implements Listener { + @Override + public void onEnable() { + Bukkit.getPluginManager().registerEvents(this, this); + } + + @EventHandler(ignoreCancelled = true) + public void onPlayerJoin(PlayerJoinEvent event) { + event.setJoinMessage(null); + } + + @EventHandler(ignoreCancelled = true) + public void onPlayerQuit(PlayerQuitEvent event) { + event.setQuitMessage(null); + } +} diff --git a/hamster-join-message/src/main/java/cn/hamster3/mc/plugin/join/message/bungee/JoinMessagePlugin.java b/hamster-join-message/src/main/java/cn/hamster3/mc/plugin/join/message/bungee/JoinMessagePlugin.java new file mode 100644 index 0000000..ea8cf63 --- /dev/null +++ b/hamster-join-message/src/main/java/cn/hamster3/mc/plugin/join/message/bungee/JoinMessagePlugin.java @@ -0,0 +1,38 @@ +package cn.hamster3.mc.plugin.join.message.bungee; + +import cn.hamster3.mc.plugin.core.common.api.CoreAPI; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.TranslatableComponent; +import net.kyori.adventure.text.format.NamedTextColor; +import net.md_5.bungee.api.ProxyServer; +import net.md_5.bungee.api.connection.ProxiedPlayer; +import net.md_5.bungee.api.event.PlayerDisconnectEvent; +import net.md_5.bungee.api.event.PostLoginEvent; +import net.md_5.bungee.api.plugin.Listener; +import net.md_5.bungee.api.plugin.Plugin; +import net.md_5.bungee.event.EventHandler; + +public class JoinMessagePlugin extends Plugin implements Listener { + @Override + public void onEnable() { + ProxyServer.getInstance().getPluginManager().registerListener(this, this); + } + + @EventHandler + public void onPostLogin(PostLoginEvent event) { + ProxiedPlayer player = event.getPlayer(); + String name = player.getName(); + TranslatableComponent component = Component.translatable("multiplayer.player.joined", Component.text(name)) + .color(NamedTextColor.YELLOW); + CoreAPI.getInstance().getAudienceProvider().players().sendMessage(component); + } + + @EventHandler + public void onPlayerDisconnect(PlayerDisconnectEvent event) { + ProxiedPlayer player = event.getPlayer(); + String name = player.getName(); + TranslatableComponent component = Component.translatable("multiplayer.player.left", Component.text(name)) + .color(NamedTextColor.YELLOW); + CoreAPI.getInstance().getAudienceProvider().players().sendMessage(component); + } +} diff --git a/hamster-join-message/src/main/resources/bungee.yml b/hamster-join-message/src/main/resources/bungee.yml new file mode 100644 index 0000000..a039cf4 --- /dev/null +++ b/hamster-join-message/src/main/resources/bungee.yml @@ -0,0 +1,6 @@ +name: HamsterJoinMessage +main: cn.hamster3.mc.plugin.join.message.bungee.JoinMessagePlugin +version: ${version} + +author: MiniDay +description: 跨服显示玩家加入 & 离开消息 diff --git a/hamster-join-message/src/main/resources/plugin.yml b/hamster-join-message/src/main/resources/plugin.yml new file mode 100644 index 0000000..fdf52b7 --- /dev/null +++ b/hamster-join-message/src/main/resources/plugin.yml @@ -0,0 +1,8 @@ +name: HamsterJoinMessage +main: cn.hamster3.mc.plugin.join.message.bukkit.JoinMessagePlugin +version: ${version} +api-version: 1.13 + +author: MiniDay +website: https://github.com/MiniDay/hamster-little-plugins +description: 跨服显示玩家加入 & 离开消息 diff --git a/settings.gradle b/settings.gradle index 9db89b6..b7e99bf 100644 --- a/settings.gradle +++ b/settings.gradle @@ -9,4 +9,5 @@ include 'hamster-lobby' include 'hamster-spawn' include 'hamster-chain-break' include 'hamster-tpa' +include 'hamster-join-message'