Minor Fix in BlockDimWall

Fixed an issue that skyboy had pointed out long ago about us using
ItemBlock.itemID as a block ID instead of ItemBlock.getBlockID(). That's
potentially hazardous because that function was introduced specifically
so mods could override it and decouple item IDs from block IDs.
This commit is contained in:
SenseiKiwi
2013-09-11 02:30:31 -04:00
parent 6f905050f2
commit 1d3038288b

View File

@@ -3,11 +3,6 @@ package StevenDimDoors.mod_pocketDim.blocks;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
@@ -20,6 +15,9 @@ import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon; import net.minecraft.util.Icon;
import net.minecraft.world.World; import net.minecraft.world.World;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class BlockDimWall extends Block public class BlockDimWall extends Block
{ {
@@ -69,14 +67,7 @@ public class BlockDimWall extends Block
@Override @Override
public Icon getIcon(int par1, int par2) public Icon getIcon(int par1, int par2)
{ {
if (par2 == 1) return (par2 != 1) ? blockIcon[0] : blockIcon[1];
{
return blockIcon[par2];
}
else
{
return blockIcon[0];
}
} }
@Override @Override
@@ -119,8 +110,13 @@ public class BlockDimWall extends Block
if (playerEquip instanceof ItemBlock) if (playerEquip instanceof ItemBlock)
{ {
Block block = Block.blocksList[playerEquip.itemID]; // SenseiKiwi: Using getBlockID() rather than the raw itemID is critical.
if (!Block.isNormalCube(playerEquip.itemID) || block instanceof BlockContainer || block.blockID == this.blockID) // Some mods may override that function and use item IDs outside the range
// of the block list.
int blockID = ((ItemBlock) playerEquip).getBlockID();
Block block = Block.blocksList[blockID];
if (!Block.isNormalCube(blockID) || block instanceof BlockContainer || blockID == this.blockID)
{ {
return false; return false;
} }