From d6fa7c2b9903591134268e8ebe53bbcd1701bfde Mon Sep 17 00:00:00 2001 From: Byteflux Date: Fri, 5 Jun 2015 01:24:22 -0700 Subject: [PATCH] FallingBlock and TNT entities collide with specific blocks --- .../0054-Configurable-TNT-cannon-fix.patch | 6 +-- ...-TNT-entities-collide-with-specific-.patch | 46 +++++++++++++++++++ 2 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 Spigot-Server-Patches/0055-FallingBlock-and-TNT-entities-collide-with-specific-.patch diff --git a/Spigot-Server-Patches/0054-Configurable-TNT-cannon-fix.patch b/Spigot-Server-Patches/0054-Configurable-TNT-cannon-fix.patch index f5f2365007..b121d60d0c 100644 --- a/Spigot-Server-Patches/0054-Configurable-TNT-cannon-fix.patch +++ b/Spigot-Server-Patches/0054-Configurable-TNT-cannon-fix.patch @@ -1,4 +1,4 @@ -From 0f429d02717e024c12d5648f37da385520aef72c Mon Sep 17 00:00:00 2001 +From 9731a3cad42fe83dbe25013238a3fbca97bf2ad6 Mon Sep 17 00:00:00 2001 From: Iceee Date: Thu, 4 Jun 2015 13:55:02 -0700 Subject: [PATCH] Configurable TNT cannon fix @@ -298,7 +298,7 @@ index fdf886a..a3df604 100644 this.k.put((EntityHuman) entity, new Vec3D(d8 * d13, d9 * d13, d10 * d13)); } diff --git a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java -index 8338cc6..793f043 100644 +index 8338cc6..3edd322 100644 --- a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java +++ b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java @@ -299,4 +299,43 @@ public class PaperSpigotWorldConfig @@ -342,7 +342,7 @@ index 8338cc6..793f043 100644 + } + + fixCannons = getBoolean( "fix-cannons", false ); -+ log( "Fix TNT cannons: " + fixCannons); ++ log( "Fix TNT cannons: " + fixCannons ); + } } -- diff --git a/Spigot-Server-Patches/0055-FallingBlock-and-TNT-entities-collide-with-specific-.patch b/Spigot-Server-Patches/0055-FallingBlock-and-TNT-entities-collide-with-specific-.patch new file mode 100644 index 0000000000..2d5d66d1b9 --- /dev/null +++ b/Spigot-Server-Patches/0055-FallingBlock-and-TNT-entities-collide-with-specific-.patch @@ -0,0 +1,46 @@ +From 8ff5ffa432d70ca0644359e610027cb7a6a14120 Mon Sep 17 00:00:00 2001 +From: Byteflux +Date: Fri, 5 Jun 2015 00:43:17 -0700 +Subject: [PATCH] FallingBlock and TNT entities collide with specific blocks + + +diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java +index 385d742..78b4f05 100644 +--- a/src/main/java/net/minecraft/server/World.java ++++ b/src/main/java/net/minecraft/server/World.java +@@ -1200,7 +1200,16 @@ public abstract class World implements IBlockAccess { + } + if ( block != null ) + { +- block.getBlock().a(this, blockposition, block, axisalignedbb, arraylist, entity); ++ // PaperSpigot start - FallingBlocks and TNT collide with specific non-collidable blocks ++ Block b = block.getBlock(); ++ if (entity.world.paperSpigotConfig.fallingBlocksCollideWithSigns && (entity instanceof EntityTNTPrimed || entity instanceof EntityFallingBlock) && ++ (b instanceof BlockSign || b instanceof BlockFenceGate || b instanceof BlockTorch || b instanceof BlockButtonAbstract || b instanceof BlockLever || b instanceof BlockTripwireHook || b instanceof BlockTripwire)) { ++ AxisAlignedBB aabb = AxisAlignedBB.a(x, y, z, x + 1.0, y + 1.0, z + 1.0); ++ if (axisalignedbb.b(aabb)) arraylist.add(aabb); ++ } else { ++ b.a(this, blockposition, block, axisalignedbb, arraylist, entity); ++ } ++ // PaperSpigot end + } + } + } +diff --git a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java +index 3edd322..3f42ca9 100644 +--- a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java ++++ b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java +@@ -338,4 +338,10 @@ public class PaperSpigotWorldConfig + fixCannons = getBoolean( "fix-cannons", false ); + log( "Fix TNT cannons: " + fixCannons ); + } ++ ++ public boolean fallingBlocksCollideWithSigns; ++ private void fallingBlocksCollideWithSigns() ++ { ++ fallingBlocksCollideWithSigns = getBoolean( "falling-blocks-collide-with-signs", false ); ++ } + } +-- +1.9.5.msysgit.1 +