mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-26 02:19:19 +00:00
ClassInstanceMultiMap belongs to Minecraft vanilla entity storage. And is unused, since replaced by spottedleaf's entity storage (rewrite chunk system). However these patches might be useful for vanilla entity storage if is used.
79 lines
5.4 KiB
Diff
79 lines
5.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com>
|
|
Date: Sun, 2 Jun 2024 01:21:36 +0800
|
|
Subject: [PATCH] Configurable connection message
|
|
|
|
|
|
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
|
index df532c61dcfedcafd8c6a75bd0f12a58acb9ca00..528042f0aee2ec18835b72b931a64b7c37b9504d 100644
|
|
--- a/net/minecraft/server/players/PlayerList.java
|
|
+++ b/net/minecraft/server/players/PlayerList.java
|
|
@@ -439,7 +439,7 @@ public abstract class PlayerList {
|
|
// Ensure that player inventory is populated with its viewer
|
|
player.containerMenu.transferTo(player.containerMenu, bukkitPlayer);
|
|
|
|
- org.bukkit.event.player.PlayerJoinEvent playerJoinEvent = new org.bukkit.event.player.PlayerJoinEvent(bukkitPlayer, io.papermc.paper.adventure.PaperAdventure.asAdventure(mutableComponent)); // Paper - Adventure
|
|
+ org.bukkit.event.player.PlayerJoinEvent playerJoinEvent = new org.bukkit.event.player.PlayerJoinEvent(bukkitPlayer, getJoinMsg(mutableComponent, bukkitPlayer)); // Paper - Adventure // Leaf - Configurable connection message - join message
|
|
this.cserver.getPluginManager().callEvent(playerJoinEvent);
|
|
|
|
if (!player.connection.isAcceptingMessages()) {
|
|
@@ -453,7 +453,7 @@ public abstract class PlayerList {
|
|
|
|
final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage();
|
|
|
|
- if (jm != null && !jm.equals(net.kyori.adventure.text.Component.empty())) { // Paper - Adventure
|
|
+ if (org.dreeam.leaf.config.modules.misc.ConnectionMessage.joinEnabled && jm != null && !jm.equals(net.kyori.adventure.text.Component.empty())) { // Paper - Adventure // Leaf - Configurable connection message - join message
|
|
joinMessage = io.papermc.paper.adventure.PaperAdventure.asVanilla(jm); // Paper - Adventure
|
|
this.server.getPlayerList().broadcastSystemMessage(joinMessage, false); // Paper - Adventure
|
|
}
|
|
@@ -685,7 +685,7 @@ public abstract class PlayerList {
|
|
player.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.DISCONNECT); // Paper - Inventory close reason
|
|
}
|
|
|
|
- org.bukkit.event.player.PlayerQuitEvent playerQuitEvent = new org.bukkit.event.player.PlayerQuitEvent(player.getBukkitEntity(), leaveMessage, player.quitReason); // Paper - Adventure & Add API for quit reason
|
|
+ org.bukkit.event.player.PlayerQuitEvent playerQuitEvent = new org.bukkit.event.player.PlayerQuitEvent(player.getBukkitEntity(), getQuitMsg(leaveMessage, player.getBukkitEntity()), player.quitReason); // Paper - Adventure & Add API for quit reason // Leaf - Configurable connection message - quit message
|
|
this.cserver.getPluginManager().callEvent(playerQuitEvent);
|
|
player.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage());
|
|
|
|
@@ -1670,4 +1670,40 @@ public abstract class PlayerList {
|
|
public boolean isAllowCommandsForAllPlayers() {
|
|
return this.allowCommandsForAllPlayers;
|
|
}
|
|
+
|
|
+ // Leaf start - Configurable connection message
|
|
+ private net.kyori.adventure.text.Component getJoinMsg(MutableComponent defaultJoinMsg, org.bukkit.craftbukkit.entity.CraftPlayer craftPlayer) {
|
|
+ if (org.dreeam.leaf.config.modules.misc.ConnectionMessage.joinEnabled) {
|
|
+ if ("default".equals(org.dreeam.leaf.config.modules.misc.ConnectionMessage.joinMessage)) {
|
|
+ return io.papermc.paper.adventure.PaperAdventure.asAdventure(defaultJoinMsg);
|
|
+ }
|
|
+
|
|
+ final String joinMessage = org.dreeam.leaf.config.modules.misc.ConnectionMessage.joinMessage
|
|
+ .replace("<player_name>", craftPlayer.getName());
|
|
+
|
|
+ return net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(joinMessage)
|
|
+ .replaceText(net.kyori.adventure.text.TextReplacementConfig.builder().matchLiteral("<player_name>").replacement(craftPlayer.getName()).build())
|
|
+ .replaceText(net.kyori.adventure.text.TextReplacementConfig.builder().matchLiteral("<player_displayname>").replacement(craftPlayer.displayName()).build());
|
|
+ }
|
|
+
|
|
+ return net.kyori.adventure.text.Component.empty();
|
|
+ }
|
|
+
|
|
+ private net.kyori.adventure.text.Component getQuitMsg(net.kyori.adventure.text.Component defaultJoinMsg, org.bukkit.craftbukkit.entity.CraftPlayer craftPlayer) {
|
|
+ if (org.dreeam.leaf.config.modules.misc.ConnectionMessage.quitEnabled) {
|
|
+ if ("default".equals(org.dreeam.leaf.config.modules.misc.ConnectionMessage.quitMessage)) {
|
|
+ return defaultJoinMsg;
|
|
+ }
|
|
+
|
|
+ final String quitMessage = org.dreeam.leaf.config.modules.misc.ConnectionMessage.quitMessage
|
|
+ .replace("<player_name>", craftPlayer.getName());
|
|
+
|
|
+ return net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(quitMessage)
|
|
+ .replaceText(net.kyori.adventure.text.TextReplacementConfig.builder().matchLiteral("<player_name>").replacement(craftPlayer.getName()).build())
|
|
+ .replaceText(net.kyori.adventure.text.TextReplacementConfig.builder().matchLiteral("<player_displayname>").replacement(craftPlayer.displayName()).build());
|
|
+ }
|
|
+
|
|
+ return net.kyori.adventure.text.Component.empty();
|
|
+ }
|
|
+ // Leaf end - Configurable connection message
|
|
}
|