123 lines
5 KiB
Diff
123 lines
5 KiB
Diff
--- ../src_base/common/net/minecraft/src/BlockTorch.java
|
|
+++ ../src_work/common/net/minecraft/src/BlockTorch.java
|
|
@@ -3,6 +3,8 @@
|
|
import cpw.mods.fml.common.Side;
|
|
import cpw.mods.fml.common.asm.SideOnly;
|
|
import java.util.Random;
|
|
+import net.minecraftforge.common.ForgeDirection;
|
|
+import static net.minecraftforge.common.ForgeDirection.*;
|
|
|
|
public class BlockTorch extends Block
|
|
{
|
|
@@ -59,7 +61,7 @@
|
|
else
|
|
{
|
|
int var5 = par1World.getBlockId(par2, par3, par4);
|
|
- return var5 == Block.fence.blockID || var5 == Block.netherFence.blockID || var5 == Block.glass.blockID;
|
|
+ return (Block.blocksList[var5] != null && Block.blocksList[var5].canPlaceTorchOnTop(par1World, par2, par3, par4));
|
|
}
|
|
}
|
|
|
|
@@ -68,7 +70,11 @@
|
|
*/
|
|
public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4)
|
|
{
|
|
- return par1World.isBlockNormalCubeDefault(par2 - 1, par3, par4, true) ? true : (par1World.isBlockNormalCubeDefault(par2 + 1, par3, par4, true) ? true : (par1World.isBlockNormalCubeDefault(par2, par3, par4 - 1, true) ? true : (par1World.isBlockNormalCubeDefault(par2, par3, par4 + 1, true) ? true : this.canPlaceTorchOn(par1World, par2, par3 - 1, par4))));
|
|
+ return par1World.isBlockSolidOnSide(par2 - 1, par3, par4, EAST, true) ||
|
|
+ par1World.isBlockSolidOnSide(par2 + 1, par3, par4, WEST, true) ||
|
|
+ par1World.isBlockSolidOnSide(par2, par3, par4 - 1, SOUTH, true) ||
|
|
+ par1World.isBlockSolidOnSide(par2, par3, par4 + 1, NORTH, true) ||
|
|
+ canPlaceTorchOn(par1World, par2, par3 - 1, par4);
|
|
}
|
|
|
|
/**
|
|
@@ -83,22 +89,22 @@
|
|
var9 = 5;
|
|
}
|
|
|
|
- if (par5 == 2 && par1World.isBlockNormalCubeDefault(par2, par3, par4 + 1, true))
|
|
+ if (par5 == 2 && par1World.isBlockSolidOnSide(par2, par3, par4 + 1, NORTH, true))
|
|
{
|
|
var9 = 4;
|
|
}
|
|
|
|
- if (par5 == 3 && par1World.isBlockNormalCubeDefault(par2, par3, par4 - 1, true))
|
|
+ if (par5 == 3 && par1World.isBlockSolidOnSide(par2, par3, par4 - 1, SOUTH, true))
|
|
{
|
|
var9 = 3;
|
|
}
|
|
|
|
- if (par5 == 4 && par1World.isBlockNormalCubeDefault(par2 + 1, par3, par4, true))
|
|
+ if (par5 == 4 && par1World.isBlockSolidOnSide(par2 + 1, par3, par4, WEST, true))
|
|
{
|
|
var9 = 2;
|
|
}
|
|
|
|
- if (par5 == 5 && par1World.isBlockNormalCubeDefault(par2 - 1, par3, par4, true))
|
|
+ if (par5 == 5 && par1World.isBlockSolidOnSide(par2 - 1, par3, par4, EAST, true))
|
|
{
|
|
var9 = 1;
|
|
}
|
|
@@ -124,19 +130,19 @@
|
|
*/
|
|
public void onBlockAdded(World par1World, int par2, int par3, int par4)
|
|
{
|
|
- if (par1World.isBlockNormalCubeDefault(par2 - 1, par3, par4, true))
|
|
+ if (par1World.isBlockSolidOnSide(par2 - 1, par3, par4, EAST, true))
|
|
{
|
|
par1World.setBlockMetadataWithNotify(par2, par3, par4, 1);
|
|
}
|
|
- else if (par1World.isBlockNormalCubeDefault(par2 + 1, par3, par4, true))
|
|
+ else if (par1World.isBlockSolidOnSide(par2 + 1, par3, par4, WEST, true))
|
|
{
|
|
par1World.setBlockMetadataWithNotify(par2, par3, par4, 2);
|
|
}
|
|
- else if (par1World.isBlockNormalCubeDefault(par2, par3, par4 - 1, true))
|
|
+ else if (par1World.isBlockSolidOnSide(par2, par3, par4 - 1, SOUTH, true))
|
|
{
|
|
par1World.setBlockMetadataWithNotify(par2, par3, par4, 3);
|
|
}
|
|
- else if (par1World.isBlockNormalCubeDefault(par2, par3, par4 + 1, true))
|
|
+ else if (par1World.isBlockSolidOnSide(par2, par3, par4 + 1, NORTH, true))
|
|
{
|
|
par1World.setBlockMetadataWithNotify(par2, par3, par4, 4);
|
|
}
|
|
@@ -159,22 +165,22 @@
|
|
int var6 = par1World.getBlockMetadata(par2, par3, par4);
|
|
boolean var7 = false;
|
|
|
|
- if (!par1World.isBlockNormalCubeDefault(par2 - 1, par3, par4, true) && var6 == 1)
|
|
- {
|
|
- var7 = true;
|
|
- }
|
|
-
|
|
- if (!par1World.isBlockNormalCubeDefault(par2 + 1, par3, par4, true) && var6 == 2)
|
|
- {
|
|
- var7 = true;
|
|
- }
|
|
-
|
|
- if (!par1World.isBlockNormalCubeDefault(par2, par3, par4 - 1, true) && var6 == 3)
|
|
- {
|
|
- var7 = true;
|
|
- }
|
|
-
|
|
- if (!par1World.isBlockNormalCubeDefault(par2, par3, par4 + 1, true) && var6 == 4)
|
|
+ if (!par1World.isBlockSolidOnSide(par2 - 1, par3, par4, EAST, true) && var6 == 1)
|
|
+ {
|
|
+ var7 = true;
|
|
+ }
|
|
+
|
|
+ if (!par1World.isBlockSolidOnSide(par2 + 1, par3, par4, WEST, true) && var6 == 2)
|
|
+ {
|
|
+ var7 = true;
|
|
+ }
|
|
+
|
|
+ if (!par1World.isBlockSolidOnSide(par2, par3, par4 - 1, SOUTH, true) && var6 == 3)
|
|
+ {
|
|
+ var7 = true;
|
|
+ }
|
|
+
|
|
+ if (!par1World.isBlockSolidOnSide(par2, par3, par4 + 1, NORTH, true) && var6 == 4)
|
|
{
|
|
var7 = true;
|
|
}
|