@Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister reg) { for (Engines engine : Engines.values()) { engine.icon = reg.registerIcon(ICBM.PREFIX + engine.moduleName); } }
@Override public void onPostInit() { for (Engines engine : Engines.values()) { IRocketEngine e = engine.newModule(); if (e instanceof IPostInit) { ((IPostInit) e).onPostInit(); } } }
@SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tab, List list) { for (Engines engine : Engines.values()) { list.add(engine.newModuleStack()); RocketEngine e = MissileModuleBuilder.INSTANCE.buildEngine(engine.newModuleStack()); e.initFuel(); list.add(e.toStack()); } }
@Override public IRocketEngine getModule(ItemStack stack) { if (stack != null) { ItemStack insert = stack.copy(); insert.stackSize = 1; IRocketEngine engine = MissileModuleBuilder.INSTANCE.buildEngine(insert); if (engine == null) { // Data is invalid TODO see if we can save data if NBT is not null engine = Engines.get(insert).newModule(); stack.setTagCompound(engine.save(new NBTTagCompound())); insert.setTagCompound(engine.save(new NBTTagCompound())); } return engine; } return null; }
@SideOnly(Side.CLIENT) public IIcon getIconFromDamage(int meta) { return Engines.get(meta) != null ? Engines.get(meta).icon : this.itemIcon; }