mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Updated Upstream (Paper & Pufferfish)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@2033dba Updated Upstream (CraftBukkit) PaperMC/Paper@a3ad720 Remove ChatColor usages (#7543) PaperMC/Paper@8fc0999 Fix some nullability things (#7275) PaperMC/Paper@fd069dd Remove incorrect throws javadoc in Team (#7869) PaperMC/Paper@bed5cb2 Limit resolved selectors when enabled PaperMC/Paper@4d83ed0 [ci skip] Changing the order of the rebase with autosquash command in the contributing.md (#6974) PaperMC/Paper@071a4a2 throw exception if worlds are created while being ticked (#7653) PaperMC/Paper@5b6397a Make leave messages for kicks the same as for quitting (#7874) PaperMC/Paper@5befb55 Updated Upstream (Bukkit/CraftBukkit) (#7875) PaperMC/Paper@b3deb25 Move some methods to RegionAccessor (#7635) PaperMC/Paper@d8ef841 [DataConverter] Fix generator options parsing PaperMC/Paper@4b27254 Fix treasure maps discovered settings (#7627) PaperMC/Paper@276d830 Fix campfire walker in V1920 Pufferfish Changes: pufferfish-gg/Pufferfish@671d68b Add Entity TTLs pufferfish-gg/Pufferfish@aaca13d Updated Upstream (Paper)
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
group = org.purpurmc.purpur
|
group = org.purpurmc.purpur
|
||||||
version = 1.18.2-R0.1-SNAPSHOT
|
version = 1.18.2-R0.1-SNAPSHOT
|
||||||
|
|
||||||
paperCommit = 80d5e71908d7a555289b2e478245879f9e3bcb55
|
paperCommit = 276d830d223ddf68611beacc248285ae5a4e8a1f
|
||||||
|
|
||||||
org.gradle.caching = true
|
org.gradle.caching = true
|
||||||
org.gradle.parallel = true
|
org.gradle.parallel = true
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Conflict on change for adventure deprecations
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||||
index e7bca7fc74a6a2914c966183c9f83340dd510bf0..9189ada0644a226038eeb7967d45c72ddfc89085 100644
|
index cd7e04aa1de8f051ff4bb23f36912830ab573987..9ff99a1ea5183042d7eea89bb310386c6630663a 100644
|
||||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||||
@@ -415,7 +415,7 @@ public final class Bukkit {
|
@@ -415,7 +415,7 @@ public final class Bukkit {
|
||||||
@@ -432,7 +432,7 @@ index 4af1d064fcb57773dfa8f6ad40d6482973f8e1a8..c9fe267660f9ec04f78b30182df28180
|
|||||||
this.joinMessage = joinMessage != null ? net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(joinMessage) : null; // Paper
|
this.joinMessage = joinMessage != null ? net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(joinMessage) : null; // Paper
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/event/player/PlayerKickEvent.java b/src/main/java/org/bukkit/event/player/PlayerKickEvent.java
|
diff --git a/src/main/java/org/bukkit/event/player/PlayerKickEvent.java b/src/main/java/org/bukkit/event/player/PlayerKickEvent.java
|
||||||
index 45235379b7b54f1ca36dff3bf02c496cef2f3254..3f9df5dd40accc4cf8043348b03fb661a8bc0fe7 100644
|
index b76966953753dabcb31293846d39a4b4d5ef472a..7a0b59e8b60f75f95ce62871bf5f26ec5f478426 100644
|
||||||
--- a/src/main/java/org/bukkit/event/player/PlayerKickEvent.java
|
--- a/src/main/java/org/bukkit/event/player/PlayerKickEvent.java
|
||||||
+++ b/src/main/java/org/bukkit/event/player/PlayerKickEvent.java
|
+++ b/src/main/java/org/bukkit/event/player/PlayerKickEvent.java
|
||||||
@@ -85,7 +85,7 @@ public class PlayerKickEvent extends PlayerEvent implements Cancellable {
|
@@ -85,7 +85,7 @@ public class PlayerKickEvent extends PlayerEvent implements Cancellable {
|
||||||
@@ -684,7 +684,7 @@ index 36bcbb3f3acedf7ebecbf6f6b358cf64af0edfb2..8046b61a62f3cfecb6cd7cb7126b8cbc
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
|
diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
|
||||||
index 67c9347c09c8fe8932ad95762aa5f6c527550cdc..3b23fe19ed92291182a1dab08321404810fe97a0 100644
|
index f1e9a7626c4efb99be78f1056dc04b06bbe13c87..885625c1d54d81de47ed0bc42ee3250c4a54b492 100644
|
||||||
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
|
--- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
|
||||||
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
|
+++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java
|
||||||
@@ -59,7 +59,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
|
@@ -59,7 +59,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste
|
||||||
@@ -790,10 +790,10 @@ index fc3456bb79f2fe1504359455b937c162780110c2..c39ca39190c8eacff9e68ef2edd54d81
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
diff --git a/src/main/java/org/bukkit/scoreboard/Team.java b/src/main/java/org/bukkit/scoreboard/Team.java
|
diff --git a/src/main/java/org/bukkit/scoreboard/Team.java b/src/main/java/org/bukkit/scoreboard/Team.java
|
||||||
index 0f5c49d41c9460da0ba913b4ca8bef375f2c23df..7056cbce8405a4849694f2a8a7bef88c264c3da2 100644
|
index 06a5d3177ca7ab90c3fd9d2053b2ec5e887c7c62..50d991df5680a1ee1eb2eb38d10adbdea7107dae 100644
|
||||||
--- a/src/main/java/org/bukkit/scoreboard/Team.java
|
--- a/src/main/java/org/bukkit/scoreboard/Team.java
|
||||||
+++ b/src/main/java/org/bukkit/scoreboard/Team.java
|
+++ b/src/main/java/org/bukkit/scoreboard/Team.java
|
||||||
@@ -117,7 +117,7 @@ public interface Team {
|
@@ -115,7 +115,7 @@ public interface Team {
|
||||||
* @deprecated in favour of {@link #displayName()}
|
* @deprecated in favour of {@link #displayName()}
|
||||||
*/
|
*/
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -802,7 +802,7 @@ index 0f5c49d41c9460da0ba913b4ca8bef375f2c23df..7056cbce8405a4849694f2a8a7bef88c
|
|||||||
String getDisplayName() throws IllegalStateException;
|
String getDisplayName() throws IllegalStateException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -129,7 +129,7 @@ public interface Team {
|
@@ -127,7 +127,7 @@ public interface Team {
|
||||||
* @throws IllegalStateException if this team has been unregistered
|
* @throws IllegalStateException if this team has been unregistered
|
||||||
* @deprecated in favour of {@link #displayName(net.kyori.adventure.text.Component)}
|
* @deprecated in favour of {@link #displayName(net.kyori.adventure.text.Component)}
|
||||||
*/
|
*/
|
||||||
@@ -811,7 +811,7 @@ index 0f5c49d41c9460da0ba913b4ca8bef375f2c23df..7056cbce8405a4849694f2a8a7bef88c
|
|||||||
void setDisplayName(@NotNull String displayName) throws IllegalStateException, IllegalArgumentException;
|
void setDisplayName(@NotNull String displayName) throws IllegalStateException, IllegalArgumentException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -140,7 +140,7 @@ public interface Team {
|
@@ -138,7 +138,7 @@ public interface Team {
|
||||||
* @deprecated in favour of {@link #prefix()}
|
* @deprecated in favour of {@link #prefix()}
|
||||||
*/
|
*/
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -820,7 +820,7 @@ index 0f5c49d41c9460da0ba913b4ca8bef375f2c23df..7056cbce8405a4849694f2a8a7bef88c
|
|||||||
String getPrefix() throws IllegalStateException;
|
String getPrefix() throws IllegalStateException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -153,7 +153,7 @@ public interface Team {
|
@@ -151,7 +151,7 @@ public interface Team {
|
||||||
* @throws IllegalStateException if this team has been unregistered
|
* @throws IllegalStateException if this team has been unregistered
|
||||||
* @deprecated in favour of {@link #prefix(net.kyori.adventure.text.Component)}
|
* @deprecated in favour of {@link #prefix(net.kyori.adventure.text.Component)}
|
||||||
*/
|
*/
|
||||||
@@ -829,7 +829,7 @@ index 0f5c49d41c9460da0ba913b4ca8bef375f2c23df..7056cbce8405a4849694f2a8a7bef88c
|
|||||||
void setPrefix(@NotNull String prefix) throws IllegalStateException, IllegalArgumentException;
|
void setPrefix(@NotNull String prefix) throws IllegalStateException, IllegalArgumentException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -164,7 +164,7 @@ public interface Team {
|
@@ -162,7 +162,7 @@ public interface Team {
|
||||||
* @deprecated in favour of {@link #suffix()}
|
* @deprecated in favour of {@link #suffix()}
|
||||||
*/
|
*/
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -838,7 +838,7 @@ index 0f5c49d41c9460da0ba913b4ca8bef375f2c23df..7056cbce8405a4849694f2a8a7bef88c
|
|||||||
String getSuffix() throws IllegalStateException;
|
String getSuffix() throws IllegalStateException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -177,7 +177,7 @@ public interface Team {
|
@@ -175,7 +175,7 @@ public interface Team {
|
||||||
* @throws IllegalStateException if this team has been unregistered
|
* @throws IllegalStateException if this team has been unregistered
|
||||||
* @deprecated in favour of {@link #suffix(net.kyori.adventure.text.Component)}
|
* @deprecated in favour of {@link #suffix(net.kyori.adventure.text.Component)}
|
||||||
*/
|
*/
|
||||||
@@ -847,7 +847,7 @@ index 0f5c49d41c9460da0ba913b4ca8bef375f2c23df..7056cbce8405a4849694f2a8a7bef88c
|
|||||||
void setSuffix(@NotNull String suffix) throws IllegalStateException, IllegalArgumentException;
|
void setSuffix(@NotNull String suffix) throws IllegalStateException, IllegalArgumentException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -191,7 +191,7 @@ public interface Team {
|
@@ -189,7 +189,7 @@ public interface Team {
|
||||||
* @deprecated in favour of {@link #color()}
|
* @deprecated in favour of {@link #color()}
|
||||||
*/
|
*/
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -856,7 +856,7 @@ index 0f5c49d41c9460da0ba913b4ca8bef375f2c23df..7056cbce8405a4849694f2a8a7bef88c
|
|||||||
ChatColor getColor() throws IllegalStateException;
|
ChatColor getColor() throws IllegalStateException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -204,7 +204,7 @@ public interface Team {
|
@@ -202,7 +202,7 @@ public interface Team {
|
||||||
* no color
|
* no color
|
||||||
* @deprecated in favour of {@link #color(net.kyori.adventure.text.format.NamedTextColor)}
|
* @deprecated in favour of {@link #color(net.kyori.adventure.text.format.NamedTextColor)}
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -77,10 +77,10 @@ index 0282e3b75470e1a68ea1fc228082483514ba432e..b04e9ab317fbce9c090b61076eb07c40
|
|||||||
"Specification-Title" to "Bukkit",
|
"Specification-Title" to "Bukkit",
|
||||||
"Specification-Version" to project.version,
|
"Specification-Version" to project.version,
|
||||||
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
|
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
|
||||||
index 5ba64e1083b7cb1eec64d1925095c6ca5865ff07..a5e4467382422df6cff2b9f61f44feabfe7084f3 100644
|
index f3bf9df8c0bd56cad461210ce8551ade3a220b6b..088585a1075cd8790e2599eb6a8372adcff050e3 100644
|
||||||
--- a/src/main/java/co/aikar/timings/TimingsExport.java
|
--- a/src/main/java/co/aikar/timings/TimingsExport.java
|
||||||
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
|
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
|
||||||
@@ -238,7 +238,8 @@ public class TimingsExport extends Thread {
|
@@ -240,7 +240,8 @@ public class TimingsExport extends Thread {
|
||||||
parent.put("config", createObject(
|
parent.put("config", createObject(
|
||||||
pair("spigot", mapAsJSON(Bukkit.spigot().getSpigotConfig(), null)),
|
pair("spigot", mapAsJSON(Bukkit.spigot().getSpigotConfig(), null)),
|
||||||
pair("bukkit", mapAsJSON(Bukkit.spigot().getBukkitConfig(), null)),
|
pair("bukkit", mapAsJSON(Bukkit.spigot().getBukkitConfig(), null)),
|
||||||
@@ -113,7 +113,7 @@ index 218f5bafeed8551b55b91c7fccaf6935c8b631ca..f2fe6ea3719ff8b2913b7a3a939d7a5b
|
|||||||
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
|
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
|
||||||
Map<String, Map<String, Integer>> map = new HashMap<>();
|
Map<String, Map<String, Integer>> map = new HashMap<>();
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||||
index fafbebbb5e8c1a381b673f97f1fa210687b52823..560e83f1e70cc2712e9c08ffd5e2cab8a6de687b 100644
|
index 8379c6313f06ab3eeaf02bad41d8b835d50e093f..7a7d0566611aafafba30b7b25c2f1f3e78b054fa 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||||
@@ -241,6 +241,15 @@ public class PaperConfig {
|
@@ -241,6 +241,15 @@ public class PaperConfig {
|
||||||
@@ -557,7 +557,7 @@ index 0000000000000000000000000000000000000000..a7f297ebb569f7c1f205e967ca485be7
|
|||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishCommand.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishCommand.java
|
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishCommand.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishCommand.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..020368da69b9a492155f6de6297f74732f4ab6ea
|
index 0000000000000000000000000000000000000000..e164237e749bcc43466d4ed7aeada5ab9fddf8a6
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishCommand.java
|
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishCommand.java
|
||||||
@@ -0,0 +1,68 @@
|
@@ -0,0 +1,68 @@
|
||||||
@@ -585,7 +585,7 @@ index 0000000000000000000000000000000000000000..020368da69b9a492155f6de6297f7473
|
|||||||
+ this.usageMessage = "/pufferfish [reload | version]";
|
+ this.usageMessage = "/pufferfish [reload | version]";
|
||||||
+ this.setPermission("bukkit.command.pufferfish");
|
+ this.setPermission("bukkit.command.pufferfish");
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public static void init() {
|
+ public static void init() {
|
||||||
+ MinecraftServer.getServer().server.getCommandMap().register("pufferfish", "Pufferfish", new PufferfishCommand());
|
+ MinecraftServer.getServer().server.getCommandMap().register("pufferfish", "Pufferfish", new PufferfishCommand());
|
||||||
+ }
|
+ }
|
||||||
@@ -631,17 +631,20 @@ index 0000000000000000000000000000000000000000..020368da69b9a492155f6de6297f7473
|
|||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..56a5a31b41d00ba73259a7eda5c57d08570d3e6e
|
index 0000000000000000000000000000000000000000..7572cbc662a5b824435d75e1b3b7ea0e58144c9c
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
||||||
@@ -0,0 +1,293 @@
|
@@ -0,0 +1,313 @@
|
||||||
+package gg.pufferfish.pufferfish;
|
+package gg.pufferfish.pufferfish;
|
||||||
+
|
+
|
||||||
+import gg.pufferfish.pufferfish.simd.SIMDDetection;
|
+import gg.pufferfish.pufferfish.simd.SIMDDetection;
|
||||||
+import java.io.File;
|
+import java.io.File;
|
||||||
+import java.io.IOException;
|
+import java.io.IOException;
|
||||||
+import java.util.Collections;
|
+import java.util.Collections;
|
||||||
|
+import java.util.Locale;
|
||||||
|
+import java.util.Map;
|
||||||
+import net.minecraft.server.MinecraftServer;
|
+import net.minecraft.server.MinecraftServer;
|
||||||
|
+import net.minecraft.tags.TagKey;
|
||||||
+import org.apache.logging.log4j.Level;
|
+import org.apache.logging.log4j.Level;
|
||||||
+import org.bukkit.configuration.ConfigurationSection;
|
+import org.bukkit.configuration.ConfigurationSection;
|
||||||
+import net.minecraft.core.Registry;
|
+import net.minecraft.core.Registry;
|
||||||
@@ -667,10 +670,10 @@ index 0000000000000000000000000000000000000000..56a5a31b41d00ba73259a7eda5c57d08
|
|||||||
+import java.util.Collections;
|
+import java.util.Collections;
|
||||||
+
|
+
|
||||||
+public class PufferfishConfig {
|
+public class PufferfishConfig {
|
||||||
+
|
+
|
||||||
+ private static final YamlFile config = new YamlFile();
|
+ private static final YamlFile config = new YamlFile();
|
||||||
+ private static int updates = 0;
|
+ private static int updates = 0;
|
||||||
+
|
+
|
||||||
+ private static ConfigurationSection convertToBukkit(org.simpleyaml.configuration.ConfigurationSection section) {
|
+ private static ConfigurationSection convertToBukkit(org.simpleyaml.configuration.ConfigurationSection section) {
|
||||||
+ ConfigurationSection newSection = new MemoryConfiguration();
|
+ ConfigurationSection newSection = new MemoryConfiguration();
|
||||||
+ for (String key : section.getKeys(false)) {
|
+ for (String key : section.getKeys(false)) {
|
||||||
@@ -682,18 +685,18 @@ index 0000000000000000000000000000000000000000..56a5a31b41d00ba73259a7eda5c57d08
|
|||||||
+ }
|
+ }
|
||||||
+ return newSection;
|
+ return newSection;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public static ConfigurationSection getConfigCopy() {
|
+ public static ConfigurationSection getConfigCopy() {
|
||||||
+ return convertToBukkit(config);
|
+ return convertToBukkit(config);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public static int getUpdates() {
|
+ public static int getUpdates() {
|
||||||
+ return updates;
|
+ return updates;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public static void load() throws IOException {
|
+ public static void load() throws IOException {
|
||||||
+ File configFile = new File("pufferfish.yml");
|
+ File configFile = new File("pufferfish.yml");
|
||||||
+
|
+
|
||||||
+ if (configFile.exists()) {
|
+ if (configFile.exists()) {
|
||||||
+ try {
|
+ try {
|
||||||
+ config.load(configFile);
|
+ config.load(configFile);
|
||||||
@@ -701,14 +704,14 @@ index 0000000000000000000000000000000000000000..56a5a31b41d00ba73259a7eda5c57d08
|
|||||||
+ throw new IOException(e);
|
+ throw new IOException(e);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ getString("info.version", "1.0");
|
+ getString("info.version", "1.0");
|
||||||
+ setComment("info",
|
+ setComment("info",
|
||||||
+ "Pufferfish Configuration",
|
+ "Pufferfish Configuration",
|
||||||
+ "Check out Pufferfish Host for maximum performance server hosting: https://pufferfish.host",
|
+ "Check out Pufferfish Host for maximum performance server hosting: https://pufferfish.host",
|
||||||
+ "Join our Discord for support: https://discord.gg/reZw4vQV9H",
|
+ "Join our Discord for support: https://discord.gg/reZw4vQV9H",
|
||||||
+ "Download new builds at https://ci.pufferfish.host/job/Pufferfish");
|
+ "Download new builds at https://ci.pufferfish.host/job/Pufferfish");
|
||||||
+
|
+
|
||||||
+ for (Method method : PufferfishConfig.class.getDeclaredMethods()) {
|
+ for (Method method : PufferfishConfig.class.getDeclaredMethods()) {
|
||||||
+ if (Modifier.isStatic(method.getModifiers()) && Modifier.isPrivate(method.getModifiers()) && method.getParameterCount() == 0 &&
|
+ if (Modifier.isStatic(method.getModifiers()) && Modifier.isPrivate(method.getModifiers()) && method.getParameterCount() == 0 &&
|
||||||
+ method.getReturnType() == Void.TYPE && !method.getName().startsWith("lambda")) {
|
+ method.getReturnType() == Void.TYPE && !method.getName().startsWith("lambda")) {
|
||||||
@@ -720,17 +723,17 @@ index 0000000000000000000000000000000000000000..56a5a31b41d00ba73259a7eda5c57d08
|
|||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ updates++;
|
+ updates++;
|
||||||
+
|
+
|
||||||
+ config.save(configFile);
|
+ config.save(configFile);
|
||||||
+
|
+
|
||||||
+ // Attempt to detect vectorization
|
+ // Attempt to detect vectorization
|
||||||
+ try {
|
+ try {
|
||||||
+ SIMDDetection.isEnabled = SIMDDetection.canEnable(PufferfishLogger.LOGGER);
|
+ SIMDDetection.isEnabled = SIMDDetection.canEnable(PufferfishLogger.LOGGER);
|
||||||
+ SIMDDetection.versionLimited = SIMDDetection.getJavaVersion() != 17 && SIMDDetection.getJavaVersion() != 18;
|
+ SIMDDetection.versionLimited = SIMDDetection.getJavaVersion() != 17 && SIMDDetection.getJavaVersion() != 18;
|
||||||
+ } catch (NoClassDefFoundError | Exception ignored) {}
|
+ } catch (NoClassDefFoundError | Exception ignored) {}
|
||||||
+
|
+
|
||||||
+ if (SIMDDetection.isEnabled) {
|
+ if (SIMDDetection.isEnabled) {
|
||||||
+ PufferfishLogger.LOGGER.info("SIMD operations detected as functional. Will replace some operations with faster versions.");
|
+ PufferfishLogger.LOGGER.info("SIMD operations detected as functional. Will replace some operations with faster versions.");
|
||||||
+ } else if (SIMDDetection.versionLimited) {
|
+ } else if (SIMDDetection.versionLimited) {
|
||||||
@@ -742,76 +745,76 @@ index 0000000000000000000000000000000000000000..56a5a31b41d00ba73259a7eda5c57d08
|
|||||||
+ PufferfishLogger.LOGGER.warning("Debug: Java: " + System.getProperty("java.version") + ", test run: " + SIMDDetection.testRun);
|
+ PufferfishLogger.LOGGER.warning("Debug: Java: " + System.getProperty("java.version") + ", test run: " + SIMDDetection.testRun);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private static void setComment(String key, String... comment) {
|
+ private static void setComment(String key, String... comment) {
|
||||||
+ if (config.contains(key)) {
|
+ if (config.contains(key)) {
|
||||||
+ config.setComment(key, String.join("\n", comment), CommentType.BLOCK);
|
+ config.setComment(key, String.join("\n", comment), CommentType.BLOCK);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private static void ensureDefault(String key, Object defaultValue, String... comment) {
|
+ private static void ensureDefault(String key, Object defaultValue, String... comment) {
|
||||||
+ if (!config.contains(key)) {
|
+ if (!config.contains(key)) {
|
||||||
+ config.set(key, defaultValue);
|
+ config.set(key, defaultValue);
|
||||||
+ config.setComment(key, String.join("\n", comment), CommentType.BLOCK);
|
+ config.setComment(key, String.join("\n", comment), CommentType.BLOCK);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private static boolean getBoolean(String key, boolean defaultValue, String... comment) {
|
+ private static boolean getBoolean(String key, boolean defaultValue, String... comment) {
|
||||||
+ return getBoolean(key, null, defaultValue, comment);
|
+ return getBoolean(key, null, defaultValue, comment);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private static boolean getBoolean(String key, @Nullable String oldKey, boolean defaultValue, String... comment) {
|
+ private static boolean getBoolean(String key, @Nullable String oldKey, boolean defaultValue, String... comment) {
|
||||||
+ ensureDefault(key, defaultValue, comment);
|
+ ensureDefault(key, defaultValue, comment);
|
||||||
+ return config.getBoolean(key, defaultValue);
|
+ return config.getBoolean(key, defaultValue);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private static int getInt(String key, int defaultValue, String... comment) {
|
+ private static int getInt(String key, int defaultValue, String... comment) {
|
||||||
+ return getInt(key, null, defaultValue, comment);
|
+ return getInt(key, null, defaultValue, comment);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private static int getInt(String key, @Nullable String oldKey, int defaultValue, String... comment) {
|
+ private static int getInt(String key, @Nullable String oldKey, int defaultValue, String... comment) {
|
||||||
+ ensureDefault(key, defaultValue, comment);
|
+ ensureDefault(key, defaultValue, comment);
|
||||||
+ return config.getInt(key, defaultValue);
|
+ return config.getInt(key, defaultValue);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private static double getDouble(String key, double defaultValue, String... comment) {
|
+ private static double getDouble(String key, double defaultValue, String... comment) {
|
||||||
+ return getDouble(key, null, defaultValue, comment);
|
+ return getDouble(key, null, defaultValue, comment);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private static double getDouble(String key, @Nullable String oldKey, double defaultValue, String... comment) {
|
+ private static double getDouble(String key, @Nullable String oldKey, double defaultValue, String... comment) {
|
||||||
+ ensureDefault(key, defaultValue, comment);
|
+ ensureDefault(key, defaultValue, comment);
|
||||||
+ return config.getDouble(key, defaultValue);
|
+ return config.getDouble(key, defaultValue);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private static String getString(String key, String defaultValue, String... comment) {
|
+ private static String getString(String key, String defaultValue, String... comment) {
|
||||||
+ return getOldString(key, null, defaultValue, comment);
|
+ return getOldString(key, null, defaultValue, comment);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private static String getOldString(String key, @Nullable String oldKey, String defaultValue, String... comment) {
|
+ private static String getOldString(String key, @Nullable String oldKey, String defaultValue, String... comment) {
|
||||||
+ ensureDefault(key, defaultValue, comment);
|
+ ensureDefault(key, defaultValue, comment);
|
||||||
+ return config.getString(key, defaultValue);
|
+ return config.getString(key, defaultValue);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private static List<String> getStringList(String key, List<String> defaultValue, String... comment) {
|
+ private static List<String> getStringList(String key, List<String> defaultValue, String... comment) {
|
||||||
+ return getStringList(key, null, defaultValue, comment);
|
+ return getStringList(key, null, defaultValue, comment);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private static List<String> getStringList(String key, @Nullable String oldKey, List<String> defaultValue, String... comment) {
|
+ private static List<String> getStringList(String key, @Nullable String oldKey, List<String> defaultValue, String... comment) {
|
||||||
+ ensureDefault(key, defaultValue, comment);
|
+ ensureDefault(key, defaultValue, comment);
|
||||||
+ return config.getStringList(key);
|
+ return config.getStringList(key);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public static String sentryDsn;
|
+ public static String sentryDsn;
|
||||||
+ private static void sentry() {
|
+ private static void sentry() {
|
||||||
+ String sentryEnvironment = System.getenv("SENTRY_DSN");
|
+ String sentryEnvironment = System.getenv("SENTRY_DSN");
|
||||||
+ String sentryConfig = getString("sentry-dsn", "", "Sentry DSN for improved error logging, leave blank to disable", "Obtain from https://sentry.io/");
|
+ String sentryConfig = getString("sentry-dsn", "", "Sentry DSN for improved error logging, leave blank to disable", "Obtain from https://sentry.io/");
|
||||||
+
|
+
|
||||||
+ sentryDsn = sentryEnvironment == null ? sentryConfig : sentryEnvironment;
|
+ sentryDsn = sentryEnvironment == null ? sentryConfig : sentryEnvironment;
|
||||||
+ if (sentryDsn != null && !sentryDsn.isBlank()) {
|
+ if (sentryDsn != null && !sentryDsn.isBlank()) {
|
||||||
+ gg.pufferfish.pufferfish.sentry.SentryManager.init();
|
+ gg.pufferfish.pufferfish.sentry.SentryManager.init();
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public static boolean enableBooks;
|
+ public static boolean enableBooks;
|
||||||
+ private static void books() {
|
+ private static void books() {
|
||||||
+ enableBooks = getBoolean("enable-books", true,
|
+ enableBooks = getBoolean("enable-books", true,
|
||||||
@@ -820,7 +823,7 @@ index 0000000000000000000000000000000000000000..56a5a31b41d00ba73259a7eda5c57d08
|
|||||||
+ "disabling this option.",
|
+ "disabling this option.",
|
||||||
+ "This can be overridden per-player with the permission pufferfish.usebooks");
|
+ "This can be overridden per-player with the permission pufferfish.usebooks");
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public static boolean enableSuffocationOptimization;
|
+ public static boolean enableSuffocationOptimization;
|
||||||
+ private static void suffocationOptimization() {
|
+ private static void suffocationOptimization() {
|
||||||
+ enableSuffocationOptimization = getBoolean("enable-suffocation-optimization", true,
|
+ enableSuffocationOptimization = getBoolean("enable-suffocation-optimization", true,
|
||||||
@@ -829,7 +832,7 @@ index 0000000000000000000000000000000000000000..56a5a31b41d00ba73259a7eda5c57d08
|
|||||||
+ "be left enabled on most servers, but is provided as a",
|
+ "be left enabled on most servers, but is provided as a",
|
||||||
+ "configuration option if the vanilla deviation is undesirable.");
|
+ "configuration option if the vanilla deviation is undesirable.");
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public static boolean enableAsyncMobSpawning;
|
+ public static boolean enableAsyncMobSpawning;
|
||||||
+ public static boolean asyncMobSpawningInitialized;
|
+ public static boolean asyncMobSpawningInitialized;
|
||||||
+ private static void asyncMobSpawning() {
|
+ private static void asyncMobSpawning() {
|
||||||
@@ -839,14 +842,14 @@ index 0000000000000000000000000000000000000000..56a5a31b41d00ba73259a7eda5c57d08
|
|||||||
+ "paper's per-player-mob-spawns setting set to true for this to work.",
|
+ "paper's per-player-mob-spawns setting set to true for this to work.",
|
||||||
+ "One quick note - this does not actually spawn mobs async (that would be very unsafe).",
|
+ "One quick note - this does not actually spawn mobs async (that would be very unsafe).",
|
||||||
+ "This just offloads some expensive calculations that are required for mob spawning.");
|
+ "This just offloads some expensive calculations that are required for mob spawning.");
|
||||||
+
|
+
|
||||||
+ // This prevents us from changing the value during a reload.
|
+ // This prevents us from changing the value during a reload.
|
||||||
+ if (!asyncMobSpawningInitialized) {
|
+ if (!asyncMobSpawningInitialized) {
|
||||||
+ asyncMobSpawningInitialized = true;
|
+ asyncMobSpawningInitialized = true;
|
||||||
+ enableAsyncMobSpawning = temp;
|
+ enableAsyncMobSpawning = temp;
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public static int maxProjectileLoadsPerTick;
|
+ public static int maxProjectileLoadsPerTick;
|
||||||
+ public static int maxProjectileLoadsPerProjectile;
|
+ public static int maxProjectileLoadsPerProjectile;
|
||||||
+ private static void projectileLoading() {
|
+ private static void projectileLoading() {
|
||||||
@@ -888,7 +891,24 @@ index 0000000000000000000000000000000000000000..56a5a31b41d00ba73259a7eda5c57d08
|
|||||||
+
|
+
|
||||||
+ setComment("dab", "Optimizes entity brains when", "they're far away from the player");
|
+ setComment("dab", "Optimizes entity brains when", "they're far away from the player");
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
|
+ public static Map<String, Integer> projectileTimeouts;
|
||||||
|
+ private static void projectileTimeouts() {
|
||||||
|
+ // Set some defaults
|
||||||
|
+ getInt("entity_timeouts.SNOWBALL", -1);
|
||||||
|
+ getInt("entity_timeouts.LLAMA_SPIT", -1);
|
||||||
|
+ setComment("entity_timeouts",
|
||||||
|
+ "These values define a entity's maximum lifespan. If an",
|
||||||
|
+ "entity is in this list and it has survived for longer than",
|
||||||
|
+ "that number of ticks, then it will be removed. Setting a value to",
|
||||||
|
+ "-1 disables this feature.");
|
||||||
|
+
|
||||||
|
+ for (EntityType<?> entityType : Registry.ENTITY_TYPE) {
|
||||||
|
+ String type = EntityType.getKey(entityType).getPath().toUpperCase(Locale.ROOT);
|
||||||
|
+ entityType.ttl = config.getInt("entity_timeouts." + type, -1);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
+ public static boolean throttleInactiveGoalSelectorTick;
|
+ public static boolean throttleInactiveGoalSelectorTick;
|
||||||
+ private static void inactiveGoalSelectorThrottle() {
|
+ private static void inactiveGoalSelectorThrottle() {
|
||||||
+ getBoolean("inactive-goal-selector-throttle", "inactive-goal-selector-disable", true,
|
+ getBoolean("inactive-goal-selector-throttle", "inactive-goal-selector-disable", true,
|
||||||
@@ -952,7 +972,7 @@ index 0000000000000000000000000000000000000000..53f2df00c6809618a9ee3d2ea72e85e8
|
|||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishVersionFetcher.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishVersionFetcher.java
|
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishVersionFetcher.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishVersionFetcher.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..adafc4fd661cf080b004b86c3eaed231a0133101
|
index 0000000000000000000000000000000000000000..461022af9ad85fe00329678f0f61d684d291c628
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishVersionFetcher.java
|
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishVersionFetcher.java
|
||||||
@@ -0,0 +1,136 @@
|
@@ -0,0 +1,136 @@
|
||||||
@@ -984,46 +1004,46 @@ index 0000000000000000000000000000000000000000..adafc4fd661cf080b004b86c3eaed231
|
|||||||
+import org.jetbrains.annotations.Nullable;
|
+import org.jetbrains.annotations.Nullable;
|
||||||
+
|
+
|
||||||
+public class PufferfishVersionFetcher implements VersionFetcher {
|
+public class PufferfishVersionFetcher implements VersionFetcher {
|
||||||
+
|
+
|
||||||
+ private static final Logger LOGGER = Logger.getLogger("PufferfishVersionFetcher");
|
+ private static final Logger LOGGER = Logger.getLogger("PufferfishVersionFetcher");
|
||||||
+ private static final HttpClient client = HttpClient.newHttpClient();
|
+ private static final HttpClient client = HttpClient.newHttpClient();
|
||||||
+
|
+
|
||||||
+ private static final URI JENKINS_URI = URI.create("https://ci.pufferfish.host/job/Pufferfish-1.18/lastSuccessfulBuild/buildNumber");
|
+ private static final URI JENKINS_URI = URI.create("https://ci.pufferfish.host/job/Pufferfish-1.18/lastSuccessfulBuild/buildNumber");
|
||||||
+ private static final String GITHUB_FORMAT = "https://api.github.com/repos/pufferfish-gg/Pufferfish/compare/ver/1.18...%s";
|
+ private static final String GITHUB_FORMAT = "https://api.github.com/repos/pufferfish-gg/Pufferfish/compare/ver/1.18...%s";
|
||||||
+
|
+
|
||||||
+ private static final HttpResponse.BodyHandler<JsonObject> JSON_OBJECT_BODY_HANDLER = responseInfo -> HttpResponse.BodySubscribers
|
+ private static final HttpResponse.BodyHandler<JsonObject> JSON_OBJECT_BODY_HANDLER = responseInfo -> HttpResponse.BodySubscribers
|
||||||
+ .mapping(
|
+ .mapping(
|
||||||
+ HttpResponse.BodySubscribers.ofString(StandardCharsets.UTF_8),
|
+ HttpResponse.BodySubscribers.ofString(StandardCharsets.UTF_8),
|
||||||
+ string -> new Gson().fromJson(string, JsonObject.class)
|
+ string -> new Gson().fromJson(string, JsonObject.class)
|
||||||
+ );
|
+ );
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public long getCacheTime() {
|
+ public long getCacheTime() {
|
||||||
+ return TimeUnit.MINUTES.toMillis(30);
|
+ return TimeUnit.MINUTES.toMillis(30);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public @NotNull Component getVersionMessage(final @NotNull String serverVersion) {
|
+ public @NotNull Component getVersionMessage(final @NotNull String serverVersion) {
|
||||||
+ final String[] parts = CraftServer.class.getPackage().getImplementationVersion().split("-");
|
+ final String[] parts = CraftServer.class.getPackage().getImplementationVersion().split("-");
|
||||||
+ @NotNull Component component;
|
+ @NotNull Component component;
|
||||||
+
|
+
|
||||||
+ if (parts.length != 3) {
|
+ if (parts.length != 3) {
|
||||||
+ component = text("Unknown server version.", RED);
|
+ component = text("Unknown server version.", RED);
|
||||||
+ } else {
|
+ } else {
|
||||||
+ final String versionString = parts[2];
|
+ final String versionString = parts[2];
|
||||||
+
|
+
|
||||||
+ try {
|
+ try {
|
||||||
+ component = this.fetchJenkinsVersion(Integer.parseInt(versionString));
|
+ component = this.fetchJenkinsVersion(Integer.parseInt(versionString));
|
||||||
+ } catch (NumberFormatException e) {
|
+ } catch (NumberFormatException e) {
|
||||||
+ component = this.fetchGithubVersion(versionString.substring(1, versionString.length() - 1));
|
+ component = this.fetchGithubVersion(versionString.substring(1, versionString.length() - 1));
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ final @Nullable Component history = this.getHistory();
|
+ final @Nullable Component history = this.getHistory();
|
||||||
+ return history != null ? Component
|
+ return history != null ? Component
|
||||||
+ .join(JoinConfiguration.noSeparators(), component, Component.newline(), this.getHistory()) : component;
|
+ .join(JoinConfiguration.noSeparators(), component, Component.newline(), this.getHistory()) : component;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private @NotNull Component fetchJenkinsVersion(final int versionNumber) {
|
+ private @NotNull Component fetchJenkinsVersion(final int versionNumber) {
|
||||||
+ final HttpRequest request = HttpRequest.newBuilder(JENKINS_URI).build();
|
+ final HttpRequest request = HttpRequest.newBuilder(JENKINS_URI).build();
|
||||||
+ try {
|
+ try {
|
||||||
@@ -1031,7 +1051,7 @@ index 0000000000000000000000000000000000000000..adafc4fd661cf080b004b86c3eaed231
|
|||||||
+ if (response.statusCode() != 200) {
|
+ if (response.statusCode() != 200) {
|
||||||
+ return text("Received invalid status code (" + response.statusCode() + ") from server.", RED);
|
+ return text("Received invalid status code (" + response.statusCode() + ") from server.", RED);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ int latestVersionNumber;
|
+ int latestVersionNumber;
|
||||||
+ try {
|
+ try {
|
||||||
+ latestVersionNumber = Integer.parseInt(response.body());
|
+ latestVersionNumber = Integer.parseInt(response.body());
|
||||||
@@ -1039,7 +1059,7 @@ index 0000000000000000000000000000000000000000..adafc4fd661cf080b004b86c3eaed231
|
|||||||
+ LOGGER.log(Level.WARNING, "Received invalid response from Jenkins \"" + response.body() + "\".");
|
+ LOGGER.log(Level.WARNING, "Received invalid response from Jenkins \"" + response.body() + "\".");
|
||||||
+ return text("Received invalid response from server.", RED);
|
+ return text("Received invalid response from server.", RED);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ final int versionDiff = latestVersionNumber - versionNumber;
|
+ final int versionDiff = latestVersionNumber - versionNumber;
|
||||||
+ return this.getResponseMessage(versionDiff);
|
+ return this.getResponseMessage(versionDiff);
|
||||||
+ } catch (IOException | InterruptedException e) {
|
+ } catch (IOException | InterruptedException e) {
|
||||||
@@ -1047,7 +1067,7 @@ index 0000000000000000000000000000000000000000..adafc4fd661cf080b004b86c3eaed231
|
|||||||
+ return text("Failed to retrieve version from server.", RED);
|
+ return text("Failed to retrieve version from server.", RED);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ // Based off code contributed by Techcable <Techcable@outlook.com> in Paper/GH-65
|
+ // Based off code contributed by Techcable <Techcable@outlook.com> in Paper/GH-65
|
||||||
+ private @NotNull Component fetchGithubVersion(final @NotNull String hash) {
|
+ private @NotNull Component fetchGithubVersion(final @NotNull String hash) {
|
||||||
+ final URI uri = URI.create(String.format(GITHUB_FORMAT, hash));
|
+ final URI uri = URI.create(String.format(GITHUB_FORMAT, hash));
|
||||||
@@ -1057,17 +1077,17 @@ index 0000000000000000000000000000000000000000..adafc4fd661cf080b004b86c3eaed231
|
|||||||
+ if (response.statusCode() != 200) {
|
+ if (response.statusCode() != 200) {
|
||||||
+ return text("Received invalid status code (" + response.statusCode() + ") from server.", RED);
|
+ return text("Received invalid status code (" + response.statusCode() + ") from server.", RED);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ final JsonObject obj = response.body();
|
+ final JsonObject obj = response.body();
|
||||||
+ final int versionDiff = obj.get("behind_by").getAsInt();
|
+ final int versionDiff = obj.get("behind_by").getAsInt();
|
||||||
+
|
+
|
||||||
+ return this.getResponseMessage(versionDiff);
|
+ return this.getResponseMessage(versionDiff);
|
||||||
+ } catch (IOException | InterruptedException e) {
|
+ } catch (IOException | InterruptedException e) {
|
||||||
+ LOGGER.log(Level.WARNING, "Failed to look up version from GitHub", e);
|
+ LOGGER.log(Level.WARNING, "Failed to look up version from GitHub", e);
|
||||||
+ return text("Failed to retrieve version from server.", RED);
|
+ return text("Failed to retrieve version from server.", RED);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private @NotNull Component getResponseMessage(final int versionDiff) {
|
+ private @NotNull Component getResponseMessage(final int versionDiff) {
|
||||||
+ return switch (Math.max(-1, Math.min(1, versionDiff))) {
|
+ return switch (Math.max(-1, Math.min(1, versionDiff))) {
|
||||||
+ case -1 -> text("You are running an unsupported version of Pufferfish.", RED);
|
+ case -1 -> text("You are running an unsupported version of Pufferfish.", RED);
|
||||||
@@ -1077,18 +1097,18 @@ index 0000000000000000000000000000000000000000..adafc4fd661cf080b004b86c3eaed231
|
|||||||
+ RED);
|
+ RED);
|
||||||
+ };
|
+ };
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private @Nullable Component getHistory() {
|
+ private @Nullable Component getHistory() {
|
||||||
+ final VersionHistoryManager.VersionData data = VersionHistoryManager.INSTANCE.getVersionData();
|
+ final VersionHistoryManager.VersionData data = VersionHistoryManager.INSTANCE.getVersionData();
|
||||||
+ if (data == null) {
|
+ if (data == null) {
|
||||||
+ return null;
|
+ return null;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ final String oldVersion = data.getOldVersion();
|
+ final String oldVersion = data.getOldVersion();
|
||||||
+ if (oldVersion == null) {
|
+ if (oldVersion == null) {
|
||||||
+ return null;
|
+ return null;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ return Component.text("Previous version: " + oldVersion, NamedTextColor.GRAY, TextDecoration.ITALIC);
|
+ return Component.text("Previous version: " + oldVersion, NamedTextColor.GRAY, TextDecoration.ITALIC);
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
@@ -1788,7 +1808,7 @@ index 0000000000000000000000000000000000000000..db15d3fbe2b65fc8035573f5fdbea382
|
|||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/gg/pufferfish/pufferfish/sentry/PufferfishSentryAppender.java b/src/main/java/gg/pufferfish/pufferfish/sentry/PufferfishSentryAppender.java
|
diff --git a/src/main/java/gg/pufferfish/pufferfish/sentry/PufferfishSentryAppender.java b/src/main/java/gg/pufferfish/pufferfish/sentry/PufferfishSentryAppender.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..731ef11c7a025ae95ed8a757b530d834733d0621
|
index 0000000000000000000000000000000000000000..d04a8a4336566dbe6e1b9ec0d574cff43e003fa8
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/gg/pufferfish/pufferfish/sentry/PufferfishSentryAppender.java
|
+++ b/src/main/java/gg/pufferfish/pufferfish/sentry/PufferfishSentryAppender.java
|
||||||
@@ -0,0 +1,135 @@
|
@@ -0,0 +1,135 @@
|
||||||
@@ -1812,14 +1832,14 @@ index 0000000000000000000000000000000000000000..731ef11c7a025ae95ed8a757b530d834
|
|||||||
+import org.apache.logging.log4j.core.filter.AbstractFilter;
|
+import org.apache.logging.log4j.core.filter.AbstractFilter;
|
||||||
+
|
+
|
||||||
+public class PufferfishSentryAppender extends AbstractAppender {
|
+public class PufferfishSentryAppender extends AbstractAppender {
|
||||||
+
|
+
|
||||||
+ private static final org.apache.logging.log4j.Logger logger = LogManager.getLogger(PufferfishSentryAppender.class);
|
+ private static final org.apache.logging.log4j.Logger logger = LogManager.getLogger(PufferfishSentryAppender.class);
|
||||||
+ private static final Gson GSON = new Gson();
|
+ private static final Gson GSON = new Gson();
|
||||||
+
|
+
|
||||||
+ public PufferfishSentryAppender() {
|
+ public PufferfishSentryAppender() {
|
||||||
+ super("PufferfishSentryAdapter", new SentryFilter(), null);
|
+ super("PufferfishSentryAdapter", new SentryFilter(), null);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public void append(LogEvent logEvent) {
|
+ public void append(LogEvent logEvent) {
|
||||||
+ if (logEvent.getThrown() != null && logEvent.getLevel().isMoreSpecificThan(Level.WARN)) {
|
+ if (logEvent.getThrown() != null && logEvent.getLevel().isMoreSpecificThan(Level.WARN)) {
|
||||||
@@ -1836,55 +1856,55 @@ index 0000000000000000000000000000000000000000..731ef11c7a025ae95ed8a757b530d834
|
|||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private void logException(LogEvent e) {
|
+ private void logException(LogEvent e) {
|
||||||
+ SentryEvent event = new SentryEvent(e.getThrown());
|
+ SentryEvent event = new SentryEvent(e.getThrown());
|
||||||
+
|
+
|
||||||
+ Message sentryMessage = new Message();
|
+ Message sentryMessage = new Message();
|
||||||
+ sentryMessage.setMessage(e.getMessage().getFormattedMessage());
|
+ sentryMessage.setMessage(e.getMessage().getFormattedMessage());
|
||||||
+
|
+
|
||||||
+ event.setThrowable(e.getThrown());
|
+ event.setThrowable(e.getThrown());
|
||||||
+ event.setLevel(getLevel(e.getLevel()));
|
+ event.setLevel(getLevel(e.getLevel()));
|
||||||
+ event.setLogger(e.getLoggerName());
|
+ event.setLogger(e.getLoggerName());
|
||||||
+ event.setTransaction(e.getLoggerName());
|
+ event.setTransaction(e.getLoggerName());
|
||||||
+ event.setExtra("thread_name", e.getThreadName());
|
+ event.setExtra("thread_name", e.getThreadName());
|
||||||
+
|
+
|
||||||
+ boolean hasContext = e.getContextData() != null;
|
+ boolean hasContext = e.getContextData() != null;
|
||||||
+
|
+
|
||||||
+ if (hasContext && e.getContextData().containsKey("pufferfishsentry_playerid")) {
|
+ if (hasContext && e.getContextData().containsKey("pufferfishsentry_playerid")) {
|
||||||
+ User user = new User();
|
+ User user = new User();
|
||||||
+ user.setId(e.getContextData().getValue("pufferfishsentry_playerid"));
|
+ user.setId(e.getContextData().getValue("pufferfishsentry_playerid"));
|
||||||
+ user.setUsername(e.getContextData().getValue("pufferfishsentry_playername"));
|
+ user.setUsername(e.getContextData().getValue("pufferfishsentry_playername"));
|
||||||
+ event.setUser(user);
|
+ event.setUser(user);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ if (hasContext && e.getContextData().containsKey("pufferfishsentry_pluginname")) {
|
+ if (hasContext && e.getContextData().containsKey("pufferfishsentry_pluginname")) {
|
||||||
+ event.setExtra("plugin.name", e.getContextData().getValue("pufferfishsentry_pluginname"));
|
+ event.setExtra("plugin.name", e.getContextData().getValue("pufferfishsentry_pluginname"));
|
||||||
+ event.setExtra("plugin.version", e.getContextData().getValue("pufferfishsentry_pluginversion"));
|
+ event.setExtra("plugin.version", e.getContextData().getValue("pufferfishsentry_pluginversion"));
|
||||||
+ event.setTransaction(e.getContextData().getValue("pufferfishsentry_pluginname"));
|
+ event.setTransaction(e.getContextData().getValue("pufferfishsentry_pluginname"));
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ if (hasContext && e.getContextData().containsKey("pufferfishsentry_eventdata")) {
|
+ if (hasContext && e.getContextData().containsKey("pufferfishsentry_eventdata")) {
|
||||||
+ Map<String, String> eventFields = GSON.fromJson((String) e.getContextData().getValue("pufferfishsentry_eventdata"), new TypeToken<Map<String, String>>() {}.getType());
|
+ Map<String, String> eventFields = GSON.fromJson((String) e.getContextData().getValue("pufferfishsentry_eventdata"), new TypeToken<Map<String, String>>() {}.getType());
|
||||||
+ if (eventFields != null) {
|
+ if (eventFields != null) {
|
||||||
+ event.setExtra("event", eventFields);
|
+ event.setExtra("event", eventFields);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ Sentry.captureEvent(event);
|
+ Sentry.captureEvent(event);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private void logBreadcrumb(LogEvent e) {
|
+ private void logBreadcrumb(LogEvent e) {
|
||||||
+ Breadcrumb breadcrumb = new Breadcrumb();
|
+ Breadcrumb breadcrumb = new Breadcrumb();
|
||||||
+
|
+
|
||||||
+ breadcrumb.setLevel(getLevel(e.getLevel()));
|
+ breadcrumb.setLevel(getLevel(e.getLevel()));
|
||||||
+ breadcrumb.setCategory(e.getLoggerName());
|
+ breadcrumb.setCategory(e.getLoggerName());
|
||||||
+ breadcrumb.setType(e.getLoggerName());
|
+ breadcrumb.setType(e.getLoggerName());
|
||||||
+ breadcrumb.setMessage(e.getMessage().getFormattedMessage());
|
+ breadcrumb.setMessage(e.getMessage().getFormattedMessage());
|
||||||
+
|
+
|
||||||
+ Sentry.addBreadcrumb(breadcrumb);
|
+ Sentry.addBreadcrumb(breadcrumb);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private SentryLevel getLevel(Level level) {
|
+ private SentryLevel getLevel(Level level) {
|
||||||
+ switch (level.getStandardLevel()) {
|
+ switch (level.getStandardLevel()) {
|
||||||
+ case TRACE:
|
+ case TRACE:
|
||||||
@@ -1901,35 +1921,35 @@ index 0000000000000000000000000000000000000000..731ef11c7a025ae95ed8a757b530d834
|
|||||||
+ return SentryLevel.INFO;
|
+ return SentryLevel.INFO;
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private static class SentryFilter extends AbstractFilter {
|
+ private static class SentryFilter extends AbstractFilter {
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public Result filter(Logger logger, org.apache.logging.log4j.Level level, Marker marker, String msg,
|
+ public Result filter(Logger logger, org.apache.logging.log4j.Level level, Marker marker, String msg,
|
||||||
+ Object... params) {
|
+ Object... params) {
|
||||||
+ return this.filter(logger.getName());
|
+ return this.filter(logger.getName());
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public Result filter(Logger logger, org.apache.logging.log4j.Level level, Marker marker, Object msg, Throwable t) {
|
+ public Result filter(Logger logger, org.apache.logging.log4j.Level level, Marker marker, Object msg, Throwable t) {
|
||||||
+ return this.filter(logger.getName());
|
+ return this.filter(logger.getName());
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public Result filter(LogEvent event) {
|
+ public Result filter(LogEvent event) {
|
||||||
+ return this.filter(event == null ? null : event.getLoggerName());
|
+ return this.filter(event == null ? null : event.getLoggerName());
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private Result filter(String loggerName) {
|
+ private Result filter(String loggerName) {
|
||||||
+ return loggerName != null && loggerName.startsWith("gg.castaway.pufferfish.sentry") ? Result.DENY
|
+ return loggerName != null && loggerName.startsWith("gg.castaway.pufferfish.sentry") ? Result.DENY
|
||||||
+ : Result.NEUTRAL;
|
+ : Result.NEUTRAL;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/gg/pufferfish/pufferfish/sentry/SentryManager.java b/src/main/java/gg/pufferfish/pufferfish/sentry/SentryManager.java
|
diff --git a/src/main/java/gg/pufferfish/pufferfish/sentry/SentryManager.java b/src/main/java/gg/pufferfish/pufferfish/sentry/SentryManager.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..1b29210ad0bbb4ada150f23357f0c80d331c996d
|
index 0000000000000000000000000000000000000000..b011abbeb80b42de6be3785e47c7ba3c0f6dc161
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/gg/pufferfish/pufferfish/sentry/SentryManager.java
|
+++ b/src/main/java/gg/pufferfish/pufferfish/sentry/SentryManager.java
|
||||||
@@ -0,0 +1,40 @@
|
@@ -0,0 +1,40 @@
|
||||||
@@ -1941,27 +1961,27 @@ index 0000000000000000000000000000000000000000..1b29210ad0bbb4ada150f23357f0c80d
|
|||||||
+import org.apache.logging.log4j.Logger;
|
+import org.apache.logging.log4j.Logger;
|
||||||
+
|
+
|
||||||
+public class SentryManager {
|
+public class SentryManager {
|
||||||
+
|
+
|
||||||
+ private static final Logger logger = LogManager.getLogger(SentryManager.class);
|
+ private static final Logger logger = LogManager.getLogger(SentryManager.class);
|
||||||
+
|
+
|
||||||
+ private SentryManager() {
|
+ private SentryManager() {
|
||||||
+
|
+
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private static boolean initialized = false;
|
+ private static boolean initialized = false;
|
||||||
+
|
+
|
||||||
+ public static synchronized void init() {
|
+ public static synchronized void init() {
|
||||||
+ if (initialized) {
|
+ if (initialized) {
|
||||||
+ return;
|
+ return;
|
||||||
+ }
|
+ }
|
||||||
+ try {
|
+ try {
|
||||||
+ initialized = true;
|
+ initialized = true;
|
||||||
+
|
+
|
||||||
+ Sentry.init(options -> {
|
+ Sentry.init(options -> {
|
||||||
+ options.setDsn(PufferfishConfig.sentryDsn);
|
+ options.setDsn(PufferfishConfig.sentryDsn);
|
||||||
+ options.setMaxBreadcrumbs(100);
|
+ options.setMaxBreadcrumbs(100);
|
||||||
+ });
|
+ });
|
||||||
+
|
+
|
||||||
+ PufferfishSentryAppender appender = new PufferfishSentryAppender();
|
+ PufferfishSentryAppender appender = new PufferfishSentryAppender();
|
||||||
+ appender.start();
|
+ appender.start();
|
||||||
+ ((org.apache.logging.log4j.core.Logger) LogManager.getRootLogger()).addAppender(appender);
|
+ ((org.apache.logging.log4j.core.Logger) LogManager.getRootLogger()).addAppender(appender);
|
||||||
@@ -1971,11 +1991,11 @@ index 0000000000000000000000000000000000000000..1b29210ad0bbb4ada150f23357f0c80d
|
|||||||
+ initialized = false;
|
+ initialized = false;
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java b/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java
|
diff --git a/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java b/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..9d6dc2c80945bec9bea74714c657c7a2e0bdde9e
|
index 0000000000000000000000000000000000000000..0772fbc77a198b3571b4ed1e8cc85e90ccd6e38a
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java
|
+++ b/src/main/java/gg/pufferfish/pufferfish/util/AsyncExecutor.java
|
||||||
@@ -0,0 +1,51 @@
|
@@ -0,0 +1,51 @@
|
||||||
@@ -1989,29 +2009,29 @@ index 0000000000000000000000000000000000000000..9d6dc2c80945bec9bea74714c657c7a2
|
|||||||
+import java.util.logging.Level;
|
+import java.util.logging.Level;
|
||||||
+
|
+
|
||||||
+public class AsyncExecutor implements Runnable {
|
+public class AsyncExecutor implements Runnable {
|
||||||
+
|
+
|
||||||
+ private Queue<Runnable> jobs = Queues.newConcurrentLinkedQueue();
|
+ private Queue<Runnable> jobs = Queues.newConcurrentLinkedQueue();
|
||||||
+ private final Thread thread;
|
+ private final Thread thread;
|
||||||
+ private final BooleanSupplier shouldRun;
|
+ private final BooleanSupplier shouldRun;
|
||||||
+ private volatile boolean killswitch = false;
|
+ private volatile boolean killswitch = false;
|
||||||
+
|
+
|
||||||
+ public AsyncExecutor(String threadName, BooleanSupplier shouldRun) {
|
+ public AsyncExecutor(String threadName, BooleanSupplier shouldRun) {
|
||||||
+ this.thread = new Thread(this, threadName);
|
+ this.thread = new Thread(this, threadName);
|
||||||
+ this.shouldRun = shouldRun;
|
+ this.shouldRun = shouldRun;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public void start() {
|
+ public void start() {
|
||||||
+ thread.start();
|
+ thread.start();
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public void kill() {
|
+ public void kill() {
|
||||||
+ killswitch = true;
|
+ killswitch = true;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public void submit(Runnable runnable) {
|
+ public void submit(Runnable runnable) {
|
||||||
+ jobs.offer(runnable);
|
+ jobs.offer(runnable);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public void run() {
|
+ public void run() {
|
||||||
+ while (!killswitch) {
|
+ while (!killswitch) {
|
||||||
@@ -2028,11 +2048,11 @@ index 0000000000000000000000000000000000000000..9d6dc2c80945bec9bea74714c657c7a2
|
|||||||
+ LockSupport.parkNanos("executing tasks", 1000L);
|
+ LockSupport.parkNanos("executing tasks", 1000L);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/gg/pufferfish/pufferfish/util/AsyncPlayerAreaMap.java b/src/main/java/gg/pufferfish/pufferfish/util/AsyncPlayerAreaMap.java
|
diff --git a/src/main/java/gg/pufferfish/pufferfish/util/AsyncPlayerAreaMap.java b/src/main/java/gg/pufferfish/pufferfish/util/AsyncPlayerAreaMap.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..fdcb62d12164024a5f354d60cc863821a18d1b2a
|
index 0000000000000000000000000000000000000000..a93ee99c2399def1e221260547a3e6bce2d621fa
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/gg/pufferfish/pufferfish/util/AsyncPlayerAreaMap.java
|
+++ b/src/main/java/gg/pufferfish/pufferfish/util/AsyncPlayerAreaMap.java
|
||||||
@@ -0,0 +1,31 @@
|
@@ -0,0 +1,31 @@
|
||||||
@@ -2044,22 +2064,22 @@ index 0000000000000000000000000000000000000000..fdcb62d12164024a5f354d60cc863821
|
|||||||
+import net.minecraft.server.level.ServerPlayer;
|
+import net.minecraft.server.level.ServerPlayer;
|
||||||
+
|
+
|
||||||
+public final class AsyncPlayerAreaMap extends PlayerAreaMap {
|
+public final class AsyncPlayerAreaMap extends PlayerAreaMap {
|
||||||
+
|
+
|
||||||
+ public AsyncPlayerAreaMap() {
|
+ public AsyncPlayerAreaMap() {
|
||||||
+ super();
|
+ super();
|
||||||
+ this.areaMap = new Long2ObjectOpenHashMapWrapper<>(new ConcurrentHashMap<>(1024, 0.7f));
|
+ this.areaMap = new Long2ObjectOpenHashMapWrapper<>(new ConcurrentHashMap<>(1024, 0.7f));
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public AsyncPlayerAreaMap(final PooledLinkedHashSets<ServerPlayer> pooledHashSets) {
|
+ public AsyncPlayerAreaMap(final PooledLinkedHashSets<ServerPlayer> pooledHashSets) {
|
||||||
+ super(pooledHashSets);
|
+ super(pooledHashSets);
|
||||||
+ this.areaMap = new Long2ObjectOpenHashMapWrapper<>(new ConcurrentHashMap<>(1024, 0.7f));
|
+ this.areaMap = new Long2ObjectOpenHashMapWrapper<>(new ConcurrentHashMap<>(1024, 0.7f));
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public AsyncPlayerAreaMap(final PooledLinkedHashSets<ServerPlayer> pooledHashSets, final ChangeCallback<ServerPlayer> addCallback,
|
+ public AsyncPlayerAreaMap(final PooledLinkedHashSets<ServerPlayer> pooledHashSets, final ChangeCallback<ServerPlayer> addCallback,
|
||||||
+ final ChangeCallback<ServerPlayer> removeCallback) {
|
+ final ChangeCallback<ServerPlayer> removeCallback) {
|
||||||
+ this(pooledHashSets, addCallback, removeCallback, null);
|
+ this(pooledHashSets, addCallback, removeCallback, null);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public AsyncPlayerAreaMap(final PooledLinkedHashSets<ServerPlayer> pooledHashSets, final ChangeCallback<ServerPlayer> addCallback,
|
+ public AsyncPlayerAreaMap(final PooledLinkedHashSets<ServerPlayer> pooledHashSets, final ChangeCallback<ServerPlayer> addCallback,
|
||||||
+ final ChangeCallback<ServerPlayer> removeCallback, final ChangeSourceCallback<ServerPlayer> changeSourceCallback) {
|
+ final ChangeCallback<ServerPlayer> removeCallback, final ChangeSourceCallback<ServerPlayer> changeSourceCallback) {
|
||||||
+ super(pooledHashSets, addCallback, removeCallback, changeSourceCallback);
|
+ super(pooledHashSets, addCallback, removeCallback, changeSourceCallback);
|
||||||
@@ -2095,7 +2115,7 @@ index 0000000000000000000000000000000000000000..c1929840254a3e6d721816f4a20415be
|
|||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/gg/pufferfish/pufferfish/util/Long2ObjectOpenHashMapWrapper.java b/src/main/java/gg/pufferfish/pufferfish/util/Long2ObjectOpenHashMapWrapper.java
|
diff --git a/src/main/java/gg/pufferfish/pufferfish/util/Long2ObjectOpenHashMapWrapper.java b/src/main/java/gg/pufferfish/pufferfish/util/Long2ObjectOpenHashMapWrapper.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..facd55463d44cb7e3d2ca6892982f5497b8dded1
|
index 0000000000000000000000000000000000000000..42cdc43d6b739973a0944f502089757247ee6c61
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/gg/pufferfish/pufferfish/util/Long2ObjectOpenHashMapWrapper.java
|
+++ b/src/main/java/gg/pufferfish/pufferfish/util/Long2ObjectOpenHashMapWrapper.java
|
||||||
@@ -0,0 +1,40 @@
|
@@ -0,0 +1,40 @@
|
||||||
@@ -2106,34 +2126,34 @@ index 0000000000000000000000000000000000000000..facd55463d44cb7e3d2ca6892982f549
|
|||||||
+import org.jetbrains.annotations.Nullable;
|
+import org.jetbrains.annotations.Nullable;
|
||||||
+
|
+
|
||||||
+public class Long2ObjectOpenHashMapWrapper<V> extends Long2ObjectOpenHashMap<V> {
|
+public class Long2ObjectOpenHashMapWrapper<V> extends Long2ObjectOpenHashMap<V> {
|
||||||
+
|
+
|
||||||
+ private final Map<Long, V> backingMap;
|
+ private final Map<Long, V> backingMap;
|
||||||
+
|
+
|
||||||
+ public Long2ObjectOpenHashMapWrapper(Map<Long, V> map) {
|
+ public Long2ObjectOpenHashMapWrapper(Map<Long, V> map) {
|
||||||
+ backingMap = map;
|
+ backingMap = map;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public V put(Long key, V value) {
|
+ public V put(Long key, V value) {
|
||||||
+ return backingMap.put(key, value);
|
+ return backingMap.put(key, value);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public V get(Object key) {
|
+ public V get(Object key) {
|
||||||
+ return backingMap.get(key);
|
+ return backingMap.get(key);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public V remove(Object key) {
|
+ public V remove(Object key) {
|
||||||
+ return backingMap.remove(key);
|
+ return backingMap.remove(key);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Nullable
|
+ @Nullable
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public V putIfAbsent(Long key, V value) {
|
+ public V putIfAbsent(Long key, V value) {
|
||||||
+ return backingMap.putIfAbsent(key, value);
|
+ return backingMap.putIfAbsent(key, value);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public int size() {
|
+ public int size() {
|
||||||
+ return backingMap.size();
|
+ return backingMap.size();
|
||||||
@@ -2153,19 +2173,19 @@ index 6aec679e75aa6655b47a552db011924ea3a6c922..e8e49e1bdf1ff4ea60a4feb6ec52d999
|
|||||||
|
|
||||||
public static long getCoordinateKey(final ChunkPos pair) {
|
public static long getCoordinateKey(final ChunkPos pair) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index c8d56947305c981a3268ce4ae3e975db350ceff2..371b0f95b23d67c9913875a3dd7888e722551f18 100644
|
index da15a224b8b974e78b9d8d5f514229b3b2a5a63e..22ad31a4320906ee6b56180324a48258c6e461f2 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -308,6 +308,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -310,6 +310,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
|
|
||||||
public volatile Thread shutdownThread; // Paper
|
|
||||||
public volatile boolean abnormalExit = false; // Paper
|
public volatile boolean abnormalExit = false; // Paper
|
||||||
+
|
public boolean isIteratingOverLevels = false; // Paper
|
||||||
+ public gg.pufferfish.pufferfish.util.AsyncExecutor mobSpawnExecutor = new gg.pufferfish.pufferfish.util.AsyncExecutor("MobSpawning", () -> true); // Pufferfish - optimize mob spawning
|
|
||||||
|
|
||||||
|
+ public gg.pufferfish.pufferfish.util.AsyncExecutor mobSpawnExecutor = new gg.pufferfish.pufferfish.util.AsyncExecutor("MobSpawning", () -> true); // Pufferfish - optimize mob spawning
|
||||||
|
+
|
||||||
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
|
public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) {
|
||||||
AtomicReference<S> atomicreference = new AtomicReference();
|
AtomicReference<S> atomicreference = new AtomicReference();
|
||||||
@@ -1693,7 +1695,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
Thread thread = new Thread(() -> {
|
||||||
|
@@ -1696,7 +1698,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
|
|
||||||
@DontObfuscate
|
@DontObfuscate
|
||||||
public String getServerModName() {
|
public String getServerModName() {
|
||||||
@@ -2174,7 +2194,7 @@ index c8d56947305c981a3268ce4ae3e975db350ceff2..371b0f95b23d67c9913875a3dd7888e7
|
|||||||
}
|
}
|
||||||
|
|
||||||
public SystemReport fillSystemReport(SystemReport details) {
|
public SystemReport fillSystemReport(SystemReport details) {
|
||||||
@@ -2252,6 +2254,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -2255,6 +2257,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProfilerFiller getProfiler() {
|
public ProfilerFiller getProfiler() {
|
||||||
@@ -2256,19 +2276,19 @@ index 6ce27675103d4b691216c6b701b6ceb821af528f..0ab662448c24ba1d3c697f8096f03c88
|
|||||||
return this.scaledRange(i);
|
return this.scaledRange(i);
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||||
index fb0757d4bb32123641535a88a22bc074b8d2623f..b42e32bd1a6a669f498b577ec04661c4ba651198 100644
|
index fb0757d4bb32123641535a88a22bc074b8d2623f..3241f4f73395e8e5c0d15d85b2b77711a5984677 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||||
@@ -74,6 +74,9 @@ public class ServerChunkCache extends ChunkSource {
|
@@ -75,6 +75,9 @@ public class ServerChunkCache extends ChunkSource {
|
||||||
final it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap<LevelChunk> loadedChunkMap = new it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap<>(8192, 0.5f);
|
|
||||||
|
|
||||||
private final LevelChunk[] lastLoadedChunks = new LevelChunk[4 * 4];
|
private final LevelChunk[] lastLoadedChunks = new LevelChunk[4 * 4];
|
||||||
+
|
|
||||||
+ public boolean firstRunSpawnCounts = true; // Pufferfish
|
+ public boolean firstRunSpawnCounts = true; // Pufferfish
|
||||||
+ public final java.util.concurrent.atomic.AtomicBoolean _pufferfish_spawnCountsReady = new java.util.concurrent.atomic.AtomicBoolean(false); // Pufferfish - optimize countmobs
|
+ public final java.util.concurrent.atomic.AtomicBoolean _pufferfish_spawnCountsReady = new java.util.concurrent.atomic.AtomicBoolean(false); // Pufferfish - optimize countmobs
|
||||||
|
+
|
||||||
private static int getChunkCacheKey(int x, int z) {
|
private static int getChunkCacheKey(int x, int z) {
|
||||||
return x & 3 | ((z & 3) << 2);
|
return x & 3 | ((z & 3) << 2);
|
||||||
|
}
|
||||||
@@ -961,6 +964,7 @@ public class ServerChunkCache extends ChunkSource {
|
@@ -961,6 +964,7 @@ public class ServerChunkCache extends ChunkSource {
|
||||||
ProfilerFiller gameprofilerfiller = this.level.getProfiler();
|
ProfilerFiller gameprofilerfiller = this.level.getProfiler();
|
||||||
|
|
||||||
@@ -2324,7 +2344,7 @@ index fb0757d4bb32123641535a88a22bc074b8d2623f..b42e32bd1a6a669f498b577ec04661c4
|
|||||||
}
|
}
|
||||||
// Paper end - controlled flush for entity tracker packets
|
// Paper end - controlled flush for entity tracker packets
|
||||||
}
|
}
|
||||||
+
|
+
|
||||||
+ // Pufferfish start - optimize mob spawning
|
+ // Pufferfish start - optimize mob spawning
|
||||||
+ if (gg.pufferfish.pufferfish.PufferfishConfig.enableAsyncMobSpawning) {
|
+ if (gg.pufferfish.pufferfish.PufferfishConfig.enableAsyncMobSpawning) {
|
||||||
+ for (ServerPlayer player : this.level.players) {
|
+ for (ServerPlayer player : this.level.players) {
|
||||||
@@ -2429,7 +2449,7 @@ index 98209532ad3e692d7e459640123f78bbd9a65889..93c1f9e3e9d62cc993fedb93fe43cbee
|
|||||||
this.getRandomBlockPosition(j, 0, k, 15, blockposition);
|
this.getRandomBlockPosition(j, 0, k, 15, blockposition);
|
||||||
int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1;
|
int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1;
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index 901fa17d0f0a3f66923f68f13f183bc4c17f7748..676f2cd4b152984aa76903fcf4377c745775bfc8 100644
|
index 0b7923f67d27549f41c0d398d1b99737f0c8a746..f98c6804ef8ec33551857606800295712f2e9057 100644
|
||||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -1117,6 +1117,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
@@ -1117,6 +1117,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||||
@@ -2553,7 +2573,7 @@ index 7437f01ca8f416e2c9150250e324af4725a4efb6..7ac51dbfce18a2bc52faa7a915abeccc
|
|||||||
int LARGE_MAX_STACK_SIZE = 64;
|
int LARGE_MAX_STACK_SIZE = 64;
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index dfd1f37757af1bd808cc2e2d8bf97123adf638bb..971e743cc99400681439de89252a29ee9de46188 100644
|
index dfd1f37757af1bd808cc2e2d8bf97123adf638bb..b47165433d43592742e508f9b918ab36b42c6df6 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -230,7 +230,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -230,7 +230,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
@@ -2573,7 +2593,7 @@ index dfd1f37757af1bd808cc2e2d8bf97123adf638bb..971e743cc99400681439de89252a29ee
|
|||||||
+ public int activatedPriority = gg.pufferfish.pufferfish.PufferfishConfig.maximumActivationPrio; // golf score
|
+ public int activatedPriority = gg.pufferfish.pufferfish.PufferfishConfig.maximumActivationPrio; // golf score
|
||||||
+ public final BlockPos.MutableBlockPos cachedBlockPos = new BlockPos.MutableBlockPos(); // used where needed
|
+ public final BlockPos.MutableBlockPos cachedBlockPos = new BlockPos.MutableBlockPos(); // used where needed
|
||||||
+ // Pufferfish end
|
+ // Pufferfish end
|
||||||
+
|
+
|
||||||
public float getBukkitYaw() {
|
public float getBukkitYaw() {
|
||||||
return this.yRot;
|
return this.yRot;
|
||||||
}
|
}
|
||||||
@@ -2625,7 +2645,20 @@ index dfd1f37757af1bd808cc2e2d8bf97123adf638bb..971e743cc99400681439de89252a29ee
|
|||||||
|
|
||||||
return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this));
|
return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this));
|
||||||
}
|
}
|
||||||
@@ -3887,16 +3914,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -724,6 +751,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
|
// CraftBukkit end
|
||||||
|
|
||||||
|
public void baseTick() {
|
||||||
|
+ // Pufferfish start - entity TTL
|
||||||
|
+ if (type != EntityType.PLAYER && type.ttl >= 0 && this.tickCount >= type.ttl) {
|
||||||
|
+ remove(RemovalReason.DISCARDED);
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ // Pufferfish end - entity TTL
|
||||||
|
this.level.getProfiler().push("entityBaseTick");
|
||||||
|
if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking
|
||||||
|
this.feetBlockState = null;
|
||||||
|
@@ -3887,16 +3920,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
|
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
|
||||||
@@ -2651,7 +2684,7 @@ index dfd1f37757af1bd808cc2e2d8bf97123adf638bb..971e743cc99400681439de89252a29ee
|
|||||||
double d1 = 0.0D;
|
double d1 = 0.0D;
|
||||||
boolean flag = this.isPushedByFluid();
|
boolean flag = this.isPushedByFluid();
|
||||||
boolean flag1 = false;
|
boolean flag1 = false;
|
||||||
@@ -3904,14 +3933,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -3904,14 +3939,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
int k1 = 0;
|
int k1 = 0;
|
||||||
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
|
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
|
||||||
|
|
||||||
@@ -2719,7 +2752,7 @@ index dfd1f37757af1bd808cc2e2d8bf97123adf638bb..971e743cc99400681439de89252a29ee
|
|||||||
|
|
||||||
if (d2 >= axisalignedbb.minY) {
|
if (d2 >= axisalignedbb.minY) {
|
||||||
flag1 = true;
|
flag1 = true;
|
||||||
@@ -3933,9 +4009,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -3933,9 +4015,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2733,19 +2766,20 @@ index dfd1f37757af1bd808cc2e2d8bf97123adf638bb..971e743cc99400681439de89252a29ee
|
|||||||
if (vec3d.length() > 0.0D) {
|
if (vec3d.length() > 0.0D) {
|
||||||
if (k1 > 0) {
|
if (k1 > 0) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
index 79abd84696ef099f6b12ddeaa6e398f18c53316a..29169f9819ebbe0b90d87ed1e5833a3a57e39f06 100644
|
index 79abd84696ef099f6b12ddeaa6e398f18c53316a..5ec5e8a30c75b36412bacb0b60b560dfab7eeb22 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
@@ -296,6 +296,7 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
@@ -296,6 +296,8 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
||||||
return Registry.ENTITY_TYPE.getOptional(ResourceLocation.tryParse(id));
|
return Registry.ENTITY_TYPE.getOptional(ResourceLocation.tryParse(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
+ public boolean dabEnabled = false; // Pufferfish
|
+ public boolean dabEnabled = false; // Pufferfish
|
||||||
|
+ public int ttl = -1; // Pufferfish
|
||||||
// Paper start - add id
|
// Paper start - add id
|
||||||
public final String id;
|
public final String id;
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index bd5825c5b5c81e0694a3635b981588f0d2ba83cb..2fe2307a10cb2e4e2b055cbe615b3750bf8fd310 100644
|
index d6ef140bcc35b10f78f2ec2f10c8a153395fc9df..33fbb85228f1570e40f2a825489362626bea3912 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -141,7 +141,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
@@ -141,7 +141,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||||
@@ -4123,7 +4157,7 @@ index b1992ed5136cc7dcf04219868b94b3c37ae36b4b..5b5339cba819368f4d6b7eaf404fa59b
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index ab843069ac0653d03cf3f925f49555016cad84fa..ce1ca033b351785fb67304b8933990d7f2f22d29 100644
|
index 8a248e34fce1e04de4460f98b7627df495c66af1..04a1c7b37e44de50a1a201df3d61255b3bcd9b3e 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -249,7 +249,7 @@ import javax.annotation.Nullable; // Paper
|
@@ -249,7 +249,7 @@ import javax.annotation.Nullable; // Paper
|
||||||
|
|||||||
@@ -167,10 +167,10 @@ index 1a859fef0848cf23a672012e9764965ae1c07ec5..14ed740609b14242c2a8d377a78b2f71
|
|||||||
stringbuilder.append(CrashReport.getErrorComment());
|
stringbuilder.append(CrashReport.getErrorComment());
|
||||||
stringbuilder.append("\n\n");
|
stringbuilder.append("\n\n");
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 371b0f95b23d67c9913875a3dd7888e722551f18..a6f29c00d6716b501d0f52db8670d81e1304b7c0 100644
|
index 22ad31a4320906ee6b56180324a48258c6e461f2..3cd0a4f4fc1ac3bc935368db0340e14b495942a0 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -956,7 +956,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -957,7 +957,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
shutdownThread = Thread.currentThread();
|
shutdownThread = Thread.currentThread();
|
||||||
org.spigotmc.WatchdogThread.doStop(); // Paper
|
org.spigotmc.WatchdogThread.doStop(); // Paper
|
||||||
if (!isSameThread()) {
|
if (!isSameThread()) {
|
||||||
@@ -179,7 +179,7 @@ index 371b0f95b23d67c9913875a3dd7888e722551f18..a6f29c00d6716b501d0f52db8670d81e
|
|||||||
while (this.getRunningThread().isAlive()) {
|
while (this.getRunningThread().isAlive()) {
|
||||||
this.getRunningThread().stop();
|
this.getRunningThread().stop();
|
||||||
try {
|
try {
|
||||||
@@ -1695,7 +1695,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1698,7 +1698,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
|
|
||||||
@DontObfuscate
|
@DontObfuscate
|
||||||
public String getServerModName() {
|
public String getServerModName() {
|
||||||
@@ -221,7 +221,7 @@ index 303b70f0433ff49a3bee2a0d92c41f01aec38bee..5e9fc979daced5dad9977ab12ea019f4
|
|||||||
|
|
||||||
private static final int DEFAULT_SIZE_THRESHOLD = 1024 * 8;
|
private static final int DEFAULT_SIZE_THRESHOLD = 1024 * 8;
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index ce1ca033b351785fb67304b8933990d7f2f22d29..3dc9927eb159373fa2b66aecf9280e13b7542449 100644
|
index 04a1c7b37e44de50a1a201df3d61255b3bcd9b3e..3785c6372667ee238795d2e126edaa0ddb638a36 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -249,7 +249,7 @@ import javax.annotation.Nullable; // Paper
|
@@ -249,7 +249,7 @@ import javax.annotation.Nullable; // Paper
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ index b830c2199a22252116619520f407fd84eddb28f3..ba4a6579be392f26f2d89ec910918c4c
|
|||||||
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
|
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index 3dc9927eb159373fa2b66aecf9280e13b7542449..5635a18abc2e179cc9b011ec36462d152c2b2c6c 100644
|
index 3785c6372667ee238795d2e126edaa0ddb638a36..c5b20bf5085000319c0c5473f0630610409e4ede 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -956,6 +956,7 @@ public final class CraftServer implements Server {
|
@@ -956,6 +956,7 @@ public final class CraftServer implements Server {
|
||||||
@@ -132,7 +132,7 @@ index 3dc9927eb159373fa2b66aecf9280e13b7542449..5635a18abc2e179cc9b011ec36462d15
|
|||||||
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
||||||
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
||||||
|
|
||||||
@@ -2712,6 +2715,18 @@ public final class CraftServer implements Server {
|
@@ -2719,6 +2722,18 @@ public final class CraftServer implements Server {
|
||||||
return com.destroystokyo.paper.PaperConfig.config;
|
return com.destroystokyo.paper.PaperConfig.config;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -123,10 +123,10 @@ index a828cad27fcd39f8bfbaefa97052a2a3b6650ee7..67e559d63c543ff716d610cb04ff9426
|
|||||||
return this.isFireSource;
|
return this.isFireSource;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 971e743cc99400681439de89252a29ee9de46188..dc332cf2d035530c600b1213efe7f0f87b7b5808 100644
|
index b47165433d43592742e508f9b918ab36b42c6df6..e7bbd01ad8d070979fb2066db1b06068ef10b56d 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -3677,6 +3677,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -3683,6 +3683,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
return SlotAccess.NULL;
|
return SlotAccess.NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,10 +22,10 @@ index 2808acafaa0e3b448e75c40c04ba932ef9723da9..fda35ae6da0b4afbff90a9356ef63dd3
|
|||||||
super(x, y, z);
|
super(x, y, z);
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index a6f29c00d6716b501d0f52db8670d81e1304b7c0..1b3784eaac409c86806b6deeffcb08484e5f96d9 100644
|
index 3cd0a4f4fc1ac3bc935368db0340e14b495942a0..4a4e138b232dfa23bdab81fd93e3d580e6067f62 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1573,6 +1573,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1575,6 +1575,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
ServerLevel worldserver = (ServerLevel) iterator.next();
|
ServerLevel worldserver = (ServerLevel) iterator.next();
|
||||||
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
|
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
|
||||||
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
|
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
|
||||||
@@ -66,7 +66,7 @@ index 23ef3a12dcd184edeaad3f939d2a9cbffa7fd35e..923a0afad1b2b14941c94332b373a704
|
|||||||
|
|
||||||
public void doTick() {
|
public void doTick() {
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index ee4b826cb5c680939b19c6ae2b5ae778a7cc4a55..fe1bcca1af2bcb9e19a01ddd5cd5a8bb3789f7aa 100644
|
index c95b2547fc32ff36c7a9915aea645be3ebb0f9e4..57ea6f010b38ef3f9f7f349b56e1c948b5f835a3 100644
|
||||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -2476,6 +2476,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
@@ -2476,6 +2476,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||||
@@ -79,7 +79,7 @@ index ee4b826cb5c680939b19c6ae2b5ae778a7cc4a55..fe1bcca1af2bcb9e19a01ddd5cd5a8bb
|
|||||||
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
|
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
|
||||||
ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((LivingEntity) entity));
|
ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((LivingEntity) entity));
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index dc332cf2d035530c600b1213efe7f0f87b7b5808..8c950832f4f0d8ae1d04a194da8f6950be63a87d 100644
|
index e7bbd01ad8d070979fb2066db1b06068ef10b56d..8dda017467fb9a41fb1ca6a3bdd4cc31e23dd848 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -300,7 +300,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -300,7 +300,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
@@ -91,7 +91,7 @@ index dc332cf2d035530c600b1213efe7f0f87b7b5808..8c950832f4f0d8ae1d04a194da8f6950
|
|||||||
private float eyeHeight;
|
private float eyeHeight;
|
||||||
public boolean isInPowderSnow;
|
public boolean isInPowderSnow;
|
||||||
public boolean wasInPowderSnow;
|
public boolean wasInPowderSnow;
|
||||||
@@ -2667,6 +2667,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -2673,6 +2673,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
this.passengers = ImmutableList.copyOf(list);
|
this.passengers = ImmutableList.copyOf(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,7 +104,7 @@ index dc332cf2d035530c600b1213efe7f0f87b7b5808..8c950832f4f0d8ae1d04a194da8f6950
|
|||||||
}
|
}
|
||||||
return true; // CraftBukkit
|
return true; // CraftBukkit
|
||||||
}
|
}
|
||||||
@@ -2707,6 +2713,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -2713,6 +2719,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// Spigot end
|
// Spigot end
|
||||||
@@ -119,7 +119,7 @@ index dc332cf2d035530c600b1213efe7f0f87b7b5808..8c950832f4f0d8ae1d04a194da8f6950
|
|||||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||||
this.passengers = ImmutableList.of();
|
this.passengers = ImmutableList.of();
|
||||||
} else {
|
} else {
|
||||||
@@ -4435,4 +4449,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -4441,4 +4455,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -194,7 +194,7 @@ index e82a9d41a0710c0bd8a3fa2f8ee1704f7e1e56df..2ce9b08535cf3783e6823de348943300
|
|||||||
protected ParticleOptions getInkParticle() {
|
protected ParticleOptions getInkParticle() {
|
||||||
return ParticleTypes.GLOW_SQUID_INK;
|
return ParticleTypes.GLOW_SQUID_INK;
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 2fe2307a10cb2e4e2b055cbe615b3750bf8fd310..a8e87b39094756edd111ed321ed6a272e997bc91 100644
|
index 33fbb85228f1570e40f2a825489362626bea3912..fa4abf237820665ce25cebc6ecaeef2940bf33c7 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -219,9 +219,9 @@ public abstract class LivingEntity extends Entity {
|
@@ -219,9 +219,9 @@ public abstract class LivingEntity extends Entity {
|
||||||
@@ -3118,10 +3118,10 @@ index f9193f8cd3b0d0e689a523c7142a897c342c2931..1476372a78092b103c037028f08cb1ea
|
|||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
index 030ddefe45563bdd0a7091ae60d365f9aa58b6fc..1aa7877879f4ec884067103abcba81a70ef82a49 100644
|
index 0a318583a5fc5ecb50f858d93d357baf1edf5a93..3ea303558940ceb925babdd2ce019f730ad12aed 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
@@ -67,6 +67,23 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
@@ -68,6 +68,23 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||||
this.groundNavigation = new GroundPathNavigation(this, world);
|
this.groundNavigation = new GroundPathNavigation(this, world);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3145,34 +3145,35 @@ index 030ddefe45563bdd0a7091ae60d365f9aa58b6fc..1aa7877879f4ec884067103abcba81a7
|
|||||||
@Override
|
@Override
|
||||||
protected void addBehaviourGoals() {
|
protected void addBehaviourGoals() {
|
||||||
this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0D));
|
this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0D));
|
||||||
@@ -380,7 +397,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
@@ -254,8 +271,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||||
}
|
this.searchingForLand = targetingUnderwater;
|
||||||
}
|
}
|
||||||
|
|
||||||
- static class DrownedMoveControl extends MoveControl {
|
- private static class DrownedMoveControl extends MoveControl {
|
||||||
+ static class DrownedMoveControl extends org.purpurmc.purpur.controller.MoveControllerWASD { // Purpur
|
-
|
||||||
|
+ private static class DrownedMoveControl extends org.purpurmc.purpur.controller.MoveControllerWASD { // Purpur
|
||||||
private final Drowned drowned;
|
private final Drowned drowned;
|
||||||
|
|
||||||
public DrownedMoveControl(Drowned drowned) {
|
public DrownedMoveControl(Drowned drowned) {
|
||||||
@@ -389,7 +406,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
@@ -264,7 +280,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
- public void tick() {
|
- public void tick() {
|
||||||
+ public void vanillaTick() { // Purpur
|
+ public void vanillaTick() { // Purpur
|
||||||
LivingEntity livingEntity = this.drowned.getTarget();
|
LivingEntity entityliving = this.drowned.getTarget();
|
||||||
|
|
||||||
if (this.drowned.wantsToSwim() && this.drowned.isInWater()) {
|
if (this.drowned.wantsToSwim() && this.drowned.isInWater()) {
|
||||||
if (livingEntity != null && livingEntity.getY() > this.drowned.getY() || this.drowned.searchingForLand) {
|
@@ -287,7 +303,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||||
@@ -409,7 +426,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
|
||||||
float h = (float)(Mth.atan2(f, d) * (double)(180F / (float)Math.PI)) - 90.0F;
|
this.drowned.setYRot(this.rotlerp(this.drowned.getYRot(), f, 90.0F));
|
||||||
this.drowned.setYRot(this.rotlerp(this.drowned.getYRot(), h, 90.0F));
|
|
||||||
this.drowned.yBodyRot = this.drowned.getYRot();
|
this.drowned.yBodyRot = this.drowned.getYRot();
|
||||||
- float i = (float)(this.speedModifier * this.drowned.getAttributeValue(Attributes.MOVEMENT_SPEED));
|
- float f1 = (float) (this.speedModifier * this.drowned.getAttributeValue(Attributes.MOVEMENT_SPEED));
|
||||||
+ float i = (float)(this.getSpeedModifier() * this.drowned.getAttributeValue(Attributes.MOVEMENT_SPEED));
|
+ float f1 = (float) (this.getSpeedModifier() * this.drowned.getAttributeValue(Attributes.MOVEMENT_SPEED)); // Purpur
|
||||||
float j = Mth.lerp(0.125F, this.drowned.getSpeed(), i);
|
float f2 = Mth.lerp(0.125F, this.drowned.getSpeed(), f1);
|
||||||
this.drowned.setSpeed(j);
|
|
||||||
this.drowned.setDeltaMovement(this.drowned.getDeltaMovement().add((double)j * d * 0.005D, (double)j * e * 0.1D, (double)j * f * 0.005D));
|
this.drowned.setSpeed(f2);
|
||||||
@@ -418,7 +435,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
@@ -297,7 +313,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||||
this.drowned.setDeltaMovement(this.drowned.getDeltaMovement().add(0.0D, -0.008D, 0.0D));
|
this.drowned.setDeltaMovement(this.drowned.getDeltaMovement().add(0.0D, -0.008D, 0.0D));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index c7d8db9944876a7e4c9036ef7d65daf7a18b6e86..0acb905e37d3413cb9d073e71cc31d8a5c2cd047 100644
|
index 8dda017467fb9a41fb1ca6a3bdd4cc31e23dd848..19756aac2e13914d0cf3cabed3621d2a4228330b 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -152,7 +152,7 @@ import org.bukkit.plugin.PluginManager;
|
@@ -152,7 +152,7 @@ import org.bukkit.plugin.PluginManager;
|
||||||
@@ -34,7 +34,7 @@ index 2ce9b08535cf3783e6823de3489433003a1aae0d..9734ed30af10832fbbede43848fd8259
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 69d14a128cbd4bcfc36b3a3b6acfbf4168ffbb79..0b671716ed700d735c76798f61abd0f5b509c2fc 100644
|
index fa4abf237820665ce25cebc6ecaeef2940bf33c7..50700ddb0cd2dc62cfa703375ac05a99d0251244 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -286,6 +286,7 @@ public abstract class LivingEntity extends Entity {
|
@@ -286,6 +286,7 @@ public abstract class LivingEntity extends Entity {
|
||||||
@@ -94,7 +94,7 @@ index 793e7c659af32e8bdc07bd7ecfa31fb5d302ad22..9245baa69aefee786c442e3b46a323a9
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||||
index 8ff83309964280e09c36c32d45c7e05e9af5abf1..3700311935a8d269ad52a99adfbaffa1b930b6a8 100644
|
index 2edd9efb8bf71071807ac1ff5b58bc4b555ecc6b..81b63da3bca3e3942ed037fad15ad8f883fc0c82 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||||
@@ -147,6 +147,11 @@ public class Cat extends TamableAnimal {
|
@@ -147,6 +147,11 @@ public class Cat extends TamableAnimal {
|
||||||
@@ -110,7 +110,7 @@ index 8ff83309964280e09c36c32d45c7e05e9af5abf1..3700311935a8d269ad52a99adfbaffa1
|
|||||||
|
|
||||||
public ResourceLocation getResourceLocation() {
|
public ResourceLocation getResourceLocation() {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||||
index 435531a41e53b65280ab24ead0d7e3e499d2a57d..b90272a5da33ded237c4ca1ba3c027d5392e1fca 100644
|
index ddb199c003d07aa0172c09de32e82337baab64bf..43073c639bfbf60a0b396dff6f5f701d26d49342 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||||
@@ -67,6 +67,11 @@ public class Chicken extends Animal {
|
@@ -67,6 +67,11 @@ public class Chicken extends Animal {
|
||||||
@@ -222,7 +222,7 @@ index 9d47d010c3917616732ff10a1b0166f410cf6c25..2846c17ddbb546d49407338f136e171a
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||||
index c63377ef2d843aa6ee6ed86e545e2b6a06575edf..5f0d2606bc9a250c35562671ba85440fab30a5b1 100644
|
index 22e0c5dee4efa2e041671c980851db46eabe9402..a90c3e0c9f0064690bd17e5b132fbcfb360fa6b2 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||||
@@ -83,6 +83,11 @@ public class Ocelot extends Animal {
|
@@ -83,6 +83,11 @@ public class Ocelot extends Animal {
|
||||||
@@ -443,7 +443,7 @@ index bd370b91e482913971816dac5f04f494c3951563..54ad776603158f101c0199395f70dadb
|
|||||||
|
|
||||||
public void setHomePos(BlockPos pos) {
|
public void setHomePos(BlockPos pos) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||||
index 851dfd17602767556e34059d1282de3c6191480e..e9a13c45024ad7683bd6e1afc3cd38825036305c 100644
|
index b4825647058df6803be24ea30028c95179a34fb8..6312284ee33eef280a51392d7e0ba8d2ae3c9d5e 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||||
@@ -122,6 +122,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
@@ -122,6 +122,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||||
@@ -459,7 +459,7 @@ index 851dfd17602767556e34059d1282de3c6191480e..e9a13c45024ad7683bd6e1afc3cd3882
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||||
index 46d57c1a852a99db3ddb0ccd10f6229e223e0a32..7aa48291644d99bf713750478e172832f21290b0 100644
|
index 89b6eedb23bea9239dadb8e5e06549eb7d6c3a26..c194c215ec742dd5a527af98ef7d8a707193921a 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||||
@@ -119,6 +119,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
@@ -119,6 +119,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
||||||
@@ -808,10 +808,10 @@ index 1476372a78092b103c037028f08cb1eae9464706..9921fd8278d14deeae9d61101f6800be
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
index 1aa7877879f4ec884067103abcba81a70ef82a49..208dfda498cafc588f88b0b9fa53da85aaed2298 100644
|
index 3ea303558940ceb925babdd2ce019f730ad12aed..20529a611faef742fcd3c4c2706bbe8009f1defa 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
@@ -82,6 +82,16 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
@@ -83,6 +83,16 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||||
public boolean isControllable() {
|
public boolean isControllable() {
|
||||||
return level.purpurConfig.drownedControllable;
|
return level.purpurConfig.drownedControllable;
|
||||||
}
|
}
|
||||||
@@ -1131,7 +1131,7 @@ index e73644f453bed8523bfad47764018362a416b5ea..e239bcc4d4afe48e9fc204ad38d8bc76
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||||
index 86d8150934769c886ad657877993e1b4d4ab6829..b1894c88682201ed5fca5e98bedab73b4b08a065 100644
|
index a76cc2a88a14db90901869b9bcb24e9e045501c9..d26f6bfb961cced818cfcf700bfd58f6703c7f39 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||||
@@ -104,6 +104,37 @@ public class Slime extends Mob implements Enemy {
|
@@ -104,6 +104,37 @@ public class Slime extends Mob implements Enemy {
|
||||||
@@ -1233,7 +1233,7 @@ index f809b68b0250670c07a2e0ed0f62efa8499b133f..e3f7816bb261c7772d86bd117ce30a53
|
|||||||
|
|
||||||
public static boolean checkStriderSpawnRules(EntityType<Strider> type, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, Random random) {
|
public static boolean checkStriderSpawnRules(EntityType<Strider> type, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, Random random) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||||
index 55bd55fbc6fa5f9e84b847c770679334c617d188..ca645932aff82c260f875dd11f373c1a282ff369 100644
|
index 0f67b219e761712e9befbef4a6012a5e247c9770..ee8a1b2e5ace89a1b2f457608903fbbc80e05973 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||||
@@ -100,6 +100,11 @@ public class Vex extends Monster {
|
@@ -100,6 +100,11 @@ public class Vex extends Monster {
|
||||||
@@ -1249,7 +1249,7 @@ index 55bd55fbc6fa5f9e84b847c770679334c617d188..ca645932aff82c260f875dd11f373c1a
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||||
index ddb0b32821aa6f61370ce8d262ce3d846c7ee9d0..ff62f5ed29a826c4dd53eb6fe04f5aa27de62619 100644
|
index daf76124bfb812141ba7cf66a30599e9a01d4fcc..1a063c934a726c5f6a8ca1071980e18e62ba3fba 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||||
@@ -73,6 +73,11 @@ public class Vindicator extends AbstractIllager {
|
@@ -73,6 +73,11 @@ public class Vindicator extends AbstractIllager {
|
||||||
@@ -1313,7 +1313,7 @@ index a6aaffc41a39be4ae1da44d54a27d324927e47d0..a91ec2e385940b12bc41d9c09819c908
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||||
index 147883d571532e9d5348dc1aaee9dddc09bb81c2..2fbf1d77e4c9f970c003b26572bc4763feb05c40 100644
|
index 8d121dcb646d6d77bde48540b14c5d3770d0b276..0b3d90208b97513d295235249dfa366a2e6b3baf 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||||
@@ -119,6 +119,11 @@ public class Zombie extends Monster {
|
@@ -119,6 +119,11 @@ public class Zombie extends Monster {
|
||||||
@@ -1338,7 +1338,7 @@ index 147883d571532e9d5348dc1aaee9dddc09bb81c2..2fbf1d77e4c9f970c003b26572bc4763
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||||
index c9d2938615a254fe76dc9fb8667b3f7dffdfe9bd..237ff13e88c2cdeda001500f8adc16b37efc2115 100644
|
index fff7aeab25f3a48136f0e5d75cc66a1348091178..1c39e1ccbe8d7d3393d32babf01f045004f60bd3 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||||
@@ -94,6 +94,16 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
@@ -94,6 +94,16 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||||
@@ -1384,7 +1384,7 @@ index c2cd88e8ef4b543635b02e1fdd2ac257f64a05c2..43e8eac09accc1f5f9d4b821ccff1a7a
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||||
index 1d3227a216b7daea6555f1c859c9a571050ff18b..fc08f6ec195abcb1950d6924905740d59689a543 100644
|
index cb1d7f09195473da382aadb82ffe552a95052254..65e6fbd8077777c63908f9faf6e387d28c86e808 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||||
@@ -82,6 +82,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
@@ -82,6 +82,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||||
@@ -1400,7 +1400,7 @@ index 1d3227a216b7daea6555f1c859c9a571050ff18b..fc08f6ec195abcb1950d6924905740d5
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
index f0d0c178467da127667782856d9a2c9851b2171c..0d2cedbe96a013b027b6bfb391a204e2fb201311 100644
|
index d2c7a7e38a3bac24a176f51d7c143ecedd4ce215..ee1aadfa838aaed81760648bb6cf5b42e96d2a94 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
@@ -111,6 +111,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
@@ -111,6 +111,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Timings stuff
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
|
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
|
||||||
index a5e4467382422df6cff2b9f61f44feabfe7084f3..abbfb819e327186ff2c05d8dbdf00ff2c18dc0ab 100644
|
index 088585a1075cd8790e2599eb6a8372adcff050e3..a2c90fb0bb297fb2faaa306dd0c032211a6e1121 100644
|
||||||
--- a/src/main/java/co/aikar/timings/TimingsExport.java
|
--- a/src/main/java/co/aikar/timings/TimingsExport.java
|
||||||
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
|
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
|
||||||
@@ -236,10 +236,14 @@ public class TimingsExport extends Thread {
|
@@ -238,10 +238,14 @@ public class TimingsExport extends Thread {
|
||||||
// Information on the users Config
|
// Information on the users Config
|
||||||
|
|
||||||
parent.put("config", createObject(
|
parent.put("config", createObject(
|
||||||
@@ -26,7 +26,7 @@ index a5e4467382422df6cff2b9f61f44feabfe7084f3..abbfb819e327186ff2c05d8dbdf00ff2
|
|||||||
));
|
));
|
||||||
|
|
||||||
new TimingsExport(listeners, parent, history).start();
|
new TimingsExport(listeners, parent, history).start();
|
||||||
@@ -280,6 +284,19 @@ public class TimingsExport extends Thread {
|
@@ -282,6 +286,19 @@ public class TimingsExport extends Thread {
|
||||||
return timingsCost;
|
return timingsCost;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ index a5e4467382422df6cff2b9f61f44feabfe7084f3..abbfb819e327186ff2c05d8dbdf00ff2
|
|||||||
|
|
||||||
JSONObject object = new JSONObject();
|
JSONObject object = new JSONObject();
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||||
index 846055cd71396971323ce368af0715178ea87e5b..949a0eab68e273aa45c96ce7dded0e980ad25627 100644
|
index 7a7d0566611aafafba30b7b25c2f1f3e78b054fa..820f87f8ab226c68d7ad7e125178f323e0327594 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||||
@@ -252,6 +252,12 @@ public class PaperConfig {
|
@@ -252,6 +252,12 @@ public class PaperConfig {
|
||||||
|
|||||||
@@ -17,10 +17,10 @@ index ebfaa8d5de5b905bd2dd7778728b8c9939d01252..8153f1aa510474d2f831799a1c149558
|
|||||||
public final boolean spawnNpcs = this.get("spawn-npcs", true);
|
public final boolean spawnNpcs = this.get("spawn-npcs", true);
|
||||||
public final boolean pvp = this.get("pvp", true);
|
public final boolean pvp = this.get("pvp", true);
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index 5635a18abc2e179cc9b011ec36462d152c2b2c6c..65953aa80c0263e30d05528204c1ee8839bb9659 100644
|
index c5b20bf5085000319c0c5473f0630610409e4ede..762819172adc7aa012cb7180cab39259ac010896 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -2899,4 +2899,11 @@ public final class CraftServer implements Server {
|
@@ -2906,4 +2906,11 @@ public final class CraftServer implements Server {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 1b3784eaac409c86806b6deeffcb08484e5f96d9..8e7f73cfdc4dd86babe6a17fe06c80a011f20d90 100644
|
index 4a4e138b232dfa23bdab81fd93e3d580e6067f62..f9108dae8a563648d2f0d2c57be079c5108cec92 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1696,7 +1696,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1699,7 +1699,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
|
|
||||||
@DontObfuscate
|
@DontObfuscate
|
||||||
public String getServerModName() {
|
public String getServerModName() {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 8e7f73cfdc4dd86babe6a17fe06c80a011f20d90..f4d9170b11ba4eab8763261bf4fd0288e5ebe1d6 100644
|
index f9108dae8a563648d2f0d2c57be079c5108cec92..3e514e341632c813898a9af295e6233a91243c51 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -305,6 +305,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -305,6 +305,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
@@ -16,7 +16,7 @@ index 8e7f73cfdc4dd86babe6a17fe06c80a011f20d90..f4d9170b11ba4eab8763261bf4fd0288
|
|||||||
|
|
||||||
public volatile Thread shutdownThread; // Paper
|
public volatile Thread shutdownThread; // Paper
|
||||||
public volatile boolean abnormalExit = false; // Paper
|
public volatile boolean abnormalExit = false; // Paper
|
||||||
@@ -1210,6 +1211,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1211,6 +1212,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
this.recentTps[1] = tps5.getAverage();
|
this.recentTps[1] = tps5.getAverage();
|
||||||
this.recentTps[2] = tps15.getAverage();
|
this.recentTps[2] = tps15.getAverage();
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -25,10 +25,10 @@ index 8e7f73cfdc4dd86babe6a17fe06c80a011f20d90..f4d9170b11ba4eab8763261bf4fd0288
|
|||||||
}
|
}
|
||||||
// Spigot end
|
// Spigot end
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index 65953aa80c0263e30d05528204c1ee8839bb9659..186ec54fea65f3fa9dea3fd3542c772f546c8cb7 100644
|
index 762819172adc7aa012cb7180cab39259ac010896..da80afb59432c7bd777816d1fd0516c691abaf31 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -2905,5 +2905,10 @@ public final class CraftServer implements Server {
|
@@ -2912,5 +2912,10 @@ public final class CraftServer implements Server {
|
||||||
public String getServerName() {
|
public String getServerName() {
|
||||||
return this.getProperties().serverName;
|
return this.getProperties().serverName;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] PlayerSetSpawnerTypeWithEggEvent
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
index 29169f9819ebbe0b90d87ed1e5833a3a57e39f06..787e473a937f3efbe355418fd98bbee0bf6aec43 100644
|
index 5ec5e8a30c75b36412bacb0b60b560dfab7eeb22..811ebb8d81ab1f35743e694f925adc26dfdbf44e 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
@@ -288,6 +288,16 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
@@ -288,6 +288,16 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
||||||
@@ -25,7 +25,7 @@ index 29169f9819ebbe0b90d87ed1e5833a3a57e39f06..787e473a937f3efbe355418fd98bbee0
|
|||||||
public static ResourceLocation getKey(EntityType<?> type) {
|
public static ResourceLocation getKey(EntityType<?> type) {
|
||||||
return Registry.ENTITY_TYPE.getKey(type);
|
return Registry.ENTITY_TYPE.getKey(type);
|
||||||
}
|
}
|
||||||
@@ -455,6 +465,16 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
@@ -456,6 +466,16 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
||||||
return this.category;
|
return this.category;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] EMC - MonsterEggSpawnEvent
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
index 787e473a937f3efbe355418fd98bbee0bf6aec43..e26faaf10a9250d1ab3cd5c3ed98702112b6dd29 100644
|
index 811ebb8d81ab1f35743e694f925adc26dfdbf44e..cfa2e9a79a7917537f0f78b13c4a12bbc0826523 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
@@ -338,22 +338,40 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
@@ -339,22 +339,40 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public Entity spawn(ServerLevel world, @Nullable ItemStack stack, @Nullable Player player, BlockPos pos, MobSpawnType spawnReason, boolean alignPosition, boolean invertY) {
|
public Entity spawn(ServerLevel world, @Nullable ItemStack stack, @Nullable Player player, BlockPos pos, MobSpawnType spawnReason, boolean alignPosition, boolean invertY) {
|
||||||
@@ -52,7 +52,7 @@ index 787e473a937f3efbe355418fd98bbee0bf6aec43..e26faaf10a9250d1ab3cd5c3ed987021
|
|||||||
// Paper end
|
// Paper end
|
||||||
// Paper start - Call PreCreatureSpawnEvent
|
// Paper start - Call PreCreatureSpawnEvent
|
||||||
org.bukkit.entity.EntityType type = org.bukkit.entity.EntityType.fromName(EntityType.getKey(this).getPath());
|
org.bukkit.entity.EntityType type = org.bukkit.entity.EntityType.fromName(EntityType.getKey(this).getPath());
|
||||||
@@ -372,6 +390,19 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
@@ -373,6 +391,19 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
||||||
T t0 = this.create(worldserver, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1);
|
T t0 = this.create(worldserver, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1);
|
||||||
if (t0 != null && op != null) op.accept(t0); // Paper
|
if (t0 != null && op != null) op.accept(t0); // Paper
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix the dead lagging the server
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index a32f0d6cc0c411fe7de7f29cf3679e122b3a016e..64d8844ebbe2c81bd41022c66bfc8859c5d22709 100644
|
index 19756aac2e13914d0cf3cabed3621d2a4228330b..f44b29dd23bdc1974300e90501331383f639756d 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -1776,6 +1776,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -1782,6 +1782,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
this.yRotO = this.getYRot();
|
this.yRotO = this.getYRot();
|
||||||
this.xRotO = this.getXRot();
|
this.xRotO = this.getXRot();
|
||||||
this.setYHeadRot(yaw); // Paper - Update head rotation
|
this.setYHeadRot(yaw); // Paper - Update head rotation
|
||||||
@@ -17,7 +17,7 @@ index a32f0d6cc0c411fe7de7f29cf3679e122b3a016e..64d8844ebbe2c81bd41022c66bfc8859
|
|||||||
|
|
||||||
public void absMoveTo(double x, double y, double z) {
|
public void absMoveTo(double x, double y, double z) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 5116710b3d546ad6e9b5e898060675ba46bdcc78..751634a63b5ecee4ba874b84c52bafdeefa1c65b 100644
|
index 5b07633ce5d001ee25766b88e90cc3f1d4508ff0..5fd3b3cf20b31a9baaf5a703aab62bb5161001b4 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -2942,7 +2942,7 @@ public abstract class LivingEntity extends Entity {
|
@@ -2942,7 +2942,7 @@ public abstract class LivingEntity extends Entity {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index f4d9170b11ba4eab8763261bf4fd0288e5ebe1d6..4395d8260c4ca727515d9c907cb79da2d36642b2 100644
|
index 3e514e341632c813898a9af295e6233a91243c51..120f800573246fd67e735cdf2fce435a2497dc7b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1229,7 +1229,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1230,7 +1230,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
this.tickServer(this::haveTime);
|
this.tickServer(this::haveTime);
|
||||||
this.profiler.popPush("nextTickWait");
|
this.profiler.popPush("nextTickWait");
|
||||||
this.mayHaveDelayedTasks = true;
|
this.mayHaveDelayedTasks = true;
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable void damage height and damage
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 64d8844ebbe2c81bd41022c66bfc8859c5d22709..6f174641fc5571b980d2622e4c3af801c6602fe1 100644
|
index f44b29dd23bdc1974300e90501331383f639756d..9d27266cbf53faa6e3b7ebec1a4cc9f7eb84ab0e 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -821,7 +821,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -827,7 +827,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
|
|
||||||
public void checkOutOfWorld() {
|
public void checkOutOfWorld() {
|
||||||
// Paper start - Configurable nether ceiling damage
|
// Paper start - Configurable nether ceiling damage
|
||||||
@@ -18,7 +18,7 @@ index 64d8844ebbe2c81bd41022c66bfc8859c5d22709..6f174641fc5571b980d2622e4c3af801
|
|||||||
&& this.getY() >= this.level.paperConfig.netherVoidTopDamageHeight)) {
|
&& this.getY() >= this.level.paperConfig.netherVoidTopDamageHeight)) {
|
||||||
// Paper end
|
// Paper end
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 751634a63b5ecee4ba874b84c52bafdeefa1c65b..c5988a53727cf82cf9bd4cde0b86e9fe0074cef1 100644
|
index 5fd3b3cf20b31a9baaf5a703aab62bb5161001b4..8b6d9d07eafe44c6dc11c2b9d3ee1f1cb88c3a34 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -2434,7 +2434,7 @@ public abstract class LivingEntity extends Entity {
|
@@ -2434,7 +2434,7 @@ public abstract class LivingEntity extends Entity {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 6f174641fc5571b980d2622e4c3af801c6602fe1..0619f78da6da86c06336927c346ea52c6470bdf7 100644
|
index 9d27266cbf53faa6e3b7ebec1a4cc9f7eb84ab0e..1e9fa0c362d8d2ea6c8da68f266a54dcf35782fb 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -4490,5 +4490,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -4496,5 +4496,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
public boolean processClick(InteractionHand hand) {
|
public boolean processClick(InteractionHand hand) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ index fa56cd09102a89692b42f1d14257990508c5c720..f9251183df72ddc56662fd3f02acf216
|
|||||||
setListData(vector);
|
setListData(vector);
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 4395d8260c4ca727515d9c907cb79da2d36642b2..d011944a64c4e61b7285325a37ab05a540c99b5c 100644
|
index 120f800573246fd67e735cdf2fce435a2497dc7b..d54e88162fbfe03de3f607d7fb10c9ed0bf311c4 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -302,7 +302,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -302,7 +302,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
@@ -39,7 +39,7 @@ index 4395d8260c4ca727515d9c907cb79da2d36642b2..d011944a64c4e61b7285325a37ab05a5
|
|||||||
// Spigot end
|
// Spigot end
|
||||||
public static long currentTickLong = 0L; // Paper
|
public static long currentTickLong = 0L; // Paper
|
||||||
public boolean lagging = false; // Purpur
|
public boolean lagging = false; // Purpur
|
||||||
@@ -1113,6 +1113,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1114,6 +1114,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
|
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
|
||||||
private long lastTick = 0;
|
private long lastTick = 0;
|
||||||
private long catchupTime = 0;
|
private long catchupTime = 0;
|
||||||
@@ -47,7 +47,7 @@ index 4395d8260c4ca727515d9c907cb79da2d36642b2..d011944a64c4e61b7285325a37ab05a5
|
|||||||
public final RollingAverage tps1 = new RollingAverage(60);
|
public final RollingAverage tps1 = new RollingAverage(60);
|
||||||
public final RollingAverage tps5 = new RollingAverage(60 * 5);
|
public final RollingAverage tps5 = new RollingAverage(60 * 5);
|
||||||
public final RollingAverage tps15 = new RollingAverage(60 * 15);
|
public final RollingAverage tps15 = new RollingAverage(60 * 15);
|
||||||
@@ -1203,13 +1204,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1204,13 +1205,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
{
|
{
|
||||||
final long diff = curTime - tickSection;
|
final long diff = curTime - tickSection;
|
||||||
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
|
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
|
||||||
@@ -69,10 +69,10 @@ index 4395d8260c4ca727515d9c907cb79da2d36642b2..d011944a64c4e61b7285325a37ab05a5
|
|||||||
lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur
|
lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur
|
||||||
tickSection = curTime;
|
tickSection = curTime;
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index 186ec54fea65f3fa9dea3fd3542c772f546c8cb7..3baf2b11c567f5ca235b638e54759494ffc86673 100644
|
index da80afb59432c7bd777816d1fd0516c691abaf31..aec3440b25ca53f04361b7c256d63ff2beb5ba74 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -2669,6 +2669,7 @@ public final class CraftServer implements Server {
|
@@ -2676,6 +2676,7 @@ public final class CraftServer implements Server {
|
||||||
@Override
|
@Override
|
||||||
public double[] getTPS() {
|
public double[] getTPS() {
|
||||||
return new double[] {
|
return new double[] {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable jockey options
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
index 208dfda498cafc588f88b0b9fa53da85aaed2298..05129a339c2345a72cac75def870171081d375dc 100644
|
index 20529a611faef742fcd3c4c2706bbe8009f1defa..d966175c84ebb4d9054b8368d14243823d242f80 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
@@ -92,6 +92,21 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
@@ -93,6 +93,21 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||||
protected void randomizeReinforcementsChance() {
|
protected void randomizeReinforcementsChance() {
|
||||||
this.getAttribute(Attributes.SPAWN_REINFORCEMENTS_CHANCE).setBaseValue(this.random.nextDouble() * this.level.purpurConfig.drownedSpawnReinforcements);
|
this.getAttribute(Attributes.SPAWN_REINFORCEMENTS_CHANCE).setBaseValue(this.random.nextDouble() * this.level.purpurConfig.drownedSpawnReinforcements);
|
||||||
}
|
}
|
||||||
@@ -57,7 +57,7 @@ index ff84c706d42bc6859faaa9302ba688f43ddcb537..640c75c2cf7ec1f1bc514d29ac1f929c
|
|||||||
|
|
||||||
public static boolean checkHuskSpawnRules(EntityType<Husk> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, Random random) {
|
public static boolean checkHuskSpawnRules(EntityType<Husk> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, Random random) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||||
index 2fbf1d77e4c9f970c003b26572bc4763feb05c40..4865f90672dcfa164d62a1aa8ee040f00b5b46cf 100644
|
index 0b3d90208b97513d295235249dfa366a2e6b3baf..c28d0b6ba64a6f7b6aa4ea2df11f10d8a2371718 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||||
@@ -124,6 +124,18 @@ public class Zombie extends Monster {
|
@@ -124,6 +124,18 @@ public class Zombie extends Monster {
|
||||||
@@ -115,7 +115,7 @@ index 2fbf1d77e4c9f970c003b26572bc4763feb05c40..4865f90672dcfa164d62a1aa8ee040f0
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||||
index 237ff13e88c2cdeda001500f8adc16b37efc2115..b925e0ffbdc8f388a7b2162284e8356c3e969454 100644
|
index 1c39e1ccbe8d7d3393d32babf01f045004f60bd3..36f748fb4b4e6e0c3a39ab3f9c11bf178aced7df 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||||
@@ -104,6 +104,21 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
@@ -104,6 +104,21 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 0619f78da6da86c06336927c346ea52c6470bdf7..4c93f8116077ccd6bd869e7285196b27f3d6e827 100644
|
index 1e9fa0c362d8d2ea6c8da68f266a54dcf35782fb..57cc2597d6e3ed5c00b7befe13409b9b359e9023 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -3956,6 +3956,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -3962,6 +3962,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
this.yRotO = this.getYRot();
|
this.yRotO = this.getYRot();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 4c93f8116077ccd6bd869e7285196b27f3d6e827..f8f8a292cea4becc6837e47491fb3b89959aba20 100644
|
index 57cc2597d6e3ed5c00b7befe13409b9b359e9023..3ee9202676d3add9054fbd72bbbf1e44afd2597d 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -2779,7 +2779,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -2785,7 +2785,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
public void handleInsidePortal(BlockPos pos) {
|
public void handleInsidePortal(BlockPos pos) {
|
||||||
if (this.isOnPortalCooldown()) {
|
if (this.isOnPortalCooldown()) {
|
||||||
this.setPortalCooldown();
|
this.setPortalCooldown();
|
||||||
@@ -17,7 +17,7 @@ index 4c93f8116077ccd6bd869e7285196b27f3d6e827..f8f8a292cea4becc6837e47491fb3b89
|
|||||||
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
|
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
|
||||||
this.portalEntrancePos = pos.immutable();
|
this.portalEntrancePos = pos.immutable();
|
||||||
}
|
}
|
||||||
@@ -3445,7 +3445,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -3451,7 +3451,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canChangeDimensions() {
|
public boolean canChangeDimensions() {
|
||||||
|
|||||||
@@ -21,12 +21,12 @@ index 181abe014baba9ac51064c003381281a8fa43fe4..cfd1dcec3efcd4caf2431cbda99bc9f1
|
|||||||
ignored.add("goal_selector_1");
|
ignored.add("goal_selector_1");
|
||||||
ignored.add("goal_selector_2");
|
ignored.add("goal_selector_2");
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
index 05129a339c2345a72cac75def870171081d375dc..3dd6dd92f5f8334b43f50447ac259b2d06f9af95 100644
|
index d966175c84ebb4d9054b8368d14243823d242f80..346c274e81be8541b61c66a0a0574811ddf59ff9 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
@@ -119,7 +119,19 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
@@ -120,7 +120,19 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||||
this.goalSelector.addGoal(7, new RandomStrollGoal(this, 1.0D));
|
this.goalSelector.addGoal(7, new RandomStrollGoal(this, 1.0D));
|
||||||
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, Drowned.class)).setAlertOthers(ZombifiedPiglin.class));
|
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{Drowned.class})).setAlertOthers(ZombifiedPiglin.class));
|
||||||
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::okTarget));
|
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::okTarget));
|
||||||
- if (this.level.spigotConfig.zombieAggressiveTowardsVillager) this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, false)); // Paper
|
- if (this.level.spigotConfig.zombieAggressiveTowardsVillager) this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, false)); // Paper
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
@@ -46,7 +46,7 @@ index 05129a339c2345a72cac75def870171081d375dc..3dd6dd92f5f8334b43f50447ac259b2d
|
|||||||
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Axolotl.class, true, false));
|
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Axolotl.class, true, false));
|
||||||
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
|
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||||
index 36b3a712ba20e1f70e01f723185c67663e93371d..eaffa791ce73f6b2c2fa5b940909346e9f0fda0f 100644
|
index c28d0b6ba64a6f7b6aa4ea2df11f10d8a2371718..3cea172a1a54b34f5fbd62ace84661da429c44d6 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||||
@@ -154,7 +154,19 @@ public class Zombie extends Monster {
|
@@ -154,7 +154,19 @@ public class Zombie extends Monster {
|
||||||
|
|||||||
@@ -24,10 +24,10 @@ index 67e559d63c543ff716d610cb04ff9426cc20ae00..9125deb86b856bcb5e1cd779773522e2
|
|||||||
private boolean bypassArmor;
|
private boolean bypassArmor;
|
||||||
private boolean bypassInvul;
|
private boolean bypassInvul;
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index f8f8a292cea4becc6837e47491fb3b89959aba20..8477b106e7f30711234ac45a26f813753c5bb9f9 100644
|
index 3ee9202676d3add9054fbd72bbbf1e44afd2597d..f582265ec9dc5349183cbd5c6b1e3f2658166c02 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -1072,7 +1072,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -1078,7 +1078,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
|
|||||||
@@ -18,10 +18,10 @@ index 689ad22925b2561f7c8db961743eb1f821dbb25f..fa3c960992cc240161817e54659d83fe
|
|||||||
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
|
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
|
||||||
this.gameTime = time % 192000; // Paper - fix guardian beam
|
this.gameTime = time % 192000; // Paper - fix guardian beam
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index d011944a64c4e61b7285325a37ab05a540c99b5c..b15647b6cf2495b15a994ab32a4d53cb3890d9b6 100644
|
index d54e88162fbfe03de3f607d7fb10c9ed0bf311c4..9d156683ee46eb168048b90dd1819ae3dd87e408 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1569,7 +1569,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1570,7 +1570,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
long worldTime = world.getGameTime();
|
long worldTime = world.getGameTime();
|
||||||
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
|
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
|
||||||
for (Player entityhuman : world.players()) {
|
for (Player entityhuman : world.players()) {
|
||||||
|
|||||||
@@ -17,10 +17,10 @@ index 362fd34016b83ba346a43abb6acf38d887918437..c137f5299e4a9e2f33aeef77818c62c3
|
|||||||
|
|
||||||
if (environment.includeIntegrated) {
|
if (environment.includeIntegrated) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index b15647b6cf2495b15a994ab32a4d53cb3890d9b6..38eee8b34caaee7fb4e05dd08b1854afd0052368 100644
|
index 9d156683ee46eb168048b90dd1819ae3dd87e408..1f65c943f78e416f47d97bf2628862fa76dee290 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1087,6 +1087,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1088,6 +1088,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
this.safeShutdown(flag, false);
|
this.safeShutdown(flag, false);
|
||||||
}
|
}
|
||||||
public void safeShutdown(boolean flag, boolean isRestarting) {
|
public void safeShutdown(boolean flag, boolean isRestarting) {
|
||||||
@@ -83,7 +83,7 @@ index 9798cc19e67fd579aad17d7e57636416a7a8ac65..4b0a0f18708c887ea339f078aea4c988
|
|||||||
// Purpur end
|
// Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
index 115c31f1a5d397aa981ba3b52d7d0fe92b236a02..0696d4d740243a535bab8e9b37beb2c98944031d 100644
|
index ed4e4de5f4e303a8fe1c64040c65ab24c2f7e4d6..795b3c765bf91fbf1df236060344830de9330b38 100644
|
||||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
@@ -493,6 +493,7 @@ public abstract class PlayerList {
|
@@ -493,6 +493,7 @@ public abstract class PlayerList {
|
||||||
|
|||||||
@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
|
|||||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 8477b106e7f30711234ac45a26f813753c5bb9f9..ab287a326302d670f0aeabf016b69aed6a43c21b 100644
|
index f582265ec9dc5349183cbd5c6b1e3f2658166c02..d94e28c53df16ca969ac128886cdb60cfd712145 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -1636,7 +1636,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -1642,7 +1642,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
return this.isInWater() || flag;
|
return this.isInWater() || flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,10 +17,10 @@ index 4b0a0f18708c887ea339f078aea4c988b222ce0c..49adcc516e880c9d1a4926115c0f6fc0
|
|||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
this.setLevel(worldserver);
|
this.setLevel(worldserver);
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index ab287a326302d670f0aeabf016b69aed6a43c21b..78889c65692ab9632e31bef986307663bdb7dc8f 100644
|
index d94e28c53df16ca969ac128886cdb60cfd712145..1c996ff06017c178064877c5dd6bff591fa170f3 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -2776,12 +2776,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -2782,12 +2782,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
return Vec3.directionFromRotation(this.getRotationVector());
|
return Vec3.directionFromRotation(this.getRotationVector());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ index 3b272c0e3710885fa0a4ef9b39bfa8874a972e0d..1490c6d10824d556972a77aaa23eac3a
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||||
index 8091e7afb8cbf2285842f1d9ffa3c8d06bffacbe..803007e93efe4e36ef4e5843721e222df38da5b7 100644
|
index 0f28682db47708e81fea0a043f51cba3a3702014..31930b5936dcaea92afc54a583efcd5c3cedac3b 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||||
@@ -157,6 +157,11 @@ public class Cat extends TamableAnimal {
|
@@ -157,6 +157,11 @@ public class Cat extends TamableAnimal {
|
||||||
@@ -78,7 +78,7 @@ index 8091e7afb8cbf2285842f1d9ffa3c8d06bffacbe..803007e93efe4e36ef4e5843721e222d
|
|||||||
|
|
||||||
public ResourceLocation getResourceLocation() {
|
public ResourceLocation getResourceLocation() {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||||
index 002a66c13074a887b6525085ca57227ff858bac7..d7ddb71ae59ab0a0e10717e5c678ef5e5476aba4 100644
|
index 839cb9ff15132f3461317c5ead7c486a0b6fe5e0..439ce2e01cb861f2b3abb86090f49498e2a47142 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||||
@@ -80,6 +80,11 @@ public class Chicken extends Animal {
|
@@ -80,6 +80,11 @@ public class Chicken extends Animal {
|
||||||
@@ -190,7 +190,7 @@ index d7c68775fc39222be66bc82e0e7a1b0ae3238f7a..047404f4e38b9d796ceecb4e07740942
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||||
index 5aaeec3df43820bbaa839b9bfd9a756db7377cc2..5442baf10ca180b104bf1fd9cbcc12bb7a6146fc 100644
|
index 0719a17e886b6525d7ed091f1759eed12a945034..b0f133931815155f1dab02e2853bbcde5c96bac6 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||||
@@ -93,6 +93,11 @@ public class Ocelot extends Animal {
|
@@ -93,6 +93,11 @@ public class Ocelot extends Animal {
|
||||||
@@ -395,7 +395,7 @@ index e3bf2c2bc16bc03c17d90f2ce1620c6b895e9bf7..3c38345b32d106a169d1e6abcae54f28
|
|||||||
|
|
||||||
public void setHomePos(BlockPos pos) {
|
public void setHomePos(BlockPos pos) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||||
index 5e8294b0eb7b06264d16ce6d8112aa30dc2bd09d..8a1fdb8e358be2730304b68813cd5fb2997dda6d 100644
|
index ba6acbf7b78e063dcc61c12f740b928642c2f8e6..79fdf8f0512fb9bff730b0a3674aba2f121dbb6f 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||||
@@ -207,6 +207,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
@@ -207,6 +207,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||||
@@ -411,7 +411,7 @@ index 5e8294b0eb7b06264d16ce6d8112aa30dc2bd09d..8a1fdb8e358be2730304b68813cd5fb2
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||||
index a554d836635826bbe3fc562675ae982f33b409d1..b7e2ed08864f5bde346faebf9498254dc9794ce6 100644
|
index 0f38b65d490cde61cfc256719f91cc0a955b4080..efc02d00f3b95f4f6b6204b91ce15e03b23a6e6b 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||||
@@ -129,6 +129,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
@@ -129,6 +129,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
||||||
@@ -641,10 +641,10 @@ index f4aeaeef7d781a655e765993fb38a9d920c47109..614baf25654c770a6cdac02f8cd4301a
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
index 3dd6dd92f5f8334b43f50447ac259b2d06f9af95..8a68469769cfe8ac596b3f2c990e0375d7d1dcaf 100644
|
index 346c274e81be8541b61c66a0a0574811ddf59ff9..195cbb1870caf48830ea8c3f294a258c3839431d 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
@@ -107,6 +107,11 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
@@ -108,6 +108,11 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||||
public boolean jockeyTryExistingChickens() {
|
public boolean jockeyTryExistingChickens() {
|
||||||
return level.purpurConfig.drownedJockeyTryExistingChickens;
|
return level.purpurConfig.drownedJockeyTryExistingChickens;
|
||||||
}
|
}
|
||||||
@@ -919,7 +919,7 @@ index e239bcc4d4afe48e9fc204ad38d8bc76833994f4..8ce46cc00a01a678270e906078097aa7
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||||
index b1894c88682201ed5fca5e98bedab73b4b08a065..9582332f8fb211b41110d0fcda97521c2035ebb3 100644
|
index d26f6bfb961cced818cfcf700bfd58f6703c7f39..8cf06d7e4537ff93fee4377ad4988e78084ff4a8 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||||
@@ -135,6 +135,11 @@ public class Slime extends Mob implements Enemy {
|
@@ -135,6 +135,11 @@ public class Slime extends Mob implements Enemy {
|
||||||
@@ -989,7 +989,7 @@ index bec84c1dba34d61de9199b1b46cad49d46ee9731..5ff3373c9c73691d7f21c05b0f044c19
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||||
index ca645932aff82c260f875dd11f373c1a282ff369..e34acf855b2c93801cd98a8e7d983a4145314747 100644
|
index ee8a1b2e5ace89a1b2f457608903fbbc80e05973..dfcaaa245d229328d4227969bf747fd150c02f10 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||||
@@ -105,6 +105,11 @@ public class Vex extends Monster {
|
@@ -105,6 +105,11 @@ public class Vex extends Monster {
|
||||||
@@ -1005,7 +1005,7 @@ index ca645932aff82c260f875dd11f373c1a282ff369..e34acf855b2c93801cd98a8e7d983a41
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||||
index acd4e282841708d7ef0145757899e355a6410a4a..729eb8a30b35ef5c70be30b3141b9da5c74388f6 100644
|
index a5a6bcf79db034394068ab1db246b4444bdc3c27..5308f5d1dd226e2c73df69e729d93bf593ee467d 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||||
@@ -79,6 +79,11 @@ public class Vindicator extends AbstractIllager {
|
@@ -79,6 +79,11 @@ public class Vindicator extends AbstractIllager {
|
||||||
@@ -1069,7 +1069,7 @@ index a91ec2e385940b12bc41d9c09819c9081edc5c44..9928af5318c1cc4676c5cf215840ce0f
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||||
index eaffa791ce73f6b2c2fa5b940909346e9f0fda0f..15bbf62f1dab73b501044c6ada0f6f3b09ab07df 100644
|
index 3cea172a1a54b34f5fbd62ace84661da429c44d6..52e6eb5269249e586683de647c350651e2c96c91 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||||
@@ -136,6 +136,11 @@ public class Zombie extends Monster {
|
@@ -136,6 +136,11 @@ public class Zombie extends Monster {
|
||||||
@@ -1085,7 +1085,7 @@ index eaffa791ce73f6b2c2fa5b940909346e9f0fda0f..15bbf62f1dab73b501044c6ada0f6f3b
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||||
index b925e0ffbdc8f388a7b2162284e8356c3e969454..ba6875089c122baaf99f21cda5c65228c78e0fa1 100644
|
index 36f748fb4b4e6e0c3a39ab3f9c11bf178aced7df..322ba3293d170a81e1d501d590a18d435968456f 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||||
@@ -119,6 +119,11 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
@@ -119,6 +119,11 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||||
@@ -1117,7 +1117,7 @@ index 21610fa723b22894a4ff316ee34d8aabfb707526..918cd5c51849e3de4915016a76bbd4b6
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||||
index 35e758e7630cbba6ff80307261cf1f84b278829e..5ac9a41daee27b305a68a91b13a20a1a3f5264ab 100644
|
index 5f879e65f3a6c0fea3e962716b61651fd54bcf6d..7a7508dcf15a3cb932944240816d63640aa8be61 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||||
@@ -92,6 +92,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
@@ -92,6 +92,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||||
@@ -1133,7 +1133,7 @@ index 35e758e7630cbba6ff80307261cf1f84b278829e..5ac9a41daee27b305a68a91b13a20a1a
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
index f35e5c9e85583c8f599460c0ccd23a0f3bb88d6a..2fc82bccca7ff0bd63212bdb1ea1bf4dbe7c0ded 100644
|
index 644ec458325049cb97a181dea6c6857c3d35ef1f..d5388ea5d88b2fb6e6f499e9e7f05f176136d023 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
@@ -116,6 +116,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
@@ -116,6 +116,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 78889c65692ab9632e31bef986307663bdb7dc8f..0ba10e9a18b84c29d401482a77cdec6bd31b27c2 100644
|
index 1c996ff06017c178064877c5dd6bff591fa170f3..91bbb0b3d5a3d702a5b68e7b8a4146d7ec0f47b5 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -3010,7 +3010,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -3016,7 +3016,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getMaxAirSupply() {
|
public int getMaxAirSupply() {
|
||||||
@@ -18,7 +18,7 @@ index 78889c65692ab9632e31bef986307663bdb7dc8f..0ba10e9a18b84c29d401482a77cdec6b
|
|||||||
|
|
||||||
public int getAirSupply() {
|
public int getAirSupply() {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 66cf9f16f0f983c1f19cc96958d0214dcef2c960..42935f0818bc854cd62476802c3c4c3751f7c755 100644
|
index 3f4b6fad360d56738066046feefce64a08947c0d..6155573d5e4ebee45ebbcacf71577c7a029d1b29 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -421,7 +421,7 @@ public abstract class LivingEntity extends Entity {
|
@@ -421,7 +421,7 @@ public abstract class LivingEntity extends Entity {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable damage settings for magma blocks
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 0ba10e9a18b84c29d401482a77cdec6bd31b27c2..2e4938d2bc37d44d4b70b4c6e6ed7ea709a8a2f3 100644
|
index 91bbb0b3d5a3d702a5b68e7b8a4146d7ec0f47b5..87e1a9aefa0c048c7f1619ad002538f7e2694bd7 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -1072,7 +1072,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -1078,7 +1078,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
|
|||||||
Co-authored by: Encode42 <me@encode42.dev>
|
Co-authored by: Encode42 <me@encode42.dev>
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 2e4938d2bc37d44d4b70b4c6e6ed7ea709a8a2f3..dfad7db00b5be30e4e83e0c0e5d7c6a91aacf258 100644
|
index 87e1a9aefa0c048c7f1619ad002538f7e2694bd7..affbe839ad996722b2b4b93f82c12f4bbe055f85 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -4503,5 +4503,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -4509,5 +4509,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
public boolean canSaveToDisk() {
|
public boolean canSaveToDisk() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -29,7 +29,7 @@ index 2e4938d2bc37d44d4b70b4c6e6ed7ea709a8a2f3..dfad7db00b5be30e4e83e0c0e5d7c6a9
|
|||||||
// Purpur end
|
// Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 7c8fe0cfd3b9d72cf7d719f2ac8ed2e85db962de..56423ccb31763d51dd38708ffc3d97dc4cfe09ce 100644
|
index f3d64418b8c3d441532e0504cf182d0a16fb700e..2e5f22c74ff2c8a3fdae7d507280875a7d15e423 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -263,6 +263,7 @@ public abstract class LivingEntity extends Entity {
|
@@ -263,6 +263,7 @@ public abstract class LivingEntity extends Entity {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for end portal safe teleporting
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index dfad7db00b5be30e4e83e0c0e5d7c6a91aacf258..82c595515741e3bb75a27a5aabc59136bc2a5937 100644
|
index affbe839ad996722b2b4b93f82c12f4bbe055f85..2c60091945aa3510d34c21b31827cb0b7f302ec2 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -2827,7 +2827,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -2833,7 +2833,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.processPortalCooldown();
|
this.processPortalCooldown();
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Option to make drowned break doors
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
index 8a68469769cfe8ac596b3f2c990e0375d7d1dcaf..801e9919dbb197549372afb1b380cdb5f0c9290d 100644
|
index 195cbb1870caf48830ea8c3f294a258c3839431d..7e9c38d595c83bf482c701423d66c26a1ea1ea05 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
@@ -28,6 +28,7 @@ import net.minecraft.world.entity.ai.goal.MoveToBlockGoal;
|
@@ -28,6 +28,7 @@ import net.minecraft.world.entity.ai.goal.MoveToBlockGoal;
|
||||||
@@ -16,15 +16,15 @@ index 8a68469769cfe8ac596b3f2c990e0375d7d1dcaf..801e9919dbb197549372afb1b380cdb5
|
|||||||
import net.minecraft.world.entity.ai.goal.target.HurtByTargetGoal;
|
import net.minecraft.world.entity.ai.goal.target.HurtByTargetGoal;
|
||||||
import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal;
|
import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal;
|
||||||
import net.minecraft.world.entity.ai.navigation.GroundPathNavigation;
|
import net.minecraft.world.entity.ai.navigation.GroundPathNavigation;
|
||||||
@@ -121,6 +122,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
@@ -122,6 +123,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||||
this.goalSelector.addGoal(2, new Drowned.DrownedAttackGoal(this, 1.0D, false));
|
this.goalSelector.addGoal(2, new Drowned.DrownedAttackGoal(this, 1.0D, false));
|
||||||
this.goalSelector.addGoal(5, new Drowned.DrownedGoToBeachGoal(this, 1.0D));
|
this.goalSelector.addGoal(5, new Drowned.DrownedGoToBeachGoal(this, 1.0D));
|
||||||
this.goalSelector.addGoal(6, new Drowned.DrownedSwimUpGoal(this, 1.0D, this.level.getSeaLevel()));
|
this.goalSelector.addGoal(6, new Drowned.DrownedSwimUpGoal(this, 1.0D, this.level.getSeaLevel()));
|
||||||
+ if (level.purpurConfig.drownedBreakDoors) this.goalSelector.addGoal(6, new MoveThroughVillageGoal(this, 1.0D, true, 4, this::canBreakDoors));
|
+ if (level.purpurConfig.drownedBreakDoors) this.goalSelector.addGoal(6, new MoveThroughVillageGoal(this, 1.0D, true, 4, this::canBreakDoors));
|
||||||
this.goalSelector.addGoal(7, new RandomStrollGoal(this, 1.0D));
|
this.goalSelector.addGoal(7, new RandomStrollGoal(this, 1.0D));
|
||||||
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, Drowned.class)).setAlertOthers(ZombifiedPiglin.class));
|
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{Drowned.class})).setAlertOthers(ZombifiedPiglin.class));
|
||||||
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::okTarget));
|
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::okTarget));
|
||||||
@@ -173,7 +175,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
@@ -171,7 +173,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean supportsBreakDoorGoal() {
|
public boolean supportsBreakDoorGoal() {
|
||||||
|
|||||||
@@ -51,10 +51,10 @@ index 99c207457ec9d1a1b7d9e7becfcc8aae383e93ae..158945281178c80495f1dc2125ea21a2
|
|||||||
private int maxStack = MAX_STACK;
|
private int maxStack = MAX_STACK;
|
||||||
public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
|
public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index 3baf2b11c567f5ca235b638e54759494ffc86673..52c40bb83bae0f781432f4348c58a927cf366c9f 100644
|
index aec3440b25ca53f04361b7c256d63ff2beb5ba74..bdabc6ec495ca56848ad7b8cc7aef7e5788c7efa 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -1433,6 +1433,19 @@ public final class CraftServer implements Server {
|
@@ -1434,6 +1434,19 @@ public final class CraftServer implements Server {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] UPnP Port Forwarding
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index a859c915117d7660673f580864b3ba2aeb1d9480..4e294958336fd4b86248b42a57398b5de6cad496 100644
|
index 2d31d6beb1f98c05c8ff1ffca6f477328e692bbe..836028033093ea72c670afafeee4b81a421dd459 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -307,6 +307,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -307,6 +307,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
@@ -16,7 +16,7 @@ index a859c915117d7660673f580864b3ba2aeb1d9480..4e294958336fd4b86248b42a57398b5d
|
|||||||
|
|
||||||
public volatile Thread shutdownThread; // Paper
|
public volatile Thread shutdownThread; // Paper
|
||||||
public volatile boolean abnormalExit = false; // Paper
|
public volatile boolean abnormalExit = false; // Paper
|
||||||
@@ -970,6 +971,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -971,6 +972,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
MinecraftServer.LOGGER.info("Stopping server");
|
MinecraftServer.LOGGER.info("Stopping server");
|
||||||
MinecraftTimings.stopServer(); // Paper
|
MinecraftTimings.stopServer(); // Paper
|
||||||
@@ -32,7 +32,7 @@ index a859c915117d7660673f580864b3ba2aeb1d9480..4e294958336fd4b86248b42a57398b5d
|
|||||||
if (this.server != null) {
|
if (this.server != null) {
|
||||||
this.server.disablePlugins();
|
this.server.disablePlugins();
|
||||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
index d185dfc8194aad9ed7d1a55817bb4c52834527f2..431414152030810c486839fe6ef645007db20647 100644
|
index f508eda7f689ef1a5743bda4d68a863f37108486..2a6d3c49a337b3815fdcc7624e90d875464bb7da 100644
|
||||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
@@ -293,6 +293,30 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
@@ -293,6 +293,30 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ index 4d39f68a0d0de84474ef96f10cb35e97db2fd9f8..30ecad8a2530c2f4eb0ff0ae43f22d38
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||||
index ca7225e80e1612120ac9b197e0188a06df8049a7..02fc6bb52419b75f04092b33e15e0ab1ea7a7b1a 100644
|
index e090cdf99ab637117494b3e8820e6b40b2387018..266b220a8b4a15ea267804139462af210fb23077 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||||
@@ -228,6 +228,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
@@ -228,6 +228,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||||
@@ -53,7 +53,7 @@ index ca7225e80e1612120ac9b197e0188a06df8049a7..02fc6bb52419b75f04092b33e15e0ab1
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||||
index 8d49f4c9d5d9a0f4dc4a1c1dcdcc7bfc678d8de3..108c8b0d25ae9432a54b9bca4cae7297f303ca81 100644
|
index 9edd8b89abaa9a41dd50d859878703c02e514fd3..94d830e6b5dca78a56547872811a85328e3f2fff 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||||
@@ -162,6 +162,11 @@ public class Cat extends TamableAnimal {
|
@@ -162,6 +162,11 @@ public class Cat extends TamableAnimal {
|
||||||
@@ -69,7 +69,7 @@ index 8d49f4c9d5d9a0f4dc4a1c1dcdcc7bfc678d8de3..108c8b0d25ae9432a54b9bca4cae7297
|
|||||||
|
|
||||||
public ResourceLocation getResourceLocation() {
|
public ResourceLocation getResourceLocation() {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||||
index d7ddb71ae59ab0a0e10717e5c678ef5e5476aba4..d4b2e6715479c485258fdec9497a0da40e5df3ef 100644
|
index 439ce2e01cb861f2b3abb86090f49498e2a47142..df8e58ba17624089285abafe77753a02dd683ebc 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||||
@@ -85,6 +85,11 @@ public class Chicken extends Animal {
|
@@ -85,6 +85,11 @@ public class Chicken extends Animal {
|
||||||
@@ -117,7 +117,7 @@ index b5002526f20fb8ae52783a6ba95ccd2d4f9b7840..a79b4a90274d25d427214b96649cdf85
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||||
index f41aadb12c2d661014c488b4fc52298668c95da0..58dfa26b2935315e37d74f22dffe3e54ab83061a 100644
|
index a41ceccdf757ffbb87f972ef250b61734f3f3879..e6d00d7044eb16872455abf91dfaadcaeba6306b 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||||
@@ -168,6 +168,11 @@ public class Dolphin extends WaterAnimal {
|
@@ -168,6 +168,11 @@ public class Dolphin extends WaterAnimal {
|
||||||
@@ -181,7 +181,7 @@ index 047404f4e38b9d796ceecb4e07740942eb137ae0..48459f6c9a9d7112ef335725e1989883
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||||
index 5442baf10ca180b104bf1fd9cbcc12bb7a6146fc..3bfa7ed23d659899cccad5eb4caad6997ae2b419 100644
|
index b0f133931815155f1dab02e2853bbcde5c96bac6..2680b4cc2e4b2deb40e15e7d5d0f9b8c87f5ca56 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||||
@@ -98,6 +98,11 @@ public class Ocelot extends Animal {
|
@@ -98,6 +98,11 @@ public class Ocelot extends Animal {
|
||||||
@@ -325,7 +325,7 @@ index 4fa8e4a298a98b2a41ef7572d21ed50aa06e2c7e..17d1a0b43b2d155535cf2483af4ba9dd
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||||
index b84376598527b7081808ee0c60fcd911c32ce7e7..83906fbb59d678451f93e6335aa674a7ff6bc9b1 100644
|
index c98e5b2cb54d4be5746d3bac0551ec743a656cbf..91fbfb0b1d1a01b7b644474014f621603415c225 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||||
@@ -84,6 +84,11 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
@@ -84,6 +84,11 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||||
@@ -389,7 +389,7 @@ index 3c38345b32d106a169d1e6abcae54f282d08fe89..ddc69668c30e089df18858f697b6370d
|
|||||||
|
|
||||||
public void setHomePos(BlockPos pos) {
|
public void setHomePos(BlockPos pos) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||||
index f01a8b45d8af0659718587cb53a9c8e95b28bd80..de79fbaa5a84d5b19a29d491d28b11cb41b626bb 100644
|
index 303ac9f3941d6759b42ac1cae2586b4df3d9faaf..b5313e1c4a4be37bb7d129987a887b4697c75aa1 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||||
@@ -212,6 +212,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
@@ -212,6 +212,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||||
@@ -405,7 +405,7 @@ index f01a8b45d8af0659718587cb53a9c8e95b28bd80..de79fbaa5a84d5b19a29d491d28b11cb
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||||
index b7e2ed08864f5bde346faebf9498254dc9794ce6..d87a3434cbac31ef652e4dda08c280a5da51142e 100644
|
index efc02d00f3b95f4f6b6204b91ce15e03b23a6e6b..780a83fb0cec9f2124d0b0978e5fe5f86672d76e 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||||
@@ -134,6 +134,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
@@ -134,6 +134,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
||||||
@@ -613,10 +613,10 @@ index 09d41e2adef76a4d3fb68b3a3002572144c9044c..4e5dc1e30f981a6bc33344a18af56a09
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
index 801e9919dbb197549372afb1b380cdb5f0c9290d..f7221565b51aa35218919a2efea9f83de4b1f786 100644
|
index 7e9c38d595c83bf482c701423d66c26a1ea1ea05..93b94077fe2d817ed3dd8c01cfaa2e45bb72a216 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
|
||||||
@@ -113,6 +113,11 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
@@ -114,6 +114,11 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||||
public boolean isSensitiveToWater() {
|
public boolean isSensitiveToWater() {
|
||||||
return this.level.purpurConfig.drownedTakeDamageFromWater;
|
return this.level.purpurConfig.drownedTakeDamageFromWater;
|
||||||
}
|
}
|
||||||
@@ -645,7 +645,7 @@ index 2800594fea055d75268531d8ad3fef99721e5ca1..fc2b6dc1818d439905e90dc6d738c3cf
|
|||||||
|
|
||||||
public static AttributeSupplier.Builder createAttributes() {
|
public static AttributeSupplier.Builder createAttributes() {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
index 425a2cab66ce456b8e034b008d2cb82ecba62004..fee9d1eaadcee7d5bbdacceab5f6e25a30c7e5f2 100644
|
index 4e3926f190f3d8d2bd27a649496cfa7ca5b47b68..6a4214b6110119215154fee48d000bc1051ea626 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
@@ -107,6 +107,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
@@ -107,6 +107,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||||
@@ -885,7 +885,7 @@ index 8ce46cc00a01a678270e906078097aa717abdc41..51c548cd84bd83624fbff3f853a8050d
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||||
index 9582332f8fb211b41110d0fcda97521c2035ebb3..90c2e4ccc7191a43722c876c3804a829d98e8713 100644
|
index 8cf06d7e4537ff93fee4377ad4988e78084ff4a8..29b56001fdb44bc5267d2d2ae8e9bafc61b3fe79 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||||
@@ -140,6 +140,11 @@ public class Slime extends Mob implements Enemy {
|
@@ -140,6 +140,11 @@ public class Slime extends Mob implements Enemy {
|
||||||
@@ -949,7 +949,7 @@ index 5ff3373c9c73691d7f21c05b0f044c198b2bab2d..a7669b3daa4a58a3a6a931de3d86a4fb
|
|||||||
|
|
||||||
public static boolean checkStriderSpawnRules(EntityType<Strider> type, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, Random random) {
|
public static boolean checkStriderSpawnRules(EntityType<Strider> type, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, Random random) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||||
index 429c960ef287e71974be5567374e44a44be09c88..e68fbe7cdaefedb1e59d2e96c6e0755180695a27 100644
|
index dfcaaa245d229328d4227969bf747fd150c02f10..9fefedaa35d8ee63318b8c668f37f57a4ceb20c8 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||||
@@ -110,6 +110,11 @@ public class Vex extends Monster {
|
@@ -110,6 +110,11 @@ public class Vex extends Monster {
|
||||||
@@ -965,7 +965,7 @@ index 429c960ef287e71974be5567374e44a44be09c88..e68fbe7cdaefedb1e59d2e96c6e07551
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||||
index 729eb8a30b35ef5c70be30b3141b9da5c74388f6..876964a73109bba22584d120fdfd0089bbadc975 100644
|
index 5308f5d1dd226e2c73df69e729d93bf593ee467d..97657a05a27612d98049681efa6fda8b33a8a989 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||||
@@ -84,6 +84,11 @@ public class Vindicator extends AbstractIllager {
|
@@ -84,6 +84,11 @@ public class Vindicator extends AbstractIllager {
|
||||||
@@ -1029,7 +1029,7 @@ index 9928af5318c1cc4676c5cf215840ce0f8baf9024..b99419b712b9af385988f1a1271b28f4
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||||
index 53513758072a117e2938ba9735b99247abf874d8..14ca49e3bb0942b11e1e8bde14b7d37a61627891 100644
|
index d47e0050475449cc3e7cf5620b39d16629997d66..436e98e4332def352bb47d51c503a0285fde27fc 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||||
@@ -142,6 +142,11 @@ public class Zombie extends Monster {
|
@@ -142,6 +142,11 @@ public class Zombie extends Monster {
|
||||||
@@ -1045,7 +1045,7 @@ index 53513758072a117e2938ba9735b99247abf874d8..14ca49e3bb0942b11e1e8bde14b7d37a
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||||
index 2ed3df59dbbb811a1b2c13c4a6eff9c602371149..f0905d83cd47ee4dbb076515e2a90c97027ed3e9 100644
|
index 43b8015579d747b45b5ba8483ab13deffc80ccc2..ac41660b8d3763ff9db320b998480a025ea94740 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||||
@@ -124,6 +124,11 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
@@ -124,6 +124,11 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||||
@@ -1077,7 +1077,7 @@ index 918cd5c51849e3de4915016a76bbd4b66c3b8b42..202d5da8bd1345d04a98ac6bc9bbc13f
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||||
index 5ac9a41daee27b305a68a91b13a20a1a3f5264ab..dd41783a84876840d8d545bf6b527165b3c5b5ee 100644
|
index 7a7508dcf15a3cb932944240816d63640aa8be61..10712e3900c57b6d1645472158fe2e818c24af46 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||||
@@ -97,6 +97,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
@@ -97,6 +97,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||||
@@ -1093,7 +1093,7 @@ index 5ac9a41daee27b305a68a91b13a20a1a3f5264ab..dd41783a84876840d8d545bf6b527165
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
index a28fad8627e5b95afe2b1ddb320e99f0b57ff158..63b147826766dc12b093196f2f946a473dc24022 100644
|
index d5388ea5d88b2fb6e6f499e9e7f05f176136d023..a24cf405b5ab298cf1a6f30b09897c235d04e796 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||||
@@ -121,6 +121,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
@@ -121,6 +121,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||||
@@ -1157,7 +1157,7 @@ index 8d6930868a42b9fc98d7672bff433ec50d36999e..53bebecd30fee7613af73901b3aa9961
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
index bc9acfdb90b6ee2fbb948df98fb0ececfc8fa980..c528e2b9f9bb2879f54658bd459722890b1a215d 100644
|
index 4943e9c500514036203d870c09f62595ec8c6d73..d28424cc74068904f0a3479789307f9529b03efa 100644
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||||
@@ -1021,12 +1021,14 @@ public class PurpurWorldConfig {
|
@@ -1021,12 +1021,14 @@ public class PurpurWorldConfig {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Option to prevent spiders from climbing world border
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 82c595515741e3bb75a27a5aabc59136bc2a5937..2908d2882cd6bd97d777a2831995ea7a445843ee 100644
|
index 2c60091945aa3510d34c21b31827cb0b7f302ec2..7c82a0a596357ce118918fb5b86a0c13dea9e0ea 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -243,6 +243,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -243,6 +243,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
@@ -16,7 +16,7 @@ index 82c595515741e3bb75a27a5aabc59136bc2a5937..2908d2882cd6bd97d777a2831995ea7a
|
|||||||
public boolean hurtMarked;
|
public boolean hurtMarked;
|
||||||
protected Vec3 stuckSpeedMultiplier;
|
protected Vec3 stuckSpeedMultiplier;
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -1335,7 +1336,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -1341,7 +1342,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
io.papermc.paper.util.CollisionUtil.getCollisions(world, this, collisionBox, potentialCollisions, false, true,
|
io.papermc.paper.util.CollisionUtil.getCollisions(world, this, collisionBox, potentialCollisions, false, true,
|
||||||
false, false, null, null);
|
false, false, null, null);
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Give bee counts in beehives to Purpur clients
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 4e294958336fd4b86248b42a57398b5de6cad496..69917030089f29ca0b26e13b8182c966103e6cd6 100644
|
index 836028033093ea72c670afafeee4b81a421dd459..20cdc0eb26fd53a4193b39171982dfa255d355bf 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1098,6 +1098,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1099,6 +1099,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
}
|
}
|
||||||
public void safeShutdown(boolean flag, boolean isRestarting) {
|
public void safeShutdown(boolean flag, boolean isRestarting) {
|
||||||
org.purpurmc.purpur.task.BossBarTask.stopAll(); // Purpur
|
org.purpurmc.purpur.task.BossBarTask.stopAll(); // Purpur
|
||||||
@@ -17,7 +17,7 @@ index 4e294958336fd4b86248b42a57398b5de6cad496..69917030089f29ca0b26e13b8182c966
|
|||||||
this.hasLoggedStop = true; // Paper
|
this.hasLoggedStop = true; // Paper
|
||||||
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper
|
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper
|
||||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
index 431414152030810c486839fe6ef645007db20647..119989e11c2e11aceaddec507f15d0260fba648a 100644
|
index 2a6d3c49a337b3815fdcc7624e90d875464bb7da..20f016e24b679af2651dc84819b1c62d2937b77b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
@@ -386,6 +386,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
@@ -386,6 +386,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||||
|
|||||||
Reference in New Issue
Block a user