2012-08-05 10:20:07 +00:00
|
|
|
--- ../src_base/common/net/minecraft/src/BlockTripWireSource.java
|
|
|
|
+++ ../src_work/common/net/minecraft/src/BlockTripWireSource.java
|
|
|
|
@@ -1,6 +1,9 @@
|
|
|
|
package net.minecraft.src;
|
|
|
|
|
|
|
|
import java.util.Random;
|
|
|
|
+
|
2012-08-15 11:28:09 +00:00
|
|
|
+import net.minecraftforge.common.ForgeDirection;
|
|
|
|
+import static net.minecraftforge.common.ForgeDirection.*;
|
2012-08-05 10:20:07 +00:00
|
|
|
|
|
|
|
public class BlockTripWireSource extends Block
|
|
|
|
{
|
|
|
|
@@ -58,7 +61,11 @@
|
|
|
|
*/
|
|
|
|
public boolean canPlaceBlockOnSide(World par1World, int par2, int par3, int par4, int par5)
|
|
|
|
{
|
|
|
|
- return par5 == 2 && par1World.isBlockNormalCube(par2, par3, par4 + 1) ? true : (par5 == 3 && par1World.isBlockNormalCube(par2, par3, par4 - 1) ? true : (par5 == 4 && par1World.isBlockNormalCube(par2 + 1, par3, par4) ? true : par5 == 5 && par1World.isBlockNormalCube(par2 - 1, par3, par4)));
|
2012-08-15 11:28:09 +00:00
|
|
|
+ ForgeDirection dir = ForgeDirection.getOrientation(par5);
|
2012-08-05 10:20:07 +00:00
|
|
|
+ return (dir == NORTH && par1World.isBlockSolidOnSide(par2, par3, par4 + 1, NORTH)) ||
|
|
|
|
+ (dir == SOUTH && par1World.isBlockSolidOnSide(par2, par3, par4 - 1, SOUTH)) ||
|
|
|
|
+ (dir == WEST && par1World.isBlockSolidOnSide(par2 + 1, par3, par4, WEST )) ||
|
|
|
|
+ (dir == EAST && par1World.isBlockSolidOnSide(par2 - 1, par3, par4, EAST ));
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
@@ -66,7 +73,10 @@
|
|
|
|
*/
|
|
|
|
public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4)
|
|
|
|
{
|
|
|
|
- return par1World.isBlockNormalCube(par2 - 1, par3, par4) ? true : (par1World.isBlockNormalCube(par2 + 1, par3, par4) ? true : (par1World.isBlockNormalCube(par2, par3, par4 - 1) ? true : par1World.isBlockNormalCube(par2, par3, par4 + 1)));
|
|
|
|
+ return par1World.isBlockSolidOnSide(par2 - 1, par3, par4, SOUTH) ||
|
|
|
|
+ par1World.isBlockSolidOnSide(par2 + 1, par3, par4, NORTH) ||
|
|
|
|
+ par1World.isBlockSolidOnSide(par2, par3, par4 - 1, EAST ) ||
|
|
|
|
+ par1World.isBlockSolidOnSide(par2, par3, par4 + 1, WEST );
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
@@ -76,22 +86,22 @@
|
|
|
|
{
|
|
|
|
byte var9 = 0;
|
|
|
|
|
|
|
|
- if (par5 == 2 && par1World.isBlockNormalCubeDefault(par2, par3, par4 + 1, true))
|
|
|
|
+ if (par5 == 2 && par1World.isBlockSolidOnSide(par2, par3, par4 + 1, WEST, true))
|
|
|
|
{
|
|
|
|
var9 = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
- if (par5 == 3 && par1World.isBlockNormalCubeDefault(par2, par3, par4 - 1, true))
|
|
|
|
+ if (par5 == 3 && par1World.isBlockSolidOnSide(par2, par3, par4 - 1, EAST, true))
|
|
|
|
{
|
|
|
|
var9 = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
- if (par5 == 4 && par1World.isBlockNormalCubeDefault(par2 + 1, par3, par4, true))
|
|
|
|
+ if (par5 == 4 && par1World.isBlockSolidOnSide(par2 + 1, par3, par4, NORTH, true))
|
|
|
|
{
|
|
|
|
var9 = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
- if (par5 == 5 && par1World.isBlockNormalCubeDefault(par2 - 1, par3, par4, true))
|
|
|
|
+ if (par5 == 5 && par1World.isBlockSolidOnSide(par2 - 1, par3, par4, SOUTH, true))
|
|
|
|
{
|
|
|
|
var9 = 3;
|
|
|
|
}
|
|
|
|
@@ -113,22 +123,22 @@
|
|
|
|
int var7 = var6 & 3;
|
|
|
|
boolean var8 = false;
|
|
|
|
|
|
|
|
- if (!par1World.isBlockNormalCube(par2 - 1, par3, par4) && var7 == 3)
|
|
|
|
+ if (!par1World.isBlockSolidOnSide(par2 - 1, par3, par4, SOUTH) && var7 == 3)
|
|
|
|
{
|
|
|
|
var8 = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
- if (!par1World.isBlockNormalCube(par2 + 1, par3, par4) && var7 == 1)
|
|
|
|
+ if (!par1World.isBlockSolidOnSide(par2 + 1, par3, par4, NORTH) && var7 == 1)
|
|
|
|
{
|
|
|
|
var8 = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
- if (!par1World.isBlockNormalCube(par2, par3, par4 - 1) && var7 == 0)
|
|
|
|
+ if (!par1World.isBlockSolidOnSide(par2, par3, par4 - 1, EAST) && var7 == 0)
|
|
|
|
{
|
|
|
|
var8 = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
- if (!par1World.isBlockNormalCube(par2, par3, par4 + 1) && var7 == 2)
|
|
|
|
+ if (!par1World.isBlockSolidOnSide(par2, par3, par4 + 1, WEST) && var7 == 2)
|
|
|
|
{
|
|
|
|
var8 = true;
|
|
|
|
}
|
|
|
|
@@ -149,7 +159,7 @@
|
|
|
|
boolean var12 = (par6 & 8) == 8;
|
|
|
|
boolean var13 = par5 == Block.tripWireSource.blockID;
|
|
|
|
boolean var14 = false;
|
|
|
|
- boolean var15 = !par1World.doesBlockHaveSolidTopSurface(par2, par3 - 1, par4);
|
|
|
|
+ boolean var15 = !par1World.isBlockSolidOnSide(par2, par3 - 1, par4, UP);
|
|
|
|
int var16 = Direction.offsetX[var10];
|
|
|
|
int var17 = Direction.offsetZ[var10];
|
|
|
|
int var18 = 0;
|