2012-08-09 10:06:41 +00:00
|
|
|
--- ../src_base/common/net/minecraft/src/BlockTrapDoor.java
|
|
|
|
+++ ../src_work/common/net/minecraft/src/BlockTrapDoor.java
|
|
|
|
@@ -1,10 +1,14 @@
|
2012-08-06 10:35:57 +00:00
|
|
|
package net.minecraft.src;
|
2012-08-09 10:06:41 +00:00
|
|
|
|
2012-08-15 11:28:09 +00:00
|
|
|
+import net.minecraftforge.common.ForgeDirection;
|
2012-08-09 10:06:41 +00:00
|
|
|
import cpw.mods.fml.common.Side;
|
|
|
|
import cpw.mods.fml.common.asm.SideOnly;
|
2012-08-06 10:35:57 +00:00
|
|
|
|
|
|
|
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);
|
2012-08-09 10:06:41 +00:00
|
|
|
@@ -188,7 +192,7 @@
|
2012-08-06 10:35:57 +00:00
|
|
|
--var7;
|
|
|
|
}
|
|
|
|
|
|
|
|
- if (!isValidSupportBlock(par1World.getBlockId(var7, par3, var8)))
|
2012-08-15 11:28:09 +00:00
|
|
|
+ if (!(isValidSupportBlock(par1World.getBlockId(var7, par3, var8)) || par1World.isBlockSolidOnSide(var7, par3, var8, ForgeDirection.getOrientation((var6 & 3) + 2))))
|
2012-08-06 10:35:57 +00:00
|
|
|
{
|
|
|
|
par1World.setBlockWithNotify(par2, par3, par4, 0);
|
|
|
|
this.dropBlockAsItem(par1World, par2, par3, par4, var6, 0);
|
2012-08-09 10:06:41 +00:00
|
|
|
@@ -248,6 +252,10 @@
|
2012-08-06 10:35:57 +00:00
|
|
|
*/
|
|
|
|
public boolean canPlaceBlockOnSide(World par1World, int par2, int par3, int par4, int par5)
|
|
|
|
{
|
|
|
|
+ if (disableValidation)
|
|
|
|
+ {
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
if (par5 == 0)
|
|
|
|
{
|
|
|
|
return false;
|
2012-08-09 10:06:41 +00:00
|
|
|
@@ -278,7 +286,7 @@
|
2012-08-06 10:35:57 +00:00
|
|
|
--par2;
|
|
|
|
}
|
|
|
|
|
|
|
|
- return isValidSupportBlock(par1World.getBlockId(par2, par3, par4));
|
2012-08-15 11:28:09 +00:00
|
|
|
+ return isValidSupportBlock(par1World.getBlockId(par2, par3, par4)) || par1World.isBlockSolidOnSide(par2, par3, par4, ForgeDirection.UP);
|
2012-08-06 10:35:57 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-08-09 10:06:41 +00:00
|
|
|
@@ -293,6 +301,10 @@
|
2012-08-06 10:35:57 +00:00
|
|
|
*/
|
|
|
|
private static boolean isValidSupportBlock(int par0)
|
|
|
|
{
|
|
|
|
+ if (disableValidation)
|
|
|
|
+ {
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
if (par0 <= 0)
|
|
|
|
{
|
|
|
|
return false;
|