54 lines
1.7 KiB
Diff
54 lines
1.7 KiB
Diff
--- ../src_base/minecraft/net/minecraft/src/BlockTrapDoor.java 0000-00-00 00:00:00.000000000 -0000
|
|
+++ ../src_work/minecraft/net/minecraft/src/BlockTrapDoor.java 0000-00-00 00:00:00.000000000 -0000
|
|
@@ -2,6 +2,9 @@
|
|
|
|
public class BlockTrapDoor extends Block
|
|
{
|
|
+ /** Set this to allow trapdoors to remain free-floating */
|
|
+ public static boolean disableValidation = false;
|
|
+
|
|
protected BlockTrapDoor(int par1, Material par2Material)
|
|
{
|
|
super(par1, par2Material);
|
|
@@ -183,7 +186,7 @@
|
|
--var7;
|
|
}
|
|
|
|
- if (!isValidSupportBlock(par1World.getBlockId(var7, par3, var8)))
|
|
+ if (!(isValidSupportBlock(par1World.getBlockId(var7, par3, var8)) || par1World.isBlockSolidOnSide(var7, par3, var8, (var6 & 3) + 2)))
|
|
{
|
|
par1World.setBlockWithNotify(par2, par3, par4, 0);
|
|
this.dropBlockAsItem(par1World, par2, par3, par4, var6, 0);
|
|
@@ -244,6 +247,10 @@
|
|
*/
|
|
public boolean canPlaceBlockOnSide(World par1World, int par2, int par3, int par4, int par5)
|
|
{
|
|
+ if (disableValidation)
|
|
+ {
|
|
+ return true;
|
|
+ }
|
|
if (par5 == 0)
|
|
{
|
|
return false;
|
|
@@ -274,7 +281,7 @@
|
|
--par2;
|
|
}
|
|
|
|
- return isValidSupportBlock(par1World.getBlockId(par2, par3, par4));
|
|
+ return isValidSupportBlock(par1World.getBlockId(par2, par3, par4)) || par1World.isBlockSolidOnSide(par2, par3, par4, 1);
|
|
}
|
|
}
|
|
|
|
@@ -289,6 +296,11 @@
|
|
*/
|
|
private static boolean isValidSupportBlock(int par0)
|
|
{
|
|
+ if (disableValidation)
|
|
+ {
|
|
+ return true;
|
|
+ }
|
|
+
|
|
if (par0 <= 0)
|
|
{
|
|
return false;
|