ForgePatch/patches/common/net/minecraft/src/BlockTripWireSource.java.patch

100 lines
4.4 KiB
Diff

--- ../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;
+
+import net.minecraftforge.common.ForgeDirection;
+import static net.minecraftforge.common.ForgeDirection.*;
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)));
+ ForgeDirection dir = ForgeDirection.getOrientation(par5);
+ 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;