46 lines
2.6 KiB
Diff
46 lines
2.6 KiB
Diff
From 94088bc7f6b6f0e56aef4c9e8bb96ccd04922ee8 Mon Sep 17 00:00:00 2001
|
|
From: Byteflux <byte@byteflux.net>
|
|
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 a1e46c2..83197b2 100644
|
|
--- a/src/main/java/net/minecraft/server/World.java
|
|
+++ b/src/main/java/net/minecraft/server/World.java
|
|
@@ -1220,7 +1220,15 @@ 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 || b instanceof BlockChest || b instanceof BlockSlowSand || b instanceof BlockBed || b instanceof BlockEnderChest)) {
|
|
+ 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 beeaa0b..88e0644 100644
|
|
--- a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
|
|
+++ b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
|
|
@@ -332,4 +332,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 );
|
|
+ }
|
|
}
|
|
--
|
|
2.5.2
|
|
|