diff --git a/StevenDimDoors/mod_pocketDim/blocks/BlockDimWall.java b/StevenDimDoors/mod_pocketDim/blocks/BlockDimWall.java index 5324bf8..3ec1e8b 100644 --- a/StevenDimDoors/mod_pocketDim/blocks/BlockDimWall.java +++ b/StevenDimDoors/mod_pocketDim/blocks/BlockDimWall.java @@ -1,7 +1,11 @@ package StevenDimDoors.mod_pocketDim.blocks; +import java.util.List; 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; @@ -13,27 +17,58 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; +import net.minecraft.util.Icon; import net.minecraft.world.World; public class BlockDimWall extends Block { - + private Icon[] blockIcon= new Icon[2]; public BlockDimWall(int i, int j, Material par2Material) { - super(i, Material.ground); - setTickRandomly(true); - this.setCreativeTab(mod_pocketDim.dimDoorsCreativeTab); - - - - + super(i, Material.ground); + setTickRandomly(true); + this.setCreativeTab(mod_pocketDim.dimDoorsCreativeTab); } + public float getBlockHardness(World par1World, int par2, int par3, int par4) + { + if(par1World.getBlockMetadata(par2, par3, par4)==0) + { + return this.blockHardness; + } + else + { + return 10000000000000F; + } + } + public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2()); + this.blockIcon[0] = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2()); + this.blockIcon[1] = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2()+"perm"); } + @SideOnly(Side.CLIENT) + @Override + public Icon getIcon(int par1, int par2) + { + return blockIcon[par2]; + } + + @Override + public int damageDropped (int metadata) + { + return metadata; + } + + @SideOnly(Side.CLIENT) + public void getSubBlocks(int unknown, CreativeTabs tab, List subItems) + { + for (int ix = 0; ix < 2; ix++) + { + subItems.add(new ItemStack(this, 1, ix)); + } + } public void onBlockDestroyedByPlayer(World par1World, int par2, int par3, int par4, int par5) {} protected boolean canSilkHarvest() @@ -43,10 +78,7 @@ public class BlockDimWall extends Block public int quantityDropped(Random par1Random) { - - - return 0; - + return 0; } /** @@ -96,10 +128,6 @@ public class BlockDimWall extends Block { return false; } - return false; - } - - } diff --git a/StevenDimDoors/mod_pocketDim/blocks/BlockDimWallPerm.java b/StevenDimDoors/mod_pocketDim/blocks/BlockDimWallPerm.java index ab0d649..0735e51 100644 --- a/StevenDimDoors/mod_pocketDim/blocks/BlockDimWallPerm.java +++ b/StevenDimDoors/mod_pocketDim/blocks/BlockDimWallPerm.java @@ -29,21 +29,21 @@ public class BlockDimWallPerm extends Block { super(i, Material.ground); setTickRandomly(true); - // this.setCreativeTab(CreativeTabs.tabBlock); + this.setCreativeTab(mod_pocketDim.dimDoorsCreativeTab); if (properties == null) properties = DDProperties.instance(); } public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2().replace("perm", "")); + this.blockIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName2()); } public int quantityDropped(Random par1Random) { return 0; } - + public void onBlockDestroyedByPlayer(World par1World, int par2, int par3, int par4, int par5) {} /** @@ -70,8 +70,6 @@ public class BlockDimWallPerm extends Block if(dimHelper.getWorld(0)!=null&&par5Entity instanceof EntityPlayerMP) { - - int x = (link.destXCoord + rand.nextInt(properties.LimboReturnRange)-properties.LimboReturnRange/2); int z = (link.destZCoord + rand.nextInt(properties.LimboReturnRange)-properties.LimboReturnRange/2); diff --git a/StevenDimDoors/mod_pocketDim/items/ItemBlockDimWall.java b/StevenDimDoors/mod_pocketDim/items/ItemBlockDimWall.java new file mode 100644 index 0000000..03f5571 --- /dev/null +++ b/StevenDimDoors/mod_pocketDim/items/ItemBlockDimWall.java @@ -0,0 +1,43 @@ +package StevenDimDoors.mod_pocketDim.items; + +import java.util.List; + +import StevenDimDoors.mod_pocketDim.mod_pocketDim; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemDoor; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class ItemBlockDimWall extends ItemBlock +{ + private final static String[] subNames = {"Fabric of Reality", "Fabric of Reality Permanent"}; + + public ItemBlockDimWall(int par1) + { + super(par1); + this.setCreativeTab(mod_pocketDim.dimDoorsCreativeTab); + setHasSubtypes(true); + } + public void registerIcons(IconRegister par1IconRegister) + { + this.itemIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName().replace("tile.", "")); + } + + @Override + public int getMetadata (int damageValue) + { + return damageValue; + } + + public String getUnlocalizedName(ItemStack par1ItemStack) + { + return this.subNames[getItemDamageFromStack(par1ItemStack)]; + } +} \ No newline at end of file diff --git a/StevenDimDoors/mod_pocketDim/mod_pocketDim.java b/StevenDimDoors/mod_pocketDim/mod_pocketDim.java index 4682796..e52c72c 100644 --- a/StevenDimDoors/mod_pocketDim/mod_pocketDim.java +++ b/StevenDimDoors/mod_pocketDim/mod_pocketDim.java @@ -35,6 +35,7 @@ import StevenDimDoors.mod_pocketDim.commands.CommandStartDungeonCreation; import StevenDimDoors.mod_pocketDim.helpers.BlockRotationHelper; import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper; import StevenDimDoors.mod_pocketDim.helpers.dimHelper; +import StevenDimDoors.mod_pocketDim.items.ItemBlockDimWall; import StevenDimDoors.mod_pocketDim.items.ItemChaosDoor; import StevenDimDoors.mod_pocketDim.items.ItemRiftBlade; import StevenDimDoors.mod_pocketDim.items.ItemStabilizedRiftSignature; @@ -178,7 +179,7 @@ public class mod_pocketDim transientDoor = (new TransientDoor(properties.TransientDoorID, Material.iron)).setHardness(1.0F) .setUnlocalizedName("transientDoor"); blockDimWall = (new BlockDimWall(properties.FabricBlockID, 0, Material.iron)).setLightValue(1.0F).setHardness(0.1F).setUnlocalizedName("blockDimWall"); - blockDimWallPerm = (new BlockDimWallPerm(properties.PermaFabricBlockID, 0, Material.iron)).setLightValue(1.0F).setBlockUnbreakable().setHardness(100000.0F).setUnlocalizedName("blockDimWallPerm"); + blockDimWallPerm = (new BlockDimWallPerm(properties.PermaFabricBlockID, 0, Material.iron)).setLightValue(1.0F).setBlockUnbreakable().setUnlocalizedName("blockDimWallPerm"); ExitDoor = (new ExitDoor(properties.WarpDoorID, Material.wood)).setHardness(1.0F) .setUnlocalizedName("dimDoorWarp"); blockRift = (new BlockRift(properties.RiftBlockID, 0, Material.air).setHardness(1.0F) .setUnlocalizedName("rift")); blockLimbo = (new BlockLimbo(properties.LimboBlockID, 15, Material.iron).setHardness(.2F).setUnlocalizedName("BlockLimbo").setLightValue(.0F)); @@ -207,9 +208,10 @@ public class mod_pocketDim GameRegistry.registerBlock(blockLimbo, "Unraveled Fabric"); GameRegistry.registerBlock(dimDoor, "Dimensional Door"); GameRegistry.registerBlock(dimHatch,"Transdimensional Trapdoor"); - GameRegistry.registerBlock(blockDimWall, "Fabric of Reality"); GameRegistry.registerBlock(blockDimWallPerm, "Fabric of RealityPerm"); GameRegistry.registerBlock(transientDoor, "transientDoor"); + + GameRegistry.registerBlock(blockDimWall, ItemBlockDimWall.class, "Fablic of Reality"); GameRegistry.registerPlayerTracker(tracker); @@ -226,7 +228,7 @@ public class mod_pocketDim LanguageRegistry.addName(blockDimWallPerm , "Fabric of Reality"); LanguageRegistry.addName(dimDoor, "Dimensional Door"); LanguageRegistry.addName(dimHatch, "Transdimensional Trapdoor"); - + LanguageRegistry.addName(itemExitDoor, "Warp Door"); LanguageRegistry.addName(itemLinkSignature , "Rift Signature"); LanguageRegistry.addName(itemStabilizedLinkSignature, "Stabilized Rift Signature"); @@ -236,6 +238,13 @@ public class mod_pocketDim LanguageRegistry.addName(itemDimDoor, "Dimensional Door"); LanguageRegistry.addName(itemRiftBlade , "Rift Blade"); + /** + * Add names for multiblock inventory item + */ + LanguageRegistry.addName(new ItemStack(blockDimWall, 1, 0), "Fabric of Reality"); + LanguageRegistry.addName(new ItemStack(blockDimWall, 1, 1), "Fabric of Reality Permanent"); + + LanguageRegistry.instance().addStringLocalization("itemGroup.dimDoorsCustomTab", "en_US", "Dimensional Doors Items"); TickRegistry.registerTickHandler(new ClientTickHandler(), Side.CLIENT);