9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2025-12-29 03:49:10 +00:00

Fix remove fakeplayer when stop

This commit is contained in:
violetc
2022-08-09 09:13:55 +08:00
parent cdfe4cee55
commit bd3b3af293

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add fakeplayer support
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 35fef03d2825d9e7f5ee324384ea8270bfde8f6f..053aec75d61e00b0827559b6fcb37db596435c63 100644
index 35fef03d2825d9e7f5ee324384ea8270bfde8f6f..c0b82c838364b94e45138ff71b6e63bb0018287c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -120,6 +120,7 @@ import net.minecraft.util.profiling.metrics.profiling.ServerMetricsSamplersProvi
@@ -28,7 +28,7 @@ index 35fef03d2825d9e7f5ee324384ea8270bfde8f6f..053aec75d61e00b0827559b6fcb37db5
MinecraftServer.LOGGER.info("Stopping server");
MinecraftTimings.stopServer(); // Paper
+ ServerBot.getBots().forEach(serverBot -> serverBot.die(DamageSource.OUT_OF_WORLD)); // Leaves - remove all bot
+ ServerBot.removeAllBot(); // Leaves - remove all bot
// CraftBukkit start
if (this.server != null) {
this.server.disablePlugins();
@@ -473,10 +473,10 @@ index 0000000000000000000000000000000000000000..daaece30b2a3983f1cc9ee9a851e8f37
+}
diff --git a/src/main/java/top/leavesmc/leaves/bot/ServerBot.java b/src/main/java/top/leavesmc/leaves/bot/ServerBot.java
new file mode 100644
index 0000000000000000000000000000000000000000..3a95b702645b0b65cae8f382f850b58b0a6933b4
index 0000000000000000000000000000000000000000..10bb8927c63ad3e1c9967e123e6d034ce7f471a6
--- /dev/null
+++ b/src/main/java/top/leavesmc/leaves/bot/ServerBot.java
@@ -0,0 +1,687 @@
@@ -0,0 +1,696 @@
+package top.leavesmc.leaves.bot;
+
+import com.google.common.collect.Lists;
@@ -546,6 +546,7 @@ index 0000000000000000000000000000000000000000..3a95b702645b0b65cae8f382f850b58b
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
@@ -1146,6 +1147,14 @@ index 0000000000000000000000000000000000000000..3a95b702645b0b65cae8f382f850b58b
+ return bot;
+ }
+
+ public static boolean removeAllBot() {
+ Iterator<ServerBot> iterator = bots.iterator();
+ while (iterator.hasNext()) {
+ iterator.next().die(DamageSource.OUT_OF_WORLD);
+ }
+ return true;
+ }
+
+ public static Set<ServerBot> getBots() { // It needs unmodifiable
+ return bots;
+ }