summaryrefslogtreecommitdiff
path: root/ihl/items_blocks
diff options
context:
space:
mode:
authorFoghrye4 <foghrye4@gmail.com>2017-01-27 11:32:28 +0300
committerFoghrye4 <foghrye4@gmail.com>2017-01-27 11:32:28 +0300
commit2db8e30b1d2151fdde5d08a6c06aef55f0c397d2 (patch)
treee8cd0022f3a30a5c952092e0ea4c7ffdafcdf7bb /ihl/items_blocks
parentffe23313fb7421b0a1849b420baf708999023f7b (diff)
License, readme and stuff
Diffstat (limited to 'ihl/items_blocks')
-rw-r--r--ihl/items_blocks/ExplosiveBlock.java255
-rw-r--r--ihl/items_blocks/FiberItem.java4
-rw-r--r--ihl/items_blocks/FlexibleCableItem.java22
-rw-r--r--ihl/items_blocks/FlexiblePipeItem.java10
-rw-r--r--ihl/items_blocks/GroundRemoverItem.java92
-rw-r--r--ihl/items_blocks/IHLItemBlock.java20
-rw-r--r--ihl/items_blocks/IHLTool.java16
-rw-r--r--ihl/items_blocks/ItemSubstance.java51
-rw-r--r--ihl/items_blocks/MachineBaseBlock.java19
9 files changed, 90 insertions, 399 deletions
diff --git a/ihl/items_blocks/ExplosiveBlock.java b/ihl/items_blocks/ExplosiveBlock.java
deleted file mode 100644
index 225873f..0000000
--- a/ihl/items_blocks/ExplosiveBlock.java
+++ /dev/null
@@ -1,255 +0,0 @@
-package ihl.items_blocks;
-
-import ic2.api.tile.IWrenchable;
-import ic2.core.IC2;
-import ihl.IHLCreativeTab;
-import ihl.IHLModInfo;
-import ihl.processing.chemistry.ExplosiveTileEntity;
-import ihl.processing.metallurgy.MuffleFurnanceTileEntity;
-import java.util.List;
-
-import net.minecraft.block.Block;
-import net.minecraft.block.ITileEntityProvider;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Items;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import cpw.mods.fml.common.registry.GameRegistry;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class ExplosiveBlock extends Block implements ITileEntityProvider{
-
- @SideOnly(Side.CLIENT)
- IIcon textureSide,
- textureBack,
- textureTop;
-
- public ExplosiveBlock()
- {
- super(Material.tnt);
- this.setCreativeTab(IHLCreativeTab.tab);
- this.setBlockName("ihlExplosive");
- this.setHardness(2F);
- this.setResistance(1F);
- }
-
-
- @Override
- public void onNeighborBlockChange(World world, int x, int y, int z, Block block)
- {
- if(IC2.platform.isSimulating())
- {
- }
- }
-
- @Override
- public void getSubBlocks(Item item, CreativeTabs par2CreativeTabs, List itemList)
- {
- ItemStack result = new ItemStack(item);
- result.stackTagCompound=new NBTTagCompound();
- result.stackTagCompound.setInteger("explosionType", 0);//0 - IC2; 1- IHL
- result.stackTagCompound.setInteger("explosionPower", 100000);
- //itemList.add(result);
- result = new ItemStack(item);
- result.stackTagCompound=new NBTTagCompound();
- result.stackTagCompound.setInteger("explosionType", 1);//0 - IC2; 1- IHL
- result.stackTagCompound.setInteger("explosionPower", Integer.MAX_VALUE);//31000
- itemList.add(result);
- }
-
- @Override
- public void onBlockPreDestroy(World world, int x, int y, int z, int meta)
- {
- if(!world.isRemote)
- {
- TileEntity te = world.getTileEntity(x, y, z);
- }
- super.onBlockPreDestroy(world, x, y, z, meta);
- }
-
- @Override
- public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB aabb, List list, Entity entity)
- {
- this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.1F, 1.0F);
- super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
- this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.1F, 1.0F, 1.0F);
- super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
- this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.1F);
- super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
- this.setBlockBounds(0.9F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
- super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
- this.setBlockBounds(0.0F, 0.0F, 0.9F, 1.0F, 1.0F, 1.0F);
- super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity);
- this.setBlockBoundsForItemRender();
- }
-
- @Override
- public void setBlockBoundsForItemRender()
- {
- this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
- }
-
- @Override
- public void setBlockBoundsBasedOnState(IBlockAccess blockAccess, int x, int y, int z)
- {
- int facing = 3;
- TileEntity te = blockAccess.getTileEntity(x, y, z);
- if(te!=null && te instanceof IWrenchable)
- {
- IWrenchable tebh = (IWrenchable) te;
- facing=tebh.getFacing();
- }
- super.setBlockBoundsBasedOnState(blockAccess, x, y, z);
- }
-
- public static void init()
- {
- GameRegistry.registerBlock(new ExplosiveBlock(), IHLItemBlock.class,"ihlExplosive");
- GameRegistry.registerTileEntity(ExplosiveTileEntity.class, "explosiveTileEntity");
- ExplosiveType[] var1 = ExplosiveType.values();
- }
-
- @Override
- public void dropBlockAsItemWithChance(World world, int x, int y, int z, int meta, float chance, int flag)
- {
- super.dropBlockAsItemWithChance(world, x, y, z, meta, chance, flag);
- }
-
- @Override
- public TileEntity createNewTileEntity(World world, int var2) {
- return new ExplosiveTileEntity();
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerBlockIcons(IIconRegister par1IconRegister)
- {
- this.blockIcon = par1IconRegister.registerIcon(IHLModInfo.MODID + ":brickOvenSide");
- this.textureBack = par1IconRegister.registerIcon(IHLModInfo.MODID + ":brickOvenBack");
- this.textureSide = par1IconRegister.registerIcon(IHLModInfo.MODID + ":brickOvenSide");
- this.textureTop = par1IconRegister.registerIcon(IHLModInfo.MODID + ":brickOvenTop");
- }
-
- @Override
- public boolean hasTileEntity(int metadata)
- {
- return true;
- }
-
- @Override
- public boolean onBlockActivated(World world,int x,int y,int z,EntityPlayer player,int i,float pos_x,float pos_y,float pos_z){
- TileEntity te = world.getTileEntity(x,y,z);
- if(IC2.platform.isSimulating() && te instanceof ExplosiveTileEntity)
- {
- ((ExplosiveTileEntity)te).createExplosion(player);
- }
- return false;
- }
-
-
- /**
- * Called when the block is placed in the world.
- */
- @Override
- public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack)
- {
- TileEntity t = world.getTileEntity(x, y, z);
- if(t!=null)
- {
- t.readFromNBT(itemStack.stackTagCompound);
- }
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side)
- {
- int facing=3;
- int mask[] = {
- 0,1,2,3,4,5,
- 1,0,3,2,4,5,
- 2,3,0,1,4,5,
- 2,3,1,0,4,5,
- 2,3,5,4,0,1,
- 2,3,4,5,1,0
- };
- TileEntity te = world.getTileEntity(x, y, z);
- if(te instanceof IWrenchable)
- {
- IWrenchable tebh = (IWrenchable) te;
- facing=tebh.getFacing();
- }
- return this.getIconFromFacing(facing, side);
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public IIcon getIcon(int side, int meta)
- {
- return this.getIconFromFacing(3, side);
- }
-
- @SideOnly(Side.CLIENT)
- public IIcon getIconFromFacing(int facing, int side)
- {
- return this.textureSide;
- }
-
- @Override
- public boolean onBlockEventReceived(World world, int x, int y, int z, int metadata, int flag)
- {
- return true;
- }
-
- public enum ExplosiveType
- {
- MuffleFurnace("muffleFurnance",MuffleFurnanceTileEntity.class, true, new ItemStack(Items.brick));
- ExplosiveType(String unlocalizedName1, Class teclass1, boolean isNormalBlock1,ItemStack itemDroppedOnBlockDestroy1)
- {
- unlocalizedName=unlocalizedName1;
- teclass=teclass1;
- isNormalBlock=isNormalBlock1;
- itemDroppedOnBlockDestroy=itemDroppedOnBlockDestroy1;
- }
- String unlocalizedName;
- Class teclass;
- boolean isNormalBlock=true;
- ItemStack itemDroppedOnBlockDestroy;
- }
-
- @Override
- public int getRenderType()
- {
- return 0;
- }
-
- @Override
- public boolean isOpaqueCube()
- {
- return true;
- }
-
- @Override
- public boolean renderAsNormalBlock()
- {
- return true;
- }
-
- @SideOnly(Side.CLIENT)
- public IIcon getInnerTextureForBlockRenderer()
- {
- return this.blockIcon;
- }
-}
diff --git a/ihl/items_blocks/FiberItem.java b/ihl/items_blocks/FiberItem.java
index 0682abb..73d62f3 100644
--- a/ihl/items_blocks/FiberItem.java
+++ b/ihl/items_blocks/FiberItem.java
@@ -47,7 +47,8 @@ public class FiberItem extends Item implements IWire {
}
}
- @Override
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs tabs, List itemList)
{
@@ -59,6 +60,7 @@ public class FiberItem extends Item implements IWire {
}
@Override
+ @SuppressWarnings({ "rawtypes", "unchecked" })
public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean flag)
{
if(itemStack.stackTagCompound!=null)
diff --git a/ihl/items_blocks/FlexibleCableItem.java b/ihl/items_blocks/FlexibleCableItem.java
index 11023c4..54710cb 100644
--- a/ihl/items_blocks/FlexibleCableItem.java
+++ b/ihl/items_blocks/FlexibleCableItem.java
@@ -1,34 +1,23 @@
package ihl.items_blocks;
-import java.util.ArrayList;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
-import java.util.Map;
import java.util.Set;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.PlayerEvent.PlayerChangedDimensionEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTBase;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.server.MinecraftServer;
import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.IIcon;
-import net.minecraft.util.MathHelper;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import ic2.api.energy.tile.IEnergyTile;
@@ -60,7 +49,7 @@ public class FlexibleCableItem extends Item implements IWire {
insulatedIronRuber,
insulatedThickIronRuber;
public static FlexibleCableItem instance;
- public final Set<String> yellowColoredWires = new HashSet(3);
+ public final Set<String> yellowColoredWires = new HashSet<String>(3);
public boolean isDataCable=false;
public FlexibleCableItem()
@@ -77,6 +66,7 @@ public class FlexibleCableItem extends Item implements IWire {
@Override
@SideOnly(Side.CLIENT)
+ @SuppressWarnings({ "rawtypes", "unchecked" })
public void getSubItems(Item item, CreativeTabs tabs, List itemList)
{
itemList.add(IHLUtils.getUninsulatedWire("Copper", 160, 15));
@@ -98,7 +88,8 @@ public class FlexibleCableItem extends Item implements IWire {
GameRegistry.registerItem(new FlexibleCableItem(),"copperWire");
}
- public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10)
+ @Override
+ public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10)
{
TileEntity t = world.getTileEntity(x, y, z);
short facing = IHLUtils.getFacingFromPlayerView(player, true);
@@ -173,11 +164,11 @@ public class FlexibleCableItem extends Item implements IWire {
{
if(t2 instanceof IMultiPowerCableHolder)
{
- te = ((IMultiPowerCableHolder)t).getEnergyNetNode(facing);
+ te = ((IMultiPowerCableHolder)t2).getEnergyNetNode(facing);
}
else
{
- te = (ICableHolder)t;
+ te = (ICableHolder)t2;
}
te.setCableCheck(true);
}
@@ -447,6 +438,7 @@ public class FlexibleCableItem extends Item implements IWire {
}
@Override
+ @SuppressWarnings({ "rawtypes", "unchecked" })
public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean flag)
{
if(itemStack.stackTagCompound!=null)
diff --git a/ihl/items_blocks/FlexiblePipeItem.java b/ihl/items_blocks/FlexiblePipeItem.java
index 5de333f..5f1522e 100644
--- a/ihl/items_blocks/FlexiblePipeItem.java
+++ b/ihl/items_blocks/FlexiblePipeItem.java
@@ -21,10 +21,8 @@ import ihl.utils.IHLUtils;
public class FlexiblePipeItem extends Item implements IWire {
- private static Map<Integer, IIcon> iconMap = new HashMap();
- private static Map<Integer, String> nameMap = new HashMap();
- private static Map<Integer, String> infoMap = new HashMap();
- private static Map<Integer, Type> materialMap = new HashMap();
+ private static Map<Integer, IIcon> iconMap = new HashMap<Integer, IIcon>();
+ private static Map<Integer, String> nameMap = new HashMap<Integer, String>();
public FlexiblePipeItem()
{
@@ -46,7 +44,8 @@ public class FlexiblePipeItem extends Item implements IWire {
}
}
- @Override
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs tabs, List itemList)
{
@@ -62,6 +61,7 @@ public class FlexiblePipeItem extends Item implements IWire {
}
@Override
+ @SuppressWarnings({ "rawtypes", "unchecked" })
public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean flag)
{
if(itemStack.stackTagCompound!=null)
diff --git a/ihl/items_blocks/GroundRemoverItem.java b/ihl/items_blocks/GroundRemoverItem.java
deleted file mode 100644
index 47c5a1f..0000000
--- a/ihl/items_blocks/GroundRemoverItem.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package ihl.items_blocks;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.server.MinecraftServer;
-import net.minecraft.world.World;
-import ihl.IHLCreativeTab;
-import ihl.IHLModInfo;
-import ihl.worldgen.ores.BlockOre;
-
-public class GroundRemoverItem extends Item{
-
- private String registryName;
- private final Set<Block> removableBlockSet = new HashSet();
-
- public GroundRemoverItem(String registryName1)
- {
- super();
- this.registryName=registryName1;
- this.setCreativeTab(IHLCreativeTab.tab);
- this.setMaxStackSize(1);
- this.setUnlocalizedName(registryName);
- removableBlockSet.add(Blocks.sandstone);
- removableBlockSet.add(Blocks.sand);
- removableBlockSet.add(Blocks.stone);
- removableBlockSet.add(Blocks.flowing_water);
- removableBlockSet.add(Blocks.flowing_lava);
- removableBlockSet.add(Blocks.water);
- removableBlockSet.add(Blocks.lava);
- removableBlockSet.add(Blocks.clay);
- removableBlockSet.add(Blocks.gravel);
- removableBlockSet.add(Blocks.dirt);
- }
-
- public GroundRemoverItem()
- {
- super();
- }
-
- public static void init()
- {
- //GameRegistry.registerItem(new GroundRemoverItem("groundRemover"),"groundRemover");
- }
-
- @Override
- public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean flag)
- {
- info.add("Vanilla block remover tool");
- }
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons(IIconRegister par1IconRegister)
- {
- this.itemIcon = par1IconRegister.registerIcon(IHLModInfo.MODID + ":vacuumSwitch");
- }
-
- @Override
- public void onUpdate(ItemStack stack, World world, Entity entity, int slotIndex, boolean isCurrentItem)
- {
- if(entity instanceof EntityPlayer && isCurrentItem && MinecraftServer.getServer().getTickCounter()%100==99)
- {
- int x = (int)entity.posX;
- int y = (int)entity.posY;
- int z = (int)entity.posZ;
- for(int ix = x-16;ix < x+16;ix++)
- {
- for(int iz = z-16;iz < z+16;iz++)
- {
- for(int iy = 4;iy < y;iy++)
- {
- if(!(world.getBlock(ix, iy, iz) instanceof BlockOre || world.getBlock(ix, iy, iz) instanceof IHLFluidBlock))
- {
- world.setBlockToAir(ix, iy, iz);
- }
- }
- }
- }
- }
- }
-}
diff --git a/ihl/items_blocks/IHLItemBlock.java b/ihl/items_blocks/IHLItemBlock.java
index 8ac81a2..3bde475 100644
--- a/ihl/items_blocks/IHLItemBlock.java
+++ b/ihl/items_blocks/IHLItemBlock.java
@@ -14,7 +14,6 @@ import ihl.collector.ChargerEjectorTileEntity;
import ihl.processing.metallurgy.PassiveBlock;
import ihl.tunneling_shield.DriverTileEntity;
import net.minecraft.block.Block;
-import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
@@ -27,7 +26,7 @@ import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
public class IHLItemBlock extends ItemBlock{
- public Map<Integer, String> nameMap = new HashMap();
+ public Map<Integer, String> nameMap = new HashMap<Integer, String>();
public IHLItemBlock(Block block1)
{
super(block1);
@@ -216,9 +215,10 @@ public class IHLItemBlock extends ItemBlock{
}
@Override
+ @SideOnly(Side.CLIENT)
public CreativeTabs getCreativeTab()
{
- return IHLCreativeTab.tab;
+ return this.field_150939_a.getCreativeTabToDisplayOn();
}
@Override
@@ -255,12 +255,18 @@ public class IHLItemBlock extends ItemBlock{
return false;
}
- @Override
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean flag)
{
if(itemStack.stackTagCompound!=null && itemStack.stackTagCompound.hasKey("resultSuffix"))
{
- info.add(StatCollector.translateToLocal("result_of_molding") + StatCollector.translateToLocal("ihl."+itemStack.stackTagCompound.getString("resultSuffix")));
+ String result_suffix = itemStack.stackTagCompound.getString("resultSuffix");
+ if(StatCollector.canTranslate("ihl."+result_suffix))
+ {
+ result_suffix = StatCollector.translateToLocal("ihl."+result_suffix);
+ }
+ info.add(StatCollector.translateToLocal("result_of_molding")+result_suffix);
if(itemStack.stackTagCompound.hasKey("isContainStearin") && itemStack.stackTagCompound.getBoolean("isContainStearin"))
{
info.add(StatCollector.translateToLocal("ihl.tooltip.step")+" 1: "+StatCollector.translateToLocal("remove_wax_using_muffle_furnace"));
@@ -275,6 +281,10 @@ public class IHLItemBlock extends ItemBlock{
info.add(StatCollector.translateToLocal("ihl.tooltip.step")+" 2: "+StatCollector.translateToLocal("wait_for_10_seconds"));
info.add(StatCollector.translateToLocal("ihl.tooltip.step")+" 3: "+StatCollector.translateToLocal("destroy_mold_to_get_results"));
}
+ if(itemStack.stackTagCompound.hasKey("detonator_delay"))
+ {
+ info.add(StatCollector.translateToLocal("ihl.detonator_delay")+" "+itemStack.stackTagCompound.getInteger("detonator_delay")+StatCollector.translateToLocal("ihl.seconds"));
+ }
}
}
}
diff --git a/ihl/items_blocks/IHLTool.java b/ihl/items_blocks/IHLTool.java
index 7ddf3fb..4e51b5b 100644
--- a/ihl/items_blocks/IHLTool.java
+++ b/ihl/items_blocks/IHLTool.java
@@ -35,7 +35,6 @@ import cpw.mods.fml.relauncher.SideOnly;
import ic2.api.reactor.IReactor;
import ic2.core.Ic2Items;
import ihl.IHLCreativeTab;
-import ihl.IHLMod;
import ihl.IHLModInfo;
import ihl.flexible_cable.SetOfDiesMiniGUI;
import ihl.interfaces.IHasTemperature;
@@ -44,12 +43,11 @@ import ihl.interfaces.ItemMiniGUI;
import ihl.utils.IHLUtils;
public class IHLTool extends Item implements IItemHasMiniGUI{
- private static Map<Integer, IIcon> iconMap = new HashMap();
- private static Map<Integer, String> nameMap = new HashMap();
- private static Map<Integer, String> hintMap = new HashMap();
- private static Map<Integer, Integer> maxToolDamageMap = new HashMap();
- private static Map<Integer, Boolean> isWeaponMap = new HashMap();
- private static Map<Integer, Float> damageVersusEntityMap = new HashMap();
+ private static Map<Integer, IIcon> iconMap = new HashMap<Integer, IIcon>();
+ private static Map<Integer, String> nameMap = new HashMap<Integer, String>();
+ private static Map<Integer, String> hintMap = new HashMap<Integer, String>();
+ private static Map<Integer, Boolean> isWeaponMap = new HashMap<Integer, Boolean>();
+ private static Map<Integer, Float> damageVersusEntityMap = new HashMap<Integer, Float>();
public static Item instance;
private IIcon dice240;
@@ -163,7 +161,8 @@ public class IHLTool extends Item implements IItemHasMiniGUI{
@Override
@SideOnly(Side.CLIENT)
- public void getSubItems(Item item, CreativeTabs tabs, List itemList)
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ public void getSubItems(Item item, CreativeTabs tabs, List itemList)
{
Type[] var1 = Type.values();
for(int i=0;i<var1.length;i++)
@@ -259,6 +258,7 @@ public class IHLTool extends Item implements IItemHasMiniGUI{
}
@Override
+ @SuppressWarnings({ "rawtypes", "unchecked" })
public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean flag)
{
info.add(EnumChatFormatting.WHITE+StatCollector.translateToLocal("ihl.durability") +EnumChatFormatting.GREEN + (IHLUtils.getMaxDamageValueViaNBTTag(itemStack) - IHLUtils.getDamageValueViaNBTTag(itemStack))+" / "+IHLUtils.getMaxDamageValueViaNBTTag(itemStack));
diff --git a/ihl/items_blocks/ItemSubstance.java b/ihl/items_blocks/ItemSubstance.java
index bef37fa..464878c 100644
--- a/ihl/items_blocks/ItemSubstance.java
+++ b/ihl/items_blocks/ItemSubstance.java
@@ -5,20 +5,29 @@ import ic2.api.recipe.RecipeInputOreDict;
import ic2.api.recipe.Recipes;
import ihl.IHLCreativeTab;
import ihl.IHLModInfo;
+import ihl.explosion.DetonatorMiniGUI;
+import ihl.interfaces.IItemHasMiniGUI;
+import ihl.interfaces.ItemMiniGUI;
import ihl.utils.IHLUtils;
import ihl.worldgen.ores.IHLFluid.IHLFluidType;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
+import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.Slot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.IIcon;
+import net.minecraft.util.StatCollector;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidContainerRegistry.FluidContainerData;
@@ -27,11 +36,11 @@ import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-public class ItemSubstance extends Item {
+public class ItemSubstance extends Item implements IItemHasMiniGUI{
- private static Map<Integer, IIcon> iconMap = new HashMap();
- private static Map<Integer, String> nameMap = new HashMap();
- private static Map<Integer, String> descriptionMap = new HashMap();
+ private static Map<Integer, IIcon> iconMap = new HashMap<Integer, IIcon>();
+ private static Map<Integer, String> nameMap = new HashMap<Integer, String>();
+ private static Map<Integer, String> descriptionMap = new HashMap<Integer, String>();
public static ItemSubstance instance;
public ItemSubstance()
@@ -118,6 +127,7 @@ public class ItemSubstance extends Item {
}
}
+ @SuppressWarnings({ "rawtypes", "unchecked" })
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs tabs, List itemList)
@@ -126,6 +136,11 @@ public class ItemSubstance extends Item {
for(int i=0;i<var1.length;i++)
{
ItemStack stack = IHLUtils.getThisModItemStack(var1[i].unLocalizedName);
+ if(var1[i]==Type.Detonator)
+ {
+ stack.stackTagCompound=new NBTTagCompound();
+ stack.stackTagCompound.setInteger("detonator_delay", 5);
+ }
itemList.add(stack);
}
IHLFluidType[] var2 = IHLFluidType.values();
@@ -173,16 +188,33 @@ public class ItemSubstance extends Item {
}
@Override
+ @SuppressWarnings({ "rawtypes", "unchecked" })
public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean flag)
{
if(ItemSubstance.descriptionMap.containsKey(itemStack.getItemDamage()))
{
info.add(ItemSubstance.descriptionMap.get(itemStack.getItemDamage()));
}
+ if(itemStack.stackTagCompound!=null && itemStack.stackTagCompound.hasKey("detonator_delay"))
+ {
+ info.add(StatCollector.translateToLocal("ihl.detonator_delay")+" "+itemStack.stackTagCompound.getInteger("detonator_delay")+StatCollector.translateToLocal("ihl.seconds"));
+ }
}
public enum Type
{
+ Detonator(194, "detonator"),
+ dustPentaerythritolTetranitrate(193,"dustPentaerythritolTetranitrate",true,"C(CH\u2082ONO\u2082)\u2084"),
+ DustPentaerythritol(192, "dustPentaerythritol",true,"C(CH\u2082OH)\u2084"),
+ DustPotassiumOxide(191, "dustPotassiumOxide",true,"K\u2082O"),
+ IngotPotassium(190, "ingotPotassium",true,"K"),
+ catalystIron(189, "catalystIron",false,"Fe (foam) + Al\u2082O\u2083 + K\u2082O"),
+ catalystIronOxide(188, "catalystIronOxide",false,"Fe\u2082O\u2083 + Al\u2082O\u2083 + K\u2082O"),
+ catalystRawIronOxide(187, "catalystRawIronOxide",false,"Fe\u2082O\u2083 + Al\u2082O\u2083 + K\u2082O"),
+ IronOxideCatalystMix(186, "dustIronOxideCatalystMix",false,"Fe\u2082O\u2083 + Al\u2082O\u2083 + K\u2082O"),
+ SodiumFormate(185, "dustSodiumFormate",true,"HCO\u2082Na"),
+ MercuryChloride(184, "dustMercuryChloride",true,"HgCl\u2082"),
+ CalciumAcetate(183, "dustCalciumAcetate",true,"Ca(CH\u2083COO)\u2082"),
TinySiliconDioxide(182, "dustTinySiliconDioxide",true,"SiO\u2082"),
TinyIronOxide(181, "dustTinyIronOxide",true,"Fe\u2082O\u2083"),
TinyManganeseOxide(180, "dustTinyManganeseOxide",true,"Mn\u2083O\u2084"),
@@ -389,4 +421,15 @@ public class ItemSubstance extends Item {
public boolean registerInOreDictionary=false;
}
+ @Override
+ @SideOnly(Side.CLIENT)
+ public ItemMiniGUI getMiniGUI(GuiContainer gui, Slot slot)
+ {
+ if(slot.getHasStack() && slot.getStack().getItemDamage()==Type.Detonator.damage && slot.getStack().stackTagCompound!=null)
+ {
+ return new DetonatorMiniGUI(gui, slot);
+ }
+ return null;
+ }
+
} \ No newline at end of file
diff --git a/ihl/items_blocks/MachineBaseBlock.java b/ihl/items_blocks/MachineBaseBlock.java
index 0cb10cb..a5d6764 100644
--- a/ihl/items_blocks/MachineBaseBlock.java
+++ b/ihl/items_blocks/MachineBaseBlock.java
@@ -4,7 +4,6 @@ import ic2.api.tile.IWrenchable;
import ic2.core.IC2;
import ic2.core.IHasGui;
import ic2.core.item.tool.ItemToolCutter;
-import ic2.core.item.tool.ItemToolWrench;
import ihl.IHLCreativeTab;
import ihl.IHLMod;
import ihl.IHLModInfo;
@@ -63,7 +62,6 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.inventory.IInventory;
-import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
@@ -78,7 +76,7 @@ import cpw.mods.fml.relauncher.SideOnly;
public class MachineBaseBlock extends Block implements ITileEntityProvider{
MachineType type;
- private static List<MachineBaseBlock> instances = new ArrayList();
+ private static List<MachineBaseBlock> instances = new ArrayList<MachineBaseBlock>();
@SideOnly(Side.CLIENT)
IIcon textureSide,
@@ -203,6 +201,7 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
super.onBlockPreDestroy(world, x, y, z, meta);
}
+ @SuppressWarnings("rawtypes")
@Override
public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB aabb, List list, Entity entity)
{
@@ -468,14 +467,6 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side)
{
int facing=3;
- int mask[] = {
- 0,1,2,3,4,5,
- 1,0,3,2,4,5,
- 2,3,0,1,4,5,
- 2,3,1,0,4,5,
- 2,3,5,4,0,1,
- 2,3,4,5,1,0
- };
TileEntity te = world.getTileEntity(x, y, z);
if(te instanceof IWrenchable)
{
@@ -793,7 +784,7 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
BronzeTub("tubBronze",ImpregnatingMachineTileEntity.class, false, true, null),
AchesonFurnace("achesonFurnance",AchesonFurnanceTileEntity.class, true, new ItemStack(Items.brick)),
MuffleFurnace("muffleFurnance",MuffleFurnanceTileEntity.class, true, new ItemStack(Items.brick));
- MachineType(String unlocalizedName1, Class teclass1, boolean isNormalBlock1,ItemStack itemDroppedOnBlockDestroy1)
+ MachineType(String unlocalizedName1, Class<? extends TileEntity> teclass1, boolean isNormalBlock1,ItemStack itemDroppedOnBlockDestroy1)
{
unlocalizedName=unlocalizedName1;
teclass=teclass1;
@@ -808,7 +799,7 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
}
itemDroppedOnBlockDestroy=itemDroppedOnBlockDestroy1;
}
- MachineType(String unlocalizedName1, Class teclass1, boolean isNormalBlock1,boolean hasSpecialBlockRenderer1, ItemStack itemDroppedOnBlockDestroy1)
+ MachineType(String unlocalizedName1, Class<? extends TileEntity> teclass1, boolean isNormalBlock1,boolean hasSpecialBlockRenderer1, ItemStack itemDroppedOnBlockDestroy1)
{
unlocalizedName=unlocalizedName1;
teclass=teclass1;
@@ -818,7 +809,7 @@ public class MachineBaseBlock extends Block implements ITileEntityProvider{
}
String unlocalizedName;
- Class teclass;
+ Class<? extends TileEntity> teclass;
boolean isNormalBlock=true;
boolean hasSpecialBlockRenderer=false;
int specialBlockRendererId=-2;