mirror of
https://github.com/Samsuik/Sakura.git
synced 2025-12-22 16:29:16 +00:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@b4f04ff Add Plugin#getDataPath (#11080) PaperMC/Paper@05e5865 Add ItemType#getItemRarity (#11049) PaperMC/Paper@aa929d6 Call PlayerLaunchProjectileEvent for wind charge (#10911) PaperMC/Paper@8b23018 Avoid collision shapes outside world border in findFreePosition PaperMC/Paper@3b45454 Port random ticking optimisation from Moonrise PaperMC/Paper@77fcb29 Apply incremental player/level saving patch PaperMC/Paper@9fd7710 Apply automatic regionfile header recalculation patch PaperMC/Paper@b57b24d Do not try to stop main thread during watchdog shutdown PaperMC/Paper@2cd8c46 Add OMINOUS_ITEM_SPAWNER SpawnReason (#10897) PaperMC/Paper@ef96a69 Fire EntityChangeBlockEvent for weaving potion effect (#11087) PaperMC/Paper@a6ceda1 distinguish between null and empty map in API (#10829) PaperMC/Paper@506f165 Don't store removed components in multiple places (#11091) PaperMC/Paper@ceeb8c1 Disable timings by default (#11095) PaperMC/Paper@05ed6a6 Fix priority scheduling logic PaperMC/Paper@967f98a Optimise chunk tick checking during chunk tick PaperMC/Paper@00b949f Remove Moonrise utils to MCUtils, remove duplicated/unused utils PaperMC/Paper@4efd24b Remove unused chunk system hooks in MCUtils PaperMC/Paper@b653276 Finish chunk tick iteration optimisation port from Moonrise PaperMC/Paper@2df5bba Log throwable when failing to save chunk/poi/entity data PaperMC/Paper@44c3dd0 fix exact choice shapeless recipes (#10973) PaperMC/Paper@dd11ef8 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#11102) PaperMC/Paper@3c8a7fe Re-add missing chunk event calls (#11104) PaperMC/Paper@a8db527 Even more cleanup of mcutil patch PaperMC/Paper@d08e8d1 Add total time to done message (#11109) PaperMC/Paper@2a39276 Add CrafterCraftEvent (#11082) PaperMC/Paper@75af62b Split rewriting flag into `paper.disableOldApiSupport` and `paper.disablePluginRemapping` (#11108) PaperMC/Paper@7ea4039 Fixup startup time log message PaperMC/Paper@e71c1df Call PlayerChunkUnloadEvent PaperMC/Paper@968bdeb Make CraftComplexRecipe extend CraftingRecipe (#11114) PaperMC/Paper@f1f01a1 Adjust done message again (#11118)
This commit is contained in:
@@ -2,7 +2,7 @@ group=me.samsuik.sakura
|
|||||||
version=1.21-R0.1-SNAPSHOT
|
version=1.21-R0.1-SNAPSHOT
|
||||||
|
|
||||||
mcVersion=1.21
|
mcVersion=1.21
|
||||||
paperRef=8b35adca881414c92efeac9aba91a25ace9ea648
|
paperRef=f1f01a1622625cd995420f3971e41422302b9cd9
|
||||||
|
|
||||||
org.gradle.jvmargs=-Xmx2G
|
org.gradle.jvmargs=-Xmx2G
|
||||||
|
|
||||||
|
|||||||
@@ -1040,7 +1040,7 @@ index 0000000000000000000000000000000000000000..4024f9738e039ffffd560a07a2210f75
|
|||||||
+public record DurableMaterial(int durability, float resistance) {
|
+public record DurableMaterial(int durability, float resistance) {
|
||||||
+}
|
+}
|
||||||
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 54e581db732c3a104142a2bbc228ecbe16aec0fc..49284f76714fea23b602d7fa6dd3fc468a851c00 100644
|
index 8160c35368fc2c52d6f4a42df27adb2ef6eb87f3..f0f98f9b24a22086427b9f4d352e46176cba3b7c 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
|
||||||
@@ -317,6 +317,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -317,6 +317,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
@@ -1063,7 +1063,7 @@ index 54e581db732c3a104142a2bbc228ecbe16aec0fc..49284f76714fea23b602d7fa6dd3fc46
|
|||||||
|
|
||||||
private void readScoreboard(DimensionDataStorage persistentStateManager) {
|
private void readScoreboard(DimensionDataStorage persistentStateManager) {
|
||||||
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 7d82cc6b847124cf4225428ba310309544928148..2b718bb263780e9b942da0c3664e911b5b3be34e 100644
|
index d43b98bdfcb00603737a309c0fb7793d42289b8c..919723bcae9336ccf30c6f1989cf0bbab53f7e3c 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
|
||||||
@@ -237,6 +237,11 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
@@ -237,6 +237,11 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||||
@@ -1079,10 +1079,10 @@ index 7d82cc6b847124cf4225428ba310309544928148..2b718bb263780e9b942da0c3664e911b
|
|||||||
this.setPvpAllowed(dedicatedserverproperties.pvp);
|
this.setPvpAllowed(dedicatedserverproperties.pvp);
|
||||||
this.setFlightAllowed(dedicatedserverproperties.allowFlight);
|
this.setFlightAllowed(dedicatedserverproperties.allowFlight);
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
index 4e5fc39f3839d4d626925bcef1c83415376195f4..ae3756d1bc1a0e7c481fc929be7cee41ee40ebff 100644
|
index 2766ec28f028c0bd672009928bf64c1a6e5d07d6..f6817e74ceff57876a9cf02a8ea237a4ccb5491f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -536,7 +536,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
@@ -546,7 +546,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||||
// Holder holder = worlddimension.type(); // CraftBukkit - decompile error
|
// Holder holder = worlddimension.type(); // CraftBukkit - decompile error
|
||||||
|
|
||||||
// Objects.requireNonNull(minecraftserver); // CraftBukkit - decompile error
|
// Objects.requireNonNull(minecraftserver); // CraftBukkit - decompile error
|
||||||
@@ -1092,7 +1092,7 @@ index 4e5fc39f3839d4d626925bcef1c83415376195f4..ae3756d1bc1a0e7c481fc929be7cee41
|
|||||||
this.convertable = convertable_conversionsession;
|
this.convertable = convertable_conversionsession;
|
||||||
this.uuid = WorldUUID.getUUID(convertable_conversionsession.levelDirectory.path().toFile());
|
this.uuid = WorldUUID.getUUID(convertable_conversionsession.levelDirectory.path().toFile());
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index b16c3beda0fc7d7d06cfc82f450165096a88bade..54000bab9ac8199ad9e898cdc0db78372375cb05 100644
|
index e2a0487089eb5a7bdc1433e4c75f69d8e9f9d5f9..7da2fc17f6e7bf888ef0c2a8eba0fc3b4c10436e 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -171,6 +171,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
@@ -171,6 +171,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||||
@@ -1108,9 +1108,9 @@ index b16c3beda0fc7d7d06cfc82f450165096a88bade..54000bab9ac8199ad9e898cdc0db7837
|
|||||||
|
|
||||||
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
||||||
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||||
@@ -642,9 +648,10 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
@@ -684,9 +690,10 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||||
}
|
}
|
||||||
// Paper end - optimise collisions
|
// Paper end - optimise random ticking
|
||||||
|
|
||||||
- protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config & Anti-Xray
|
- protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config & Anti-Xray
|
||||||
+ protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, Supplier<me.samsuik.sakura.configuration.WorldConfiguration> sakuraWorldConfigCreator, java.util.concurrent.Executor executor) { // Sakura - sakura configuration files// Paper - create paper world config & Anti-Xray
|
+ protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, Supplier<me.samsuik.sakura.configuration.WorldConfiguration> sakuraWorldConfigCreator, java.util.concurrent.Executor executor) { // Sakura - sakura configuration files// Paper - create paper world config & Anti-Xray
|
||||||
@@ -1121,10 +1121,10 @@ index b16c3beda0fc7d7d06cfc82f450165096a88bade..54000bab9ac8199ad9e898cdc0db7837
|
|||||||
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 caf6ff33b42472d30f28629470e12889f50490cc..1e2dcd25fc9e605481c809fcb3121b4197640957 100644
|
index 3a91faeb6957e4e783b1de3e1145e7d1d164a857..89b6fd4076756f936db2f768509215fa0b06ea60 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
|
||||||
@@ -1059,6 +1059,7 @@ public final class CraftServer implements Server {
|
@@ -1068,6 +1068,7 @@ public final class CraftServer implements Server {
|
||||||
|
|
||||||
org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot
|
org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot
|
||||||
this.console.paperConfigurations.reloadConfigs(this.console);
|
this.console.paperConfigurations.reloadConfigs(this.console);
|
||||||
@@ -1132,7 +1132,7 @@ index caf6ff33b42472d30f28629470e12889f50490cc..1e2dcd25fc9e605481c809fcb3121b41
|
|||||||
for (ServerLevel world : this.console.getAllLevels()) {
|
for (ServerLevel world : this.console.getAllLevels()) {
|
||||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||||
@@ -1090,6 +1091,7 @@ public final class CraftServer implements Server {
|
@@ -1099,6 +1100,7 @@ public final class CraftServer implements Server {
|
||||||
this.reloadData();
|
this.reloadData();
|
||||||
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
|
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
|
||||||
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
|
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
|
||||||
@@ -1141,7 +1141,7 @@ index caf6ff33b42472d30f28629470e12889f50490cc..1e2dcd25fc9e605481c809fcb3121b41
|
|||||||
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
index 1acc0a579804dee7bb3d0f755c24240413ed7540..870ceadca6d60bf2cd2a171e3f1532f45f9eeef2 100644
|
index 38083fc6dc60673562f2d05aa354c365571baff8..185b2a85a9cce47cd4b00bdc361cc2412e802bba 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
@@ -176,6 +176,14 @@ public class Main {
|
@@ -176,6 +176,14 @@ public class Main {
|
||||||
|
|||||||
@@ -231,10 +231,10 @@ index 0000000000000000000000000000000000000000..3f518f3f1241d3dc1f76fab42e9fd789
|
|||||||
+
|
+
|
||||||
+}
|
+}
|
||||||
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 49284f76714fea23b602d7fa6dd3fc468a851c00..517a9b8c67eba6569aabea6ffb9260619540c3ea 100644
|
index f0f98f9b24a22086427b9f4d352e46176cba3b7c..6e37cc3171cc299acda4f38340cb377943ee98eb 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
|
||||||
@@ -1812,6 +1812,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1813,6 +1813,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
this.profiler.pop();
|
this.profiler.pop();
|
||||||
this.profiler.pop();
|
this.profiler.pop();
|
||||||
worldserver.explosionDensityCache.clear(); // Paper - Optimize explosions
|
worldserver.explosionDensityCache.clear(); // Paper - Optimize explosions
|
||||||
@@ -243,7 +243,7 @@ index 49284f76714fea23b602d7fa6dd3fc468a851c00..517a9b8c67eba6569aabea6ffb926061
|
|||||||
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index 54000bab9ac8199ad9e898cdc0db78372375cb05..beb94ab8f9e3709cd92d4dda59fa756921bd6ce3 100644
|
index 7da2fc17f6e7bf888ef0c2a8eba0fc3b4c10436e..c811bc64d0686fdec58defb707d57e539c261b48 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -177,6 +177,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
@@ -177,6 +177,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||||
@@ -260,7 +260,7 @@ index 54000bab9ac8199ad9e898cdc0db78372375cb05..beb94ab8f9e3709cd92d4dda59fa7569
|
|||||||
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
||||||
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
index 8045d6c9398d1c88595da6e41aa1ed27fb6fbad0..4ddf48ff3a66c873f8c1d2ac8bfeab91266aeb4a 100644
|
index 362ca138a5cd5ad19f1300015c2571794adc3649..a8fc47df8904126ecf1a0025e524bab9573f9647 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
@@ -251,6 +251,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
@@ -251,6 +251,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||||
|
|||||||
@@ -255,10 +255,10 @@ index 1a37654aff9a9c86c9f7af10a1cf721371f0c5ec..82644b34a77dc5e5af38260b7b07b3ec
|
|||||||
public ClientboundSectionBlocksUpdatePacket(SectionPos sectionPos, ShortSet positions, LevelChunkSection section) {
|
public ClientboundSectionBlocksUpdatePacket(SectionPos sectionPos, ShortSet positions, LevelChunkSection section) {
|
||||||
this.sectionPos = sectionPos;
|
this.sectionPos = sectionPos;
|
||||||
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 517a9b8c67eba6569aabea6ffb9260619540c3ea..9f21eec9547b15b19f6dca4a7e894219abf5350b 100644
|
index 6e37cc3171cc299acda4f38340cb377943ee98eb..3a19675a375f8aeb217449ee1d99523ac9dd1667 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
|
||||||
@@ -1813,6 +1813,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1814,6 +1814,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
this.profiler.pop();
|
this.profiler.pop();
|
||||||
worldserver.explosionDensityCache.clear(); // Paper - Optimize explosions
|
worldserver.explosionDensityCache.clear(); // Paper - Optimize explosions
|
||||||
worldserver.localConfig().expire(currentTickLong); // Sakura - add local config
|
worldserver.localConfig().expire(currentTickLong); // Sakura - add local config
|
||||||
@@ -267,10 +267,10 @@ index 517a9b8c67eba6569aabea6ffb9260619540c3ea..9f21eec9547b15b19f6dca4a7e894219
|
|||||||
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
index 6df79aab2f0a75bbe347dc92e9ed5d62ceec7983..b1c4cbcfb7c7a1c107f37a9eafa8d989f6d9c01a 100644
|
index d85cbcc06b35d5a3467d7d1c81c9f09c1a8db175..663fd121bf042a6a651f1b22eb01a15466c8c323 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
@@ -1290,6 +1290,22 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
@@ -1257,6 +1257,22 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||||
}
|
}
|
||||||
// Paper end - Configurable entity tracking range by Y
|
// Paper end - Configurable entity tracking range by Y
|
||||||
|
|
||||||
@@ -294,10 +294,10 @@ index 6df79aab2f0a75bbe347dc92e9ed5d62ceec7983..b1c4cbcfb7c7a1c107f37a9eafa8d989
|
|||||||
if (flag && !player.getBukkitEntity().canSee(this.entity.getBukkitEntity())) { // Paper - only consider hits
|
if (flag && !player.getBukkitEntity().canSee(this.entity.getBukkitEntity())) { // Paper - only consider hits
|
||||||
flag = false;
|
flag = false;
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
index ae3756d1bc1a0e7c481fc929be7cee41ee40ebff..2201aebfc6b6144fe580f7e504d82c3bd30ac082 100644
|
index f6817e74ceff57876a9cf02a8ea237a4ccb5491f..17811d042f09428d91d104a5ab1e851ca1600844 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -1766,7 +1766,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
@@ -1834,7 +1834,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
ServerPlayer entityplayer = (ServerPlayer) iterator.next();
|
ServerPlayer entityplayer = (ServerPlayer) iterator.next();
|
||||||
|
|
||||||
@@ -307,10 +307,10 @@ index ae3756d1bc1a0e7c481fc929be7cee41ee40ebff..2201aebfc6b6144fe580f7e504d82c3b
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
index 9d1e68c09fa7093cf0f6fa636f90cb15a44cbb38..dd57c78168a63c77c123abaa6e596632afd390a8 100644
|
index 5980b70e2d7273239245237189b2debcbccfbac3..95b582042133624a47c67719f86990862a539030 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -280,6 +280,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
@@ -282,6 +282,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||||
public final int[] mobCounts = new int[MOBCATEGORY_TOTAL_ENUMS]; // Paper
|
public final int[] mobCounts = new int[MOBCATEGORY_TOTAL_ENUMS]; // Paper
|
||||||
// Paper end - Optional per player mob spawns
|
// Paper end - Optional per player mob spawns
|
||||||
public final int[] mobBackoffCounts = new int[MOBCATEGORY_TOTAL_ENUMS]; // Paper - per player mob count backoff
|
public final int[] mobBackoffCounts = new int[MOBCATEGORY_TOTAL_ENUMS]; // Paper - per player mob count backoff
|
||||||
@@ -318,7 +318,7 @@ index 9d1e68c09fa7093cf0f6fa636f90cb15a44cbb38..dd57c78168a63c77c123abaa6e596632
|
|||||||
|
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
public CraftPlayer.TransferCookieConnection transferCookieConnection;
|
public CraftPlayer.TransferCookieConnection transferCookieConnection;
|
||||||
@@ -587,6 +588,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
@@ -586,6 +587,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||||
this.respawnDimension = (ResourceKey) dataresult1.resultOrPartial(logger1::error).orElse(Level.OVERWORLD);
|
this.respawnDimension = (ResourceKey) dataresult1.resultOrPartial(logger1::error).orElse(Level.OVERWORLD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -334,7 +334,7 @@ index 9d1e68c09fa7093cf0f6fa636f90cb15a44cbb38..dd57c78168a63c77c123abaa6e596632
|
|||||||
|
|
||||||
this.spawnExtraParticlesOnFall = nbt.getBoolean("spawn_extra_particles_on_fall");
|
this.spawnExtraParticlesOnFall = nbt.getBoolean("spawn_extra_particles_on_fall");
|
||||||
Tag nbtbase = nbt.get("raid_omen_position");
|
Tag nbtbase = nbt.get("raid_omen_position");
|
||||||
@@ -665,6 +675,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
@@ -664,6 +674,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.getBukkitEntity().setExtraData(nbt); // CraftBukkit
|
this.getBukkitEntity().setExtraData(nbt); // CraftBukkit
|
||||||
@@ -481,7 +481,7 @@ index 7796e191747be545e744564a2b0b65790f69114d..b3bb98db278afde02786e5daa6fbb6e0
|
|||||||
if (this.player.containerMenu != oldContainer) {
|
if (this.player.containerMenu != oldContainer) {
|
||||||
return;
|
return;
|
||||||
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 be9976a994dd04cf53048567576dd3484facf625..a04c417602c928e09b856d4ac73562a18a4995e4 100644
|
index 1f7594e22f0f08ae110ef9b42f15119358aa5723..c677cccc35c8b01d93d44c291030f4bb1b131707 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
|
||||||
@@ -550,6 +550,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -550,6 +550,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
@@ -520,19 +520,19 @@ index 42bd2d9a1528b6210e4dfb56233062fd97c9743b..28a15f612239614c6c56974da5855ce3
|
|||||||
|
|
||||||
public PrimedTnt(Level world, double x, double y, double z, @Nullable LivingEntity igniter) {
|
public PrimedTnt(Level world, double x, double y, double z, @Nullable LivingEntity igniter) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index beb94ab8f9e3709cd92d4dda59fa756921bd6ce3..5e1e50a5c8cc380d0c23fd14e0da54da3d750834 100644
|
index c811bc64d0686fdec58defb707d57e539c261b48..5886f44fdc605d3b814566808d8477e09df2fd3b 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -653,6 +653,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
@@ -695,6 +695,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||||
return java.util.Optional.ofNullable(selected);
|
return chunk != null ? chunk.getNoiseBiome(x, y, z) : this.getUncachedNoiseBiome(x, y, z);
|
||||||
}
|
}
|
||||||
// Paper end - optimise collisions
|
// Paper end - optimise random ticking
|
||||||
+ public final it.unimi.dsi.fastutil.longs.Long2IntMap minimalTNT = new it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap(); // Sakura - visibility api
|
+ public final it.unimi.dsi.fastutil.longs.Long2IntMap minimalTNT = new it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap(); // Sakura - visibility api
|
||||||
|
|
||||||
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, Supplier<me.samsuik.sakura.configuration.WorldConfiguration> sakuraWorldConfigCreator, java.util.concurrent.Executor executor) { // Sakura - sakura configuration files// Paper - create paper world config & Anti-Xray
|
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, Supplier<me.samsuik.sakura.configuration.WorldConfiguration> sakuraWorldConfigCreator, java.util.concurrent.Executor executor) { // Sakura - sakura configuration files// Paper - create paper world config & Anti-Xray
|
||||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index d01b45a48d412e3cb591acee101730704574448a..6fb40ff3198e72314ade642102e11b7e007782e2 100644
|
index 992437a6e838f653f32d33b5b3f702c484640a97..e340694c74add2f0e06b3e8bc9cc0bd50699e119 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -545,6 +545,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -545,6 +545,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
|
|||||||
@@ -418,10 +418,10 @@ index 0000000000000000000000000000000000000000..6903863ad293a335a8ed1aeaa06fccb4
|
|||||||
+
|
+
|
||||||
+}
|
+}
|
||||||
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 9f21eec9547b15b19f6dca4a7e894219abf5350b..564278107e38b2a1adb03dab4c92a6ed20fd1d4e 100644
|
index 3a19675a375f8aeb217449ee1d99523ac9dd1667..0707bea1f98e36e85a15c7b63e9f967fd6683e9e 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
|
||||||
@@ -1216,6 +1216,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1207,6 +1207,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private static final java.math.BigDecimal TPS_BASE = new java.math.BigDecimal(1E9).multiply(new java.math.BigDecimal(SAMPLE_INTERVAL));
|
private static final java.math.BigDecimal TPS_BASE = new java.math.BigDecimal(1E9).multiply(new java.math.BigDecimal(SAMPLE_INTERVAL));
|
||||||
@@ -429,7 +429,7 @@ index 9f21eec9547b15b19f6dca4a7e894219abf5350b..564278107e38b2a1adb03dab4c92a6ed
|
|||||||
// Paper end
|
// Paper end
|
||||||
// Spigot End
|
// Spigot End
|
||||||
|
|
||||||
@@ -1286,6 +1287,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1276,6 +1277,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
if (++MinecraftServer.currentTick % MinecraftServer.SAMPLE_INTERVAL == 0) {
|
if (++MinecraftServer.currentTick % MinecraftServer.SAMPLE_INTERVAL == 0) {
|
||||||
final long diff = currentTime - tickSection;
|
final long diff = currentTime - tickSection;
|
||||||
final java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
|
final java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
|
||||||
@@ -437,7 +437,7 @@ index 9f21eec9547b15b19f6dca4a7e894219abf5350b..564278107e38b2a1adb03dab4c92a6ed
|
|||||||
tps1.add(currentTps, diff);
|
tps1.add(currentTps, diff);
|
||||||
tps5.add(currentTps, diff);
|
tps5.add(currentTps, diff);
|
||||||
tps15.add(currentTps, diff);
|
tps15.add(currentTps, diff);
|
||||||
@@ -1321,6 +1323,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1311,6 +1313,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
throw new RuntimeException("Chunk system crash propagated to tick()", crash);
|
throw new RuntimeException("Chunk system crash propagated to tick()", crash);
|
||||||
}
|
}
|
||||||
// Paper end - rewrite chunk system
|
// Paper end - rewrite chunk system
|
||||||
@@ -446,10 +446,10 @@ index 9f21eec9547b15b19f6dca4a7e894219abf5350b..564278107e38b2a1adb03dab4c92a6ed
|
|||||||
this.mayHaveDelayedTasks = true;
|
this.mayHaveDelayedTasks = true;
|
||||||
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);
|
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);
|
||||||
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 36fbbf45ae064a345bf4aafbb9ac527197326eb9..7f168321c49a69878c0775b249f056ade4d37c00 100644
|
index 8a0b00d645e4cf2ca96ec7e8ebc6ef726a0ab8b0..19120bb2c9d27a6824e63cccf5fcea8ce9dc7193 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
|
||||||
@@ -144,6 +144,11 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
@@ -143,6 +143,11 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||||
this.clearCache();
|
this.clearCache();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -462,7 +462,7 @@ index 36fbbf45ae064a345bf4aafbb9ac527197326eb9..7f168321c49a69878c0775b249f056ad
|
|||||||
public boolean isChunkLoaded(int chunkX, int chunkZ) {
|
public boolean isChunkLoaded(int chunkX, int chunkZ) {
|
||||||
ChunkHolder chunk = this.chunkMap.getUpdatingChunkIfPresent(ChunkPos.asLong(chunkX, chunkZ));
|
ChunkHolder chunk = this.chunkMap.getUpdatingChunkIfPresent(ChunkPos.asLong(chunkX, chunkZ));
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
index 2201aebfc6b6144fe580f7e504d82c3bd30ac082..4d0938df1604c3faca3997680a957dec3f07083b 100644
|
index 17811d042f09428d91d104a5ab1e851ca1600844..68276c1449b1930021ebbf9c10c617b73d8df636 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -198,7 +198,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
@@ -198,7 +198,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||||
@@ -488,10 +488,10 @@ index d8b4196adf955f8d414688dc451caac2d9c609d9..47556521b28e0bd1b1c3ef3781684feb
|
|||||||
private void ensureActiveIsNotIterated() {
|
private void ensureActiveIsNotIterated() {
|
||||||
// Paper - rewrite chunk system
|
// Paper - rewrite chunk system
|
||||||
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
|
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
|
||||||
index db9c812cf7267adf0bfd8be7368140e91245d640..d852fbe24669f878899381979a559650d6580f91 100644
|
index 4dbb109d0526afee99b9190fc256585121aac9b5..019ae7104a644f23495e42510a80573a7ac06a37 100644
|
||||||
--- a/src/main/java/org/spigotmc/SpigotConfig.java
|
--- a/src/main/java/org/spigotmc/SpigotConfig.java
|
||||||
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
|
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
|
||||||
@@ -283,7 +283,7 @@ public class SpigotConfig
|
@@ -279,7 +279,7 @@ public class SpigotConfig
|
||||||
|
|
||||||
private static void tpsCommand()
|
private static void tpsCommand()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Use Optimised TrackedEntityMap
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
index b1c4cbcfb7c7a1c107f37a9eafa8d989f6d9c01a..ac00b69197964e5c82bc597594d28fcf74f87a02 100644
|
index 663fd121bf042a6a651f1b22eb01a15466c8c323..7daf9f7ea047cdd7afe031baca77fe00f2324692 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
@@ -204,7 +204,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
@@ -179,7 +179,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||||
this.toDrop = new LongOpenHashSet();
|
this.toDrop = new LongOpenHashSet();
|
||||||
this.tickingGenerated = new AtomicInteger();
|
this.tickingGenerated = new AtomicInteger();
|
||||||
this.playerMap = new PlayerMap();
|
this.playerMap = new PlayerMap();
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Optimise paper explosions
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
index a248d859cbce48f4a34c4771a7acffc17d7edc84..e4061762e3a421197f25ddd58d49eea6076597d1 100644
|
index 6c66ee69beb55e5c5755bbf4d13c256541ce4468..74e32f74322b3e3bc8c2e3f5f8b740025c29443e 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
@@ -100,7 +100,7 @@ public class Explosion {
|
@@ -100,7 +100,7 @@ public class Explosion {
|
||||||
@@ -108,8 +108,8 @@ index a248d859cbce48f4a34c4771a7acffc17d7edc84..e4061762e3a421197f25ddd58d49eea6
|
|||||||
|
|
||||||
- while (iterator.hasNext()) {
|
- while (iterator.hasNext()) {
|
||||||
- Entity entity = (Entity) iterator.next();
|
- Entity entity = (Entity) iterator.next();
|
||||||
+ int minSection = io.papermc.paper.util.WorldUtil.getMinSection(this.level);
|
+ int minSection = ca.spottedleaf.moonrise.common.util.WorldUtil.getMinSection(this.level);
|
||||||
+ int maxSection = io.papermc.paper.util.WorldUtil.getMaxSection(this.level);
|
+ int maxSection = ca.spottedleaf.moonrise.common.util.WorldUtil.getMaxSection(this.level);
|
||||||
+
|
+
|
||||||
+ int minChunkX = Mth.floor(this.x - f2) >> 4;
|
+ int minChunkX = Mth.floor(this.x - f2) >> 4;
|
||||||
+ int maxChunkX = Mth.floor(this.x + f2) >> 4;
|
+ int maxChunkX = Mth.floor(this.x + f2) >> 4;
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ index 0000000000000000000000000000000000000000..c9f2c5ae57878283e8c8bc3847fe63b9
|
|||||||
+
|
+
|
||||||
+}
|
+}
|
||||||
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 a5c69230536d163496e0d7f175fd240c6202584a..089502717ca22296888a82804239fd4f9938abff 100644
|
index 8306bf3943e65fdff93d76b0c97f0f1d8d0db6d3..49ae460ba5b871f085d67a0c4abdc0e7096ca3e1 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
|
||||||
@@ -568,6 +568,25 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -568,6 +568,25 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
@@ -82,10 +82,10 @@ index a5c69230536d163496e0d7f175fd240c6202584a..089502717ca22296888a82804239fd4f
|
|||||||
public Entity(EntityType<?> type, Level world) {
|
public Entity(EntityType<?> type, Level world) {
|
||||||
this.id = Entity.ENTITY_COUNTER.incrementAndGet();
|
this.id = Entity.ENTITY_COUNTER.incrementAndGet();
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index 5e1e50a5c8cc380d0c23fd14e0da54da3d750834..4c3c6a04155fa4a0ea81beaa5bf2a2f53ab5dbbc 100644
|
index 5886f44fdc605d3b814566808d8477e09df2fd3b..dd8e5c0a6197158b376e8de8930f660fc4771e54 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -1389,6 +1389,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
@@ -1431,6 +1431,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||||
|
|
||||||
public <T extends Entity> void guardEntityTick(Consumer<T> tickConsumer, T entity) {
|
public <T extends Entity> void guardEntityTick(Consumer<T> tickConsumer, T entity) {
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -378,10 +378,10 @@ index 0000000000000000000000000000000000000000..c78bf4fc13da8238f59bde7de9f04642
|
|||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
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 564278107e38b2a1adb03dab4c92a6ed20fd1d4e..b0e95e1dbf3248101d63bd2c0f9ba05e720623c6 100644
|
index 0707bea1f98e36e85a15c7b63e9f967fd6683e9e..d1bd0536c902bacb8d57c1b7d51b571e906ee769 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
|
||||||
@@ -1817,6 +1817,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1818,6 +1818,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
worldserver.explosionDensityCache.clear(); // Paper - Optimize explosions
|
worldserver.explosionDensityCache.clear(); // Paper - Optimize explosions
|
||||||
worldserver.localConfig().expire(currentTickLong); // Sakura - add local config
|
worldserver.localConfig().expire(currentTickLong); // Sakura - add local config
|
||||||
worldserver.minimalTNT.clear(); // Sakura - visibility api
|
worldserver.minimalTNT.clear(); // Sakura - visibility api
|
||||||
@@ -390,10 +390,10 @@ index 564278107e38b2a1adb03dab4c92a6ed20fd1d4e..b0e95e1dbf3248101d63bd2c0f9ba05e
|
|||||||
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
index 4d0938df1604c3faca3997680a957dec3f07083b..df0465e4e073af7cbcee4939175d8f8c4b280396 100644
|
index 68276c1449b1930021ebbf9c10c617b73d8df636..cb051277557483e097272be1a84d1fef9ebbf35b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -747,6 +747,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
@@ -757,6 +757,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||||
|
|
||||||
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
|
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
|
||||||
this.timings.entityTick.startTiming(); // Spigot
|
this.timings.entityTick.startTiming(); // Spigot
|
||||||
@@ -401,7 +401,7 @@ index 4d0938df1604c3faca3997680a957dec3f07083b..df0465e4e073af7cbcee4939175d8f8c
|
|||||||
this.entityTickList.forEach((entity) -> {
|
this.entityTickList.forEach((entity) -> {
|
||||||
if (!entity.isRemoved()) {
|
if (!entity.isRemoved()) {
|
||||||
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
|
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
|
||||||
@@ -766,6 +767,15 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
@@ -776,6 +777,15 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||||
entity.stopRiding();
|
entity.stopRiding();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -418,7 +418,7 @@ index 4d0938df1604c3faca3997680a957dec3f07083b..df0465e4e073af7cbcee4939175d8f8c
|
|||||||
this.guardEntityTick(this::tickNonPassenger, entity);
|
this.guardEntityTick(this::tickNonPassenger, entity);
|
||||||
gameprofilerfiller.pop();
|
gameprofilerfiller.pop();
|
||||||
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 089502717ca22296888a82804239fd4f9938abff..9e4ea632b757c187a32afecd0d6942b606ee96b3 100644
|
index 49ae460ba5b871f085d67a0c4abdc0e7096ca3e1..023500526ab0a42bf7cbf21e1773cf5369aa2323 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
|
||||||
@@ -587,6 +587,23 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -587,6 +587,23 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
@@ -656,12 +656,12 @@ index 888d018a8e73234332455b7d3700e70e1a50c5db..6fc9a352dbae57e867ae35f2a1f30eeb
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index 4c3c6a04155fa4a0ea81beaa5bf2a2f53ab5dbbc..48cfc7b3358ec2a663d31af3638eda7334474241 100644
|
index dd8e5c0a6197158b376e8de8930f660fc4771e54..ed43b7b1d7782e75c6b03cab5b75b282e5d96077 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -654,6 +654,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
@@ -696,6 +696,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||||
}
|
}
|
||||||
// Paper end - optimise collisions
|
// Paper end - optimise random ticking
|
||||||
public final it.unimi.dsi.fastutil.longs.Long2IntMap minimalTNT = new it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap(); // Sakura - visibility api
|
public final it.unimi.dsi.fastutil.longs.Long2IntMap minimalTNT = new it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap(); // Sakura - visibility api
|
||||||
+ public final me.samsuik.sakura.entity.merge.EntityMergeHandler mergeHandler = new me.samsuik.sakura.entity.merge.EntityMergeHandler(); // Sakura - merge cannon entities
|
+ public final me.samsuik.sakura.entity.merge.EntityMergeHandler mergeHandler = new me.samsuik.sakura.entity.merge.EntityMergeHandler(); // Sakura - merge cannon entities
|
||||||
|
|
||||||
|
|||||||
@@ -129,10 +129,10 @@ index 0000000000000000000000000000000000000000..d7e24638f07f243502004970ab4ce646
|
|||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
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 b0e95e1dbf3248101d63bd2c0f9ba05e720623c6..67ca905c0821deb279383811fd112f02c46a73a1 100644
|
index d1bd0536c902bacb8d57c1b7d51b571e906ee769..1e74195d97a3547fc33d0c0b3f5263c0b6680b2b 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
|
||||||
@@ -1818,6 +1818,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1819,6 +1819,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
worldserver.localConfig().expire(currentTickLong); // Sakura - add local config
|
worldserver.localConfig().expire(currentTickLong); // Sakura - add local config
|
||||||
worldserver.minimalTNT.clear(); // Sakura - visibility api
|
worldserver.minimalTNT.clear(); // Sakura - visibility api
|
||||||
worldserver.mergeHandler.expire(currentTickLong); // Sakura - merge cannon entities
|
worldserver.mergeHandler.expire(currentTickLong); // Sakura - merge cannon entities
|
||||||
@@ -141,7 +141,7 @@ index b0e95e1dbf3248101d63bd2c0f9ba05e720623c6..67ca905c0821deb279383811fd112f02
|
|||||||
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
index e4061762e3a421197f25ddd58d49eea6076597d1..3572334f7594a284124d879b8165e9401e9d2aad 100644
|
index 5d708ca40b10a55ce9cfc3e4bc8c7a1c5e578f3d..fec99538d681acf3e8eff58c9099f285dc6dc84b 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
@@ -305,7 +305,12 @@ public class Explosion {
|
@@ -305,7 +305,12 @@ public class Explosion {
|
||||||
@@ -176,7 +176,7 @@ index e4061762e3a421197f25ddd58d49eea6076597d1..3572334f7594a284124d879b8165e940
|
|||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -804,6 +818,11 @@ public class Explosion {
|
@@ -801,6 +815,11 @@ public class Explosion {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,7 +188,7 @@ index e4061762e3a421197f25ddd58d49eea6076597d1..3572334f7594a284124d879b8165e940
|
|||||||
Iterator iterator = list.iterator();
|
Iterator iterator = list.iterator();
|
||||||
|
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
@@ -932,14 +951,12 @@ public class Explosion {
|
@@ -929,14 +948,12 @@ public class Explosion {
|
||||||
}
|
}
|
||||||
// Paper start - Optimize explosions
|
// Paper start - Optimize explosions
|
||||||
private float getBlockDensity(Vec3 vec3d, Entity entity, ca.spottedleaf.moonrise.patches.collisions.ExplosionBlockCache[] blockCache, BlockPos.MutableBlockPos blockPos) { // Paper - optimise collisions
|
private float getBlockDensity(Vec3 vec3d, Entity entity, ca.spottedleaf.moonrise.patches.collisions.ExplosionBlockCache[] blockCache, BlockPos.MutableBlockPos blockPos) { // Paper - optimise collisions
|
||||||
@@ -210,11 +210,11 @@ index e4061762e3a421197f25ddd58d49eea6076597d1..3572334f7594a284124d879b8165e940
|
|||||||
|
|
||||||
return blockDensity;
|
return blockDensity;
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index 48cfc7b3358ec2a663d31af3638eda7334474241..68cc57b15d2536711429ee3836d32aff7cfd1cf3 100644
|
index ed43b7b1d7782e75c6b03cab5b75b282e5d96077..de4879ce1990a460d5a57287642c5010c8aed78a 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -655,6 +655,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
@@ -697,6 +697,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||||
// Paper end - optimise collisions
|
// Paper end - optimise random ticking
|
||||||
public final it.unimi.dsi.fastutil.longs.Long2IntMap minimalTNT = new it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap(); // Sakura - visibility api
|
public final it.unimi.dsi.fastutil.longs.Long2IntMap minimalTNT = new it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap(); // Sakura - visibility api
|
||||||
public final me.samsuik.sakura.entity.merge.EntityMergeHandler mergeHandler = new me.samsuik.sakura.entity.merge.EntityMergeHandler(); // Sakura - merge cannon entities
|
public final me.samsuik.sakura.entity.merge.EntityMergeHandler mergeHandler = new me.samsuik.sakura.entity.merge.EntityMergeHandler(); // Sakura - merge cannon entities
|
||||||
+ public final me.samsuik.sakura.explosion.density.BlockDensityCache densityCache = new me.samsuik.sakura.explosion.density.BlockDensityCache(); // Sakura - explosion density cache
|
+ public final me.samsuik.sakura.explosion.density.BlockDensityCache densityCache = new me.samsuik.sakura.explosion.density.BlockDensityCache(); // Sakura - explosion density cache
|
||||||
|
|||||||
@@ -23,16 +23,16 @@ index c21e00812f1aaa1279834a0562d360d6b89e146c..442119e7c4670582556b067dfc03e39a
|
|||||||
if (index >= 0) {
|
if (index >= 0) {
|
||||||
diff --git a/src/main/java/me/samsuik/sakura/explosion/special/SpecialisedExplosion.java b/src/main/java/me/samsuik/sakura/explosion/special/SpecialisedExplosion.java
|
diff --git a/src/main/java/me/samsuik/sakura/explosion/special/SpecialisedExplosion.java b/src/main/java/me/samsuik/sakura/explosion/special/SpecialisedExplosion.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..709dc51ab4c9e8dad26cf883eebb3902a95bebf8
|
index 0000000000000000000000000000000000000000..749795cfd2c9c7817c8578366a155db7dd6c3f08
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/me/samsuik/sakura/explosion/special/SpecialisedExplosion.java
|
+++ b/src/main/java/me/samsuik/sakura/explosion/special/SpecialisedExplosion.java
|
||||||
@@ -0,0 +1,219 @@
|
@@ -0,0 +1,219 @@
|
||||||
+package me.samsuik.sakura.explosion.special;
|
+package me.samsuik.sakura.explosion.special;
|
||||||
+
|
+
|
||||||
|
+import ca.spottedleaf.moonrise.common.util.WorldUtil;
|
||||||
+import ca.spottedleaf.moonrise.patches.chunk_system.level.entity.ChunkEntitySlices;
|
+import ca.spottedleaf.moonrise.patches.chunk_system.level.entity.ChunkEntitySlices;
|
||||||
+import ca.spottedleaf.moonrise.patches.chunk_system.level.entity.EntityLookup;
|
+import ca.spottedleaf.moonrise.patches.chunk_system.level.entity.EntityLookup;
|
||||||
+import ca.spottedleaf.moonrise.patches.collisions.ExplosionBlockCache;
|
+import ca.spottedleaf.moonrise.patches.collisions.ExplosionBlockCache;
|
||||||
+import io.papermc.paper.util.WorldUtil;
|
|
||||||
+import net.minecraft.core.BlockPos;
|
+import net.minecraft.core.BlockPos;
|
||||||
+import net.minecraft.core.Holder;
|
+import net.minecraft.core.Holder;
|
||||||
+import net.minecraft.core.particles.ParticleOptions;
|
+import net.minecraft.core.particles.ParticleOptions;
|
||||||
@@ -457,10 +457,10 @@ index 0000000000000000000000000000000000000000..2275999c5b6d9a6af59aa2539663e0ed
|
|||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
index df0465e4e073af7cbcee4939175d8f8c4b280396..a7ac1afc9db4daba86a492aea3a528806605231b 100644
|
index cb051277557483e097272be1a84d1fef9ebbf35b..3982f8feeac19ba8f3563b24466f97e099e5158d 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -1771,6 +1771,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
@@ -1839,6 +1839,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||||
explosion.clearToBlow();
|
explosion.clearToBlow();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -473,7 +473,7 @@ index df0465e4e073af7cbcee4939175d8f8c4b280396..a7ac1afc9db4daba86a492aea3a52880
|
|||||||
Iterator iterator = this.players.iterator();
|
Iterator iterator = this.players.iterator();
|
||||||
|
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
@@ -1781,7 +1787,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
@@ -1849,7 +1855,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -509,7 +509,7 @@ index 6fc9a352dbae57e867ae35f2a1f30eebe20073c7..e048542cdd1fe9c807ce21e57af9cf59
|
|||||||
// Sakura end - merge cannon entities
|
// Sakura end - merge cannon entities
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
index eaf2201301813c68b5c0826394120daffdee72f8..f412c39d7f3b95152e76c63a589e298250e9c438 100644
|
index 7f9dcd27c31a97563dfb065d11f984cf688c9782..fef88549aa5dd2f4e4618ebe0bfb4e25c15117e2 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
@@ -57,9 +57,11 @@ public class Explosion {
|
@@ -57,9 +57,11 @@ public class Explosion {
|
||||||
@@ -596,7 +596,7 @@ index eaf2201301813c68b5c0826394120daffdee72f8..f412c39d7f3b95152e76c63a589e2982
|
|||||||
// use initial cache value that is most likely to be used: the source position
|
// use initial cache value that is most likely to be used: the source position
|
||||||
final ca.spottedleaf.moonrise.patches.collisions.ExplosionBlockCache initialCache;
|
final ca.spottedleaf.moonrise.patches.collisions.ExplosionBlockCache initialCache;
|
||||||
{
|
{
|
||||||
@@ -966,7 +981,7 @@ public class Explosion {
|
@@ -963,7 +978,7 @@ public class Explosion {
|
||||||
private BlockInteraction() {}
|
private BlockInteraction() {}
|
||||||
}
|
}
|
||||||
// Paper start - Optimize explosions
|
// Paper start - Optimize explosions
|
||||||
@@ -606,10 +606,10 @@ index eaf2201301813c68b5c0826394120daffdee72f8..f412c39d7f3b95152e76c63a589e2982
|
|||||||
float blockDensity = this.level.densityCache.getDensity(vec3d, entity);
|
float blockDensity = this.level.densityCache.getDensity(vec3d, entity);
|
||||||
if (blockDensity == me.samsuik.sakura.explosion.density.BlockDensityCache.UNKNOWN_DENSITY) {
|
if (blockDensity == me.samsuik.sakura.explosion.density.BlockDensityCache.UNKNOWN_DENSITY) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index 68cc57b15d2536711429ee3836d32aff7cfd1cf3..4721b405edb561e496c9cbb04dca5d7e37bcff2e 100644
|
index de4879ce1990a460d5a57287642c5010c8aed78a..70ce20d946287a7449da4efc958be5a9fa683afe 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -1480,7 +1480,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
@@ -1522,7 +1522,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||||
}
|
}
|
||||||
|
|
||||||
Explosion.BlockInteraction explosion_effect1 = explosion_effect;
|
Explosion.BlockInteraction explosion_effect1 = explosion_effect;
|
||||||
|
|||||||
@@ -5,17 +5,16 @@ Subject: [PATCH] Optimise cannon entity movement
|
|||||||
|
|
||||||
|
|
||||||
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 9e4ea632b757c187a32afecd0d6942b606ee96b3..f4bce733451105287b736df21f9ff934a09f0c5b 100644
|
index 023500526ab0a42bf7cbf21e1773cf5369aa2323..00fcff6e934ec7bc7a7ba853cab4c6e69c42af99 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
|
||||||
@@ -1164,6 +1164,94 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -1164,6 +1164,93 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
return this.moveStartZ;
|
return this.moveStartZ;
|
||||||
}
|
}
|
||||||
// Paper end - detailed watchdog information
|
// Paper end - detailed watchdog information
|
||||||
+ // Sakura start - optimise cannon entity movement; stripped back movement method
|
+ // Sakura start - optimise cannon entity movement; stripped back movement method
|
||||||
+ public final void moveStripped(MoverType movementType, Vec3 movement) {
|
+ public final void moveStripped(MoverType movementType, Vec3 movement) {
|
||||||
+ io.papermc.paper.util.TickThread.ensureTickThread("Cannot move an entity off-main");
|
+ ca.spottedleaf.moonrise.common.util.TickThread.ensureTickThread("Cannot move an entity off-main");
|
||||||
+
|
|
||||||
+ if (this.noPhysics) {
|
+ if (this.noPhysics) {
|
||||||
+ this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
|
+ this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
|
||||||
+ } else {
|
+ } else {
|
||||||
@@ -103,7 +102,7 @@ index 9e4ea632b757c187a32afecd0d6942b606ee96b3..f4bce733451105287b736df21f9ff934
|
|||||||
|
|
||||||
public void move(MoverType movementType, Vec3 movement) {
|
public void move(MoverType movementType, Vec3 movement) {
|
||||||
final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity
|
final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity
|
||||||
@@ -1508,6 +1596,95 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -1508,6 +1595,95 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
return offsetFactor;
|
return offsetFactor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Entity pushed by fluid API
|
|||||||
|
|
||||||
|
|
||||||
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 f4bce733451105287b736df21f9ff934a09f0c5b..9cf6d06b190b8236e68b9b49e53b0eefbeb777fe 100644
|
index 00fcff6e934ec7bc7a7ba853cab4c6e69c42af99..08b795b91138e052e6df6c477700de8ef7aabb5b 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
|
||||||
@@ -604,6 +604,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -604,6 +604,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
@@ -16,7 +16,7 @@ index f4bce733451105287b736df21f9ff934a09f0c5b..9cf6d06b190b8236e68b9b49e53b0eef
|
|||||||
|
|
||||||
public Entity(EntityType<?> type, Level world) {
|
public Entity(EntityType<?> type, Level world) {
|
||||||
this.id = Entity.ENTITY_COUNTER.incrementAndGet();
|
this.id = Entity.ENTITY_COUNTER.incrementAndGet();
|
||||||
@@ -4168,7 +4169,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -4167,7 +4168,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isPushedByFluid() {
|
public boolean isPushedByFluid() {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Optimise TNT fluid state
|
|||||||
|
|
||||||
|
|
||||||
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 9cf6d06b190b8236e68b9b49e53b0eefbeb777fe..f005e68998d30ec3ab062e3d562d9d4c2a89dc67 100644
|
index 08b795b91138e052e6df6c477700de8ef7aabb5b..18cefd77146cee72f1818cbb725dd1704ae5fec0 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
|
||||||
@@ -2152,7 +2152,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -2151,7 +2151,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
return this.isInWater() || flag;
|
return this.isInWater() || flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -62,10 +62,10 @@ index 8126c4fdbbc586cf3722c6ee2986338de044602e..0a8f593784322454335236d6f0dbb6ec
|
|||||||
if (entity == null || entity == except || !entity.getBoundingBox().intersects(box)) {
|
if (entity == null || entity == except || !entity.getBoundingBox().intersects(box)) {
|
||||||
continue;
|
continue;
|
||||||
diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/EntityLookup.java b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/EntityLookup.java
|
diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/EntityLookup.java b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/EntityLookup.java
|
||||||
index a346435abac725b4e024acf4a1589a51caac8d69..8045f1abc38022e7a6d70de91ce79c1ca805a1e9 100644
|
index efc0c1acc8239dd7b00211a1d3bfd3fc3b2c810c..0ffbc8b459c3475ff0a9c307cb7bd144045f5f1c 100644
|
||||||
--- a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/EntityLookup.java
|
--- a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/EntityLookup.java
|
||||||
+++ b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/EntityLookup.java
|
+++ b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/EntityLookup.java
|
||||||
@@ -795,8 +795,15 @@ public abstract class EntityLookup implements LevelEntityGetter<Entity> {
|
@@ -801,8 +801,15 @@ public abstract class EntityLookup implements LevelEntityGetter<Entity> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,7 +81,7 @@ index a346435abac725b4e024acf4a1589a51caac8d69..8045f1abc38022e7a6d70de91ce79c1c
|
|||||||
final int minChunkX = (Mth.floor(box.minX) - 2) >> 4;
|
final int minChunkX = (Mth.floor(box.minX) - 2) >> 4;
|
||||||
final int minChunkZ = (Mth.floor(box.minZ) - 2) >> 4;
|
final int minChunkZ = (Mth.floor(box.minZ) - 2) >> 4;
|
||||||
final int maxChunkX = (Mth.floor(box.maxX) + 2) >> 4;
|
final int maxChunkX = (Mth.floor(box.maxX) + 2) >> 4;
|
||||||
@@ -828,7 +835,7 @@ public abstract class EntityLookup implements LevelEntityGetter<Entity> {
|
@@ -834,7 +841,7 @@ public abstract class EntityLookup implements LevelEntityGetter<Entity> {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ index a346435abac725b4e024acf4a1589a51caac8d69..8045f1abc38022e7a6d70de91ce79c1c
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1074,4 +1081,4 @@ public abstract class EntityLookup implements LevelEntityGetter<Entity> {
|
@@ -1080,4 +1087,4 @@ public abstract class EntityLookup implements LevelEntityGetter<Entity> {
|
||||||
@Override
|
@Override
|
||||||
public void onRemove(final Entity.RemovalReason reason) {}
|
public void onRemove(final Entity.RemovalReason reason) {}
|
||||||
}
|
}
|
||||||
@@ -98,10 +98,10 @@ index a346435abac725b4e024acf4a1589a51caac8d69..8045f1abc38022e7a6d70de91ce79c1c
|
|||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index 4721b405edb561e496c9cbb04dca5d7e37bcff2e..81a4a076017527eaddfcfbe737d60257ba8a01eb 100644
|
index 70ce20d946287a7449da4efc958be5a9fa683afe..503e5afa3d9130738a9374e591277aae9dc08282 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -1627,10 +1627,18 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
@@ -1669,10 +1669,18 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||||
this.getEntities(filter, box, predicate, result, Integer.MAX_VALUE);
|
this.getEntities(filter, box, predicate, result, Integer.MAX_VALUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,7 +121,7 @@ index 4721b405edb561e496c9cbb04dca5d7e37bcff2e..81a4a076017527eaddfcfbe737d60257
|
|||||||
this.getProfiler().incrementCounter("getEntities");
|
this.getProfiler().incrementCounter("getEntities");
|
||||||
|
|
||||||
if (entityTypeTest instanceof net.minecraft.world.entity.EntityType<T> byType) {
|
if (entityTypeTest instanceof net.minecraft.world.entity.EntityType<T> byType) {
|
||||||
@@ -1645,7 +1653,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
@@ -1687,7 +1695,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||||
|
|
||||||
if (entityTypeTest == null) {
|
if (entityTypeTest == null) {
|
||||||
if (maxCount != Integer.MAX_VALUE) {
|
if (maxCount != Integer.MAX_VALUE) {
|
||||||
|
|||||||
@@ -74,10 +74,10 @@ index 0000000000000000000000000000000000000000..c58e52f7cc012babf4235e405e5fb501
|
|||||||
+
|
+
|
||||||
+}
|
+}
|
||||||
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 67ca905c0821deb279383811fd112f02c46a73a1..545dee7863095b70474abcc87c9c9c0f15a016f8 100644
|
index 1e74195d97a3547fc33d0c0b3f5263c0b6680b2b..b24a6e5b5e3b5ee8312ee97210f0179495625fa3 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
|
||||||
@@ -1819,6 +1819,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1820,6 +1820,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
worldserver.minimalTNT.clear(); // Sakura - visibility api
|
worldserver.minimalTNT.clear(); // Sakura - visibility api
|
||||||
worldserver.mergeHandler.expire(currentTickLong); // Sakura - merge cannon entities
|
worldserver.mergeHandler.expire(currentTickLong); // Sakura - merge cannon entities
|
||||||
worldserver.densityCache.clear(currentTickLong); // Sakura - explosion density cache
|
worldserver.densityCache.clear(currentTickLong); // Sakura - explosion density cache
|
||||||
@@ -124,7 +124,7 @@ index a8008c7550488be34b51f4280f5569170b1ebd1d..2e5a46b9d27b930870c68dbde93d8731
|
|||||||
public String getDescriptionId() {
|
public String getDescriptionId() {
|
||||||
return this.getOrCreateDescriptionId();
|
return this.getOrCreateDescriptionId();
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
index f412c39d7f3b95152e76c63a589e298250e9c438..91c8ceccf29bd25eb59a14a7d60c75a92bb016cb 100644
|
index c647ebd4ed589f535b1de68fe95da6056da78a8b..b28ff894def7ef0a2ebba7615a8dde46cbd23f52 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
@@ -144,7 +144,7 @@ public class Explosion {
|
@@ -144,7 +144,7 @@ public class Explosion {
|
||||||
@@ -158,7 +158,7 @@ index f412c39d7f3b95152e76c63a589e298250e9c438..91c8ceccf29bd25eb59a14a7d60c75a9
|
|||||||
private boolean clipsAnything(final Vec3 from, final Vec3 to,
|
private boolean clipsAnything(final Vec3 from, final Vec3 to,
|
||||||
final ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.LazyEntityCollisionContext context,
|
final ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.LazyEntityCollisionContext context,
|
||||||
final ca.spottedleaf.moonrise.patches.collisions.ExplosionBlockCache[] blockCache,
|
final ca.spottedleaf.moonrise.patches.collisions.ExplosionBlockCache[] blockCache,
|
||||||
@@ -834,6 +849,16 @@ public class Explosion {
|
@@ -831,6 +846,16 @@ public class Explosion {
|
||||||
// CraftBukkit start - TNTPrimeEvent
|
// CraftBukkit start - TNTPrimeEvent
|
||||||
BlockState iblockdata = this.level.getBlockState(blockposition);
|
BlockState iblockdata = this.level.getBlockState(blockposition);
|
||||||
Block block = iblockdata.getBlock();
|
Block block = iblockdata.getBlock();
|
||||||
@@ -176,10 +176,10 @@ index f412c39d7f3b95152e76c63a589e298250e9c438..91c8ceccf29bd25eb59a14a7d60c75a9
|
|||||||
Entity sourceEntity = this.source == null ? null : this.source;
|
Entity sourceEntity = this.source == null ? null : this.source;
|
||||||
BlockPos sourceBlock = sourceEntity == null ? BlockPos.containing(this.x, this.y, this.z) : null;
|
BlockPos sourceBlock = sourceEntity == null ? BlockPos.containing(this.x, this.y, this.z) : null;
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index 81a4a076017527eaddfcfbe737d60257ba8a01eb..ad6ae684a13b7d3e33f5e78d7eee1f52a12e4ab9 100644
|
index 503e5afa3d9130738a9374e591277aae9dc08282..7fd55ef2a2bff834535e78cb56e9dc372cd73e2b 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -656,6 +656,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
@@ -698,6 +698,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||||
public final it.unimi.dsi.fastutil.longs.Long2IntMap minimalTNT = new it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap(); // Sakura - visibility api
|
public final it.unimi.dsi.fastutil.longs.Long2IntMap minimalTNT = new it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap(); // Sakura - visibility api
|
||||||
public final me.samsuik.sakura.entity.merge.EntityMergeHandler mergeHandler = new me.samsuik.sakura.entity.merge.EntityMergeHandler(); // Sakura - merge cannon entities
|
public final me.samsuik.sakura.entity.merge.EntityMergeHandler mergeHandler = new me.samsuik.sakura.entity.merge.EntityMergeHandler(); // Sakura - merge cannon entities
|
||||||
public final me.samsuik.sakura.explosion.density.BlockDensityCache densityCache = new me.samsuik.sakura.explosion.density.BlockDensityCache(); // Sakura - explosion density cache
|
public final me.samsuik.sakura.explosion.density.BlockDensityCache densityCache = new me.samsuik.sakura.explosion.density.BlockDensityCache(); // Sakura - explosion density cache
|
||||||
|
|||||||
@@ -343,10 +343,10 @@ index 0000000000000000000000000000000000000000..4f5af6e241b0194ed982144fd9320315
|
|||||||
+
|
+
|
||||||
+}
|
+}
|
||||||
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 545dee7863095b70474abcc87c9c9c0f15a016f8..a826251f1d5f8ad670ee824bfcd093e6ab281bed 100644
|
index b24a6e5b5e3b5ee8312ee97210f0179495625fa3..9853a1015fb40eb314c4f4677d04fe6911271831 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
|
||||||
@@ -1820,6 +1820,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1821,6 +1821,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
worldserver.mergeHandler.expire(currentTickLong); // Sakura - merge cannon entities
|
worldserver.mergeHandler.expire(currentTickLong); // Sakura - merge cannon entities
|
||||||
worldserver.densityCache.clear(currentTickLong); // Sakura - explosion density cache
|
worldserver.densityCache.clear(currentTickLong); // Sakura - explosion density cache
|
||||||
worldserver.durabilityManager.expire(currentTickLong); // Sakura
|
worldserver.durabilityManager.expire(currentTickLong); // Sakura
|
||||||
@@ -355,10 +355,10 @@ index 545dee7863095b70474abcc87c9c9c0f15a016f8..a826251f1d5f8ad670ee824bfcd093e6
|
|||||||
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index ad6ae684a13b7d3e33f5e78d7eee1f52a12e4ab9..a3c968446d61965e247a1b1cb4ebe8a6b3605338 100644
|
index 7fd55ef2a2bff834535e78cb56e9dc372cd73e2b..ba6f1cac7c724317aa17d07628772301193deb2d 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -657,6 +657,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
@@ -699,6 +699,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||||
public final me.samsuik.sakura.entity.merge.EntityMergeHandler mergeHandler = new me.samsuik.sakura.entity.merge.EntityMergeHandler(); // Sakura - merge cannon entities
|
public final me.samsuik.sakura.entity.merge.EntityMergeHandler mergeHandler = new me.samsuik.sakura.entity.merge.EntityMergeHandler(); // Sakura - merge cannon entities
|
||||||
public final me.samsuik.sakura.explosion.density.BlockDensityCache densityCache = new me.samsuik.sakura.explosion.density.BlockDensityCache(); // Sakura - explosion density cache
|
public final me.samsuik.sakura.explosion.density.BlockDensityCache densityCache = new me.samsuik.sakura.explosion.density.BlockDensityCache(); // Sakura - explosion density cache
|
||||||
public final me.samsuik.sakura.explosion.durable.DurableBlockManager durabilityManager = new me.samsuik.sakura.explosion.durable.DurableBlockManager(); // Sakura - explosion durable blocks
|
public final me.samsuik.sakura.explosion.durable.DurableBlockManager durabilityManager = new me.samsuik.sakura.explosion.durable.DurableBlockManager(); // Sakura - explosion durable blocks
|
||||||
@@ -366,7 +366,7 @@ index ad6ae684a13b7d3e33f5e78d7eee1f52a12e4ab9..a3c968446d61965e247a1b1cb4ebe8a6
|
|||||||
|
|
||||||
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, Supplier<me.samsuik.sakura.configuration.WorldConfiguration> sakuraWorldConfigCreator, java.util.concurrent.Executor executor) { // Sakura - sakura configuration files// Paper - create paper world config & Anti-Xray
|
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, Supplier<me.samsuik.sakura.configuration.WorldConfiguration> sakuraWorldConfigCreator, java.util.concurrent.Executor executor) { // Sakura - sakura configuration files// Paper - create paper world config & Anti-Xray
|
||||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
||||||
@@ -1036,6 +1037,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
@@ -1078,6 +1079,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||||
} else {
|
} else {
|
||||||
BlockState iblockdata2 = this.getBlockState(pos);
|
BlockState iblockdata2 = this.getBlockState(pos);
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to disable entity ai
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
index 7b93c6a04cca2ac31d137f06ef83bb08559b10bf..8b432763d382f3134ecbab67850d8acdc0c9ff4f 100644
|
index bd7c6ce15698aed70376c109ba36f52d6794a2f8..24e2b6fcd6daec205839023dc42a03b2001a6aaf 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
@@ -910,7 +910,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
@@ -908,7 +908,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||||
protected final void serverAiStep() {
|
protected final void serverAiStep() {
|
||||||
++this.noActionTime;
|
++this.noActionTime;
|
||||||
// Paper start - Allow nerfed mobs to jump and float
|
// Paper start - Allow nerfed mobs to jump and float
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configure cannon physics by version
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
|
diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
|
||||||
index 740dc010cfd42941a6f9a2b2c543973429fdbfa3..523cd7cfd5e883cc4758ab9ad13251c3c38584cb 100644
|
index f1e66c91302db3c1a179305ce5dffc347828b9fe..9a869fb472c7194742bdf8d38f0f97301b0a7b29 100644
|
||||||
--- a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
|
--- a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
|
||||||
+++ b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
|
+++ b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
|
||||||
@@ -1463,6 +1463,14 @@ public final class CollisionUtil {
|
@@ -1463,6 +1463,14 @@ public final class CollisionUtil {
|
||||||
@@ -67,7 +67,7 @@ index 740dc010cfd42941a6f9a2b2c543973429fdbfa3..523cd7cfd5e883cc4758ab9ad13251c3
|
|||||||
if (xSmaller && z != 0.0) {
|
if (xSmaller && z != 0.0) {
|
||||||
z = performAABBCollisionsZ(axisalignedbb, z, aabbs);
|
z = performAABBCollisionsZ(axisalignedbb, z, aabbs);
|
||||||
diff --git a/src/main/java/me/samsuik/sakura/explosion/special/SpecialisedExplosion.java b/src/main/java/me/samsuik/sakura/explosion/special/SpecialisedExplosion.java
|
diff --git a/src/main/java/me/samsuik/sakura/explosion/special/SpecialisedExplosion.java b/src/main/java/me/samsuik/sakura/explosion/special/SpecialisedExplosion.java
|
||||||
index 709dc51ab4c9e8dad26cf883eebb3902a95bebf8..db6e7f8a8faf38612dc5191001975333a9f2ca59 100644
|
index 749795cfd2c9c7817c8578366a155db7dd6c3f08..8fddbdea8e28a1c0fefaa0c36ccad6354f182546 100644
|
||||||
--- a/src/main/java/me/samsuik/sakura/explosion/special/SpecialisedExplosion.java
|
--- a/src/main/java/me/samsuik/sakura/explosion/special/SpecialisedExplosion.java
|
||||||
+++ b/src/main/java/me/samsuik/sakura/explosion/special/SpecialisedExplosion.java
|
+++ b/src/main/java/me/samsuik/sakura/explosion/special/SpecialisedExplosion.java
|
||||||
@@ -177,9 +177,15 @@ public abstract class SpecialisedExplosion<T extends Entity> extends Explosion {
|
@@ -177,9 +177,15 @@ public abstract class SpecialisedExplosion<T extends Entity> extends Explosion {
|
||||||
@@ -106,7 +106,7 @@ index 2275999c5b6d9a6af59aa2539663e0edf575539f..43f26e1ec641f9dbaeba96ac3024d5ce
|
|||||||
protected int getExplosionCount() {
|
protected int getExplosionCount() {
|
||||||
return this.cause.getMergeEntityData().getCount();
|
return this.cause.getMergeEntityData().getCount();
|
||||||
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 f005e68998d30ec3ab062e3d562d9d4c2a89dc67..b81522bf1f7cc3745f275b1d3eedd80cecc01527 100644
|
index 18cefd77146cee72f1818cbb725dd1704ae5fec0..cacf0b267b5836f38520782c03f86ab698960860 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
|
||||||
@@ -385,7 +385,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -385,7 +385,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
@@ -141,7 +141,7 @@ index f005e68998d30ec3ab062e3d562d9d4c2a89dc67..b81522bf1f7cc3745f275b1d3eedd80c
|
|||||||
AABB axisalignedbb = this.getBoundingBox();
|
AABB axisalignedbb = this.getBoundingBox();
|
||||||
AABB axisalignedbb1 = new AABB(axisalignedbb.minX, axisalignedbb.minY - 1.0E-6D, axisalignedbb.minZ, axisalignedbb.maxX, axisalignedbb.minY, axisalignedbb.maxZ);
|
AABB axisalignedbb1 = new AABB(axisalignedbb.minX, axisalignedbb.minY - 1.0E-6D, axisalignedbb.minZ, axisalignedbb.maxX, axisalignedbb.minY, axisalignedbb.maxZ);
|
||||||
Optional<BlockPos> optional = this.level.findSupportingBlock(this, axisalignedbb1);
|
Optional<BlockPos> optional = this.level.findSupportingBlock(this, axisalignedbb1);
|
||||||
@@ -1172,7 +1179,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -1171,7 +1178,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
if (this.noPhysics) {
|
if (this.noPhysics) {
|
||||||
this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
|
this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
|
||||||
} else {
|
} else {
|
||||||
@@ -150,7 +150,7 @@ index f005e68998d30ec3ab062e3d562d9d4c2a89dc67..b81522bf1f7cc3745f275b1d3eedd80c
|
|||||||
movement = this.limitPistonMovement(movement);
|
movement = this.limitPistonMovement(movement);
|
||||||
if (movement.equals(Vec3.ZERO)) {
|
if (movement.equals(Vec3.ZERO)) {
|
||||||
return;
|
return;
|
||||||
@@ -1190,10 +1197,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -1189,10 +1196,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
Vec3 vec3d1 = this.collideScan(movement);
|
Vec3 vec3d1 = this.collideScan(movement);
|
||||||
double d0 = vec3d1.lengthSqr();
|
double d0 = vec3d1.lengthSqr();
|
||||||
|
|
||||||
@@ -163,7 +163,7 @@ index f005e68998d30ec3ab062e3d562d9d4c2a89dc67..b81522bf1f7cc3745f275b1d3eedd80c
|
|||||||
BlockHitResult movingobjectpositionblock = this.level().clip(new ClipContext(this.position(), this.position().add(vec3d1), ClipContext.Block.FALLDAMAGE_RESETTING, ClipContext.Fluid.WATER, this));
|
BlockHitResult movingobjectpositionblock = this.level().clip(new ClipContext(this.position(), this.position().add(vec3d1), ClipContext.Block.FALLDAMAGE_RESETTING, ClipContext.Fluid.WATER, this));
|
||||||
|
|
||||||
if (movingobjectpositionblock.getType() != HitResult.Type.MISS) {
|
if (movingobjectpositionblock.getType() != HitResult.Type.MISS) {
|
||||||
@@ -1229,6 +1236,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -1228,6 +1235,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
if (this.horizontalCollision) {
|
if (this.horizontalCollision) {
|
||||||
Vec3 vec3d2 = this.getDeltaMovement();
|
Vec3 vec3d2 = this.getDeltaMovement();
|
||||||
|
|
||||||
@@ -175,7 +175,7 @@ index f005e68998d30ec3ab062e3d562d9d4c2a89dc67..b81522bf1f7cc3745f275b1d3eedd80c
|
|||||||
this.setDeltaMovement(flag ? 0.0D : vec3d2.x, vec3d2.y, flag1 ? 0.0D : vec3d2.z);
|
this.setDeltaMovement(flag ? 0.0D : vec3d2.x, vec3d2.y, flag1 ? 0.0D : vec3d2.z);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1270,7 +1282,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -1269,7 +1281,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
|
this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
|
||||||
} else {
|
} else {
|
||||||
this.wasOnFire = this.isOnFire();
|
this.wasOnFire = this.isOnFire();
|
||||||
@@ -184,7 +184,7 @@ index f005e68998d30ec3ab062e3d562d9d4c2a89dc67..b81522bf1f7cc3745f275b1d3eedd80c
|
|||||||
this.activatedTick = Math.max(this.activatedTick, MinecraftServer.currentTick + 20); // Paper
|
this.activatedTick = Math.max(this.activatedTick, MinecraftServer.currentTick + 20); // Paper
|
||||||
this.activatedImmunityTick = Math.max(this.activatedImmunityTick, MinecraftServer.currentTick + 20); // Paper
|
this.activatedImmunityTick = Math.max(this.activatedImmunityTick, MinecraftServer.currentTick + 20); // Paper
|
||||||
movement = this.limitPistonMovement(movement);
|
movement = this.limitPistonMovement(movement);
|
||||||
@@ -1297,8 +1309,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -1296,8 +1308,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
Vec3 vec3d1 = this.collide(movement);
|
Vec3 vec3d1 = this.collide(movement);
|
||||||
double d0 = vec3d1.lengthSqr();
|
double d0 = vec3d1.lengthSqr();
|
||||||
|
|
||||||
@@ -195,7 +195,7 @@ index f005e68998d30ec3ab062e3d562d9d4c2a89dc67..b81522bf1f7cc3745f275b1d3eedd80c
|
|||||||
BlockHitResult movingobjectpositionblock = this.level().clip(new ClipContext(this.position(), this.position().add(vec3d1), ClipContext.Block.FALLDAMAGE_RESETTING, ClipContext.Fluid.WATER, this));
|
BlockHitResult movingobjectpositionblock = this.level().clip(new ClipContext(this.position(), this.position().add(vec3d1), ClipContext.Block.FALLDAMAGE_RESETTING, ClipContext.Fluid.WATER, this));
|
||||||
|
|
||||||
if (movingobjectpositionblock.getType() != HitResult.Type.MISS) {
|
if (movingobjectpositionblock.getType() != HitResult.Type.MISS) {
|
||||||
@@ -1334,6 +1346,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -1333,6 +1345,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
if (this.horizontalCollision) {
|
if (this.horizontalCollision) {
|
||||||
Vec3 vec3d2 = this.getDeltaMovement();
|
Vec3 vec3d2 = this.getDeltaMovement();
|
||||||
|
|
||||||
@@ -207,7 +207,7 @@ index f005e68998d30ec3ab062e3d562d9d4c2a89dc67..b81522bf1f7cc3745f275b1d3eedd80c
|
|||||||
this.setDeltaMovement(flag ? 0.0D : vec3d2.x, vec3d2.y, flag1 ? 0.0D : vec3d2.z);
|
this.setDeltaMovement(flag ? 0.0D : vec3d2.x, vec3d2.y, flag1 ? 0.0D : vec3d2.z);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1613,7 +1630,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -1612,7 +1629,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
} else {
|
} else {
|
||||||
AABB bb = currBoundingBox.expandTowards(movement.x, movement.y, movement.z);
|
AABB bb = currBoundingBox.expandTowards(movement.x, movement.y, movement.z);
|
||||||
this.collectCollisions(bb, potentialCollisionsVoxel, potentialCollisionsBB);
|
this.collectCollisions(bb, potentialCollisionsVoxel, potentialCollisionsBB);
|
||||||
@@ -216,7 +216,7 @@ index f005e68998d30ec3ab062e3d562d9d4c2a89dc67..b81522bf1f7cc3745f275b1d3eedd80c
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1622,7 +1639,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -1621,7 +1638,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
double y = movement.y;
|
double y = movement.y;
|
||||||
double z = movement.z;
|
double z = movement.z;
|
||||||
|
|
||||||
@@ -228,7 +228,7 @@ index f005e68998d30ec3ab062e3d562d9d4c2a89dc67..b81522bf1f7cc3745f275b1d3eedd80c
|
|||||||
|
|
||||||
if (y != 0.0) {
|
if (y != 0.0) {
|
||||||
y = this.scanY(currBoundingBox, y, voxelList, bbList);
|
y = this.scanY(currBoundingBox, y, voxelList, bbList);
|
||||||
@@ -1738,7 +1758,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -1737,7 +1757,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
return movement;
|
return movement;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,7 +237,7 @@ index f005e68998d30ec3ab062e3d562d9d4c2a89dc67..b81522bf1f7cc3745f275b1d3eedd80c
|
|||||||
|
|
||||||
if (stepHeight > 0.0
|
if (stepHeight > 0.0
|
||||||
&& (onGround || (limitedMoveVector.y != movement.y && movement.y < 0.0))
|
&& (onGround || (limitedMoveVector.y != movement.y && movement.y < 0.0))
|
||||||
@@ -1889,8 +1909,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -1888,8 +1908,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
|
|
||||||
protected void checkInsideBlocks() {
|
protected void checkInsideBlocks() {
|
||||||
AABB axisalignedbb = this.getBoundingBox();
|
AABB axisalignedbb = this.getBoundingBox();
|
||||||
@@ -474,7 +474,7 @@ index 56ad11f51e3ec395a88fa6d961cf8e99bde6b69f..095727d28139ffcda0da3be83b329ace
|
|||||||
// Paper end - Option to prevent TNT from moving in water
|
// Paper end - Option to prevent TNT from moving in water
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
index 0dd0397036309c881f955b78ba3934e33bcf18fd..22fa16f67100c68668a99312e38475499acac38a 100644
|
index 5fe530134e196d133b44e65cad3c63cd09e3f430..ddbadfeaa624f49931e929d545750c9163a6b11f 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
@@ -77,6 +77,7 @@ public class Explosion {
|
@@ -77,6 +77,7 @@ public class Explosion {
|
||||||
@@ -539,7 +539,7 @@ index 0dd0397036309c881f955b78ba3934e33bcf18fd..22fa16f67100c68668a99312e3847549
|
|||||||
|
|
||||||
if (d11 != 0.0D) {
|
if (d11 != 0.0D) {
|
||||||
d8 /= d11;
|
d8 /= d11;
|
||||||
@@ -1017,7 +1037,7 @@ public class Explosion {
|
@@ -1014,7 +1034,7 @@ public class Explosion {
|
||||||
// Sakura start - replace density cache
|
// Sakura start - replace density cache
|
||||||
float blockDensity = this.level.densityCache.getDensity(vec3d, entity);
|
float blockDensity = this.level.densityCache.getDensity(vec3d, entity);
|
||||||
if (blockDensity == me.samsuik.sakura.explosion.density.BlockDensityCache.UNKNOWN_DENSITY) {
|
if (blockDensity == me.samsuik.sakura.explosion.density.BlockDensityCache.UNKNOWN_DENSITY) {
|
||||||
@@ -548,7 +548,7 @@ index 0dd0397036309c881f955b78ba3934e33bcf18fd..22fa16f67100c68668a99312e3847549
|
|||||||
this.level.densityCache.putDensity(vec3d, entity, blockDensity);
|
this.level.densityCache.putDensity(vec3d, entity, blockDensity);
|
||||||
// Sakura end - replace density cache
|
// Sakura end - replace density cache
|
||||||
}
|
}
|
||||||
@@ -1025,6 +1045,17 @@ public class Explosion {
|
@@ -1022,6 +1042,17 @@ public class Explosion {
|
||||||
return blockDensity;
|
return blockDensity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -567,7 +567,7 @@ index 0dd0397036309c881f955b78ba3934e33bcf18fd..22fa16f67100c68668a99312e3847549
|
|||||||
private final Level world;
|
private final Level world;
|
||||||
private final double posX, posY, posZ;
|
private final double posX, posY, posZ;
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index a3c968446d61965e247a1b1cb4ebe8a6b3605338..85fe16848bdf5073a48aeff482a5f07b3266873f 100644
|
index ba6f1cac7c724317aa17d07628772301193deb2d..4364e66adaa44e444e3b528b86e0394d1b085068 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -196,6 +196,205 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
@@ -196,6 +196,205 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Treat solid blocks as full when moving fast
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
|
diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
|
||||||
index 523cd7cfd5e883cc4758ab9ad13251c3c38584cb..bc70364df17b9e893c1c774fed61999993c90aa3 100644
|
index 9a869fb472c7194742bdf8d38f0f97301b0a7b29..c19d2144fc0ebfa04c16d37c4b3e10ed26a4a55e 100644
|
||||||
--- a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
|
--- a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
|
||||||
+++ b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
|
+++ b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
|
||||||
@@ -1597,6 +1597,7 @@ public final class CollisionUtil {
|
@@ -1597,6 +1597,7 @@ public final class CollisionUtil {
|
||||||
@@ -28,8 +28,8 @@ index 523cd7cfd5e883cc4758ab9ad13251c3c38584cb..bc70364df17b9e893c1c774fed619999
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
- final boolean hasSpecial = ((ca.spottedleaf.moonrise.patches.collisions.world.CollisionLevelChunkSection)section).moonrise$getSpecialCollidingBlocks() != 0;
|
- final boolean hasSpecial = ((ca.spottedleaf.moonrise.patches.block_counting.BlockCountingChunkSection)section).moonrise$getSpecialCollidingBlocks() != 0;
|
||||||
+ final boolean hasSpecial = !fullBlocks && ((ca.spottedleaf.moonrise.patches.collisions.world.CollisionLevelChunkSection)section).moonrise$getSpecialCollidingBlocks() != 0; // Sakura - treat solid blocks as full when moving fast
|
+ final boolean hasSpecial = !fullBlocks && ((ca.spottedleaf.moonrise.patches.block_counting.BlockCountingChunkSection)section).moonrise$getSpecialCollidingBlocks() != 0; // Sakura - treat solid blocks as full when moving fast
|
||||||
final int sectionAdjust = !hasSpecial ? 1 : 0;
|
final int sectionAdjust = !hasSpecial ? 1 : 0;
|
||||||
|
|
||||||
final net.minecraft.world.level.chunk.PalettedContainer<net.minecraft.world.level.block.state.BlockState> blocks = section.states;
|
final net.minecraft.world.level.chunk.PalettedContainer<net.minecraft.world.level.block.state.BlockState> blocks = section.states;
|
||||||
@@ -47,7 +47,7 @@ index 523cd7cfd5e883cc4758ab9ad13251c3c38584cb..bc70364df17b9e893c1c774fed619999
|
|||||||
blockCollision = blockData.getCollisionShape(world, mutablePos, collisionShape);
|
blockCollision = blockData.getCollisionShape(world, mutablePos, collisionShape);
|
||||||
}
|
}
|
||||||
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 b81522bf1f7cc3745f275b1d3eedd80cecc01527..0886a33b036518083b86ca552521ef388d7055dd 100644
|
index a0c97506ae4ac7a8b1f0d8ea435995239a9afac0..d68e8a7408b50dcb07ecb5cc706f501cede474b6 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
|
||||||
@@ -565,6 +565,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -565,6 +565,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Reduce entity tracker player updates
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
index ac00b69197964e5c82bc597594d28fcf74f87a02..c276781231104b48de7b782b273722c25f463475 100644
|
index 7daf9f7ea047cdd7afe031baca77fe00f2324692..475af481cb0e14693f129b36e9abe49d43ae4e43 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
@@ -961,7 +961,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
@@ -928,7 +928,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||||
if (tracker == null) {
|
if (tracker == null) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -20,7 +20,7 @@ index ac00b69197964e5c82bc597594d28fcf74f87a02..c276781231104b48de7b782b273722c2
|
|||||||
tracker.serverEntity.sendChanges();
|
tracker.serverEntity.sendChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1213,12 +1217,30 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
@@ -1180,12 +1184,30 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Paper end - optimise entity tracker
|
// Paper end - optimise entity tracker
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add explosions dropping items config
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
index 6fbdbaa399c9381ea6906e7af7a7a29a4adb1666..cfcbbea230982cfa0f496eebcdc660c859650199 100644
|
index 726910c21440c62e35220294e4b639f4a8d242e2..64978e2c3bb5056e85b50a04f2d7fa8f8c76cd4b 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
@@ -911,6 +911,11 @@ public class Explosion {
|
@@ -908,6 +908,11 @@ public class Explosion {
|
||||||
this.level.densityCache.clear(-1);
|
this.level.densityCache.clear(-1);
|
||||||
}
|
}
|
||||||
// Sakura end - explosion density cache
|
// Sakura end - explosion density cache
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Optimise check inside blocks and fluids
|
|||||||
|
|
||||||
|
|
||||||
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 0886a33b036518083b86ca552521ef388d7055dd..cb3202e3cc4f87f606d8b2eb2a7a59bacae2077d 100644
|
index 4e0c83c251f362ef5b2d6fce6348d2469793a173..4918625c61b506a5e5a36de025a1502774cc47de 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
|
||||||
@@ -1923,18 +1923,37 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -1922,18 +1922,37 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
BlockPos blockposition1 = BlockPos.containing(axisalignedbb.maxX - offset, axisalignedbb.maxY - offset, axisalignedbb.maxZ - offset);
|
BlockPos blockposition1 = BlockPos.containing(axisalignedbb.maxX - offset, axisalignedbb.maxY - offset, axisalignedbb.maxZ - offset);
|
||||||
// Sakura end - physics version api
|
// Sakura end - physics version api
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ index 0886a33b036518083b86ca552521ef388d7055dd..cb3202e3cc4f87f606d8b2eb2a7a59ba
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
iblockdata.entityInside(this.level(), blockposition_mutableblockposition, this);
|
iblockdata.entityInside(this.level(), blockposition_mutableblockposition, this);
|
||||||
@@ -4711,7 +4730,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -4710,7 +4729,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
|
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
|
||||||
@@ -59,7 +59,7 @@ index 0886a33b036518083b86ca552521ef388d7055dd..cb3202e3cc4f87f606d8b2eb2a7a59ba
|
|||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
AABB axisalignedbb = this.getBoundingBox().deflate(0.001D);
|
AABB axisalignedbb = this.getBoundingBox().deflate(0.001D);
|
||||||
@@ -4728,11 +4747,30 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -4727,11 +4746,30 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
int k1 = 0;
|
int k1 = 0;
|
||||||
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
|
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Calculate biome noise once per chunk section
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
|
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
|
||||||
index d4bd71f70f80ea74947e6d478ff636be2ab7d432..40502c4de98cb2b97b9389fc10e319686e684141 100644
|
index c3b1caa352b988ec44fa2b2eb0536517711f5460..c3b2997760ca044e745a2a000206445d60fedc2c 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
|
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
|
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
|
||||||
@@ -241,12 +241,18 @@ public class LevelChunkSection implements ca.spottedleaf.moonrise.patches.collis
|
@@ -268,12 +268,18 @@ public class LevelChunkSection implements ca.spottedleaf.moonrise.patches.block_
|
||||||
|
|
||||||
public void fillBiomesFromNoise(BiomeResolver biomeSupplier, Climate.Sampler sampler, int x, int y, int z) {
|
public void fillBiomesFromNoise(BiomeResolver biomeSupplier, Climate.Sampler sampler, int x, int y, int z) {
|
||||||
PalettedContainer<Holder<Biome>> datapaletteblock = this.biomes.recreate();
|
PalettedContainer<Holder<Biome>> datapaletteblock = this.biomes.recreate();
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add entity travel distance limits
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
index a7ac1afc9db4daba86a492aea3a528806605231b..21b0c3f32e1a3837f040390514a30756497c2303 100644
|
index 3982f8feeac19ba8f3563b24466f97e099e5158d..da324b6bea6fb5732351104297a2d41de893d3c4 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -1260,6 +1260,11 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
@@ -1299,6 +1299,11 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||||
if (isActive) { // Paper - EAR 2
|
if (isActive) { // Paper - EAR 2
|
||||||
TimingHistory.activatedEntityTicks++;
|
TimingHistory.activatedEntityTicks++;
|
||||||
entity.tick();
|
entity.tick();
|
||||||
@@ -21,7 +21,7 @@ index a7ac1afc9db4daba86a492aea3a528806605231b..21b0c3f32e1a3837f040390514a30756
|
|||||||
} else { entity.inactiveTick(); } // Paper - EAR 2
|
} else { entity.inactiveTick(); } // Paper - EAR 2
|
||||||
this.getProfiler().pop();
|
this.getProfiler().pop();
|
||||||
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 cb3202e3cc4f87f606d8b2eb2a7a59bacae2077d..e8914a99346a4551888ef0ad2633cf68a364d891 100644
|
index 1ad28885b14420d44458be1504eadf3e4d8a4e2e..290a94c1c094019592255e8536de39111973bbfe 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
|
||||||
@@ -620,6 +620,19 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -620,6 +620,19 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity tracking range modifier
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
index c276781231104b48de7b782b273722c25f463475..2d69e97bd3a79e62dabefd6b4c478657b4cf1e8c 100644
|
index 475af481cb0e14693f129b36e9abe49d43ae4e43..75259a22ae042260303459c2096527f18b91bc75 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
@@ -1298,7 +1298,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
@@ -1265,7 +1265,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||||
double vec3d_dz = player.getZ() - this.entity.getZ();
|
double vec3d_dz = player.getZ() - this.entity.getZ();
|
||||||
// Paper end - remove allocation of Vec3D here
|
// Paper end - remove allocation of Vec3D here
|
||||||
int i = ChunkMap.this.getPlayerViewDistance(player);
|
int i = ChunkMap.this.getPlayerViewDistance(player);
|
||||||
@@ -21,10 +21,10 @@ index c276781231104b48de7b782b273722c25f463475..2d69e97bd3a79e62dabefd6b4c478657
|
|||||||
double d2 = d0 * d0;
|
double d2 = d0 * d0;
|
||||||
boolean flag = d1 <= d2 && this.entity.broadcastToPlayer(player) && ChunkMap.this.isChunkTracked(player, this.entity.chunkPosition().x, this.entity.chunkPosition().z);
|
boolean flag = d1 <= d2 && this.entity.broadcastToPlayer(player) && ChunkMap.this.isChunkTracked(player, this.entity.chunkPosition().x, this.entity.chunkPosition().z);
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
index dd57c78168a63c77c123abaa6e596632afd390a8..95eebc70eb5d58c1a22634a11db86de53af0d333 100644
|
index 95b582042133624a47c67719f86990862a539030..62783c4c951089cbc00073b5945ce56ec7dbae7a 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -332,6 +332,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
@@ -333,6 +333,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||||
return this.viewDistanceHolder;
|
return this.viewDistanceHolder;
|
||||||
}
|
}
|
||||||
// Paper end - rewrite chunk system
|
// Paper end - rewrite chunk system
|
||||||
@@ -33,7 +33,7 @@ index dd57c78168a63c77c123abaa6e596632afd390a8..95eebc70eb5d58c1a22634a11db86de5
|
|||||||
public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile, ClientInformation clientOptions) {
|
public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile, ClientInformation clientOptions) {
|
||||||
super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile);
|
super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile);
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index 6fb40ff3198e72314ade642102e11b7e007782e2..498c8751e7dbc0b7c17ac10df4e4e6afae0dc9ed 100644
|
index e340694c74add2f0e06b3e8bc9cc0bd50699e119..817b7248e4e055a66d1edbdd3d6e2ce854ff9542 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -3018,6 +3018,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -3018,6 +3018,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
|
|||||||
Reference in New Issue
Block a user