diff --git a/patches/server/0001-Tuinity-Server-Changes.patch b/patches/server/0001-Tuinity-Server-Changes.patch index 71dbaf3d8..897342fca 100644 --- a/patches/server/0001-Tuinity-Server-Changes.patch +++ b/patches/server/0001-Tuinity-Server-Changes.patch @@ -13843,10 +13843,10 @@ index 300884804bf9ac3fba7c30a04d8adf52e3dd2e3e..b28995ecfd7f45e6b6197be96c418aa0 } } diff --git a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java -index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb8a9423de 100644 +index 87722285690d9d3370610e2a2eb809e0d1f497c9..1746a8c1750b494c47f9f46e83b248d8129d2630 100644 --- a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java -@@ -55,14 +55,29 @@ public class PlayerInteractManager { +@@ -56,14 +56,29 @@ public class PlayerInteractManager { private EnumGamemode gamemode; private EnumGamemode e; private boolean f; @@ -13879,7 +13879,7 @@ index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb public PlayerInteractManager(WorldServer worldserver) { this.gamemode = EnumGamemode.NOT_SET; this.e = EnumGamemode.NOT_SET; -@@ -118,7 +133,7 @@ public class PlayerInteractManager { +@@ -119,7 +134,7 @@ public class PlayerInteractManager { if (iblockdata == null || iblockdata.isAir()) { // Paper this.j = false; } else { @@ -13888,7 +13888,7 @@ index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb if (f >= 1.0F) { this.j = false; -@@ -138,7 +153,7 @@ public class PlayerInteractManager { +@@ -139,7 +154,7 @@ public class PlayerInteractManager { this.m = -1; this.f = false; } else { @@ -13897,7 +13897,7 @@ index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb } } -@@ -146,6 +161,12 @@ public class PlayerInteractManager { +@@ -147,6 +162,12 @@ public class PlayerInteractManager { private float a(IBlockData iblockdata, BlockPosition blockposition, int i) { int j = this.currentTick - i; @@ -13910,7 +13910,7 @@ index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb float f = iblockdata.getDamage(this.player, this.player.world, blockposition) * (float) (j + 1); int k = (int) (f * 10.0F); -@@ -213,7 +234,7 @@ public class PlayerInteractManager { +@@ -214,7 +235,7 @@ public class PlayerInteractManager { return; } @@ -13919,7 +13919,7 @@ index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb float f = 1.0F; iblockdata = this.world.getType(blockposition); -@@ -266,12 +287,12 @@ public class PlayerInteractManager { +@@ -267,12 +288,12 @@ public class PlayerInteractManager { int j = (int) (f * 10.0F); this.world.a(this.player.getId(), blockposition, j); @@ -13934,7 +13934,7 @@ index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb iblockdata = this.world.getType(blockposition); if (!iblockdata.isAir()) { -@@ -288,12 +309,18 @@ public class PlayerInteractManager { +@@ -289,12 +310,18 @@ public class PlayerInteractManager { this.f = false; this.j = true; this.k = blockposition; @@ -13954,7 +13954,7 @@ index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb } else if (packetplayinblockdig_enumplayerdigtype == PacketPlayInBlockDig.EnumPlayerDigType.ABORT_DESTROY_BLOCK) { this.f = false; if (!Objects.equals(this.h, blockposition) && !BlockPosition.ZERO.equals(this.h)) { -@@ -305,7 +332,7 @@ public class PlayerInteractManager { +@@ -306,7 +333,7 @@ public class PlayerInteractManager { } this.world.a(this.player.getId(), blockposition, -1); @@ -13963,7 +13963,7 @@ index 4203081692d2e4c43abc47aeb85f42b09acb7eee..238e143277eb75db6d96e1c52db810eb } } -@@ -315,7 +342,13 @@ public class PlayerInteractManager { +@@ -316,7 +343,13 @@ public class PlayerInteractManager { public void a(BlockPosition blockposition, PacketPlayInBlockDig.EnumPlayerDigType packetplayinblockdig_enumplayerdigtype, String s) { if (this.breakBlock(blockposition)) { @@ -15022,10 +15022,10 @@ index 47fbb8df04b2b77e10314666e87eaef621cffb3b..58e61aa19d71011c40c69a691f5644b3 optional.ifPresent((villageplacetype) -> { this.getMinecraftServer().execute(() -> { diff --git a/src/main/java/net/minecraft/server/network/LoginListener.java b/src/main/java/net/minecraft/server/network/LoginListener.java -index 185667110cd6f566b23546728d20fc79223f3c92..dc98ef48a664d9ee2a302fff8c611fd16dc704b6 100644 +index c67b94840e4c967baebf6eb351df15f0e4ead4be..ed836462123efc6903e406fa926e55e1cedddb95 100644 --- a/src/main/java/net/minecraft/server/network/LoginListener.java +++ b/src/main/java/net/minecraft/server/network/LoginListener.java -@@ -255,7 +255,7 @@ public class LoginListener implements PacketLoginInListener { +@@ -256,7 +256,7 @@ public class LoginListener implements PacketLoginInListener { s = (new BigInteger(MinecraftEncryption.a("", this.server.getKeyPair().getPublic(), this.loginKey))).toString(16); this.g = LoginListener.EnumProtocolState.AUTHENTICATING; @@ -20876,7 +20876,7 @@ index 03b8d67a5f0088c0254b2099f27e8dcae32a6221..fd3333fef4112e6469ccd316ba2c8292 public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 80de9f687d9acd7425e7c8a453c2759450869497..29f2c253e420a400736eec54f0e9c80bcc621fa1 100644 +index 3b3eda95c0ff8b129adedbae6561bba2d01c2f3a..02807cc1fe14e747a7c18edf0fcdc38630cc4e9f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -298,7 +298,7 @@ public class CraftWorld implements World { diff --git a/patches/server/0104-Ridables.patch b/patches/server/0104-Ridables.patch index ec6a79899..31616d053 100644 --- a/patches/server/0104-Ridables.patch +++ b/patches/server/0104-Ridables.patch @@ -4469,7 +4469,7 @@ index 16d5cae64887b82e67eeb61ccb714e6125ff0c09..dc1ca7b334e89b4d0be775b6f6e6f422 this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED).setValue(0.0D); } else { diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityShulker.java b/src/main/java/net/minecraft/world/entity/monster/EntityShulker.java -index bfecaa56c3d93436d71082f1398e0ceb12336e38..0294ab119407dc45a40c8444fb5a91e154017234 100644 +index 49523302dd72a3dafab23c047412a2e77b6247ed..4b5c1691664f16594f316e55576086f2ae54e59e 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EntityShulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/EntityShulker.java @@ -12,6 +12,7 @@ import net.minecraft.nbt.NBTTagCompound; diff --git a/patches/server/0151-Configurable-entity-base-attributes.patch b/patches/server/0151-Configurable-entity-base-attributes.patch index bfa3fcce7..dcd7377a4 100644 --- a/patches/server/0151-Configurable-entity-base-attributes.patch +++ b/patches/server/0151-Configurable-entity-base-attributes.patch @@ -982,7 +982,7 @@ index dc1ca7b334e89b4d0be775b6f6e6f4222ea02dcc..80c3cd540a46e249e85586e8d7a2f0f6 @Override diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityShulker.java b/src/main/java/net/minecraft/world/entity/monster/EntityShulker.java -index 0294ab119407dc45a40c8444fb5a91e154017234..a735ac7644f8fe6924349fbd9e8984f678d0b9c2 100644 +index 4b5c1691664f16594f316e55576086f2ae54e59e..24367e08c7a94ffdb80d098cf822c278e4e3fe70 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EntityShulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/EntityShulker.java @@ -82,6 +82,11 @@ public class EntityShulker extends EntityGolem implements IMonster { diff --git a/patches/server/0191-Break-individual-slabs-when-sneaking.patch b/patches/server/0191-Break-individual-slabs-when-sneaking.patch index c5c797dc1..435ed3ebb 100644 --- a/patches/server/0191-Break-individual-slabs-when-sneaking.patch +++ b/patches/server/0191-Break-individual-slabs-when-sneaking.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Break individual slabs when sneaking diff --git a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java -index 238e143277eb75db6d96e1c52db810eb8a9423de..ddff3a31a564cddcebad4531ca1db66fd0949796 100644 +index 1746a8c1750b494c47f9f46e83b248d8129d2630..7302554063ac7b5dedaff895cba33b70234008e6 100644 --- a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java -@@ -409,6 +409,8 @@ public class PlayerInteractManager { +@@ -410,6 +410,8 @@ public class PlayerInteractManager { } return false; } diff --git a/patches/server/0200-Config-to-change-max-number-of-bees.patch b/patches/server/0200-Config-to-change-max-number-of-bees.patch index d0a9b61a4..63d5396a0 100644 --- a/patches/server/0200-Config-to-change-max-number-of-bees.patch +++ b/patches/server/0200-Config-to-change-max-number-of-bees.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: DoctaEnkoda Date: Thu, 29 Apr 2021 19:37:48 +0200 -Subject: [PATCH] Config to change the max number of bees +Subject: [PATCH] Config to change max number of bees diff --git a/src/main/java/net/minecraft/world/level/block/entity/TileEntityBeehive.java b/src/main/java/net/minecraft/world/level/block/entity/TileEntityBeehive.java diff --git a/patches/server/0202-Config-for-wither-explosion-radius.patch b/patches/server/0202-Config-for-wither-explosion-radius.patch new file mode 100644 index 000000000..478a88895 --- /dev/null +++ b/patches/server/0202-Config-for-wither-explosion-radius.patch @@ -0,0 +1,39 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ben Kerllenevich +Date: Thu, 29 Apr 2021 14:39:07 -0400 +Subject: [PATCH] Config for wither explosion radius + + +diff --git a/src/main/java/net/minecraft/world/entity/projectile/EntityWitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/EntityWitherSkull.java +index 616b5267d1d94b2be37ec48983b45e4478502fb5..052cffb156e4e6f31df3935fd8312eb37e3b7019 100644 +--- a/src/main/java/net/minecraft/world/entity/projectile/EntityWitherSkull.java ++++ b/src/main/java/net/minecraft/world/entity/projectile/EntityWitherSkull.java +@@ -98,7 +98,7 @@ public class EntityWitherSkull extends EntityFireball { + + // CraftBukkit start + // this.world.createExplosion(this, this.locX(), this.locY(), this.locZ(), 1.0F, false, explosion_effect); +- ExplosionPrimeEvent event = new ExplosionPrimeEvent(this.getBukkitEntity(), 1.0F, false); ++ ExplosionPrimeEvent event = new ExplosionPrimeEvent(this.getBukkitEntity(), world.purpurConfig.witherExplosionRadius, false); // Purpur + this.world.getServer().getPluginManager().callEvent(event); + + if (!event.isCancelled()) { +diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +index 78e39c9424c296bf07f89d63ce42b02b96c2cd35..69d6ced8e583a3a0625ced9d444caca21fa80723 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +@@ -1901,6 +1901,7 @@ public class PurpurWorldConfig { + public int witherHealthRegenDelay = 20; + public double witherMaxHealth = 300.0D; + public boolean witherCanRideVehicles = false; ++ public float witherExplosionRadius = 1.0F; + private void witherSettings() { + witherRidable = getBoolean("mobs.wither.ridable", witherRidable); + witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); +@@ -1919,6 +1920,7 @@ public class PurpurWorldConfig { + } + witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); + witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); ++ witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius); + } + + public boolean witherSkeletonRidable = false;