From 221b09298323158957a30c0064d87c11446e7de6 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 21 Apr 2015 01:36:02 -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 ad2f6adcb..51ddb6c50 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1287,7 +1287,15 @@ public abstract class World implements IBlockAccess { Block block = chunk.getType(x - cx, y, z - cz ); if ( block != null ) { - block.a( this, x, y, z, axisalignedbb, this.L, entity ); + // PaperSpigot start - FallingBlocks and TNT collide with specific non-collidable blocks + if (entity.world.paperSpigotConfig.fallingBlocksCollideWithSigns && (entity instanceof EntityTNTPrimed || entity instanceof EntityFallingBlock) && + (block instanceof BlockSign || block instanceof BlockFenceGate || block instanceof BlockTorch || block instanceof BlockButtonAbstract || block instanceof BlockLever || block instanceof BlockTripwireHook || block instanceof BlockTripwire)) { + AxisAlignedBB aabb = AxisAlignedBB.a(x, y, z, x + 1.0, y + 1.0, z + 1.0); + if (axisalignedbb.b(aabb)) this.L.add(aabb); + } else { + block.a( this, x, y, z, axisalignedbb, this.L, entity ); + } + // PaperSpigot end } } } diff --git a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java index 72809cc47..1133f0650 100644 --- a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java +++ b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java @@ -245,4 +245,10 @@ public class PaperSpigotWorldConfig loadUnloadedTNTEntities = getBoolean( "load-chunks.tnt-entities", false ); loadUnloadedFallingBlocks = getBoolean( "load-chunks.falling-blocks", false ); } + + public boolean fallingBlocksCollideWithSigns; + private void fallingBlocksCollideWithSigns() + { + fallingBlocksCollideWithSigns = getBoolean( "falling-blocks-collide-with-signs", false ); + } } -- 2.13.3