9
0
mirror of https://github.com/Samsuik/Sakura.git synced 2025-12-22 16:29:16 +00:00

Updated Upstream (1.21.4 Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@c0a3d51 Start update, apply API patches
PaperMC/Paper@172c7dc Work
PaperMC/Paper@ab9a3db More work
PaperMC/Paper@c60e47f More more work
PaperMC/Paper@bd55e32 More more more work
PaperMC/Paper@5265287 More more more more work
PaperMC/Paper@4601dc9 Some fixes, start updating CustomModelData API
PaperMC/Paper@2331dad Even more work
PaperMC/Paper@dc74c6f moonrise
PaperMC/Paper@d7d2f88 Apply remaining patches, fix API
PaperMC/Paper@f863bb7 Update generated classes
PaperMC/Paper@71a4ef8 Set java launcher for api generate task
PaperMC/Paper@b8aeecb Compilation fixes
PaperMC/Paper@6c35392 Tests succeed (by removing one)
PaperMC/Paper@b0603da Fix jd gson version, move back mc util diff
PaperMC/Paper@e2dd1d5 Add back post_teleport chunk ticket
PaperMC/Paper@7045b2a Update DataConverter
PaperMC/Paper@65633e3 Update Moonrise
This commit is contained in:
Samsuik
2024-12-04 00:31:06 +00:00
parent e1b741ea37
commit 9a7b139975
40 changed files with 236 additions and 247 deletions

View File

@@ -2,7 +2,7 @@ import io.papermc.paperweight.util.constants.PAPERCLIP_CONFIG
plugins { plugins {
java java
id("io.papermc.paperweight.patcher") version "1.7.4" id("io.papermc.paperweight.patcher") version "1.7.5"
} }
repositories { repositories {

View File

@@ -1,8 +1,8 @@
group=me.samsuik.sakura group=me.samsuik.sakura
version=1.21.3-R0.1-SNAPSHOT version=1.21.4-R0.1-SNAPSHOT
mcVersion=1.21.3 mcVersion=1.21.4
paperRef=da7138233f6392e791d790d1c3407414c855f9c2 paperRef=65633e373c5716ac78c9baabf82be2e84072bfff
org.gradle.jvmargs=-Xmx2G org.gradle.jvmargs=-Xmx2G
org.gradle.vfs.watch=false org.gradle.vfs.watch=false

View File

@@ -1183,7 +1183,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 c26e3a239441376f2694782d4f07943538677c71..4b9549955c4cdce65d09755090603bdb17a4589a 100644 index ab4f1bd1ebf0af54f3fa88ee9e2007d20445e7e9..686322e99b33fd3334302d3ccafd881b609b6d96 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
@@ -327,6 +327,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -327,6 +327,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1194,7 +1194,7 @@ index c26e3a239441376f2694782d4f07943538677c71..4b9549955c4cdce65d09755090603bdb
public boolean isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked public boolean isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
public volatile Thread shutdownThread; // Paper public volatile Thread shutdownThread; // Paper
@@ -511,6 +512,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -512,6 +513,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
Runtime.getRuntime().addShutdownHook(new org.bukkit.craftbukkit.util.ServerShutdownThread(this)); Runtime.getRuntime().addShutdownHook(new org.bukkit.craftbukkit.util.ServerShutdownThread(this));
// CraftBukkit end // CraftBukkit end
this.paperConfigurations = services.paperConfigurations(); // Paper - add paper configuration files this.paperConfigurations = services.paperConfigurations(); // Paper - add paper configuration files
@@ -1222,10 +1222,10 @@ index 17a158ff6ce6520b69a5a0032ba4c05449dd0cf8..282a0f91e41a0dcdeb48111a64a83b48
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 957cae6ddeba9efe3b55588567ae51e8b86b6a42..2a622f2d796ecb42598d230319804d06f0a30808 100644 index 7270a94246df73ee195156fc7b62470d090a337a..e587c16e03f6b3a3ed5a051115583fd288b94bab 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
@@ -597,7 +597,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -598,7 +598,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
// Add env and gen to constructor, IWorldDataServer -> WorldDataServer // Add env and gen to constructor, IWorldDataServer -> WorldDataServer
public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey<Level> resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List<CustomSpawner> list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) { public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey<Level> resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List<CustomSpawner> list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) {
@@ -1235,10 +1235,10 @@ index 957cae6ddeba9efe3b55588567ae51e8b86b6a42..2a622f2d796ecb42598d230319804d06
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 2cc264f577fdd81d02783e0d6146bea9728789c7..bcaeaf99919be2dba2ba6e5fac76b25766b446d1 100644 index 27f9d167b5ae9ce5117798ea44324107df59425f..34e7ae8b36e375280f9515c1580c55c0832fc194 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
@@ -172,6 +172,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -173,6 +173,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
return this.paperConfig; return this.paperConfig;
} }
// Paper end - add paper world config // Paper end - add paper world config
@@ -1251,7 +1251,7 @@ index 2cc264f577fdd81d02783e0d6146bea9728789c7..bcaeaf99919be2dba2ba6e5fac76b257
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
public static BlockPos lastPhysicsProblem; // Spigot public static BlockPos lastPhysicsProblem; // Spigot
@@ -830,7 +836,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -831,7 +837,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
} }
// Paper end - optimise random ticking // Paper end - optimise random ticking
@@ -1260,7 +1260,7 @@ index 2cc264f577fdd81d02783e0d6146bea9728789c7..bcaeaf99919be2dba2ba6e5fac76b257
// Paper start - getblock optimisations - cache world height/sections // Paper start - getblock optimisations - cache world height/sections
final DimensionType dimType = holder.value(); final DimensionType dimType = holder.value();
this.minY = dimType.minY(); this.minY = dimType.minY();
@@ -842,6 +848,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -843,6 +849,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
// Paper end - getblock optimisations - cache world height/sections // Paper end - getblock optimisations - cache world height/sections
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
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config
@@ -1289,7 +1289,7 @@ index ac8af406180bc680d46e8edc3da0fc2e5211345a..0f41db3a1e32eb81ea72084c0cf38687
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
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 be0d38544395a9b3befb898bb961f34e32fe9509..97c1db323971ca1a44c164bb90ae384ea21f5c8f 100644 index 1c2439ffc1e407ff69286817d22f127470ce07ba..58cf9672ed1826846db7a47b264c387de51020a5 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 {

View File

@@ -227,10 +227,10 @@ index 0000000000000000000000000000000000000000..5b3e2cca7ee16bc6ecfa0f29438fa658
+ } + }
+} +}
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 5dd56951b3046cf70b1536a6003918dfb8654ec6..e78798ddbc07fc63a16633b7d78d2deff31861ce 100644 index 686322e99b33fd3334302d3ccafd881b609b6d96..0bdefa7ad46887fe3eb9045b63195541d3b792e1 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
@@ -1889,6 +1889,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1890,6 +1890,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
gameprofilerfiller.pop(); gameprofilerfiller.pop();
gameprofilerfiller.pop(); gameprofilerfiller.pop();
worldserver.explosionDensityCache.clear(); // Paper - Optimize explosions worldserver.explosionDensityCache.clear(); // Paper - Optimize explosions
@@ -239,10 +239,10 @@ index 5dd56951b3046cf70b1536a6003918dfb8654ec6..e78798ddbc07fc63a16633b7d78d2def
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 b4e2d5b6f4cb569a91c1ac4a961be9eb89d10b5c..10107e6c4b448ce76650eb334bba740d11fd5874 100644 index 34e7ae8b36e375280f9515c1580c55c0832fc194..13e8ac95daa115720a2b1f52ad33d124351cbd6d 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
@@ -178,6 +178,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -179,6 +179,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
return this.sakuraConfig; return this.sakuraConfig;
} }
// Sakura end - sakura configuration files // Sakura end - sakura configuration files
@@ -256,7 +256,7 @@ index b4e2d5b6f4cb569a91c1ac4a961be9eb89d10b5c..10107e6c4b448ce76650eb334bba740d
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
public static BlockPos lastPhysicsProblem; // Spigot public static BlockPos lastPhysicsProblem; // Spigot
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 57da11c0da7322e74810e7108e9c8000b0c36520..26aaa0cc04b3c7547a36c2b688fd4402147f0839 100644 index a9f7ac8d1f5e184687d53ab3e8b348bb7f4f2ba0..7272e15eef99cee8c038219d3b5b49e33f9e432f 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
@@ -288,6 +288,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -288,6 +288,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {

View File

@@ -649,10 +649,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 e78798ddbc07fc63a16633b7d78d2deff31861ce..2af0b56d2c83a42f9e6324ce8dd763512d079c17 100644 index 0bdefa7ad46887fe3eb9045b63195541d3b792e1..1d0462b970304f543ff949f7aa32c67a1860ba4f 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
@@ -1890,6 +1890,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1891,6 +1891,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
gameprofilerfiller.pop(); gameprofilerfiller.pop();
worldserver.explosionDensityCache.clear(); // Paper - Optimize explosions worldserver.explosionDensityCache.clear(); // Paper - Optimize explosions
worldserver.localConfig().expire(currentTick); // Sakura - add local config worldserver.localConfig().expire(currentTick); // Sakura - add local config
@@ -661,7 +661,7 @@ index e78798ddbc07fc63a16633b7d78d2deff31861ce..2af0b56d2c83a42f9e6324ce8dd76351
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 52a6a4badace15a983f0acb431036bd704d9cebd..31383a3282b34265ab799c12652d7473d03214ee 100644 index cfeeddf2cb4ff50dbc29c6913e78ca1dee076790..d6c3f39cc9359f5d0fc5082949a7c860c38881cc 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
@@ -179,6 +179,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -179,6 +179,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -734,10 +734,10 @@ index 52a6a4badace15a983f0acb431036bd704d9cebd..31383a3282b34265ab799c12652d7473
// CraftBukkit start - respect vanish API // CraftBukkit start - respect vanish API
if (flag && !player.getBukkitEntity().canSee(this.entity.getBukkitEntity())) { // Paper - only consider hits if (flag && !player.getBukkitEntity().canSee(this.entity.getBukkitEntity())) { // Paper - only consider hits
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 1cce0f401f456370be2edb3a1184c9cc383b2053..fcf9b28cf5eabd4d94f5f3dd42b8367c1765df41 100644 index e587c16e03f6b3a3ed5a051115583fd288b94bab..0c1587b8ccf05e7a0a5df5a64c483cee434e1c0f 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
@@ -594,6 +594,21 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -595,6 +595,21 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
this.lagCompensationTick = (System.nanoTime() - net.minecraft.server.MinecraftServer.SERVER_INIT) / (java.util.concurrent.TimeUnit.MILLISECONDS.toNanos(50L)); this.lagCompensationTick = (System.nanoTime() - net.minecraft.server.MinecraftServer.SERVER_INIT) / (java.util.concurrent.TimeUnit.MILLISECONDS.toNanos(50L));
} }
// Paper end - lag compensation // Paper end - lag compensation
@@ -759,7 +759,7 @@ index 1cce0f401f456370be2edb3a1184c9cc383b2053..fcf9b28cf5eabd4d94f5f3dd42b8367c
// Add env and gen to constructor, IWorldDataServer -> WorldDataServer // Add env and gen to constructor, IWorldDataServer -> WorldDataServer
public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey<Level> resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List<CustomSpawner> list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) { public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey<Level> resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List<CustomSpawner> list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) {
@@ -1905,7 +1920,18 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -1906,7 +1921,18 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
if (entityplayer.distanceToSqr(vec3d) < 4096.0D) { if (entityplayer.distanceToSqr(vec3d) < 4096.0D) {
Optional<Vec3> optional = Optional.ofNullable((Vec3) serverexplosion.getHitPlayers().get(entityplayer)); Optional<Vec3> optional = Optional.ofNullable((Vec3) serverexplosion.getHitPlayers().get(entityplayer));
@@ -780,10 +780,10 @@ index 1cce0f401f456370be2edb3a1184c9cc383b2053..fcf9b28cf5eabd4d94f5f3dd42b8367c
} }
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 5a8f396d47577f087abb415c972fd4f51e50faba..ac8308be5b200237aa61a21404e558f245356546 100644 index 8aff5b7dd14b835788348b22b1fec4d381df816f..5266e37ade8851a8b73a4ae12ecd67a8d0c6e09d 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
@@ -359,6 +359,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -357,6 +357,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
@@ -845,10 +845,10 @@ index b0bc66dc7248aae691dcab68b925b52a1695e63f..2f9413b9442cc7f95e1974a772812fe3
throw new ReportedException(crashreport); throw new ReportedException(crashreport);
} }
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index cd1b6b539a62fa5237d6dab2d1c09a2e631d9941..b4e7e6ccc25a373f571c32f0328b90e04111e00b 100644 index 2fbe3d8722eeacc3b27ce38145aeffa610f9daab..e22f478c527e27b915cea68505316c6d22b899c0 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3247,6 +3247,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -3313,6 +3313,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
event.setCancelled(cancelled); event.setCancelled(cancelled);
AbstractContainerMenu oldContainer = this.player.containerMenu; // SPIGOT-1224 AbstractContainerMenu oldContainer = this.player.containerMenu; // SPIGOT-1224
@@ -857,7 +857,7 @@ index cd1b6b539a62fa5237d6dab2d1c09a2e631d9941..b4e7e6ccc25a373f571c32f0328b90e0
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 a15546e433ebba6c0de01bdaaef201a3d99a87b5..2aaf7ce81bff0c03da2211f145489d304ac669d2 100644 index 27618d07d718cb2a5783536e11d56f712303487b..20dac48cce9596217d1ebd1703e5ac2c0ede56e1 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,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -568,6 +568,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -872,7 +872,7 @@ index a15546e433ebba6c0de01bdaaef201a3d99a87b5..2aaf7ce81bff0c03da2211f145489d30
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/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index 06d9a519e64d4b8b8764b3ad7691ad93b5cee065..4a50ef9b25b9162815b879c60c294ed4be2edd5c 100644 index 410c4e4a42640ebe8a9c233eb2064aad76e45a27..e270eaec13afb16ed80e7c3fd8ea35ee58291263 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java --- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -78,6 +78,7 @@ public class FallingBlockEntity extends Entity { @@ -78,6 +78,7 @@ public class FallingBlockEntity extends Entity {
@@ -884,7 +884,7 @@ index 06d9a519e64d4b8b8764b3ad7691ad93b5cee065..4a50ef9b25b9162815b879c60c294ed4
public FallingBlockEntity(Level world, double x, double y, double z, BlockState block) { public FallingBlockEntity(Level world, double x, double y, double z, BlockState block) {
diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
index de87483600e55d88176fe25db621bbd3e464729f..5bd189fad703ac99d57258fa448dbcc103077297 100644 index 809f5e847e2f5bb594c130cebd2cb897ea768d82..eebd53ac889da265cb259ba3cb8c1ce4ef34d931 100644
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java --- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java +++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
@@ -63,6 +63,7 @@ public class PrimedTnt extends Entity implements TraceableEntity { @@ -63,6 +63,7 @@ public class PrimedTnt extends Entity implements TraceableEntity {
@@ -896,7 +896,7 @@ index de87483600e55d88176fe25db621bbd3e464729f..5bd189fad703ac99d57258fa448dbcc1
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/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 554714e449d1d2439b05d7e15f72afccd17d4df5..ab38f0913b7adf3593c5d0b5a65441afefeeffbc 100644 index 84c494ca81b8f58604b372ac7236147776817a4f..d00fcfd5219a532204533f159d68524b2d33ccc7 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
@@ -2394,6 +2394,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -2394,6 +2394,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -925,7 +925,7 @@ index 554714e449d1d2439b05d7e15f72afccd17d4df5..ab38f0913b7adf3593c5d0b5a65441af
} }
@Override @Override
@@ -3097,6 +3109,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -3082,6 +3094,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().allowsListing(); return this.getHandle().allowsListing();
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Load Chunks on Movement
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 aec503ca1551ce4b15b8975832cd664ebd670722..f6be260f942c6b9c65e8c3ed625639db75086267 100644 index fb251665cdbafab90c6ff5e1bcb34fc17124d4d9..a8abdfe0f9e7f8e1b1b92b03dec53906c553bf67 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
@@ -1912,6 +1912,7 @@ public final class CollisionUtil { @@ -1912,6 +1912,7 @@ public final class CollisionUtil {
@@ -39,19 +39,19 @@ index aec503ca1551ce4b15b8975832cd664ebd670722..f6be260f942c6b9c65e8c3ed625639db
// bound y // bound y
diff --git a/src/main/java/net/minecraft/server/level/TicketType.java b/src/main/java/net/minecraft/server/level/TicketType.java diff --git a/src/main/java/net/minecraft/server/level/TicketType.java b/src/main/java/net/minecraft/server/level/TicketType.java
index e701f57ac8b0efdf739389f9be7a255220bb3e21..35a437f3acfd2659341abd8ab6a3b21c00594ba9 100644 index 4d3f7d4a8e05a8d84aa5202134eda1ce9621712e..db159b9b4ffc032f5abe68bf294e58cce04e1baa 100644
--- a/src/main/java/net/minecraft/server/level/TicketType.java --- a/src/main/java/net/minecraft/server/level/TicketType.java
+++ b/src/main/java/net/minecraft/server/level/TicketType.java +++ b/src/main/java/net/minecraft/server/level/TicketType.java
@@ -26,6 +26,7 @@ public class TicketType<T> { @@ -26,6 +26,7 @@ public class TicketType<T> {
public static final TicketType<ChunkPos> UNKNOWN = TicketType.create("unknown", Comparator.comparingLong(ChunkPos::toLong), 1);
public static final TicketType<Unit> PLUGIN = TicketType.create("plugin", (a, b) -> 0); // CraftBukkit public static final TicketType<Unit> PLUGIN = TicketType.create("plugin", (a, b) -> 0); // CraftBukkit
public static final TicketType<org.bukkit.plugin.Plugin> PLUGIN_TICKET = TicketType.create("plugin_ticket", (plugin1, plugin2) -> plugin1.getClass().getName().compareTo(plugin2.getClass().getName())); // CraftBukkit public static final TicketType<org.bukkit.plugin.Plugin> PLUGIN_TICKET = TicketType.create("plugin_ticket", (plugin1, plugin2) -> plugin1.getClass().getName().compareTo(plugin2.getClass().getName())); // CraftBukkit
public static final TicketType<Integer> POST_TELEPORT = TicketType.create("post_teleport", Integer::compare, 5); // Paper - post teleport ticket type
+ public static final TicketType<Long> ENTITY_MOVEMENT = TicketType.create("entity_movement", Long::compareTo, 10*20); // Sakura - load chunks on movement + public static final TicketType<Long> ENTITY_MOVEMENT = TicketType.create("entity_movement", Long::compareTo, 10*20); // Sakura - load chunks on movement
public static <T> TicketType<T> create(String name, Comparator<T> argumentComparator) { public static <T> TicketType<T> create(String name, Comparator<T> argumentComparator) {
return new TicketType<>(name, argumentComparator, 0L); return new TicketType<>(name, argumentComparator, 0L);
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 2aaf7ce81bff0c03da2211f145489d304ac669d2..43f9ab0a18e1cb1998b737a948867b91962a805f 100644 index 20dac48cce9596217d1ebd1703e5ac2c0ede56e1..20980e5a180e0e7951d5c9a97b8b8f792c619b9a 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
@@ -572,6 +572,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -572,6 +572,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -75,7 +75,7 @@ index 2aaf7ce81bff0c03da2211f145489d304ac669d2..43f9ab0a18e1cb1998b737a948867b91
public Entity(EntityType<?> type, Level world) { public Entity(EntityType<?> type, Level world) {
this.id = Entity.ENTITY_COUNTER.incrementAndGet(); this.id = Entity.ENTITY_COUNTER.incrementAndGet();
@@ -1556,7 +1570,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1569,7 +1583,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.getCollisionsForBlocksOrWorldBorder( ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.getCollisionsForBlocksOrWorldBorder(
this.level, (Entity)(Object)this, initialCollisionBox, potentialCollisionsVoxel, potentialCollisionsBB, this.level, (Entity)(Object)this, initialCollisionBox, potentialCollisionsVoxel, potentialCollisionsBB,
@@ -84,7 +84,7 @@ index 2aaf7ce81bff0c03da2211f145489d304ac669d2..43f9ab0a18e1cb1998b737a948867b91
); );
potentialCollisionsBB.addAll(entityAABBs); potentialCollisionsBB.addAll(entityAABBs);
final Vec3 collided = ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.performCollisions(movement, currentBox, potentialCollisionsVoxel, potentialCollisionsBB); final Vec3 collided = ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.performCollisions(movement, currentBox, potentialCollisionsVoxel, potentialCollisionsBB);
@@ -5199,12 +5213,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -5229,12 +5243,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@Override @Override
public boolean shouldBeSaved() { public boolean shouldBeSaved() {
@@ -100,7 +100,7 @@ index 2aaf7ce81bff0c03da2211f145489d304ac669d2..43f9ab0a18e1cb1998b737a948867b91
public boolean mayInteract(ServerLevel world, BlockPos pos) { public boolean mayInteract(ServerLevel world, BlockPos pos) {
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index 4a50ef9b25b9162815b879c60c294ed4be2edd5c..6127993804a8c0b342d74c62f163b8371f7c049b 100644 index e270eaec13afb16ed80e7c3fd8ea35ee58291263..20fa9a70f2d51aaa7f9ea01150d65c1f73caa374 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java --- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -79,6 +79,7 @@ public class FallingBlockEntity extends Entity { @@ -79,6 +79,7 @@ public class FallingBlockEntity extends Entity {
@@ -112,7 +112,7 @@ index 4a50ef9b25b9162815b879c60c294ed4be2edd5c..6127993804a8c0b342d74c62f163b837
public FallingBlockEntity(Level world, double x, double y, double z, BlockState block) { public FallingBlockEntity(Level world, double x, double y, double z, BlockState block) {
diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
index eff8a8353b513da72e18f993fd41494291bdff3a..2ddfea0dd64cf6a2295583b747ab195346c24530 100644 index a7bcf197f062361c764d4e951ed88678994eca17..539219a4117c67278461ee483a457c005e6edcfc 100644
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java --- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java +++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
@@ -64,6 +64,7 @@ public class PrimedTnt extends Entity implements TraceableEntity { @@ -64,6 +64,7 @@ public class PrimedTnt extends Entity implements TraceableEntity {
@@ -124,7 +124,7 @@ index eff8a8353b513da72e18f993fd41494291bdff3a..2ddfea0dd64cf6a2295583b747ab1953
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/chunk/ChunkAccess.java b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java
index a402e2f774cfc062afab8d86969f3e6f38874063..d95c15bff4e7ab241c63b0abeaaaca0d07fd77ae 100644 index f87abb22dd161b2b74401086de80dc95c9ac2dbb..af1624aeda1ca72973b2b63ef05cd7367f678414 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java --- a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java
@@ -140,6 +140,17 @@ public abstract class ChunkAccess implements BiomeManager.NoiseBiomeSource, Ligh @@ -140,6 +140,17 @@ public abstract class ChunkAccess implements BiomeManager.NoiseBiomeSource, Ligh

View File

@@ -578,10 +578,10 @@ index 0000000000000000000000000000000000000000..27b6b071ad38589d37e35ea7fdf1d459
+ } + }
+} +}
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 2af0b56d2c83a42f9e6324ce8dd763512d079c17..64ffd589525d659ff1ea50ba628a70d8da642d22 100644 index 1d0462b970304f543ff949f7aa32c67a1860ba4f..733541e91b0064d50de6c5c0985e9c472685c20c 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
@@ -426,6 +426,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -427,6 +427,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
} }
// Paper end - rewrite chunk system // Paper end - rewrite chunk system
@@ -599,7 +599,7 @@ index 2af0b56d2c83a42f9e6324ce8dd763512d079c17..64ffd589525d659ff1ea50ba628a70d8
public MinecraftServer(OptionSet options, WorldLoader.DataLoadContext worldLoader, Thread thread, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PackRepository resourcepackrepository, WorldStem worldstem, Proxy proxy, DataFixer datafixer, Services services, ChunkProgressListenerFactory worldloadlistenerfactory) { public MinecraftServer(OptionSet options, WorldLoader.DataLoadContext worldLoader, Thread thread, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PackRepository resourcepackrepository, WorldStem worldstem, Proxy proxy, DataFixer datafixer, Services services, ChunkProgressListenerFactory worldloadlistenerfactory) {
super("Server"); super("Server");
@@ -1300,6 +1311,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1301,6 +1312,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);
@@ -607,7 +607,7 @@ index 2af0b56d2c83a42f9e6324ce8dd763512d079c17..64ffd589525d659ff1ea50ba628a70d8
tps1.add(currentTps, diff); tps1.add(currentTps, diff);
tps5.add(currentTps, diff); tps5.add(currentTps, diff);
tps15.add(currentTps, diff); tps15.add(currentTps, diff);
@@ -1342,6 +1354,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1343,6 +1355,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
@@ -616,10 +616,10 @@ index 2af0b56d2c83a42f9e6324ce8dd763512d079c17..64ffd589525d659ff1ea50ba628a70d8
gameprofilerfiller.popPush("nextTickWait"); gameprofilerfiller.popPush("nextTickWait");
this.mayHaveDelayedTasks = true; this.mayHaveDelayedTasks = true;
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 fcf9b28cf5eabd4d94f5f3dd42b8367c1765df41..8aa894cb85b08d41eb84d6c013f21585065226e7 100644 index 0c1587b8ccf05e7a0a5df5a64c483cee434e1c0f..e1f0da0b20ec310470160718338920bbd5b088de 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
@@ -200,7 +200,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -201,7 +201,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
private final MinecraftServer server; private final MinecraftServer server;
public final PrimaryLevelData serverLevelData; // CraftBukkit - type public final PrimaryLevelData serverLevelData; // CraftBukkit - type
private int lastSpawnChunkRadius; private int lastSpawnChunkRadius;

View File

@@ -155,7 +155,7 @@ index 0f99733660f91280e4c6262cf75b3c9cae86f65a..ba9f8fe6fafc54bbdfb104de28af4b39
return SynchedEntityData.DataValue.create(this.accessor, this.value); return SynchedEntityData.DataValue.create(this.accessor, this.value);
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
index 90eb4927fa51ce3df86aa7b6c71f49150a03e337..a960c7ac83cb32b2eb1f292fd9a561bae5677324 100644 index 103e2c414780be66324bcb9cd4ea539bbdfe12ad..8004c920f9709723c9f4fe1a430247b5ee1520f1 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java --- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -156,7 +156,7 @@ public class ServerEntity { @@ -156,7 +156,7 @@ public class ServerEntity {
@@ -185,10 +185,10 @@ index 90eb4927fa51ce3df86aa7b6c71f49150a03e337..a960c7ac83cb32b2eb1f292fd9a561ba
if (this.entity instanceof LivingEntity) { if (this.entity instanceof LivingEntity) {
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 43f9ab0a18e1cb1998b737a948867b91962a805f..42e72e0406c3e429fc7a6d15cbfa0217e309db5f 100644 index 20980e5a180e0e7951d5c9a97b8b8f792c619b9a..384b64cfbc2fef49fa22baf1f640ea8f440093cd 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
@@ -3673,7 +3673,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -3703,7 +3703,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.entityData.markDirty(Entity.DATA_AIR_SUPPLY_ID); this.entityData.markDirty(Entity.DATA_AIR_SUPPLY_ID);
return; return;
} }
@@ -198,7 +198,7 @@ index 43f9ab0a18e1cb1998b737a948867b91962a805f..42e72e0406c3e429fc7a6d15cbfa0217
} }
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index 6127993804a8c0b342d74c62f163b8371f7c049b..35d8422ea3bcdc52db6a7f6702fd593346b30c2c 100644 index 20fa9a70f2d51aaa7f9ea01150d65c1f73caa374..81d02da6afd4b77c0ca60e9c8c5100ce6988753c 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java --- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -124,7 +124,7 @@ public class FallingBlockEntity extends Entity { @@ -124,7 +124,7 @@ public class FallingBlockEntity extends Entity {
@@ -211,7 +211,7 @@ index 6127993804a8c0b342d74c62f163b8371f7c049b..35d8422ea3bcdc52db6a7f6702fd5933
public BlockPos getStartPos() { public BlockPos getStartPos() {
diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
index 2ddfea0dd64cf6a2295583b747ab195346c24530..25a25b5c6497c9823a41e6bd8fd22f0841377c62 100644 index 539219a4117c67278461ee483a457c005e6edcfc..46b729ecf0c58bdbe7a4717e73b098dcffd910f1 100644
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java --- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java +++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
@@ -217,7 +217,7 @@ public class PrimedTnt extends Entity implements TraceableEntity { @@ -217,7 +217,7 @@ public class PrimedTnt extends Entity implements TraceableEntity {
@@ -224,10 +224,10 @@ index 2ddfea0dd64cf6a2295583b747ab195346c24530..25a25b5c6497c9823a41e6bd8fd22f08
public int getFuse() { public int getFuse() {
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 61d412c4f1ebd55661cc3f0260468e3ac0efe0bb..c3e90356ab409f408b767618db718e3926edf8d1 100644 index 5b8b85a295a08ae495f729c595b3a78778965342..99133ad27aac31f68101aff4a4c4965c7ff1fd6b 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -676,7 +676,7 @@ public abstract class Player extends LivingEntity { @@ -679,7 +679,7 @@ public abstract class Player extends LivingEntity {
public void increaseScore(int score) { public void increaseScore(int score) {
int j = this.getScore(); int j = this.getScore();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Copy EntityList methods to BasicEntityList
diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java
index b3c993a790fc3fab6a408c731deb297f74c959ce..a24c509fc1f1052047d73847aacdd863fe8ea6e1 100644 index d21ce54ebb5724c04eadf56a2cde701d5eeb5db2..1fad004f07270e8a27a85557de6fcf5e693751db 100644
--- a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java --- a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java
+++ b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java +++ b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java
@@ -392,6 +392,13 @@ public final class ChunkEntitySlices { @@ -383,6 +383,13 @@ public final class ChunkEntitySlices {
private E[] storage; private E[] storage;
private int size; private int size;
@@ -22,7 +22,7 @@ index b3c993a790fc3fab6a408c731deb297f74c959ce..a24c509fc1f1052047d73847aacdd863
public BasicEntityList() { public BasicEntityList() {
this(0); this(0);
@@ -412,6 +419,7 @@ public final class ChunkEntitySlices { @@ -403,6 +410,7 @@ public final class ChunkEntitySlices {
private void resize() { private void resize() {
if (this.storage == EMPTY) { if (this.storage == EMPTY) {
this.storage = (E[])new Entity[DEFAULT_CAPACITY]; this.storage = (E[])new Entity[DEFAULT_CAPACITY];
@@ -30,7 +30,7 @@ index b3c993a790fc3fab6a408c731deb297f74c959ce..a24c509fc1f1052047d73847aacdd863
} else { } else {
this.storage = Arrays.copyOf(this.storage, this.storage.length * 2); this.storage = Arrays.copyOf(this.storage, this.storage.length * 2);
} }
@@ -425,6 +433,7 @@ public final class ChunkEntitySlices { @@ -416,6 +424,7 @@ public final class ChunkEntitySlices {
} else { } else {
this.storage[idx] = entity; this.storage[idx] = entity;
} }
@@ -38,7 +38,7 @@ index b3c993a790fc3fab6a408c731deb297f74c959ce..a24c509fc1f1052047d73847aacdd863
} }
public int indexOf(final E entity) { public int indexOf(final E entity) {
@@ -440,24 +449,32 @@ public final class ChunkEntitySlices { @@ -431,24 +440,32 @@ public final class ChunkEntitySlices {
} }
public boolean remove(final E entity) { public boolean remove(final E entity) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add utility methods to EntitySlices
diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java
index a24c509fc1f1052047d73847aacdd863fe8ea6e1..88b1a9b4b3da23b8e500ec343915e66e9b4f19b6 100644 index 1fad004f07270e8a27a85557de6fcf5e693751db..39148fe540d616cdd4d63c4d1a02b422cab0f6eb 100644
--- a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java --- a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java
+++ b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java +++ b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java
@@ -297,6 +297,12 @@ public final class ChunkEntitySlices { @@ -297,6 +297,12 @@ public final class ChunkEntitySlices {
@@ -21,7 +21,7 @@ index a24c509fc1f1052047d73847aacdd863fe8ea6e1..88b1a9b4b3da23b8e500ec343915e66e
public void getHardCollidingEntities(final Entity except, final AABB box, final List<Entity> into, final Predicate<? super Entity> predicate) { public void getHardCollidingEntities(final Entity except, final AABB box, final List<Entity> into, final Predicate<? super Entity> predicate) {
this.hardCollidingEntities.getEntities(except, box, into, predicate); this.hardCollidingEntities.getEntities(except, box, into, predicate);
} }
@@ -521,6 +527,18 @@ public final class ChunkEntitySlices { @@ -512,6 +518,18 @@ public final class ChunkEntitySlices {
} }
} }

View File

@@ -52,7 +52,7 @@ index 0000000000000000000000000000000000000000..aeb5f128b369753cb20b7310fa382ddf
+ } + }
+} +}
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 42e72e0406c3e429fc7a6d15cbfa0217e309db5f..b460ce03626f8995e029ad7dbd932cc2c8f0bf20 100644 index 384b64cfbc2fef49fa22baf1f640ea8f440093cd..316ab62995a7804cf85a2cb986b22e15cd22b01c 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
@@ -586,6 +586,25 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -586,6 +586,25 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -82,10 +82,10 @@ index 42e72e0406c3e429fc7a6d15cbfa0217e309db5f..b460ce03626f8995e029ad7dbd932cc2
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 10107e6c4b448ce76650eb334bba740d11fd5874..b40db35a8162efcaa1fa88aa760a4d6f59ec1718 100644 index 13e8ac95daa115720a2b1f52ad33d124351cbd6d..c69c04451c61bcc32e539baae160f05e3418841f 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
@@ -1499,6 +1499,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -1500,6 +1500,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 {

View File

@@ -408,10 +408,10 @@ index 0000000000000000000000000000000000000000..fc68bccf135bdcc7b3db7976e452ccae
+ } + }
+} +}
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 64ffd589525d659ff1ea50ba628a70d8da642d22..ffd78b7622593a757a61e01561d3ef2b37bf1812 100644 index 733541e91b0064d50de6c5c0985e9c472685c20c..c73aa5fd7da18219d1da63a0973f397316ba4210 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
@@ -1904,6 +1904,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1905,6 +1905,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.explosionDensityCache.clear(); // Paper - Optimize explosions worldserver.explosionDensityCache.clear(); // Paper - Optimize explosions
worldserver.localConfig().expire(currentTick); // Sakura - add local config worldserver.localConfig().expire(currentTick); // Sakura - add local config
worldserver.explosionPositions.clear(); // Sakura - client visibility settings worldserver.explosionPositions.clear(); // Sakura - client visibility settings
@@ -420,10 +420,10 @@ index 64ffd589525d659ff1ea50ba628a70d8da642d22..ffd78b7622593a757a61e01561d3ef2b
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 8aa894cb85b08d41eb84d6c013f21585065226e7..d1268f21dc87b7d8755ff2cf95a09a780e466576 100644 index e1f0da0b20ec310470160718338920bbd5b088de..1e940c5b9ce60dd1dd7ec03e83766e26d1112d73 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
@@ -806,6 +806,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -807,6 +807,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
} }
org.spigotmc.ActivationRange.activateEntities(this); // Spigot org.spigotmc.ActivationRange.activateEntities(this); // Spigot
@@ -431,7 +431,7 @@ index 8aa894cb85b08d41eb84d6c013f21585065226e7..d1268f21dc87b7d8755ff2cf95a09a78
this.entityTickList.forEach((entity) -> { this.entityTickList.forEach((entity) -> {
if (!entity.isRemoved()) { if (!entity.isRemoved()) {
if (!tickratemanager.isEntityFrozen(entity)) { if (!tickratemanager.isEntityFrozen(entity)) {
@@ -823,6 +824,15 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -824,6 +825,15 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
entity.stopRiding(); entity.stopRiding();
} }
@@ -448,7 +448,7 @@ index 8aa894cb85b08d41eb84d6c013f21585065226e7..d1268f21dc87b7d8755ff2cf95a09a78
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 b460ce03626f8995e029ad7dbd932cc2c8f0bf20..e7f59ead5223858e20722e52b8e31961fe29dccf 100644 index 316ab62995a7804cf85a2cb986b22e15cd22b01c..fd1d02604a1e46545c7f2c8ad89968279e2fe1bf 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
@@ -605,6 +605,23 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -605,6 +605,23 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -475,7 +475,7 @@ index b460ce03626f8995e029ad7dbd932cc2c8f0bf20..e7f59ead5223858e20722e52b8e31961
public Entity(EntityType<?> type, Level world) { public Entity(EntityType<?> type, Level world) {
this.id = Entity.ENTITY_COUNTER.incrementAndGet(); this.id = Entity.ENTITY_COUNTER.incrementAndGet();
@@ -5203,6 +5220,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -5233,6 +5250,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
if (this.removalReason != Entity.RemovalReason.UNLOADED_TO_CHUNK) { this.getPassengers().forEach(Entity::stopRiding); } // Paper - rewrite chunk system if (this.removalReason != Entity.RemovalReason.UNLOADED_TO_CHUNK) { this.getPassengers().forEach(Entity::stopRiding); } // Paper - rewrite chunk system
this.levelCallback.onRemove(entity_removalreason); this.levelCallback.onRemove(entity_removalreason);
this.onRemoval(entity_removalreason); this.onRemoval(entity_removalreason);
@@ -488,7 +488,7 @@ index b460ce03626f8995e029ad7dbd932cc2c8f0bf20..e7f59ead5223858e20722e52b8e31961
if (!(this instanceof ServerPlayer) && entity_removalreason != RemovalReason.CHANGED_DIMENSION && !alreadyRemoved) { if (!(this instanceof ServerPlayer) && entity_removalreason != RemovalReason.CHANGED_DIMENSION && !alreadyRemoved) {
// Players need to be special cased, because they are regularly removed from the world // Players need to be special cased, because they are regularly removed from the world
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index 35d8422ea3bcdc52db6a7f6702fd593346b30c2c..f0617e9d71fa47dfc0566f31d85b8a05ba3b16fc 100644 index 81d02da6afd4b77c0ca60e9c8c5100ce6988753c..7dc5e5d91bb91c86ddca52a462903e8452396090 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java --- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -57,7 +57,7 @@ import org.bukkit.craftbukkit.event.CraftEventFactory; @@ -57,7 +57,7 @@ import org.bukkit.craftbukkit.event.CraftEventFactory;
@@ -596,7 +596,7 @@ index 35d8422ea3bcdc52db6a7f6702fd593346b30c2c..f0617e9d71fa47dfc0566f31d85b8a05
public void setHurtsEntities(float fallHurtAmount, int fallHurtMax) { public void setHurtsEntities(float fallHurtAmount, int fallHurtMax) {
diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
index 25a25b5c6497c9823a41e6bd8fd22f0841377c62..6b739e820af6333c1ff3a4b87154d4c00c9a5559 100644 index 46b729ecf0c58bdbe7a4717e73b098dcffd910f1..f7d8e2ba0ee9b8dd27f20a3e75992b107d07fbf0 100644
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java --- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java +++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
@@ -33,7 +33,7 @@ import org.bukkit.event.entity.EntityRemoveEvent; @@ -33,7 +33,7 @@ import org.bukkit.event.entity.EntityRemoveEvent;
@@ -688,10 +688,10 @@ index 25a25b5c6497c9823a41e6bd8fd22f0841377c62..6b739e820af6333c1ff3a4b87154d4c0
if (nbt.contains("explosion_power", 99)) { if (nbt.contains("explosion_power", 99)) {
this.explosionPower = Mth.clamp(nbt.getFloat("explosion_power"), 0.0F, 128.0F); this.explosionPower = Mth.clamp(nbt.getFloat("explosion_power"), 0.0F, 128.0F);
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 b40db35a8162efcaa1fa88aa760a4d6f59ec1718..d73073ae752d9983785b9402088ae6cf7188a8bf 100644 index c69c04451c61bcc32e539baae160f05e3418841f..8f4a0912a5b5f17c22d2b4c0ef39e1c5566fa5f7 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
@@ -841,6 +841,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -842,6 +842,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
return chunk != null ? chunk.getNoiseBiome(x, y, z) : this.getUncachedNoiseBiome(x, y, z); return chunk != null ? chunk.getNoiseBiome(x, y, z) : this.getUncachedNoiseBiome(x, y, z);
} }
// Paper end - optimise random ticking // Paper end - optimise random ticking

View File

@@ -126,10 +126,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 ffd78b7622593a757a61e01561d3ef2b37bf1812..7da3a92b9c81cc903d10b50ea0efd0151626a8e5 100644 index c73aa5fd7da18219d1da63a0973f397316ba4210..56357e253247d19c108a7f753058fa3eba0302ee 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
@@ -1905,6 +1905,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1906,6 +1906,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.localConfig().expire(currentTick); // Sakura - add local config worldserver.localConfig().expire(currentTick); // Sakura - add local config
worldserver.explosionPositions.clear(); // Sakura - client visibility settings worldserver.explosionPositions.clear(); // Sakura - client visibility settings
worldserver.mergeHandler.expire(currentTick); // Sakura - merge cannon entities worldserver.mergeHandler.expire(currentTick); // Sakura - merge cannon entities
@@ -138,10 +138,10 @@ index ffd78b7622593a757a61e01561d3ef2b37bf1812..7da3a92b9c81cc903d10b50ea0efd015
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 d73073ae752d9983785b9402088ae6cf7188a8bf..5957601b3bdc416cb7851897546d2348c5f74721 100644 index 8f4a0912a5b5f17c22d2b4c0ef39e1c5566fa5f7..addab159f6fb73fe063f8a057c281d0594a99122 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
@@ -842,6 +842,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -843,6 +843,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
} }
// Paper end - optimise random ticking // Paper end - optimise random ticking
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
@@ -150,7 +150,7 @@ index d73073ae752d9983785b9402088ae6cf7188a8bf..5957601b3bdc416cb7851897546d2348
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, 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.function.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, 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.function.Supplier<me.samsuik.sakura.configuration.WorldConfiguration> sakuraWorldConfigCreator, java.util.concurrent.Executor executor) { // Sakura - sakura configuration files // Paper - create paper world config & Anti-Xray
// Paper start - getblock optimisations - cache world height/sections // Paper start - getblock optimisations - cache world height/sections
diff --git a/src/main/java/net/minecraft/world/level/ServerExplosion.java b/src/main/java/net/minecraft/world/level/ServerExplosion.java diff --git a/src/main/java/net/minecraft/world/level/ServerExplosion.java b/src/main/java/net/minecraft/world/level/ServerExplosion.java
index a92be80081178cc302a7f0b646bad7daa28f7c66..10432b31acd047ac2aa8581f2ee863254ec8d1eb 100644 index 076ef180360c54517b9acb3ef9e803be41b66f9d..4f9401f654630b5c219681efdda935006629eca7 100644
--- a/src/main/java/net/minecraft/world/level/ServerExplosion.java --- a/src/main/java/net/minecraft/world/level/ServerExplosion.java
+++ b/src/main/java/net/minecraft/world/level/ServerExplosion.java +++ b/src/main/java/net/minecraft/world/level/ServerExplosion.java
@@ -297,7 +297,12 @@ public class ServerExplosion implements Explosion { @@ -297,7 +297,12 @@ public class ServerExplosion implements Explosion {
@@ -198,7 +198,7 @@ index a92be80081178cc302a7f0b646bad7daa28f7c66..10432b31acd047ac2aa8581f2ee86325
Iterator iterator = positions.iterator(); Iterator iterator = positions.iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
@@ -864,14 +884,12 @@ public class ServerExplosion implements Explosion { @@ -868,14 +888,12 @@ public class ServerExplosion implements Explosion {
// Paper start - Optimize explosions // Paper start - Optimize explosions
private float getBlockDensity(Vec3 vec3d, Entity entity) { private float getBlockDensity(Vec3 vec3d, Entity entity) {

View File

@@ -438,10 +438,10 @@ index 0000000000000000000000000000000000000000..ebe5f0c8c2f09920b5f5ef734e63f5e7
+ } + }
+} +}
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 4c02453b6663f369377940ece30e8a2a4cc4c7d5..e39f4e4716b8794e506d3ffcbc35ae88d0fbc23a 100644 index 1e940c5b9ce60dd1dd7ec03e83766e26d1112d73..1973da88ac7c3a36cc2db48aeb7d4eab788be500 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
@@ -1912,7 +1912,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -1913,7 +1913,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
Explosion.BlockInteraction explosion_effect1 = explosion_effect; Explosion.BlockInteraction explosion_effect1 = explosion_effect;
Vec3 vec3d = new Vec3(d0, d1, d2); Vec3 vec3d = new Vec3(d0, d1, d2);
@@ -459,7 +459,7 @@ index 4c02453b6663f369377940ece30e8a2a4cc4c7d5..e39f4e4716b8794e506d3ffcbc35ae88
if (configurator != null) configurator.accept(serverexplosion);// Paper - Allow explosions to damage source if (configurator != null) configurator.accept(serverexplosion);// Paper - Allow explosions to damage source
serverexplosion.explode(); serverexplosion.explode();
@@ -1921,6 +1930,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -1922,6 +1931,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
return serverexplosion; return serverexplosion;
} }
// CraftBukkit end // CraftBukkit end
@@ -473,7 +473,7 @@ index 4c02453b6663f369377940ece30e8a2a4cc4c7d5..e39f4e4716b8794e506d3ffcbc35ae88
ParticleOptions particleparam2 = serverexplosion.isSmall() ? particleparam : particleparam1; ParticleOptions particleparam2 = serverexplosion.isSmall() ? particleparam : particleparam1;
Iterator iterator = this.players.iterator(); Iterator iterator = this.players.iterator();
@@ -1945,7 +1961,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -1946,7 +1962,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
} }
} }
@@ -483,7 +483,7 @@ index 4c02453b6663f369377940ece30e8a2a4cc4c7d5..e39f4e4716b8794e506d3ffcbc35ae88
private Explosion.BlockInteraction getDestroyType(GameRules.Key<GameRules.BooleanValue> decayRule) { private Explosion.BlockInteraction getDestroyType(GameRules.Key<GameRules.BooleanValue> decayRule) {
diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
index 6b739e820af6333c1ff3a4b87154d4c00c9a5559..0a9e62dd90c6aba4ff97391d69f9a92d9555cae6 100644 index f7d8e2ba0ee9b8dd27f20a3e75992b107d07fbf0..187cb36e139ce66497e4e20ce75c0a5c4309632e 100644
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java --- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java +++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
@@ -78,20 +78,7 @@ public class PrimedTnt extends Entity implements TraceableEntity, me.samsuik.sak @@ -78,20 +78,7 @@ public class PrimedTnt extends Entity implements TraceableEntity, me.samsuik.sak
@@ -509,7 +509,7 @@ index 6b739e820af6333c1ff3a4b87154d4c00c9a5559..0a9e62dd90c6aba4ff97391d69f9a92d
// Sakura end - merge cannon entities // Sakura end - merge cannon entities
diff --git a/src/main/java/net/minecraft/world/level/ServerExplosion.java b/src/main/java/net/minecraft/world/level/ServerExplosion.java diff --git a/src/main/java/net/minecraft/world/level/ServerExplosion.java b/src/main/java/net/minecraft/world/level/ServerExplosion.java
index b07c2eb8cc3cc54e8ab72c5ed3d6d7623416e7fb..59e38ee6ac0699350a7021f1d074fdfee4a5ba41 100644 index 190eca0e25a8761f88d15a5eac02d9a67b5635de..74abe5fe92b3f1fe0139f4879fe5efa10d0623e0 100644
--- a/src/main/java/net/minecraft/world/level/ServerExplosion.java --- a/src/main/java/net/minecraft/world/level/ServerExplosion.java
+++ b/src/main/java/net/minecraft/world/level/ServerExplosion.java +++ b/src/main/java/net/minecraft/world/level/ServerExplosion.java
@@ -52,9 +52,9 @@ public class ServerExplosion implements Explosion { @@ -52,9 +52,9 @@ public class ServerExplosion implements Explosion {
@@ -650,7 +650,7 @@ index b07c2eb8cc3cc54e8ab72c5ed3d6d7623416e7fb..59e38ee6ac0699350a7021f1d074fdfe
return this.blockInteraction != Explosion.BlockInteraction.KEEP; return this.blockInteraction != Explosion.BlockInteraction.KEEP;
} }
@@ -904,7 +926,7 @@ public class ServerExplosion implements Explosion { @@ -908,7 +930,7 @@ public class ServerExplosion implements Explosion {
} }
// Paper start - Optimize explosions // Paper start - Optimize explosions

View File

@@ -5,10 +5,10 @@ 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 e7f59ead5223858e20722e52b8e31961fe29dccf..12ab6b6ff6444da963f3e1160bf779f7fdb72c48 100644 index fd1d02604a1e46545c7f2c8ad89968279e2fe1bf..953aa1b3d292dd8e8ed29926c269e6d6e79a83c0 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
@@ -1214,6 +1214,75 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1222,6 +1222,75 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return this.moveStartZ; return this.moveStartZ;
} }
// Paper end - detailed watchdog information // Paper end - detailed watchdog information
@@ -84,7 +84,7 @@ index e7f59ead5223858e20722e52b8e31961fe29dccf..12ab6b6ff6444da963f3e1160bf779f7
public void move(MoverType type, Vec3 movement) { public void move(MoverType type, Vec3 movement) {
final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity
@@ -1575,6 +1644,107 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1588,6 +1657,107 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return offsetFactor; return offsetFactor;
} }
@@ -193,7 +193,7 @@ index e7f59ead5223858e20722e52b8e31961fe29dccf..12ab6b6ff6444da963f3e1160bf779f7
// Paper start - optimise collisions // Paper start - optimise collisions
final boolean xZero = movement.x == 0.0; final boolean xZero = movement.x == 0.0;
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index f0617e9d71fa47dfc0566f31d85b8a05ba3b16fc..32811e9d925911864e0c0fa5a2e25031098f423e 100644 index 7dc5e5d91bb91c86ddca52a462903e8452396090..a2683e26fc252f0ce933e3ea71fde9c84bcee0fd 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java --- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -213,7 +213,7 @@ public class FallingBlockEntity extends Entity implements me.samsuik.sakura.enti @@ -213,7 +213,7 @@ public class FallingBlockEntity extends Entity implements me.samsuik.sakura.enti
@@ -206,7 +206,7 @@ index f0617e9d71fa47dfc0566f31d85b8a05ba3b16fc..32811e9d925911864e0c0fa5a2e25031
// Paper start - Configurable falling blocks height nerf // Paper start - Configurable falling blocks height nerf
if (this.level().paperConfig().fixes.fallingBlockHeightNerf.test(v -> this.getY() > v)) { if (this.level().paperConfig().fixes.fallingBlockHeightNerf.test(v -> this.getY() > v)) {
diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
index 0a9e62dd90c6aba4ff97391d69f9a92d9555cae6..7bb55565208b99db095c5842a7e21fd21700173e 100644 index 187cb36e139ce66497e4e20ce75c0a5c4309632e..d60d25c0d731738c647fee6e618d3e4942949dc7 100644
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java --- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java +++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
@@ -130,7 +130,7 @@ public class PrimedTnt extends Entity implements TraceableEntity, me.samsuik.sak @@ -130,7 +130,7 @@ public class PrimedTnt extends Entity implements TraceableEntity, me.samsuik.sak

View File

@@ -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 12ab6b6ff6444da963f3e1160bf779f7fdb72c48..cc31ee0d9ab13fd08dc33b6757173682883a2ac5 100644 index 953aa1b3d292dd8e8ed29926c269e6d6e79a83c0..b1ae26d08f12aadea37e44221c44db6430a3a99c 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
@@ -622,6 +622,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -622,6 +622,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -16,7 +16,7 @@ index 12ab6b6ff6444da963f3e1160bf779f7fdb72c48..cc31ee0d9ab13fd08dc33b6757173682
public Entity(EntityType<?> type, Level world) { public Entity(EntityType<?> type, Level world) {
this.id = Entity.ENTITY_COUNTER.incrementAndGet(); this.id = Entity.ENTITY_COUNTER.incrementAndGet();
@@ -4446,7 +4447,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -4480,7 +4481,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
} }
public boolean isPushedByFluid() { public boolean isPushedByFluid() {
@@ -26,7 +26,7 @@ index 12ab6b6ff6444da963f3e1160bf779f7fdb72c48..cc31ee0d9ab13fd08dc33b6757173682
public static double getViewScale() { public static double getViewScale() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index ddabaed899c755925ad8618b78c33dacaf2126ac..83de2011a8b448b463bcd96e4a8ee8933590de58 100644 index b25b10c24a379097233e61bcc10add841b6a7115..4f4c708361160461bb472dcc79751fa29c5274b9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -204,6 +204,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -204,6 +204,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {

View File

@@ -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 cc31ee0d9ab13fd08dc33b6757173682883a2ac5..687eb620c0ee3fc19472f830b6296862a7dcf01c 100644 index b1ae26d08f12aadea37e44221c44db6430a3a99c..a56517cb6628939e6eed4b26e5e7f8bf6fc1c7af 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
@@ -2233,7 +2233,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -2256,7 +2256,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return this.isInWater() || flag; return this.isInWater() || flag;
} }
@@ -18,7 +18,7 @@ index cc31ee0d9ab13fd08dc33b6757173682883a2ac5..687eb620c0ee3fc19472f830b6296862
if (entity instanceof AbstractBoat abstractboat) { if (entity instanceof AbstractBoat abstractboat) {
diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
index 93cf290b25d569820dd1bf9b4b5fb255abdbd8cd..f2206e57c04d29ed470ae2083b25ab502144ccb1 100644 index 712ac847cf5fbb01133da2630f942afc69c79672..00801a9396e3c128730fe75c287d7b29ad0a00df 100644
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java --- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java +++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
@@ -126,6 +126,21 @@ public class PrimedTnt extends Entity implements TraceableEntity, me.samsuik.sak @@ -126,6 +126,21 @@ public class PrimedTnt extends Entity implements TraceableEntity, me.samsuik.sak

View File

@@ -5,46 +5,40 @@ Subject: [PATCH] Add maxSearch to getEntities
diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java
index 88b1a9b4b3da23b8e500ec343915e66e9b4f19b6..932d26a8c01414144aa56cdf9f6f63d07aff52d5 100644 index 39148fe540d616cdd4d63c4d1a02b422cab0f6eb..50a551d5bcac9b2b6644d7b43e625185090657a6 100644
--- a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java --- a/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java
+++ b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java +++ b/src/main/java/ca/spottedleaf/moonrise/patches/chunk_system/level/entity/ChunkEntitySlices.java
@@ -315,10 +315,16 @@ public final class ChunkEntitySlices { @@ -314,7 +314,14 @@ public final class ChunkEntitySlices {
this.allEntities.getEntities(except, box, into, predicate);
}
+ // Sakura start - add maxSearch to getEntities
+ public boolean getEntities(final Entity except, final AABB box, final List<Entity> into, final Predicate<? super Entity> predicate,
+ final int maxCount) {
+ return this.getEntities(except, box, into, predicate, maxCount, Integer.MAX_VALUE);
+ }
public boolean getEntities(final Entity except, final AABB box, final List<Entity> into, final Predicate<? super Entity> predicate, public boolean getEntities(final Entity except, final AABB box, final List<Entity> into, final Predicate<? super Entity> predicate,
- final int maxCount) { final int maxCount) {
- return this.allEntities.getEntitiesWithEnderDragonPartsLimited(except, box, into, predicate, maxCount); - return this.allEntities.getEntitiesLimited(except, box, into, predicate, maxCount);
+ // Sakura start - add maxSearch to getEntities
+ return this.getEntities(except, box, into, predicate, maxCount, Integer.MAX_VALUE);
+ }
+
+ public boolean getEntities(final Entity except, final AABB box, final List<Entity> into, final Predicate<? super Entity> predicate,
+ final int maxCount, final int maxSearch) { + final int maxCount, final int maxSearch) {
+ return this.allEntities.getEntitiesWithEnderDragonPartsLimited(except, box, into, predicate, maxCount, maxSearch); + return this.allEntities.getEntitiesLimited(except, box, into, predicate, maxCount, maxSearch);
+ // Sakura end - add maxSearch to getEntities + // Sakura end - add maxSearch to getEntities
} }
public boolean getEntitiesWithoutDragonParts(final Entity except, final AABB box, final List<Entity> into, final Predicate<? super Entity> predicate, public <T extends Entity> void getEntities(final EntityType<?> type, final AABB box, final List<? super T> into,
@@ -672,8 +678,16 @@ public final class ChunkEntitySlices { @@ -570,6 +577,13 @@ public final class ChunkEntitySlices {
}
}
public boolean getEntitiesLimited(final Entity except, final AABB box, final List<Entity> into, final Predicate<? super Entity> predicate,
final int maxCount) {
+ // Sakura start - add maxSearch to getEntities + // Sakura start - add maxSearch to getEntities
public boolean getEntitiesWithEnderDragonPartsLimited(final Entity except, final AABB box, final List<Entity> into, + return this.getEntitiesLimited(except, box, into, predicate, maxCount, Integer.MAX_VALUE);
final Predicate<? super Entity> predicate, final int maxCount) {
+ return this.getEntitiesWithEnderDragonPartsLimited(except, box, into, predicate, maxCount, Integer.MAX_VALUE);
+ } + }
+ +
+ public boolean getEntitiesWithEnderDragonPartsLimited(final Entity except, final AABB box, final List<Entity> into, + public boolean getEntitiesLimited(final Entity except, final AABB box, final List<Entity> into, final Predicate<? super Entity> predicate,
+ final Predicate<? super Entity> predicate, final int maxCount, + final int maxCount, final int maxSearch) {
+ final int maxSearch) {
+ // Sakura end - add maxSearch to getEntities + // Sakura end - add maxSearch to getEntities
if (this.count == 0) { if (this.count == 0) {
return false; return false;
} }
@@ -695,8 +709,14 @@ public final class ChunkEntitySlices { @@ -591,8 +605,14 @@ public final class ChunkEntitySlices {
final Entity[] storage = list.storage; final Entity[] storage = list.storage;
@@ -62,16 +56,14 @@ index 88b1a9b4b3da23b8e500ec343915e66e9b4f19b6..932d26a8c01414144aa56cdf9f6f63d0
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 93335de8cf514dc8417e4b9b2d495663deda2904..774df86ba47ff6a7fa9fa38438824c64b569f665 100644 index 7554c109c35397bc1a43dd80e87764fd78645bbf..d60f30f7afb15cc90c1bd4b816136d00b23a53e4 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
@@ -801,8 +801,15 @@ public abstract class EntityLookup implements LevelEntityGetter<Entity> { @@ -722,6 +722,13 @@ public abstract class EntityLookup implements LevelEntityGetter<Entity> {
}
}
+ // Sakura start - add maxSearch to getEntities
public void getEntities(final Entity except, final AABB box, final List<Entity> into, final Predicate<? super Entity> predicate, public void getEntities(final Entity except, final AABB box, final List<Entity> into, final Predicate<? super Entity> predicate,
final int maxCount) { final int maxCount) {
+ // Sakura start - add maxSearch to getEntities
+ this.getEntities(except, box, into, predicate, maxCount, Integer.MAX_VALUE); + this.getEntities(except, box, into, predicate, maxCount, Integer.MAX_VALUE);
+ } + }
+ +
@@ -81,7 +73,7 @@ index 93335de8cf514dc8417e4b9b2d495663deda2904..774df86ba47ff6a7fa9fa38438824c64
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;
@@ -834,7 +841,7 @@ public abstract class EntityLookup implements LevelEntityGetter<Entity> { @@ -753,7 +760,7 @@ public abstract class EntityLookup implements LevelEntityGetter<Entity> {
continue; continue;
} }
@@ -91,10 +83,10 @@ index 93335de8cf514dc8417e4b9b2d495663deda2904..774df86ba47ff6a7fa9fa38438824c64
} }
} }
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 b45ad0125cd5c116126e8ffb893585970ea3b960..2d5783a6ff7a9ce6dcb6f2895ff80928e62f0cd2 100644 index addab159f6fb73fe063f8a057c281d0594a99122..0301e304bb67d3a52de551442e425b83152fbabf 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
@@ -1692,10 +1692,18 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -1693,10 +1693,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);
} }
@@ -114,7 +106,7 @@ index b45ad0125cd5c116126e8ffb893585970ea3b960..2d5783a6ff7a9ce6dcb6f2895ff80928
Profiler.get().incrementCounter("getEntities"); Profiler.get().incrementCounter("getEntities");
if (entityTypeTest instanceof net.minecraft.world.entity.EntityType<T> byType) { if (entityTypeTest instanceof net.minecraft.world.entity.EntityType<T> byType) {
@@ -1712,7 +1720,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -1713,7 +1721,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) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Optimise LivingEntity#pushEntities
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index f36a075dbee2b96d01899e02460b1d8443e91749..e6b6987b46294a96f10d3aa56e8bdc4e25a4c9bf 100644 index 96b4fbe4a4655777ff10b32e3257e2fac2aba12a..01179c4b01aa4898d08b392bd682587e3858b822 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3789,7 +3789,12 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3800,7 +3800,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
return; return;
} }
// Paper end - don't run getEntities if we're not going to use its result // Paper end - don't run getEntities if we're not going to use its result

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configure Entity Knockback
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index e6b6987b46294a96f10d3aa56e8bdc4e25a4c9bf..daf37223c47f30f6da23a996c8b0473e473cbba2 100644 index 01179c4b01aa4898d08b392bd682587e3858b822..f1560f5139b3090057950b41c4374ded4c50b3e2 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1604,7 +1604,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1572,7 +1572,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
} }
// Paper end - Check distance in entity interactions // Paper end - Check distance in entity interactions
@@ -17,7 +17,7 @@ index e6b6987b46294a96f10d3aa56e8bdc4e25a4c9bf..daf37223c47f30f6da23a996c8b0473e
if (!flag) { if (!flag) {
this.indicateDamage(d0, d1); this.indicateDamage(d0, d1);
} }
@@ -1674,7 +1674,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1685,7 +1685,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
} }
protected void blockedByShield(LivingEntity target) { protected void blockedByShield(LivingEntity target) {
@@ -26,7 +26,7 @@ index e6b6987b46294a96f10d3aa56e8bdc4e25a4c9bf..daf37223c47f30f6da23a996c8b0473e
} }
private boolean checkTotemDeathProtection(DamageSource source) { private boolean checkTotemDeathProtection(DamageSource source) {
@@ -2024,7 +2024,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2035,7 +2035,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
} }
public void knockback(double d0, double d1, double d2, @Nullable Entity attacker, io.papermc.paper.event.entity.EntityKnockbackEvent.Cause cause) { // Paper - knockback events public void knockback(double d0, double d1, double d2, @Nullable Entity attacker, io.papermc.paper.event.entity.EntityKnockbackEvent.Cause cause) { // Paper - knockback events
@@ -35,7 +35,7 @@ index e6b6987b46294a96f10d3aa56e8bdc4e25a4c9bf..daf37223c47f30f6da23a996c8b0473e
if (true || d0 > 0.0D) { // CraftBukkit - Call event even when force is 0 if (true || d0 > 0.0D) { // CraftBukkit - Call event even when force is 0
//this.hasImpulse = true; // CraftBukkit - Move down //this.hasImpulse = true; // CraftBukkit - Move down
@@ -2035,9 +2035,21 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2046,9 +2046,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
} }
Vec3 vec3d1 = (new Vec3(d1, 0.0D, d2)).normalize().scale(d0); Vec3 vec3d1 = (new Vec3(d1, 0.0D, d2)).normalize().scale(d0);
@@ -59,10 +59,10 @@ index e6b6987b46294a96f10d3aa56e8bdc4e25a4c9bf..daf37223c47f30f6da23a996c8b0473e
io.papermc.paper.event.entity.EntityKnockbackEvent event = CraftEventFactory.callEntityKnockbackEvent((org.bukkit.craftbukkit.entity.CraftLivingEntity) this.getBukkitEntity(), attacker, attacker, cause, d0, diff); io.papermc.paper.event.entity.EntityKnockbackEvent event = CraftEventFactory.callEntityKnockbackEvent((org.bukkit.craftbukkit.entity.CraftLivingEntity) this.getBukkitEntity(), attacker, attacker, cause, d0, diff);
// Paper end - knockback events // Paper end - knockback events
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index c3e90356ab409f408b767618db718e3926edf8d1..e50b64ba18fe8a4536b6f8aadca93064cd9f47f7 100644 index 99133ad27aac31f68101aff4a4c4965c7ff1fd6b..d11f67157c1bf8c14776c56748de3588273c7d45 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -197,6 +197,7 @@ public abstract class Player extends LivingEntity { @@ -200,6 +200,7 @@ public abstract class Player extends LivingEntity {
private int currentImpulseContextResetGraceTime; private int currentImpulseContextResetGraceTime;
public boolean affectsSpawning = true; // Paper - Affects Spawning API public boolean affectsSpawning = true; // Paper - Affects Spawning API
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage
@@ -70,7 +70,7 @@ index c3e90356ab409f408b767618db718e3926edf8d1..e50b64ba18fe8a4536b6f8aadca93064
// CraftBukkit start // CraftBukkit start
public boolean fauxSleeping; public boolean fauxSleeping;
@@ -1261,7 +1262,7 @@ public abstract class Player extends LivingEntity { @@ -1264,7 +1265,7 @@ public abstract class Player extends LivingEntity {
boolean flag = f2 > 0.9F; boolean flag = f2 > 0.9F;
boolean flag1; boolean flag1;
@@ -79,7 +79,7 @@ index c3e90356ab409f408b767618db718e3926edf8d1..e50b64ba18fe8a4536b6f8aadca93064
sendSoundEffect(this, this.getX(), this.getY(), this.getZ(), SoundEvents.PLAYER_ATTACK_KNOCKBACK, this.getSoundSource(), 1.0F, 1.0F); // Paper - send while respecting visibility sendSoundEffect(this, this.getX(), this.getY(), this.getZ(), SoundEvents.PLAYER_ATTACK_KNOCKBACK, this.getSoundSource(), 1.0F, 1.0F); // Paper - send while respecting visibility
flag1 = true; flag1 = true;
} else { } else {
@@ -1304,7 +1305,21 @@ public abstract class Player extends LivingEntity { @@ -1307,7 +1308,21 @@ public abstract class Player extends LivingEntity {
float f5 = this.getKnockback(target, damagesource) + (flag1 ? 1.0F : 0.0F); float f5 = this.getKnockback(target, damagesource) + (flag1 ? 1.0F : 0.0F);
if (f5 > 0.0F) { if (f5 > 0.0F) {
@@ -102,7 +102,7 @@ index c3e90356ab409f408b767618db718e3926edf8d1..e50b64ba18fe8a4536b6f8aadca93064
LivingEntity entityliving1 = (LivingEntity) target; LivingEntity entityliving1 = (LivingEntity) target;
entityliving1.knockback((double) (f5 * 0.5F), (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this, io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.ENTITY_ATTACK); // Paper - knockback events entityliving1.knockback((double) (f5 * 0.5F), (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this, io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.ENTITY_ATTACK); // Paper - knockback events
@@ -1337,7 +1352,7 @@ public abstract class Player extends LivingEntity { @@ -1340,7 +1355,7 @@ public abstract class Player extends LivingEntity {
continue; continue;
} }
// CraftBukkit end // CraftBukkit end
@@ -112,7 +112,7 @@ index c3e90356ab409f408b767618db718e3926edf8d1..e50b64ba18fe8a4536b6f8aadca93064
Level world = this.level(); Level world = this.level();
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
index 4daa69c6be6d48563e30343a7e40e4da9ec7e5ad..c563f71fb79990771d032b8044b8f676d8d21058 100644 index 5e6ceb3c3728c0c08a516566c70a5c0d72d59196..1cc44f6626dfff7724e2ea1b41917ae4715b8d4d 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java --- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java +++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
@@ -304,6 +304,12 @@ public class FishingHook extends Projectile { @@ -304,6 +304,12 @@ public class FishingHook extends Projectile {

View File

@@ -54,7 +54,7 @@ index 0000000000000000000000000000000000000000..e52cae27c2bbf4fa02d49d1c69d8e124
+ } + }
+} +}
diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java
index c816c935ecc74a811ffdffbe6ded73c06e92324a..4da4efe7114d4fcea5e79bcab292dc4b3c782de9 100644 index 4377fa2400c4320e0023ece230090a2a3b4b2ab6..9b66ac859619d3e79d5ab33939006b178699d474 100644
--- a/src/main/java/net/minecraft/world/item/BlockItem.java --- a/src/main/java/net/minecraft/world/item/BlockItem.java
+++ b/src/main/java/net/minecraft/world/item/BlockItem.java +++ b/src/main/java/net/minecraft/world/item/BlockItem.java
@@ -47,8 +47,32 @@ public class BlockItem extends Item { @@ -47,8 +47,32 @@ public class BlockItem extends Item {
@@ -91,10 +91,10 @@ index c816c935ecc74a811ffdffbe6ded73c06e92324a..4da4efe7114d4fcea5e79bcab292dc4b
return !enuminteractionresult.consumesAction() && context.getItemInHand().has(DataComponents.CONSUMABLE) ? super.use(context.getLevel(), context.getPlayer(), context.getHand()) : enuminteractionresult; return !enuminteractionresult.consumesAction() && context.getItemInHand().has(DataComponents.CONSUMABLE) ? super.use(context.getLevel(), context.getPlayer(), context.getHand()) : enuminteractionresult;
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 2d5783a6ff7a9ce6dcb6f2895ff80928e62f0cd2..0ae2d83055252146e346b06cc8360eef56d39f5c 100644 index 0301e304bb67d3a52de551442e425b83152fbabf..9fb78a9bd08521dff83b1f28be2421aa37af5898 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
@@ -843,6 +843,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -844,6 +844,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
// Paper end - optimise random ticking // Paper end - optimise random ticking
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
@@ -103,7 +103,7 @@ index 2d5783a6ff7a9ce6dcb6f2895ff80928e62f0cd2..0ae2d83055252146e346b06cc8360eef
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, 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.function.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, 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.function.Supplier<me.samsuik.sakura.configuration.WorldConfiguration> sakuraWorldConfigCreator, java.util.concurrent.Executor executor) { // Sakura - sakura configuration files // Paper - create paper world config & Anti-Xray
// Paper start - getblock optimisations - cache world height/sections // Paper start - getblock optimisations - cache world height/sections
diff --git a/src/main/java/net/minecraft/world/level/ServerExplosion.java b/src/main/java/net/minecraft/world/level/ServerExplosion.java diff --git a/src/main/java/net/minecraft/world/level/ServerExplosion.java b/src/main/java/net/minecraft/world/level/ServerExplosion.java
index 59e38ee6ac0699350a7021f1d074fdfee4a5ba41..ccca5d7d51cd7e4a77d87293eb66c9732fce4381 100644 index 74abe5fe92b3f1fe0139f4879fe5efa10d0623e0..278ca240491096514f4c48be56bcfe2d2356520e 100644
--- a/src/main/java/net/minecraft/world/level/ServerExplosion.java --- a/src/main/java/net/minecraft/world/level/ServerExplosion.java
+++ b/src/main/java/net/minecraft/world/level/ServerExplosion.java +++ b/src/main/java/net/minecraft/world/level/ServerExplosion.java
@@ -134,7 +134,7 @@ public class ServerExplosion implements Explosion { @@ -134,7 +134,7 @@ public class ServerExplosion implements Explosion {

View File

@@ -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 dbd321f3dc3cc80737830db63aed47a6935e8e89..0f7fbb0e3ccc47711bc5dddd046f96f2bfda7ebd 100644 index 5a3059cadbc9735b4b48745c6b1b11196596b06d..7ea45862e61d2ecb0722affef2286ea3a1a782a3 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

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Option to configure entity water sensitivity
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index daf37223c47f30f6da23a996c8b0473e473cbba2..acfb7762f53636a5df1e8de8f1cbcf8d150debc7 100644 index f1560f5139b3090057950b41c4374ded4c50b3e2..e7603a67c985ff105a8a4e16179fe33fe26f5b22 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3719,7 +3719,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3730,7 +3730,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
// Paper end - Add EntityMoveEvent // Paper end - Add EntityMoveEvent
world = this.level(); world = this.level();
if (world instanceof ServerLevel worldserver) { if (world instanceof ServerLevel worldserver) {

View File

@@ -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 f6be260f942c6b9c65e8c3ed625639db75086267..27b7be52f7617a6ecd1ff7e967604424f40027bc 100644 index a8abdfe0f9e7f8e1b1b92b03dec53906c553bf67..b85f739b21cab2f72237fcbc04386af77250527b 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
@@ -1801,6 +1801,13 @@ public final class CollisionUtil { @@ -1801,6 +1801,13 @@ public final class CollisionUtil {
@@ -106,7 +106,7 @@ index ebe5f0c8c2f09920b5f5ef734e63f5e7cd8bd3a1..320cdb1f4e655a2d093890e88476df90
protected int getExplosionCount() { protected int getExplosionCount() {
if (this.cause.getMergeEntityData().getMergeLevel() == MergeLevel.NONE) { if (this.cause.getMergeEntityData().getMergeLevel() == MergeLevel.NONE) {
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 687eb620c0ee3fc19472f830b6296862a7dcf01c..dd93bff521e8bfc72416cebed20cb3a5bce094b8 100644 index a56517cb6628939e6eed4b26e5e7f8bf6fc1c7af..57d9003a79c2d3a0c756b4e4738c33f7a206e62a 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
@@ -341,7 +341,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -341,7 +341,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -132,7 +132,7 @@ index 687eb620c0ee3fc19472f830b6296862a7dcf01c..dd93bff521e8bfc72416cebed20cb3a5
public Entity(EntityType<?> type, Level world) { public Entity(EntityType<?> type, Level world) {
this.id = Entity.ENTITY_COUNTER.incrementAndGet(); this.id = Entity.ENTITY_COUNTER.incrementAndGet();
@@ -1161,7 +1168,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1169,7 +1176,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
} }
protected void checkSupportingBlock(boolean onGround, @Nullable Vec3 movement) { protected void checkSupportingBlock(boolean onGround, @Nullable Vec3 movement) {
@@ -141,7 +141,7 @@ index 687eb620c0ee3fc19472f830b6296862a7dcf01c..dd93bff521e8bfc72416cebed20cb3a5
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);
@@ -1221,7 +1228,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1229,7 +1236,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 687eb620c0ee3fc19472f830b6296862a7dcf01c..dd93bff521e8bfc72416cebed20cb3a5
movement = this.limitPistonMovement(movement); movement = this.limitPistonMovement(movement);
if (movement.equals(Vec3.ZERO)) { if (movement.equals(Vec3.ZERO)) {
return; return;
@@ -1239,8 +1246,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1247,8 +1254,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
Vec3 vec3d1 = this.sakura_collide(movement); Vec3 vec3d1 = this.sakura_collide(movement);
double d0 = vec3d1.lengthSqr(); double d0 = vec3d1.lengthSqr();
@@ -161,7 +161,7 @@ index 687eb620c0ee3fc19472f830b6296862a7dcf01c..dd93bff521e8bfc72416cebed20cb3a5
BlockHitResult clipResult = this.level().clip(new ClipContext(this.position(), this.position().add(vec3d1), ClipContext.Block.FALLDAMAGE_RESETTING, ClipContext.Fluid.WATER, this)); BlockHitResult clipResult = this.level().clip(new ClipContext(this.position(), this.position().add(vec3d1), ClipContext.Block.FALLDAMAGE_RESETTING, ClipContext.Fluid.WATER, this));
if (clipResult.getType() != HitResult.Type.MISS) { if (clipResult.getType() != HitResult.Type.MISS) {
this.resetFallDistance(); this.resetFallDistance();
@@ -1269,6 +1276,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1277,6 +1284,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
} else { } else {
if (this.horizontalCollision) { if (this.horizontalCollision) {
Vec3 vec3d2 = this.getDeltaMovement(); Vec3 vec3d2 = this.getDeltaMovement();
@@ -173,7 +173,7 @@ index 687eb620c0ee3fc19472f830b6296862a7dcf01c..dd93bff521e8bfc72416cebed20cb3a5
this.setDeltaMovement(movedX ? 0.0D : vec3d2.x, vec3d2.y, movedZ ? 0.0D : vec3d2.z); this.setDeltaMovement(movedX ? 0.0D : vec3d2.x, vec3d2.y, movedZ ? 0.0D : vec3d2.z);
} }
@@ -1674,7 +1686,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1687,7 +1699,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
bb = currBoundingBox.expandTowards(movement.x, movement.y, movement.z); bb = currBoundingBox.expandTowards(movement.x, movement.y, movement.z);
} }
this.collectCollisions(bb, voxelList, bbList); this.collectCollisions(bb, voxelList, bbList);
@@ -182,7 +182,7 @@ index 687eb620c0ee3fc19472f830b6296862a7dcf01c..dd93bff521e8bfc72416cebed20cb3a5
} }
private Vec3 collideAxisScan(Vec3 movement, AABB currBoundingBox, List<VoxelShape> voxelList, List<AABB> bbList) { private Vec3 collideAxisScan(Vec3 movement, AABB currBoundingBox, List<VoxelShape> voxelList, List<AABB> bbList) {
@@ -1682,7 +1694,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1695,7 +1707,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;
@@ -194,7 +194,7 @@ index 687eb620c0ee3fc19472f830b6296862a7dcf01c..dd93bff521e8bfc72416cebed20cb3a5
if (y != 0.0) { if (y != 0.0) {
y = this.scanY(currBoundingBox, y, voxelList, bbList); y = this.scanY(currBoundingBox, y, voxelList, bbList);
@@ -1780,7 +1795,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1793,7 +1808,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.COLLISION_FLAG_CHECK_BORDER | this.getExtraCollisionFlags(), null // Sakura - load chunks on movement ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.COLLISION_FLAG_CHECK_BORDER | this.getExtraCollisionFlags(), null // Sakura - load chunks on movement
); );
potentialCollisionsBB.addAll(entityAABBs); potentialCollisionsBB.addAll(entityAABBs);
@@ -203,24 +203,15 @@ index 687eb620c0ee3fc19472f830b6296862a7dcf01c..dd93bff521e8bfc72416cebed20cb3a5
final boolean collidedX = collided.x != movement.x; final boolean collidedX = collided.x != movement.x;
final boolean collidedY = collided.y != movement.y; final boolean collidedY = collided.y != movement.y;
@@ -1947,7 +1962,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1967,8 +1982,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
private void checkInsideBlocks(List<Entity.Movement> queuedCollisionChecks, Set<BlockState> collidedBlocks) {
if (this.isAffectedByBlocks()) {
- AABB axisalignedbb = this.getBoundingBox().deflate(9.999999747378752E-6D);
+ // Sakura start - physics version api
+ double offset = this.physics.afterOrEqual(1_21_2) ? 1.0E-5f : this.physics.afterOrEqual(1_19_3) ? 1.0E-7D : 0.001D;
+ AABB axisalignedbb = this.getBoundingBox().deflate(offset);
+ // Sakura end - physics version api
LongSet longset = this.visitedBlocks;
Iterator iterator = queuedCollisionChecks.iterator();
@@ -1955,7 +1973,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
Entity.Movement entity_b = (Entity.Movement) iterator.next(); Entity.Movement entity_b = (Entity.Movement) iterator.next();
Vec3 vec3d = entity_b.from(); Vec3 vec3d = entity_b.from();
Vec3 vec3d1 = entity_b.to(); Vec3 vec3d1 = entity_b.to();
- AABB axisalignedbb = this.makeBoundingBox(vec3d1).deflate(9.999999747378752E-6D);
- Iterator iterator1 = BlockGetter.boxTraverseBlocks(vec3d, vec3d1, axisalignedbb).iterator(); - Iterator iterator1 = BlockGetter.boxTraverseBlocks(vec3d, vec3d1, axisalignedbb).iterator();
+ // Sakura start - physics version api + // Sakura start - physics version api
+ double offset = this.physics.afterOrEqual(1_21_2) ? 1.0E-5f : this.physics.afterOrEqual(1_19_3) ? 1.0E-7D : 0.001D;
+ AABB axisalignedbb = this.makeBoundingBox(vec3d1).deflate(offset);
+ final Iterable<BlockPos> positions; + final Iterable<BlockPos> positions;
+ if (this.physics.afterOrEqual(1_21_2)) { + if (this.physics.afterOrEqual(1_21_2)) {
+ positions = BlockGetter.boxTraverseBlocks(vec3d, vec3d1, axisalignedbb); + positions = BlockGetter.boxTraverseBlocks(vec3d, vec3d1, axisalignedbb);
@@ -233,7 +224,7 @@ index 687eb620c0ee3fc19472f830b6296862a7dcf01c..dd93bff521e8bfc72416cebed20cb3a5
while (iterator1.hasNext()) { while (iterator1.hasNext()) {
BlockPos blockposition = (BlockPos) iterator1.next(); BlockPos blockposition = (BlockPos) iterator1.next();
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index 890f1d6f8ad740afb0b30208f7cd42594e4c9d20..7ec7cfde4ce47a7f4a64e83fa49ed7287684d6a0 100644 index 446b168babf732df9322826e3124fee08f22a015..e271bf7a5efea424dc4facdeba3e6ccb061853dc 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java --- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -147,6 +147,8 @@ public class FallingBlockEntity extends Entity implements me.samsuik.sakura.enti @@ -147,6 +147,8 @@ public class FallingBlockEntity extends Entity implements me.samsuik.sakura.enti
@@ -365,7 +356,7 @@ index 890f1d6f8ad740afb0b30208f7cd42594e4c9d20..7ec7cfde4ce47a7f4a64e83fa49ed728
} }
diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
index 3e4935f4a07fa14152d1f55f069c49fdd2f3bc02..1231d99374ffa5d988e5b240be2da95f0002947c 100644 index 80a512033689171196c20f07a5b99fbd30c167c6..0ed14efbfca22e9f319f23ad8920fd656930a7c6 100644
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java --- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java +++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
@@ -108,6 +108,13 @@ public class PrimedTnt extends Entity implements TraceableEntity, me.samsuik.sak @@ -108,6 +108,13 @@ public class PrimedTnt extends Entity implements TraceableEntity, me.samsuik.sak
@@ -456,10 +447,10 @@ index 3e4935f4a07fa14152d1f55f069c49fdd2f3bc02..1231d99374ffa5d988e5b240be2da95f
// 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/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 452a9fef94d093b637245c82d36dacbb1e1d86c5..b67c4bcc7afb074134344b5f239370290416934e 100644 index 9fb78a9bd08521dff83b1f28be2421aa37af5898..f99497c7b10716c1804d29e1e51e608c3a542127 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
@@ -841,6 +841,170 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -842,6 +842,170 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
return chunk != null ? chunk.getNoiseBiome(x, y, z) : this.getUncachedNoiseBiome(x, y, z); return chunk != null ? chunk.getNoiseBiome(x, y, z) : this.getUncachedNoiseBiome(x, y, z);
} }
// Paper end - optimise random ticking // Paper end - optimise random ticking
@@ -631,7 +622,7 @@ index 452a9fef94d093b637245c82d36dacbb1e1d86c5..b67c4bcc7afb074134344b5f23937029
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
diff --git a/src/main/java/net/minecraft/world/level/ServerExplosion.java b/src/main/java/net/minecraft/world/level/ServerExplosion.java diff --git a/src/main/java/net/minecraft/world/level/ServerExplosion.java b/src/main/java/net/minecraft/world/level/ServerExplosion.java
index 85c84333614a4e0739e39cb72d8e4015ed78e7b7..bdc3ff8cbe4e5eaa9d9a34f38fdd150f7368e33b 100644 index fe77344a266b5f9cbb5b0394abfdc5878662160c..977c73dc9faa9114705f329f6b00a0c69c1cca37 100644
--- a/src/main/java/net/minecraft/world/level/ServerExplosion.java --- a/src/main/java/net/minecraft/world/level/ServerExplosion.java
+++ b/src/main/java/net/minecraft/world/level/ServerExplosion.java +++ b/src/main/java/net/minecraft/world/level/ServerExplosion.java
@@ -413,6 +413,7 @@ public class ServerExplosion implements Explosion { @@ -413,6 +413,7 @@ public class ServerExplosion implements Explosion {
@@ -692,7 +683,7 @@ index 85c84333614a4e0739e39cb72d8e4015ed78e7b7..bdc3ff8cbe4e5eaa9d9a34f38fdd150f
if (d4 != 0.0D) { if (d4 != 0.0D) {
d1 /= d4; d1 /= d4;
@@ -961,7 +981,7 @@ public class ServerExplosion implements Explosion { @@ -965,7 +985,7 @@ public class ServerExplosion implements 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) {
@@ -701,7 +692,7 @@ index 85c84333614a4e0739e39cb72d8e4015ed78e7b7..bdc3ff8cbe4e5eaa9d9a34f38fdd150f
this.level.densityCache.putDensity(vec3d, entity, blockDensity); this.level.densityCache.putDensity(vec3d, entity, blockDensity);
// Sakura end - replace density cache // Sakura end - replace density cache
} }
@@ -969,6 +989,16 @@ public class ServerExplosion implements Explosion { @@ -973,6 +993,16 @@ public class ServerExplosion implements Explosion {
return blockDensity; return blockDensity;
} }
@@ -936,10 +927,10 @@ index 72320c6099a4b26235bab68570e7b7efad84740f..737d4c96e9078504e1dd7c4ffd7812a3
} }
diff --git a/src/main/java/net/minecraft/world/level/block/piston/MovingPistonBlock.java b/src/main/java/net/minecraft/world/level/block/piston/MovingPistonBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/piston/MovingPistonBlock.java b/src/main/java/net/minecraft/world/level/block/piston/MovingPistonBlock.java
index b696597540d998c52ec3207ffd8bf658fde59215..485929a4e6e5600b799943fff19ab591dbe9ddc6 100644 index 9cb3d1bfc4d524d272819c2ce27d005595b319ab..6adff1edd134526b77595406f4ca2c06a34ef656 100644
--- a/src/main/java/net/minecraft/world/level/block/piston/MovingPistonBlock.java --- a/src/main/java/net/minecraft/world/level/block/piston/MovingPistonBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/piston/MovingPistonBlock.java +++ b/src/main/java/net/minecraft/world/level/block/piston/MovingPistonBlock.java
@@ -109,6 +109,17 @@ public class MovingPistonBlock extends BaseEntityBlock { @@ -110,6 +110,17 @@ public class MovingPistonBlock extends BaseEntityBlock {
@Override @Override
protected VoxelShape getCollisionShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) { protected VoxelShape getCollisionShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) {
PistonMovingBlockEntity pistonMovingBlockEntity = this.getBlockEntity(world, pos); PistonMovingBlockEntity pistonMovingBlockEntity = this.getBlockEntity(world, pos);
@@ -974,7 +965,7 @@ index 4b51472502d08ea357da437afeb4b581979e9cff..6146c786730b2cd5e5883acbe19d1eec
} }
diff --git a/src/main/java/net/minecraft/world/level/block/piston/PistonHeadBlock.java b/src/main/java/net/minecraft/world/level/block/piston/PistonHeadBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/piston/PistonHeadBlock.java b/src/main/java/net/minecraft/world/level/block/piston/PistonHeadBlock.java
index c5c297b1081c9ddbb3bd0a0947401041aa8fec7d..d37c3ef71b1034ce2422c6078aa0abe79430cfac 100644 index d35bf8367b0ec573dd3a3eebadcdf401ff5633d2..a61c0c6d9649bd7e643db591b8504fc61c44dd3a 100644
--- a/src/main/java/net/minecraft/world/level/block/piston/PistonHeadBlock.java --- a/src/main/java/net/minecraft/world/level/block/piston/PistonHeadBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/piston/PistonHeadBlock.java +++ b/src/main/java/net/minecraft/world/level/block/piston/PistonHeadBlock.java
@@ -151,6 +151,11 @@ public class PistonHeadBlock extends DirectionalBlock { @@ -151,6 +151,11 @@ public class PistonHeadBlock extends DirectionalBlock {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add instant mob death animation
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index acfb7762f53636a5df1e8de8f1cbcf8d150debc7..dc57d8d4448f60478693b6c3e81ae11074d4f22b 100644 index e7603a67c985ff105a8a4e16179fe33fe26f5b22..1bd9f31da1ec66259dc6391448e2b8ce69ddb817 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1858,6 +1858,12 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1869,6 +1869,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
// Paper start // Paper start
if (this.dead) { // Paper if (this.dead) { // Paper

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Option to disable explosions hurting players
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index e50b64ba18fe8a4536b6f8aadca93064cd9f47f7..1a1203a93550cae95f2a82062e16fb21a779ee94 100644 index d11f67157c1bf8c14776c56748de3588273c7d45..b439c196db1af082d5ebcd6df59c436396dc144e 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -925,6 +925,11 @@ public abstract class Player extends LivingEntity { @@ -928,6 +928,11 @@ public abstract class Player extends LivingEntity {
@Override @Override
public boolean isInvulnerableTo(ServerLevel world, DamageSource source) { public boolean isInvulnerableTo(ServerLevel world, DamageSource source) {

View File

@@ -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 423d26d6b833e9aa39a84333b9627ad709711378..2ed9565e44435239d8a375ca9dc94e839b2e757f 100644 index 1973da88ac7c3a36cc2db48aeb7d4eab788be500..88432d15be0167450afe5e5c130b8be233c78437 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
@@ -1328,6 +1328,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -1329,6 +1329,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity); // Paper - EAR 2 final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity); // Paper - EAR 2
if (isActive) { // Paper - EAR 2 if (isActive) { // Paper - EAR 2
entity.tick(); entity.tick();
@@ -21,7 +21,7 @@ index 423d26d6b833e9aa39a84333b9627ad709711378..2ed9565e44435239d8a375ca9dc94e83
} else { entity.inactiveTick(); } // Paper - EAR 2 } else { entity.inactiveTick(); } // Paper - EAR 2
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 247759b7e225bbd14951e7876d1fff6ded62cef0..a48d871f851c9cafdb05fef3e33ec1de81b7d0bd 100644 index 1aa5803061861016a1bb790ac19b769170a76a79..a2b0fe7122c11da561ab6ceb91bc37385df16c0d 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
@@ -638,6 +638,19 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -638,6 +638,19 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Disable player poses shrinking collision box
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 1a1203a93550cae95f2a82062e16fb21a779ee94..16f6834b88bf0b2f2157e25240e6bc51db501dce 100644 index b439c196db1af082d5ebcd6df59c436396dc144e..f14759c18f760165dfad670049c880c01adb96d4 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -2246,7 +2246,13 @@ public abstract class Player extends LivingEntity { @@ -2249,7 +2249,13 @@ public abstract class Player extends LivingEntity {
@Override @Override
public EntityDimensions getDefaultDimensions(Pose pose) { public EntityDimensions getDefaultDimensions(Pose pose) {

View File

@@ -145,10 +145,10 @@ index 0000000000000000000000000000000000000000..b4ab8f172d713204bb9c1ebf575dcc28
+ private LegacyDamageMapping() {} + private LegacyDamageMapping() {}
+} +}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index dc57d8d4448f60478693b6c3e81ae11074d4f22b..365ab6a0c564911bc58d3fb90e3abe82dbbdc642 100644 index 1bd9f31da1ec66259dc6391448e2b8ce69ddb817..16e6bd46e54cba9e0ef39a488cefcc5e49476403 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -310,6 +310,43 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -308,6 +308,43 @@ public abstract class LivingEntity extends Entity implements Attackable {
++this.noActionTime; // Above all the floats ++this.noActionTime; // Above all the floats
} }
// Spigot end // Spigot end
@@ -192,7 +192,7 @@ index dc57d8d4448f60478693b6c3e81ae11074d4f22b..365ab6a0c564911bc58d3fb90e3abe82
protected LivingEntity(EntityType<? extends LivingEntity> type, Level world) { protected LivingEntity(EntityType<? extends LivingEntity> type, Level world) {
super(type, world); super(type, world);
@@ -2291,7 +2328,16 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2302,7 +2339,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
protected float getDamageAfterArmorAbsorb(DamageSource source, float amount) { protected float getDamageAfterArmorAbsorb(DamageSource source, float amount) {
if (!source.is(DamageTypeTags.BYPASSES_ARMOR)) { if (!source.is(DamageTypeTags.BYPASSES_ARMOR)) {
// this.hurtArmor(damagesource, f); // CraftBukkit - actuallyHurt(DamageSource, float, EntityDamageEvent) for handle damage // this.hurtArmor(damagesource, f); // CraftBukkit - actuallyHurt(DamageSource, float, EntityDamageEvent) for handle damage
@@ -209,7 +209,7 @@ index dc57d8d4448f60478693b6c3e81ae11074d4f22b..365ab6a0c564911bc58d3fb90e3abe82
} }
return amount; return amount;
@@ -3481,6 +3527,11 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3492,6 +3538,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
EnchantmentHelper.runLocationChangedEffects(worldserver, itemstack, this, enumitemslot1); EnchantmentHelper.runLocationChangedEffects(worldserver, itemstack, this, enumitemslot1);
} }
@@ -222,10 +222,10 @@ index dc57d8d4448f60478693b6c3e81ae11074d4f22b..365ab6a0c564911bc58d3fb90e3abe82
} }
} }
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 16f6834b88bf0b2f2157e25240e6bc51db501dce..8c8cf4b640439ca10bc030fa3194f3ff61d10e6b 100644 index f14759c18f760165dfad670049c880c01adb96d4..c6e728aec98c1abb55abc7bb31ae3604bd187374 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1240,14 +1240,20 @@ public abstract class Player extends LivingEntity { @@ -1243,14 +1243,20 @@ public abstract class Player extends LivingEntity {
if (playerAttackEntityEvent.callEvent() && willAttack) { // Logic moved to willAttack local variable. if (playerAttackEntityEvent.callEvent() && willAttack) { // Logic moved to willAttack local variable.
{ {
// Paper end - PlayerAttackEntityEvent // Paper end - PlayerAttackEntityEvent
@@ -247,7 +247,7 @@ index 16f6834b88bf0b2f2157e25240e6bc51db501dce..8c8cf4b640439ca10bc030fa3194f3ff
// this.resetAttackStrengthTicker(); // CraftBukkit - Moved to EntityLiving to reset the cooldown after the damage is dealt // this.resetAttackStrengthTicker(); // CraftBukkit - Moved to EntityLiving to reset the cooldown after the damage is dealt
if (target.getType().is(EntityTypeTags.REDIRECTABLE_PROJECTILE) && target instanceof Projectile) { if (target.getType().is(EntityTypeTags.REDIRECTABLE_PROJECTILE) && target instanceof Projectile) {
Projectile iprojectile = (Projectile) target; Projectile iprojectile = (Projectile) target;
@@ -1275,7 +1281,7 @@ public abstract class Player extends LivingEntity { @@ -1278,7 +1284,7 @@ public abstract class Player extends LivingEntity {
} }
f += itemstack.getItem().getAttackDamageBonus(target, f, damagesource); f += itemstack.getItem().getAttackDamageBonus(target, f, damagesource);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow disabling sweep attacks
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 8c8cf4b640439ca10bc030fa3194f3ff61d10e6b..a99903df673f7cde190a880b681d44be0b747c90 100644 index c6e728aec98c1abb55abc7bb31ae3604bd187374..23c66dc1bba4f4242c848121f70879bb94f0fb4b 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1348,7 +1348,7 @@ public abstract class Player extends LivingEntity { @@ -1351,7 +1351,7 @@ public abstract class Player extends LivingEntity {
LivingEntity entityliving2; LivingEntity entityliving2;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Change shields to reduce damage
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 365ab6a0c564911bc58d3fb90e3abe82dbbdc642..8992f0ad55c1177bee9d4167cedf2fef54117a6a 100644 index 16e6bd46e54cba9e0ef39a488cefcc5e49476403..8dab67d53a058b62d73e009e378d6376dae70075 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2433,7 +2433,13 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2444,7 +2444,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
com.google.common.base.Function<Double, Double> blocking = new com.google.common.base.Function<Double, Double>() { com.google.common.base.Function<Double, Double> blocking = new com.google.common.base.Function<Double, Double>() {
@Override @Override
public Double apply(Double f) { public Double apply(Double f) {

View File

@@ -75,10 +75,10 @@ index 0000000000000000000000000000000000000000..18cb28a9bdfcb9a421bc001f057b4be5
+ } + }
+} +}
diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java
index 5a70111cd39af50981cfd440c021340da1de5eab..92a3ae94e936809004c9664c18dae74edf154399 100644 index 6d16b4433e79eca0ff8008941f0b9b807b1db9db..5aeb780535d6ab8010e544cade33fa2b20f9068c 100644
--- a/src/main/java/net/minecraft/world/item/Items.java --- a/src/main/java/net/minecraft/world/item/Items.java
+++ b/src/main/java/net/minecraft/world/item/Items.java +++ b/src/main/java/net/minecraft/world/item/Items.java
@@ -1174,6 +1174,7 @@ public class Items { @@ -1183,6 +1183,7 @@ public class Items {
public static final Item GOLDEN_APPLE = registerItem("golden_apple", new Item.Properties().food(Foods.GOLDEN_APPLE, Consumables.GOLDEN_APPLE)); public static final Item GOLDEN_APPLE = registerItem("golden_apple", new Item.Properties().food(Foods.GOLDEN_APPLE, Consumables.GOLDEN_APPLE));
public static final Item ENCHANTED_GOLDEN_APPLE = registerItem( public static final Item ENCHANTED_GOLDEN_APPLE = registerItem(
"enchanted_golden_apple", "enchanted_golden_apple",

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Old combat sounds and particle effects
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index a99903df673f7cde190a880b681d44be0b747c90..97e078989ccbb25d5a82c2dd7d034079ce4b9acf 100644 index 23c66dc1bba4f4242c848121f70879bb94f0fb4b..e0cb3a9d0cd27a98e302816bc736db291a32cf4f 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1458,7 +1458,7 @@ public abstract class Player extends LivingEntity { @@ -1461,7 +1461,7 @@ public abstract class Player extends LivingEntity {
float f8 = f4 - ((LivingEntity) target).getHealth(); float f8 = f4 - ((LivingEntity) target).getHealth();
this.awardStat(Stats.DAMAGE_DEALT, Math.round(f8 * 10.0F)); this.awardStat(Stats.DAMAGE_DEALT, Math.round(f8 * 10.0F));
@@ -17,7 +17,7 @@ index a99903df673f7cde190a880b681d44be0b747c90..97e078989ccbb25d5a82c2dd7d034079
int i = (int) ((double) f8 * 0.5D); int i = (int) ((double) f8 * 0.5D);
((ServerLevel) this.level()).sendParticles(ParticleTypes.DAMAGE_INDICATOR, target.getX(), target.getY(0.5D), target.getZ(), i, 0.1D, 0.0D, 0.1D, 0.2D); ((ServerLevel) this.level()).sendParticles(ParticleTypes.DAMAGE_INDICATOR, target.getX(), target.getY(0.5D), target.getZ(), i, 0.1D, 0.0D, 0.1D, 0.2D);
@@ -1866,6 +1866,7 @@ public abstract class Player extends LivingEntity { @@ -1869,6 +1869,7 @@ public abstract class Player extends LivingEntity {
} }
// Paper start - send while respecting visibility // Paper start - send while respecting visibility
private static void sendSoundEffect(Player fromEntity, double x, double y, double z, SoundEvent soundEffect, SoundSource soundCategory, float volume, float pitch) { private static void sendSoundEffect(Player fromEntity, double x, double y, double z, SoundEvent soundEffect, SoundSource soundCategory, float volume, float pitch) {

View File

@@ -5,7 +5,7 @@ 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 54bfe3dfda0e023cc3d25ddcf1fe366a6cf50c90..0b9783c473585aed6a63f870e66a1809d00c0aee 100644 index 274b3a5e1d4606ed47ba7e3e4ee369d607cea8a1..49f8afdaa91e89b899b9fcce1ef9a972ec141b8b 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
@@ -1326,7 +1326,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -1326,7 +1326,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -21,10 +21,10 @@ index 54bfe3dfda0e023cc3d25ddcf1fe366a6cf50c90..0b9783c473585aed6a63f870e66a1809
double d2 = d0 * d0; double d2 = d0 * d0;
// Paper start - Configurable entity tracking range by Y // Paper start - Configurable entity tracking range by Y
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 ac8308be5b200237aa61a21404e558f245356546..c9c39cbdf7e0ff715630fc98712db0f202362eb5 100644 index 5266e37ade8851a8b73a4ae12ecd67a8d0c6e09d..c572b1ab6f3763738747560296a604d65d05c12c 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
@@ -360,6 +360,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -358,6 +358,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
} }
// Paper end - rewrite chunk system // Paper end - rewrite chunk system
public final me.samsuik.sakura.player.visibility.PlayerVisibilitySettings visibilitySettings = new me.samsuik.sakura.player.visibility.PlayerVisibilitySettings(); // Sakura - client visibility settings public final me.samsuik.sakura.player.visibility.PlayerVisibilitySettings visibilitySettings = new me.samsuik.sakura.player.visibility.PlayerVisibilitySettings(); // Sakura - client visibility settings
@@ -33,10 +33,10 @@ index ac8308be5b200237aa61a21404e558f245356546..c9c39cbdf7e0ff715630fc98712db0f2
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 ab38f0913b7adf3593c5d0b5a65441afefeeffbc..de2c9dcaf3b481ef4762598a7df0968a67d2d41a 100644 index d00fcfd5219a532204533f159d68524b2d33ccc7..4d0027a08d11fc838aee3cb318b6ea9182b4183c 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
@@ -3039,6 +3039,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -3024,6 +3024,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return (this.getHandle().requestedViewDistance() == 0) ? Bukkit.getViewDistance() : this.getHandle().requestedViewDistance(); return (this.getHandle().requestedViewDistance() == 0) ? Bukkit.getViewDistance() : this.getHandle().requestedViewDistance();
} }

View File

@@ -17,14 +17,20 @@ index c916d3037bd5920ec06213a9162223a124428d6b..fd98f36ca2fd7e0b5961fd89aa976dbf
} }
} }
diff --git a/src/main/java/net/minecraft/world/level/ServerExplosion.java b/src/main/java/net/minecraft/world/level/ServerExplosion.java diff --git a/src/main/java/net/minecraft/world/level/ServerExplosion.java b/src/main/java/net/minecraft/world/level/ServerExplosion.java
index a9a63fa9d2c45298ebd4146e0dfeea54b6431797..f4ab7d377171bf5b9ead7ffd0e6151884bcd2968 100644 index 8ddcbb5f5ea867d3bce207ba25f93a940f78a93b..06cbe3ac6adf0d91a185e365a056b29ee54380e6 100644
--- a/src/main/java/net/minecraft/world/level/ServerExplosion.java --- a/src/main/java/net/minecraft/world/level/ServerExplosion.java
+++ b/src/main/java/net/minecraft/world/level/ServerExplosion.java +++ b/src/main/java/net/minecraft/world/level/ServerExplosion.java
@@ -748,6 +748,7 @@ public class ServerExplosion implements Explosion { @@ -748,7 +748,12 @@ public class ServerExplosion implements Explosion {
// Paper end - knockback events // Paper end - knockback events
} }
// CraftBukkit end // CraftBukkit end
+ entity.hasImpulse = true; // Sakura - set entity impulse on explosion - entity.push(vec3d);
entity.setDeltaMovement(entity.getDeltaMovement().add(vec3d)); + // Sakura start - set entity impulse on explosion
+ // Wait for upstream to change the push method to be more sane.
+ // entity.push(vec3d);
+ entity.hasImpulse = true;
+ entity.setDeltaMovement(entity.getDeltaMovement().add(vec3d));
+ // Sakura end - set entity impulse on explosion
if (entity instanceof Player) { if (entity instanceof Player) {
Player entityhuman = (Player) entity; Player entityhuman = (Player) entity;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable left shooting and adjusting limits
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 a48d871f851c9cafdb05fef3e33ec1de81b7d0bd..dcf2c3f9236a96618608887b269164b23127d6ff 100644 index a2b0fe7122c11da561ab6ceb91bc37385df16c0d..95f4854ca21a6b34ad1ab95a1cb38f7d2dfd24c3 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
@@ -651,6 +651,46 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -651,6 +651,46 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -55,7 +55,7 @@ index a48d871f851c9cafdb05fef3e33ec1de81b7d0bd..dcf2c3f9236a96618608887b269164b2
public Entity(EntityType<?> type, Level world) { public Entity(EntityType<?> type, Level world) {
this.id = Entity.ENTITY_COUNTER.incrementAndGet(); this.id = Entity.ENTITY_COUNTER.incrementAndGet();
@@ -1729,6 +1769,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1742,6 +1782,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
} }
if (xSmaller && z != 0.0) { if (xSmaller && z != 0.0) {
@@ -63,7 +63,7 @@ index a48d871f851c9cafdb05fef3e33ec1de81b7d0bd..dcf2c3f9236a96618608887b269164b2
z = this.scanZ(currBoundingBox, z, voxelList, bbList); z = this.scanZ(currBoundingBox, z, voxelList, bbList);
if (z != 0.0) { if (z != 0.0) {
currBoundingBox = ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.offsetZ(currBoundingBox, z); currBoundingBox = ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.offsetZ(currBoundingBox, z);
@@ -1736,6 +1777,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1749,6 +1790,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
} }
if (x != 0.0) { if (x != 0.0) {
@@ -76,7 +76,7 @@ index a48d871f851c9cafdb05fef3e33ec1de81b7d0bd..dcf2c3f9236a96618608887b269164b2
if (x != 0.0) { if (x != 0.0) {
currBoundingBox = ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.offsetX(currBoundingBox, x); currBoundingBox = ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.offsetX(currBoundingBox, x);
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index 2d9e42465d4a8adf2095d3d23b29df29af3df00d..20c67c47d90b5a41d6db783fda460636873638c4 100644 index 6a3d0d407dc25715c1408818cd7aba1d962ed382..1a90e7bb8209e20c288afd8c78e681c1fab317cb 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java --- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -270,6 +270,7 @@ public class FallingBlockEntity extends Entity implements me.samsuik.sakura.enti @@ -270,6 +270,7 @@ public class FallingBlockEntity extends Entity implements me.samsuik.sakura.enti

View File

@@ -42,10 +42,10 @@ index 5db5ba026462ca642dcee718af732f80fadabef5..51e26395b53628b34b1f7f68935a9ba4
boolean isEmpty(); boolean isEmpty();
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 b8d59ca87e908ce2bdd978007e3a97e297a10278..cdd56fedb0e0703e820fe807789e0fad78d4b409 100644 index f99497c7b10716c1804d29e1e51e608c3a542127..290f3fc3c05892c4de8015fe38cec0c5e5d9fb61 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
@@ -1648,7 +1648,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -1649,7 +1649,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
tilesThisCycle--; tilesThisCycle--;
toRemove.add(tickingblockentity); // Paper - Fix MC-117075; use removeAll toRemove.add(tickingblockentity); // Paper - Fix MC-117075; use removeAll
// Spigot end // Spigot end
@@ -55,7 +55,7 @@ index b8d59ca87e908ce2bdd978007e3a97e297a10278..cdd56fedb0e0703e820fe807789e0fad
// Paper start - rewrite chunk system // Paper start - rewrite chunk system
if ((++tickedEntities & 7) == 0) { if ((++tickedEntities & 7) == 0) {
diff --git a/src/main/java/net/minecraft/world/level/block/HopperBlock.java b/src/main/java/net/minecraft/world/level/block/HopperBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/HopperBlock.java b/src/main/java/net/minecraft/world/level/block/HopperBlock.java
index 005a2a66a6e8a492acfa7ba91117884cda08562d..00a2eeeedaadb9e7486e6b366bef6c15e48d23cd 100644 index 8ba23af2fa6c5174aa3ec34e78f9c21ce786c4fc..45070d4506b79890f3cd806789a2fa7ab9d37d27 100644
--- a/src/main/java/net/minecraft/world/level/block/HopperBlock.java --- a/src/main/java/net/minecraft/world/level/block/HopperBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/HopperBlock.java +++ b/src/main/java/net/minecraft/world/level/block/HopperBlock.java
@@ -140,6 +140,12 @@ public class HopperBlock extends BaseEntityBlock { @@ -140,6 +140,12 @@ public class HopperBlock extends BaseEntityBlock {
@@ -72,10 +72,10 @@ index 005a2a66a6e8a492acfa7ba91117884cda08562d..00a2eeeedaadb9e7486e6b366bef6c15
} }
} }
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
index 1f929b467a0ece3143af58a657cf5983c07a8d51..dafdaf4d34af9c0a3d7915957c9de243d03b06f7 100644 index 1f664c10138a6e19bdc0051fa80575516d5602e7..1d3b7bf7b06b340f15671db4b910ca8d830f268d 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java --- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
@@ -49,6 +49,55 @@ public abstract class BlockEntity { @@ -48,6 +48,55 @@ public abstract class BlockEntity {
private BlockState blockState; private BlockState blockState;
private DataComponentMap components; private DataComponentMap components;
@@ -131,7 +131,7 @@ index 1f929b467a0ece3143af58a657cf5983c07a8d51..dafdaf4d34af9c0a3d7915957c9de243
public BlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) { public BlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
this.components = DataComponentMap.EMPTY; this.components = DataComponentMap.EMPTY;
this.type = type; this.type = type;
@@ -227,12 +276,23 @@ public abstract class BlockEntity { @@ -217,12 +266,23 @@ public abstract class BlockEntity {
public void setChanged() { public void setChanged() {
if (this.level != null) { if (this.level != null) {
if (ignoreTileUpdates) return; // Paper - Perf: Optimize Hoppers if (ignoreTileUpdates) return; // Paper - Perf: Optimize Hoppers
@@ -156,7 +156,7 @@ index 1f929b467a0ece3143af58a657cf5983c07a8d51..dafdaf4d34af9c0a3d7915957c9de243
world.blockEntityChanged(pos); world.blockEntityChanged(pos);
if (!state.isAir()) { if (!state.isAir()) {
world.updateNeighbourForOutputSignal(pos, state.getBlock()); world.updateNeighbourForOutputSignal(pos, state.getBlock());
@@ -263,6 +323,7 @@ public abstract class BlockEntity { @@ -253,6 +313,7 @@ public abstract class BlockEntity {
public void setRemoved() { public void setRemoved() {
this.remove = true; this.remove = true;
@@ -283,10 +283,10 @@ index 28e3b73507b988f7234cbf29c4024c88180d0aef..a0d247aa883553708c4b921582324255
+ // Sakura end - optimise hopper ticking + // Sakura end - optimise hopper ticking
} }
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
index 4640baec5bed6c2d53cc0f8ca1d273cc115abe9b..aec495138c9724590be9bd5775189f0643b12a09 100644 index 97937e3bd211997f0a0a3e9e671a1c59712d0003..ce92f8f2d2f96ec77ae7128b741689ec2b77aad9 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -1035,6 +1035,13 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p @@ -1040,6 +1040,13 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
return this.ticker.getType(); return this.ticker.getType();
} }
@@ -300,7 +300,7 @@ index 4640baec5bed6c2d53cc0f8ca1d273cc115abe9b..aec495138c9724590be9bd5775189f06
public String toString() { public String toString() {
return String.valueOf(this.ticker) + " <wrapped>"; return String.valueOf(this.ticker) + " <wrapped>";
} }
@@ -1107,6 +1114,13 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p @@ -1112,6 +1119,13 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
return BlockEntityType.getKey(this.blockEntity.getType()).toString(); return BlockEntityType.getKey(this.blockEntity.getType()).toString();
} }

View File

@@ -83,10 +83,10 @@ index c03608fec96b51e1867f43d8f42e5aefb1520e46..32ac34e6ca4a7443e894369fee349911
return true; return true;
} }
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 7da3a92b9c81cc903d10b50ea0efd0151626a8e5..49bcdf00bcbabb0d775fc0ce284a04d60a203c8e 100644 index 56357e253247d19c108a7f753058fa3eba0302ee..c2c0cd8ae1afd90d9b08adec3cb127b13ce60331 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
@@ -1823,7 +1823,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1824,7 +1824,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper start - Folia scheduler API // Paper start - Folia scheduler API
((io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler) Bukkit.getGlobalRegionScheduler()).tick(); ((io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler) Bukkit.getGlobalRegionScheduler()).tick();
getAllLevels().forEach(level -> { getAllLevels().forEach(level -> {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add max armour durability damage
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 8992f0ad55c1177bee9d4167cedf2fef54117a6a..8cb19ec587512d70a792235ba4e7d82b56074a77 100644 index 8dab67d53a058b62d73e009e378d6376dae70075..a32c4dac9c2a25f52ca39c8dcf7d72acc7ad7f8f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2535,6 +2535,12 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2546,6 +2546,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
// Apply damage to armor // Apply damage to armor
if (!damagesource.is(DamageTypeTags.BYPASSES_ARMOR)) { if (!damagesource.is(DamageTypeTags.BYPASSES_ARMOR)) {
float armorDamage = (float) (event.getDamage() + event.getDamage(DamageModifier.BLOCKING) + event.getDamage(DamageModifier.HARD_HAT)); float armorDamage = (float) (event.getDamage() + event.getDamage(DamageModifier.BLOCKING) + event.getDamage(DamageModifier.HARD_HAT));

View File

@@ -71,10 +71,10 @@ index 0000000000000000000000000000000000000000..e00c07c614e007c007076e3dbe8bd8cc
+ } + }
+} +}
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 dcf2c3f9236a96618608887b269164b23127d6ff..2c31c508409780334cd925368a1623192f8428a6 100644 index 95f4854ca21a6b34ad1ab95a1cb38f7d2dfd24c3..7d35952cdf48150f43b103b765358b7760411c9d 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
@@ -2050,6 +2050,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -2061,6 +2061,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
} }
final Iterator iterator1 = positions.iterator(); final Iterator iterator1 = positions.iterator();
// Sakura end - physics version api // Sakura end - physics version api
@@ -86,7 +86,7 @@ index dcf2c3f9236a96618608887b269164b23127d6ff..2c31c508409780334cd925368a162319
while (iterator1.hasNext()) { while (iterator1.hasNext()) {
BlockPos blockposition = (BlockPos) iterator1.next(); BlockPos blockposition = (BlockPos) iterator1.next();
@@ -2058,7 +2063,19 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -2069,7 +2074,19 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return; return;
} }
@@ -108,7 +108,7 @@ index dcf2c3f9236a96618608887b269164b23127d6ff..2c31c508409780334cd925368a162319
if (!iblockdata.isAir() && longset.add(blockposition.asLong())) { if (!iblockdata.isAir() && longset.add(blockposition.asLong())) {
try { try {
diff --git a/src/main/java/net/minecraft/world/level/BlockGetter.java b/src/main/java/net/minecraft/world/level/BlockGetter.java diff --git a/src/main/java/net/minecraft/world/level/BlockGetter.java b/src/main/java/net/minecraft/world/level/BlockGetter.java
index 93738c7dea1ea3d19013a47380391274612a719b..bbf79df2636ea96a288cd614e5b90968e5754937 100644 index 62719778c62d6632a8eb6f2bc670956c15a247de..ecdb8769c1a388827bf5c4565c82f8e32672c5d7 100644
--- a/src/main/java/net/minecraft/world/level/BlockGetter.java --- a/src/main/java/net/minecraft/world/level/BlockGetter.java
+++ b/src/main/java/net/minecraft/world/level/BlockGetter.java +++ b/src/main/java/net/minecraft/world/level/BlockGetter.java
@@ -215,11 +215,18 @@ public interface BlockGetter extends LevelHeightAccessor { @@ -215,11 +215,18 @@ public interface BlockGetter extends LevelHeightAccessor {
@@ -131,9 +131,9 @@ index 93738c7dea1ea3d19013a47380391274612a719b..bbf79df2636ea96a288cd614e5b90968
+ Iterable<BlockPos> iterable = BlockPos.betweenClosed(boundingBox); + Iterable<BlockPos> iterable = BlockPos.betweenClosed(boundingBox);
+ // Sakura end - optimise check inside blocks + // Sakura end - optimise check inside blocks
Set<BlockPos> set = new ObjectLinkedOpenHashSet(); Set<BlockPos> set = new ObjectLinkedOpenHashSet();
Vec3 vec3d3 = vec3d2.normalize().scale(1.0E-7D); Vec3 vec3d3 = boundingBox.getMinPosition();
Vec3 vec3d4 = boundingBox.getMinPosition().add(vec3d3); Vec3 vec3d4 = vec3d3.subtract(vec3d2);
@@ -238,6 +245,16 @@ public interface BlockGetter extends LevelHeightAccessor { @@ -237,6 +244,16 @@ public interface BlockGetter extends LevelHeightAccessor {
} }
} }