diff --git a/gradle.properties b/gradle.properties index 0d6c6e8..a2066a3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group=me.samsuik.sakura version=1.21.3-R0.1-SNAPSHOT mcVersion=1.21.3 -paperRef=99f4bb29ba77964304a37e51b7f1824a4a6032af +paperRef=f8e2a671eb46eb9acaa6b563a9813cb2d235088a org.gradle.jvmargs=-Xmx2G org.gradle.vfs.watch=false diff --git a/patches/server/0001-Branding-changes.patch b/patches/server/0001-Branding-changes.patch index b6b37cf..18d2245 100644 --- a/patches/server/0001-Branding-changes.patch +++ b/patches/server/0001-Branding-changes.patch @@ -6,19 +6,19 @@ Subject: [PATCH] Branding changes From ForkPaper. diff --git a/build.gradle.kts b/build.gradle.kts -index de0474b8dce58cb419c00b7614d7dd66be832a02..3936a6d3dcc92f22ec28db334d8785e84a3d0034 100644 +index faf3e3fd72e8c915e7a4803dacbe1bb576c6663e..abaa5cf4214859f0325ddca3784f6b126520fd7d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -13,7 +13,7 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { - val alsoShade: Configuration by configurations.creating +@@ -25,7 +25,7 @@ abstract class MockitoAgentProvider : CommandLineArgumentProvider { + // Paper end - configure mockito agent that is needed in newer java versions dependencies { - implementation(project(":paper-api")) + implementation(project(":sakura-api")) // Sakura // Paper start - implementation("org.jline:jline-terminal-jansi:3.21.0") - implementation("net.minecrell:terminalconsoleappender:1.3.0") -@@ -85,14 +85,14 @@ tasks.jar { + implementation("org.jline:jline-terminal-ffm:3.27.1") // use ffm on java 22+ + implementation("org.jline:jline-terminal-jni:3.27.1") // fall back to jni on java 21 +@@ -99,14 +99,14 @@ tasks.jar { val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", diff --git a/patches/server/0003-Sakura-Configuration-Files.patch b/patches/server/0003-Sakura-Configuration-Files.patch index 5ab88da..e1601f3 100644 --- a/patches/server/0003-Sakura-Configuration-Files.patch +++ b/patches/server/0003-Sakura-Configuration-Files.patch @@ -1194,10 +1194,10 @@ index 17a158ff6ce6520b69a5a0032ba4c05449dd0cf8..282a0f91e41a0dcdeb48111a64a83b48 this.setPvpAllowed(dedicatedserverproperties.pvp); 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 -index 5964d601c05176f48167cc92057a59e52a4da92b..32742470eea2ec86c0fff02aa157bfcc89530ad3 100644 +index 957cae6ddeba9efe3b55588567ae51e8b86b6a42..2a622f2d796ecb42598d230319804d06f0a30808 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -590,7 +590,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -597,7 +597,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe // Add env and gen to constructor, IWorldDataServer -> WorldDataServer public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) { @@ -1207,7 +1207,7 @@ index 5964d601c05176f48167cc92057a59e52a4da92b..32742470eea2ec86c0fff02aa157bfcc this.convertable = convertable_conversionsession; 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 -index 022de445bbbb869c38be4972c98dcf1c665539ec..d95292d388efa4c504440347f1e5dfc2b87b8afe 100644 +index 2cc264f577fdd81d02783e0d6146bea9728789c7..bcaeaf99919be2dba2ba6e5fac76b25766b446d1 100644 --- a/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 @@ -1241,7 +1241,7 @@ index 022de445bbbb869c38be4972c98dcf1c665539ec..d95292d388efa4c504440347f1e5dfc2 this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e80439a0d17adaab7b782626fd2ee9ce1669058c..53d013a3c82f77cd388aadef1fe27f531db7bd89 100644 +index 806e56cb60235a99f468d36a059fdbd54c2d46e3..90d9f1c87f9731ca78ba4eb1fd4522ab2273a036 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1074,6 +1074,7 @@ public final class CraftServer implements Server { @@ -1261,7 +1261,7 @@ index e80439a0d17adaab7b782626fd2ee9ce1669058c..53d013a3c82f77cd388aadef1fe27f53 this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); 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 -index a7524d3853d5b67b6385d2b74832b9267503dfe6..cab99463b969b6414d506c73c71e7e81f39c5541 100644 +index be0d38544395a9b3befb898bb961f34e32fe9509..97c1db323971ca1a44c164bb90ae384ea21f5c8f 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -176,6 +176,14 @@ public class Main { diff --git a/patches/server/0004-Local-Config-and-Value-Storage-API.patch b/patches/server/0004-Local-Config-and-Value-Storage-API.patch index 45fa90d..b5252da 100644 --- a/patches/server/0004-Local-Config-and-Value-Storage-API.patch +++ b/patches/server/0004-Local-Config-and-Value-Storage-API.patch @@ -227,7 +227,7 @@ index 0000000000000000000000000000000000000000..5b3e2cca7ee16bc6ecfa0f29438fa658 + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 9a741b30f1f8e3b151d54e36184e7e867163a6b4..24aa17ae5f15f330b128a752dee4f79fa619b75d 100644 +index b771196ac2aa905312d7e106cae710d68e4733d3..281a821c6a53013f8fe798781755ab7be2a359bd 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1886,6 +1886,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop WorldDataServer public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) { -@@ -1898,7 +1913,18 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1905,7 +1920,18 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe if (entityplayer.distanceToSqr(vec3d) < 4096.0D) { Optional optional = Optional.ofNullable((Vec3) serverexplosion.getHitPlayers().get(entityplayer)); @@ -813,7 +813,7 @@ index 32742470eea2ec86c0fff02aa157bfcc89530ad3..8042d55095ea16cd370ead0f5de2fa2f } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index cffbd3300967e5d80b5973b35a76235bb2aa1b73..55423353ee674d97fbe6a2d659ce8fb5a466e378 100644 +index 2e8ecf3bbb9f9ceba6f896738fa1ab8e2bd0fed6..d4dd9c45bc9603ceccc8ebb0eef47c50b48dcf98 100644 --- a/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 @@ -890,7 +890,7 @@ index b5d5dbc50a7b8c40739a15f164ffd08fdc534f9c..5cfcc7a1e9461fd7dfd6d7100bdc9789 if (this.player.containerMenu != oldContainer) { return; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a0876d3f88620bb24ef69101fc67b0dcd5dca0d2..35da89072cea86c1b1bc54784908bfb7bd449f4a 100644 +index 8be1b051543cda2b2e9e3d337834757e53f442de..cc9afce726f5b269cd2afb21ffe81173e618781d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -611,6 +611,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -929,10 +929,10 @@ index de87483600e55d88176fe25db621bbd3e464729f..5bd189fad703ac99d57258fa448dbcc1 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 -index 2c7ec674f55b3178b9dcba7f2bc1ff5efccb50ea..503d7ffab7d7a792e3db740dcba2221f7dbd62eb 100644 +index d0010dfd22463986bf3be9b3ee015ce92735753e..1e3bd95d75210926c2739514eecbda7a21550ba4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2404,6 +2404,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2392,6 +2392,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { handle.keepLevel = data.getBoolean("keepLevel"); } } @@ -946,7 +946,7 @@ index 2c7ec674f55b3178b9dcba7f2bc1ff5efccb50ea..503d7ffab7d7a792e3db740dcba2221f } public void setExtraData(CompoundTag nbttagcompound) { -@@ -2433,6 +2440,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2421,6 +2428,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { paper.putLong("LastLogin", handle.loginTime); paper.putLong("LastSeen", System.currentTimeMillis()); // Paper end @@ -958,7 +958,7 @@ index 2c7ec674f55b3178b9dcba7f2bc1ff5efccb50ea..503d7ffab7d7a792e3db740dcba2221f } @Override -@@ -3107,6 +3119,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3095,6 +3107,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().allowsListing(); } diff --git a/patches/server/0007-Load-Chunks-on-Movement.patch b/patches/server/0007-Load-Chunks-on-Movement.patch index 9cf798c..2c492a0 100644 --- a/patches/server/0007-Load-Chunks-on-Movement.patch +++ b/patches/server/0007-Load-Chunks-on-Movement.patch @@ -5,10 +5,10 @@ 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 -index 3abd4ad6379c383c3a31931255292b42d9435694..149e461fcb23b2ed7ae8dcc09837de501ba9eafb 100644 +index aec503ca1551ce4b15b8975832cd664ebd670722..f6be260f942c6b9c65e8c3ed625639db75086267 100644 --- a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java +++ b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java -@@ -1910,6 +1910,7 @@ public final class CollisionUtil { +@@ -1912,6 +1912,7 @@ public final class CollisionUtil { public static final int COLLISION_FLAG_COLLIDE_WITH_UNLOADED_CHUNKS = 1 << 1; public static final int COLLISION_FLAG_CHECK_BORDER = 1 << 2; public static final int COLLISION_FLAG_CHECK_ONLY = 1 << 3; @@ -16,7 +16,7 @@ index 3abd4ad6379c383c3a31931255292b42d9435694..149e461fcb23b2ed7ae8dcc09837de50 public static boolean getCollisionsForBlocksOrWorldBorder(final Level world, final Entity entity, final AABB aabb, final List intoVoxel, final List intoAABB, -@@ -1960,6 +1961,7 @@ public final class CollisionUtil { +@@ -1963,6 +1964,7 @@ public final class CollisionUtil { final int maxChunkZ = maxBlockZ >> 4; final boolean loadChunks = (collisionFlags & COLLISION_FLAG_LOAD_CHUNKS) != 0; @@ -24,7 +24,7 @@ index 3abd4ad6379c383c3a31931255292b42d9435694..149e461fcb23b2ed7ae8dcc09837de50 final ChunkSource chunkSource = world.getChunkSource(); for (int currChunkZ = minChunkZ; currChunkZ <= maxChunkZ; ++currChunkZ) { -@@ -1978,6 +1980,13 @@ public final class CollisionUtil { +@@ -1981,6 +1983,13 @@ public final class CollisionUtil { continue; } @@ -51,7 +51,7 @@ index e701f57ac8b0efdf739389f9be7a255220bb3e21..35a437f3acfd2659341abd8ab6a3b21c public static TicketType create(String name, Comparator argumentComparator) { 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 -index 35da89072cea86c1b1bc54784908bfb7bd449f4a..eb0026368463aaac46dbbf1800032809041f7874 100644 +index cc9afce726f5b269cd2afb21ffe81173e618781d..281c1d501ed40acd709a541d656d542ce595ac2a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -615,6 +615,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0008-TPS-Graph-Command.patch b/patches/server/0008-TPS-Graph-Command.patch index bd7bee7..e01214f 100644 --- a/patches/server/0008-TPS-Graph-Command.patch +++ b/patches/server/0008-TPS-Graph-Command.patch @@ -442,10 +442,10 @@ index 9f34a0c6f4f8157d77ed3cb36a546ec8c1b9b1bd..a4a692c46b7c223c7ade46252e5f01c0 gameprofilerfiller.popPush("nextTickWait"); this.mayHaveDelayedTasks = true; diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 3c711e1df57ac5b0f8795ebb12299d275792b1d4..837cbd35b52c861956eef1eea0ae782a311273ba 100644 +index 61a73a234d9bdd22958ae261b7d0359179f7a57b..59f6dfeee3db8f08b566dc7db14e9a461f70a317 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -193,6 +193,11 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -196,6 +196,11 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon this.clearCache(); } @@ -458,7 +458,7 @@ index 3c711e1df57ac5b0f8795ebb12299d275792b1d4..837cbd35b52c861956eef1eea0ae782a public boolean isChunkLoaded(int chunkX, int chunkZ) { ChunkHolder chunk = this.chunkMap.getUpdatingChunkIfPresent(ChunkPos.asLong(chunkX, chunkZ)); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 8042d55095ea16cd370ead0f5de2fa2f65510b6c..689ce5e9ee53c47721b93d77c3b8b7f24680bc81 100644 +index 4ac8c7b3878b3df7b9cb812f99a47e2f9fc7f408..0966857107117c59725e69352cd34f6c2228ae4b 100644 --- a/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 diff --git a/patches/server/0016-Merge-Cannon-Entities.patch b/patches/server/0016-Merge-Cannon-Entities.patch index c68f605..86ac67f 100644 --- a/patches/server/0016-Merge-Cannon-Entities.patch +++ b/patches/server/0016-Merge-Cannon-Entities.patch @@ -410,10 +410,10 @@ index a4a692c46b7c223c7ade46252e5f01c0b72eee7e..efc1a8bb3d91369fc47b7553a144cd25 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 -index 689ce5e9ee53c47721b93d77c3b8b7f24680bc81..ea5f858a3ac3e20fe2b00f7ba5bd58e1f7c17425 100644 +index 0966857107117c59725e69352cd34f6c2228ae4b..4c02453b6663f369377940ece30e8a2a4cc4c7d5 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -799,6 +799,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -806,6 +806,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } org.spigotmc.ActivationRange.activateEntities(this); // Spigot @@ -421,7 +421,7 @@ index 689ce5e9ee53c47721b93d77c3b8b7f24680bc81..ea5f858a3ac3e20fe2b00f7ba5bd58e1 this.entityTickList.forEach((entity) -> { if (!entity.isRemoved()) { if (!tickratemanager.isEntityFrozen(entity)) { -@@ -816,6 +817,15 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -823,6 +824,15 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe entity.stopRiding(); } @@ -438,7 +438,7 @@ index 689ce5e9ee53c47721b93d77c3b8b7f24680bc81..ea5f858a3ac3e20fe2b00f7ba5bd58e1 this.guardEntityTick(this::tickNonPassenger, entity); gameprofilerfiller.pop(); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1fbe29291e2c8318427525f126842b9ce9f5b946..e369034397cabd79b67714402cf6431b94594285 100644 +index d9e236f8ec8735512d3bf02f07472b9be702bc9d..0b1eeefc0ff36665ffbba536e9944d74da0d94b0 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -648,6 +648,23 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -678,7 +678,7 @@ index 25a25b5c6497c9823a41e6bd8fd22f0841377c62..6b739e820af6333c1ff3a4b87154d4c0 if (nbt.contains("explosion_power", 99)) { 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 -index 4696506402ab92439033cf01007fd78a543b5b37..d036cdcc17b8429c986946a020cb34cd6ced322e 100644 +index 49b01f78529f067eee65b14e7906b9f1de768f06..41a6c621dc26fe4bcb254d0465588c9227832758 100644 --- a/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 diff --git a/patches/server/0019-Specialised-Explosions.patch b/patches/server/0019-Specialised-Explosions.patch index 265b77f..2f00102 100644 --- a/patches/server/0019-Specialised-Explosions.patch +++ b/patches/server/0019-Specialised-Explosions.patch @@ -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 -index ea5f858a3ac3e20fe2b00f7ba5bd58e1f7c17425..4a1ed4e1d03b9c01c32938bed964970d7f6917d6 100644 +index 4c02453b6663f369377940ece30e8a2a4cc4c7d5..e39f4e4716b8794e506d3ffcbc35ae88d0fbc23a 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1905,7 +1905,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1912,7 +1912,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe Explosion.BlockInteraction explosion_effect1 = explosion_effect; Vec3 vec3d = new Vec3(d0, d1, d2); @@ -459,7 +459,7 @@ index ea5f858a3ac3e20fe2b00f7ba5bd58e1f7c17425..4a1ed4e1d03b9c01c32938bed964970d if (configurator != null) configurator.accept(serverexplosion);// Paper - Allow explosions to damage source serverexplosion.explode(); -@@ -1914,6 +1923,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1921,6 +1930,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe return serverexplosion; } // CraftBukkit end @@ -473,7 +473,7 @@ index ea5f858a3ac3e20fe2b00f7ba5bd58e1f7c17425..4a1ed4e1d03b9c01c32938bed964970d ParticleOptions particleparam2 = serverexplosion.isSmall() ? particleparam : particleparam1; Iterator iterator = this.players.iterator(); -@@ -1938,7 +1954,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1945,7 +1961,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } } diff --git a/patches/server/0026-Optimise-LivingEntity-pushEntities.patch b/patches/server/0026-Optimise-LivingEntity-pushEntities.patch index 11cb4b9..df21463 100644 --- a/patches/server/0026-Optimise-LivingEntity-pushEntities.patch +++ b/patches/server/0026-Optimise-LivingEntity-pushEntities.patch @@ -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 -index e86314de8d908a0c3e9f17d3e163c11180cf3f59..799250a0b2056743fde37d28a032f15ad1850d49 100644 +index f36a075dbee2b96d01899e02460b1d8443e91749..e6b6987b46294a96f10d3aa56e8bdc4e25a4c9bf 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3767,7 +3767,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3789,7 +3789,12 @@ public abstract class LivingEntity extends Entity implements Attackable { return; } // Paper end - don't run getEntities if we're not going to use its result diff --git a/patches/server/0028-Configure-Entity-Knockback.patch b/patches/server/0028-Configure-Entity-Knockback.patch index 6016e0f..5938ce9 100644 --- a/patches/server/0028-Configure-Entity-Knockback.patch +++ b/patches/server/0028-Configure-Entity-Knockback.patch @@ -5,7 +5,7 @@ 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 -index a2724a075fc2f8c8127ed87cfa35d7ae72c347e8..9c21000c7e5202504ca08e5d87bb32bc674aa76c 100644 +index e6b6987b46294a96f10d3aa56e8bdc4e25a4c9bf..daf37223c47f30f6da23a996c8b0473e473cbba2 100644 --- a/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 { @@ -26,7 +26,7 @@ index a2724a075fc2f8c8127ed87cfa35d7ae72c347e8..9c21000c7e5202504ca08e5d87bb32bc } private boolean checkTotemDeathProtection(DamageSource source) { -@@ -2018,7 +2018,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2024,7 +2024,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 @@ -35,7 +35,7 @@ index a2724a075fc2f8c8127ed87cfa35d7ae72c347e8..9c21000c7e5202504ca08e5d87bb32bc if (true || d0 > 0.0D) { // CraftBukkit - Call event even when force is 0 //this.hasImpulse = true; // CraftBukkit - Move down -@@ -2029,9 +2029,21 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2035,9 +2035,21 @@ public abstract class LivingEntity extends Entity implements Attackable { } Vec3 vec3d1 = (new Vec3(d1, 0.0D, d2)).normalize().scale(d0); diff --git a/patches/server/0036-Option-to-configure-entity-water-sensitivity.patch b/patches/server/0036-Option-to-configure-entity-water-sensitivity.patch index c1b99b4..da68718 100644 --- a/patches/server/0036-Option-to-configure-entity-water-sensitivity.patch +++ b/patches/server/0036-Option-to-configure-entity-water-sensitivity.patch @@ -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 -index e75af7a79406092d8c04e8bc49d97b877208b974..e76e1a45f522a212c7ffcac9ff21451e679f7d0b 100644 +index daf37223c47f30f6da23a996c8b0473e473cbba2..acfb7762f53636a5df1e8de8f1cbcf8d150debc7 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3697,7 +3697,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3719,7 +3719,7 @@ public abstract class LivingEntity extends Entity implements Attackable { // Paper end - Add EntityMoveEvent world = this.level(); if (world instanceof ServerLevel worldserver) { diff --git a/patches/server/0037-Configure-cannon-physics-by-version.patch b/patches/server/0037-Configure-cannon-physics-by-version.patch index 5b9a12e..16b89b3 100644 --- a/patches/server/0037-Configure-cannon-physics-by-version.patch +++ b/patches/server/0037-Configure-cannon-physics-by-version.patch @@ -5,10 +5,10 @@ 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 -index 149e461fcb23b2ed7ae8dcc09837de501ba9eafb..613d2d90571546a482ba493fae5cbc7c69dd8f08 100644 +index f6be260f942c6b9c65e8c3ed625639db75086267..27b7be52f7617a6ecd1ff7e967604424f40027bc 100644 --- a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java +++ b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java -@@ -1799,6 +1799,13 @@ public final class CollisionUtil { +@@ -1801,6 +1801,13 @@ public final class CollisionUtil { } public static Vec3 performAABBCollisions(final Vec3 moveVector, AABB axisalignedbb, final List potentialCollisions) { @@ -22,7 +22,7 @@ index 149e461fcb23b2ed7ae8dcc09837de501ba9eafb..613d2d90571546a482ba493fae5cbc7c double x = moveVector.x; double y = moveVector.y; double z = moveVector.z; -@@ -1810,7 +1817,10 @@ public final class CollisionUtil { +@@ -1812,7 +1819,10 @@ public final class CollisionUtil { } } @@ -34,7 +34,7 @@ index 149e461fcb23b2ed7ae8dcc09837de501ba9eafb..613d2d90571546a482ba493fae5cbc7c if (xSmaller && z != 0.0) { z = performAABBCollisionsZ(axisalignedbb, z, potentialCollisions); -@@ -1836,9 +1846,18 @@ public final class CollisionUtil { +@@ -1838,9 +1848,18 @@ public final class CollisionUtil { public static Vec3 performCollisions(final Vec3 moveVector, AABB axisalignedbb, final List voxels, final List aabbs) { @@ -54,7 +54,7 @@ index 149e461fcb23b2ed7ae8dcc09837de501ba9eafb..613d2d90571546a482ba493fae5cbc7c } double x = moveVector.x; -@@ -1853,7 +1872,10 @@ public final class CollisionUtil { +@@ -1855,7 +1874,10 @@ public final class CollisionUtil { } } @@ -106,7 +106,7 @@ index ebe5f0c8c2f09920b5f5ef734e63f5e7cd8bd3a1..320cdb1f4e655a2d093890e88476df90 protected int getExplosionCount() { 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 -index b6fe11f2e0cd92bc903445edd7f997baec4c3e75..fce41d825a35700deaa0475aef85fa6e6b431790 100644 +index dc56dd43a0c3171f16310959a642bccacddb3bcc..18417d8b899edd8970291da4d5e1756d87d67531 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -385,7 +385,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -456,7 +456,7 @@ index 3e4935f4a07fa14152d1f55f069c49fdd2f3bc02..1231d99374ffa5d988e5b240be2da95f // 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 -index 0ae2d83055252146e346b06cc8360eef56d39f5c..8c41282eafc1201bf1c0d001fb4fe791f3173f87 100644 +index a1396dc2f85f9ab547dd12445090037fc5462b96..b8d59ca87e908ce2bdd978007e3a97e297a10278 100644 --- a/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 @@ -890,10 +890,10 @@ index a2d023ff011f71f80032f02430a53d6a08a23623..9e0f4517069ee3fd16a60ccc214da68d if (org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockFormEvent(world, pos, block.defaultBlockState())) { this.fizz(world, pos); diff --git a/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java b/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java -index 6561e24087dc2b9975f2ee7a3737d453354e4fcc..c949d46dc74aa934a47c75962bbdf112b936d0f7 100644 +index 21f2c61023fadcce30452a02f067cd5d87e5d8dc..5d847016f6ee2d6340d8b2234ed35c3b9228632b 100644 --- a/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java -@@ -500,6 +500,10 @@ public class RedStoneWireBlock extends Block { +@@ -571,6 +571,10 @@ public class RedStoneWireBlock extends Block { protected InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult hit) { if (!player.getAbilities().mayBuild) { return InteractionResult.PASS; diff --git a/patches/server/0043-Treat-solid-blocks-as-full-when-moving-fast.patch b/patches/server/0043-Treat-solid-blocks-as-full-when-moving-fast.patch index bf0eb59..2bb7b46 100644 --- a/patches/server/0043-Treat-solid-blocks-as-full-when-moving-fast.patch +++ b/patches/server/0043-Treat-solid-blocks-as-full-when-moving-fast.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Treat solid blocks as full when moving fast diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java -index 613d2d90571546a482ba493fae5cbc7c69dd8f08..72b135bbd5eed8e3f94f815a7b7ee827a2f9a8e6 100644 +index 27b7be52f7617a6ecd1ff7e967604424f40027bc..417b18e1179f962e218f63679785e487ba606477 100644 --- a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java +++ b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java -@@ -1933,6 +1933,7 @@ public final class CollisionUtil { +@@ -1935,6 +1935,7 @@ public final class CollisionUtil { public static final int COLLISION_FLAG_CHECK_BORDER = 1 << 2; public static final int COLLISION_FLAG_CHECK_ONLY = 1 << 3; public static final int COLLISION_FLAG_ADD_TICKET = 1 << 4; // Sakura - load chunks on movement @@ -16,7 +16,7 @@ index 613d2d90571546a482ba493fae5cbc7c69dd8f08..72b135bbd5eed8e3f94f815a7b7ee827 public static boolean getCollisionsForBlocksOrWorldBorder(final Level world, final Entity entity, final AABB aabb, final List intoVoxel, final List intoAABB, -@@ -1984,6 +1985,7 @@ public final class CollisionUtil { +@@ -1987,6 +1988,7 @@ public final class CollisionUtil { final boolean loadChunks = (collisionFlags & COLLISION_FLAG_LOAD_CHUNKS) != 0; final boolean addTicket = (collisionFlags & COLLISION_FLAG_ADD_TICKET) != 0; // Sakura - load chunks on movement @@ -24,7 +24,7 @@ index 613d2d90571546a482ba493fae5cbc7c69dd8f08..72b135bbd5eed8e3f94f815a7b7ee827 final ChunkSource chunkSource = world.getChunkSource(); for (int currChunkZ = minChunkZ; currChunkZ <= maxChunkZ; ++currChunkZ) { -@@ -2023,7 +2025,7 @@ public final class CollisionUtil { +@@ -2026,7 +2028,7 @@ public final class CollisionUtil { continue; } @@ -33,22 +33,20 @@ index 613d2d90571546a482ba493fae5cbc7c69dd8f08..72b135bbd5eed8e3f94f815a7b7ee827 final int sectionAdjust = !hasSpecial ? 1 : 0; final PalettedContainer blocks = section.states; -@@ -2059,7 +2061,12 @@ public final class CollisionUtil { - VoxelShape blockCollision = ((CollisionBlockState)blockData).moonrise$getConstantContextCollisionShape(); - - if (edgeCount == 0 || ((edgeCount != 1 || blockData.hasLargeCollisionShape()) && (edgeCount != 2 || blockData.getBlock() == Blocks.MOVING_PISTON))) { -- if (blockCollision == null) { -+ // Sakura start - treat solid blocks as full when moving fast -+ // todo: move this logic above emptyCollisionShape and consider all blocks as a solid except scaffolding and liquids -+ if (fullBlocks && blockData.moonrise$getConstantContextCollisionShape() != null) { +@@ -2065,6 +2067,11 @@ public final class CollisionUtil { + if (useEntityCollisionShape) { + mutablePos.set(blockX, blockY, blockZ); + blockCollision = collisionShape.getCollisionShape(blockData, world, mutablePos); ++ // Sakura start - treat solid blocks as full when moving fast ++ // todo: move this logic above emptyCollisionShape and consider all blocks as a solid except scaffolding and liquids ++ } else if (fullBlocks && blockData.moonrise$getConstantContextCollisionShape() != null) { + blockCollision = net.minecraft.world.phys.shapes.Shapes.block(); -+ } else if (blockCollision == null) { + // Sakura end - treat solid blocks as full when moving fast + } else if (blockCollision == null) { mutablePos.set(blockX, blockY, blockZ); blockCollision = blockData.getCollisionShape(world, mutablePos, collisionShape); - } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index fce41d825a35700deaa0475aef85fa6e6b431790..2c84608aba2bfb610a7f2898e45f9a047691b3f4 100644 +index 18417d8b899edd8970291da4d5e1756d87d67531..ef81c093377c0cae5d729a17a0dc89ba9b0b118a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -626,6 +626,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0048-Add-instant-mob-death-animation.patch b/patches/server/0048-Add-instant-mob-death-animation.patch index c0e0369..7b731da 100644 --- a/patches/server/0048-Add-instant-mob-death-animation.patch +++ b/patches/server/0048-Add-instant-mob-death-animation.patch @@ -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 -index d302b53d1d6052b4982fedb496b4d100f75bbe33..c477eb3ea41e7d7caa04179248f116f617317cbd 100644 +index acfb7762f53636a5df1e8de8f1cbcf8d150debc7..dc57d8d4448f60478693b6c3e81ae11074d4f22b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1852,6 +1852,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1858,6 +1858,12 @@ public abstract class LivingEntity extends Entity implements Attackable { // Paper start if (this.dead) { // Paper diff --git a/patches/server/0056-Add-entity-travel-distance-limits.patch b/patches/server/0056-Add-entity-travel-distance-limits.patch index 31af8d0..1026987 100644 --- a/patches/server/0056-Add-entity-travel-distance-limits.patch +++ b/patches/server/0056-Add-entity-travel-distance-limits.patch @@ -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 -index 4a1ed4e1d03b9c01c32938bed964970d7f6917d6..a127f74d306ebb09a31fa4f6411624a4ac80bc76 100644 +index e39f4e4716b8794e506d3ffcbc35ae88d0fbc23a..a3c8ed82e46056be1a3ca002664e6fe6fa46bc2e 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1321,6 +1321,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -1328,6 +1328,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity); // Paper - EAR 2 if (isActive) { // Paper - EAR 2 entity.tick(); @@ -21,7 +21,7 @@ index 4a1ed4e1d03b9c01c32938bed964970d7f6917d6..a127f74d306ebb09a31fa4f6411624a4 } else { entity.inactiveTick(); } // Paper - EAR 2 gameprofilerfiller.pop(); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 2c84608aba2bfb610a7f2898e45f9a047691b3f4..0868f3d8d93e4c360a0a53df741950789f3c6a1c 100644 +index ef81c093377c0cae5d729a17a0dc89ba9b0b118a..ee8816ec238a38667cdf0f0f749c02b78a6477bd 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -681,6 +681,19 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0063-Legacy-player-combat-mechanics.patch b/patches/server/0063-Legacy-player-combat-mechanics.patch index 8603803..e5da736 100644 --- a/patches/server/0063-Legacy-player-combat-mechanics.patch +++ b/patches/server/0063-Legacy-player-combat-mechanics.patch @@ -145,7 +145,7 @@ index 0000000000000000000000000000000000000000..b4ab8f172d713204bb9c1ebf575dcc28 + private LegacyDamageMapping() {} +} diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 57d5a4a1c819f2e06df8cb958783f99990a27557..bf323c5941d348c0c72bdda2a04a20a6653ad70a 100644 +index dc57d8d4448f60478693b6c3e81ae11074d4f22b..365ab6a0c564911bc58d3fb90e3abe82dbbdc642 100644 --- a/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 { @@ -192,7 +192,7 @@ index 57d5a4a1c819f2e06df8cb958783f99990a27557..bf323c5941d348c0c72bdda2a04a20a6 protected LivingEntity(EntityType type, Level world) { super(type, world); -@@ -2285,7 +2322,16 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2291,7 +2328,16 @@ public abstract class LivingEntity extends Entity implements Attackable { protected float getDamageAfterArmorAbsorb(DamageSource source, float amount) { if (!source.is(DamageTypeTags.BYPASSES_ARMOR)) { // this.hurtArmor(damagesource, f); // CraftBukkit - actuallyHurt(DamageSource, float, EntityDamageEvent) for handle damage @@ -209,7 +209,7 @@ index 57d5a4a1c819f2e06df8cb958783f99990a27557..bf323c5941d348c0c72bdda2a04a20a6 } return amount; -@@ -3459,6 +3505,11 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3481,6 +3527,11 @@ public abstract class LivingEntity extends Entity implements Attackable { EnchantmentHelper.runLocationChangedEffects(worldserver, itemstack, this, enumitemslot1); } diff --git a/patches/server/0065-Change-shields-to-reduce-damage.patch b/patches/server/0065-Change-shields-to-reduce-damage.patch index 7db7435..bb6dd46 100644 --- a/patches/server/0065-Change-shields-to-reduce-damage.patch +++ b/patches/server/0065-Change-shields-to-reduce-damage.patch @@ -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 -index 3534821c8b600b9b3d3655c071fc59a3e3b4c23e..88dc63e5c739eb39822999d226856205a3c6099b 100644 +index 365ab6a0c564911bc58d3fb90e3abe82dbbdc642..8992f0ad55c1177bee9d4167cedf2fef54117a6a 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2416,7 +2416,13 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2433,7 +2433,13 @@ public abstract class LivingEntity extends Entity implements Attackable { com.google.common.base.Function blocking = new com.google.common.base.Function() { @Override public Double apply(Double f) { diff --git a/patches/server/0071-Entity-tracking-range-modifier.patch b/patches/server/0071-Entity-tracking-range-modifier.patch index bb69ba2..28aa115 100644 --- a/patches/server/0071-Entity-tracking-range-modifier.patch +++ b/patches/server/0071-Entity-tracking-range-modifier.patch @@ -21,7 +21,7 @@ index fa77e44a33dd2da678f8ad711f26ce60d3d7d7aa..ccb8684e3f3e70a9ccb1033acd5938a9 double d2 = d0 * d0; // 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 -index 55423353ee674d97fbe6a2d659ce8fb5a466e378..ec3f0086cc6773fd8bdb0a05345059aaa39ef560 100644 +index d4dd9c45bc9603ceccc8ebb0eef47c50b48dcf98..90399fdc414929b33de29286f8a27097830c5d4c 100644 --- a/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 @@ -33,10 +33,10 @@ index 55423353ee674d97fbe6a2d659ce8fb5a466e378..ec3f0086cc6773fd8bdb0a05345059aa public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile, ClientInformation clientOptions) { 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 -index 503d7ffab7d7a792e3db740dcba2221f7dbd62eb..0a27bcca1e0efb0e839f9ebf0f767260f6b106cd 100644 +index 1e3bd95d75210926c2739514eecbda7a21550ba4..00745aaf57ca588fde4b9e88608955f7e86a992d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3049,6 +3049,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3037,6 +3037,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return (this.getHandle().requestedViewDistance() == 0) ? Bukkit.getViewDistance() : this.getHandle().requestedViewDistance(); } diff --git a/patches/server/0076-Add-max-armour-durability-damage.patch b/patches/server/0076-Add-max-armour-durability-damage.patch index 4c65e63..93a0886 100644 --- a/patches/server/0076-Add-max-armour-durability-damage.patch +++ b/patches/server/0076-Add-max-armour-durability-damage.patch @@ -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 -index d40dbe4bd5c4983337453d753f20a8b555236f16..a7709e4fc5ade9882d115fdbcf37146574fffcbd 100644 +index 8992f0ad55c1177bee9d4167cedf2fef54117a6a..8cb19ec587512d70a792235ba4e7d82b56074a77 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2513,6 +2513,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2535,6 +2535,12 @@ public abstract class LivingEntity extends Entity implements Attackable { // Apply damage to armor if (!damagesource.is(DamageTypeTags.BYPASSES_ARMOR)) { float armorDamage = (float) (event.getDamage() + event.getDamage(DamageModifier.BLOCKING) + event.getDamage(DamageModifier.HARD_HAT));