package ic2.api.item; import net.minecraft.item.ItemStack; /** * Provides access to IC2 blocks and items. * * Some items can be acquired through the ore dictionary which is the recommended way. * The items are initialized while IC2 is being loaded - try to use ModsLoaded() or load your mod after IC2. * Some blocks/items can be disabled by a config setting, so it's recommended to check if they're null first. * * Getting the associated Block/Item for an ItemStack x: * Blocks: Block.blocksList[x.itemID] * Items: x.getItem() */ public final class Items { /** * Get an ItemStack for a specific item name, example: Items.getItem("resin") * See the list below for item names. * Make sure to copy() the ItemStack if you want to modify it. * * @param name item name * @return The item or null if the item does not exist or an error occurred */ public static ItemStack getItem(String name) { try { if (Ic2Items == null) Ic2Items = Class.forName(getPackage() + ".core.Ic2Items"); Object ret = Ic2Items.getField(name).get(null); if (ret instanceof ItemStack) { return (ItemStack) ret; } else { return null; } } catch (Exception e) { System.out.println("IC2 API: Call getItem failed for "+name); return null; } } /* Possible values: ----- blocks ----- ores copperOre Copper Ore block, currently not meta sensitive, meta in ItemStack set to 0, ore dictionary: oreCopper, null with enableWorldGenOreCopper=false tinOre Tin Ore block, currently not meta sensitive, meta in ItemStack set to 0, ore dictionary: oreTin, null with enableWorldGenOreTin=false uraniumOre Tin Ore block, currently not meta sensitive, meta in ItemStack set to 0, ore dictionary: oreUranium, null with enableWorldGenOreUranium=false rubber related Rubber wood block, meta reflects the state, meta in ItemStack set to 0, ore dictionary: woodRubber (with meta 0), null with enableWorldGenTreeRubber=false dropped (as an item) -> metadata 0 block, no resin spot -> metadata 0 or 1 block, wet resin spot -> metadata 2-5 (according to the side) block, dry resin spot -> metadata 8-11 (wet state + 6) rubberWood rubberLeaves Rubber Leaves block, currently not meta sensitive, meta in ItemStack set to 0, null with enableWorldGenTreeRubber=false rubberSapling Rubber Sapling block, currently not meta sensitive, meta in ItemStack set to 0, null with enableWorldGenTreeRubber=false resinSheet Resin Sheet block, currently not meta sensitive rubberTrampoline Rubber Trampoline block, meta reflects internal state, meta in ItemStack set to 0 building/storage ironFence Iron Fence block, currently not meta sensitive reinforcedStone Reinforced Stone block, currently not meta sensitive reinforcedGlass Reinforced Glass block, currently not meta sensitive reinforcedDoorBlock Reinforced Door block, meta reflects the state (see vanilla doors), meta in ItemStack set to 0 constructionFoam Construction Foam block, currently not meta sensitive constructionFoamWall Construction Foam Wall block, meta = color, implements IPaintableBlock scaffold Scaffold block, meta reflects internal physical model data bronzeBlock Bronze block, meta sensitive copperBlock Copper block, meta sensitive tinBlock Tin block, meta sensitive uraniumBlock Uranium block, meta sensitive cables (when placed as a block, inventory items are different TE implements IEnergyConductor) copperCableBlock Copper Cable block, meta sensitive insulatedCopperCableBlock Insulated Copper Cable block, meta sensitive goldCableBlock Gold Cable block, meta sensitive insulatedGoldCableBlock Insulated Gold Cable block, meta sensitive doubleInsulatedGoldCableBlock Double Insulated Gold Cable block, meta sensitive ironCableBlock Iron Cable block, meta sensitive insulatedIronCableBlock Insulated Iron Cable block, meta sensitive doubleInsulatedIronCableBlock Double Insulated Iron Cable block, meta sensitive trippleInsulatedIronCableBlock Tripple Insulated Iron Cable block, meta sensitive glassFiberCableBlock Glass Fiber Cable block, meta sensitive tinCableBlock Tin Cable block, meta sensitive detectorCableBlock Detector Cable block, meta sensitive splitterCableBlock Splitter Cable block, meta sensitive generators + related (TE implements IEnergySource ex. reactorChamber) generator Generator block, meta sensitive geothermalGenerator Geothermal Generator block, meta sensitive waterMill Water Mill block, meta sensitive solarPanel Solar Panel block, meta sensitive windMill Wind Mill block, meta sensitive nuclearReactor Nuclear Reactor block, meta sensitive reactorChamber Reactor Chamber block, currently not meta sensitive energy storages (TE implements IEnergySource and IEnergyConductor) batBox BatBox block, meta sensitive mfeUnit MFE Unit block, meta sensitive mfsUnit MFS Unit block, meta sensitive transformers (TE implements IEnergySource and IEnergyConductor) lvTransformer LV Transformer block, meta sensitive mvTransformer MV Transformer block, meta sensitive hvTransformer HV Transformer block, meta sensitive machines + related (TE implements IEnergySink ex. machine, miningPipe, miningPipeTip) machine Machine block, meta sensitive advancedMachine Advanced Machine block, meta sensitive ironFurnace Iron Furnace block, meta sensitive electroFurnace Electro Furnace block, meta sensitive macerator Macerator block, meta sensitive extractor Extractor block, meta sensitive compressor Compressor block, meta sensitive canner Canner block, meta sensitive miner Miner block, meta sensitive pump Pump block, meta sensitive magnetizer Magnetizer block, meta sensitive electrolyzer Electrolyzer block, meta sensitive recycler Recycler block, meta sensitive inductionFurnace Induction Furnace block, meta sensitive massFabricator Mass Fabricator block, meta sensitive terraformer Terraformer block, meta sensitive teleporter Teleporter block, meta sensitive teslaCoil Tesla Coil block, meta sensitive luminator Passive (dark) Luminator block, meta = facing activeLuminator Active (bright) Luminator block, meta = facing miningPipe Mining Pipe block, currently not meta sensitive, meta in ItemStack set to 0 miningPipeTip Mining Pipe Tip block, currently not meta sensitive, meta in ItemStack set to 0 personal blocks personalSafe Personal Safe block, meta sensitive tradeOMat Trade-O-Mat block, meta sensitive energyOMat Energy-O-Mat block, meta sensitive explosives industrialTnt Industrial TNT block, currently not meta sensitive nuke Nuke block, currently not meta sensitive dynamiteStick Dynamite Stick block, meta = placement, meta in ItemStack set to 0 dynamiteStickWithRemote Dynamite Stick with Remote block, meta = placement, meta in ItemStack set to 0 Agriculture Stuff crop Crop Block, empty, not meta sensitive ----- items ----- rubber + related resin Resin item, currently not meta sensitive rubber Rubber item, currently not meta sensitive, ore dictionary: itemRubber ore drops uraniumDrop Uranium Drop item, currently not meta sensitive, ore dictionary: itemDropUranium dusts bronzeDust Bronze Dust item, currently not meta sensitive clayDust Clay Dust item, currently not meta sensitive coalDust Coal Dust item, currently not meta sensitive copperDust Copper Dust item, currently not meta sensitive goldDust Gold Dust item, currently not meta sensitive ironDust Iron Dust item, currently not meta sensitive silverDust Silver Dust item, currently not meta sensitive smallIronDust Small Iron Dust item, currently not meta sensitive tinDust Tin Dust item, currently not meta sensitive hydratedCoalDust Hydrated Coal Dust item, currently not meta sensitive ingots refinedIronIngot Refined Iron Ingot item, currently not meta sensitive, ore dictionary: ingotRefinedIron copperIngot Copper Ingot item, currently not meta sensitive, ore dictionary: ingotCopper tinIngot Tin Ingot item, currently not meta sensitive, ore dictionary: ingotTin bronzeIngot Bronze Ingot item, currently not meta sensitive, ore dictionary: ingotBronze mixedMetalIngot Mixed Metal Ingot item, currently not meta sensitive uraniumIngot Uranium Ingot item, currently not meta sensitive, ore dictionary: ingotUranium tools/weapons (without electric tools) treetap Treetap item, meta = damage value wrench Wrench item, meta = damage value cutter Insulation Cutter item, meta = damage value constructionFoamSprayer Construction Foam Sprayer item, meta = charges (as of v1.45) bronzePickaxe Bronze Pickaxe item, meta = damage value bronzeAxe Bronze Axe item, meta = damage value bronzeSword Bronze Sword item, meta = damage value bronzeShovel Bronze Shovel item, meta = damage value bronzeHoe Bronze Hoe item, meta = damage value el. tools/devices/weapons miningDrill Mining Drill item, meta = visual charge indicator, implements IElectricItem diamondDrill Diamond Tipped Mining Drill item, meta = visual charge indicator, implements IElectricItem chainsaw Chainsaw item, meta = visual charge indicator, implements IElectricItem electricWrench Electric Wrench item, meta = visual charge indicator, implements IElectricItem electricTreetap Electric Treetap item, meta = visual charge indicator, implements IElectricItem miningLaser Mining Laser item, meta = visual charge indicator, implements IElectricItem ecMeter EC-Mater item, currently not meta sensitive odScanner Ore Density Scanner item, meta = damage value for charge level, implements IElectricItem ovScanner Ore Value Scanner item, meta = visual charge indicator, implements IElectricItem frequencyTransmitter Frequency Transmitter item, currently not meta sensitive nanoSaber Idle Nano Saber item, meta = visual charge indicator, implements IElectricItem enabledNanoSaber Enabled Nano Saber item, meta = visual charge indicator, implements IElectricItem armor/wearable rubberBoots Rubber Boots item, meta = damage value bronzeHelmet Bronze Helmet Armor item, meta = damage value bronzeChestplate Bronze Chestplate Armor item, meta = damage value bronzeLeggings Bronze Leggings Armor item, meta = damage value bronzeBoots Bronze Boots Armor item, meta = damage value compositeArmor Composite Armor item, meta = damage value for charge level nanoHelmet Nano Helmet Armor item, meta = visual charge indicator, implements IElectricItem nanoBodyarmor Nano Bodyarmor item, meta = visual charge indicator, implements IElectricItem nanoLeggings Nano Leggings Armor item, meta = visual charge indicator, implements IElectricItem nanoBoots Nano Boots Armor item, meta = visual charge indicator, implements IElectricItem quantumHelmet Quantum Helmet Armor item, meta = visual charge indicator, implements IElectricItem quantumBodyarmor Quantum Bodyarmor item, meta = visual charge indicator, implements IElectricItem quantumLeggings Quantum Leggings Armor item, meta = visual charge indicator, implements IElectricItem quantumBoots Quantum Boots Armor item, meta = visual charge indicator, implements IElectricItem jetpack Jetpack item, meta = damage value for fuel level electricJetpack Electric Jetpack item, meta = visual charge indicator, implements IElectricItem batPack BatPack item, meta = visual charge indicator, implements IElectricItem, can provide energy lapPack LapPack item, meta = visual charge indicator, implements IElectricItem, can provide energy cfPack CF Pack item, meta = charges (as of v1.45) solarHelmet Solar Helmet item, currently not meta sensitive staticBoots Static Boots item, currently not meta sensitive batteries reBattery Empty RE Battery item, currently not meta sensitive, implements IElectricItem chargedReBattery RE Battery item, meta = visual charge indicator, implements IElectricItem, can provide energy energyCrystal Energy Crystal item, meta = visual charge indicator, implements IElectricItem, can provide energy lapotronCrystal Lapotron Crystal item, meta = visual charge indicator, implements IElectricItem, can provide energy suBattery SU Battery item, currently not meta sensitive cables copperCableItem Copper Cable item, meta sensitive insulatedCopperCableItem Insulated Copper Cable item, meta sensitive goldCableItem Gold Cable item, meta sensitive insulatedGoldCableItem Insulated Gold Cable item, meta sensitive doubleInsulatedGoldCableItem Double Insulated Gold Cable item, meta sensitive ironCableItem Iron Cable item, meta sensitive insulatedIronCableItem Insulated Iron Cable item, meta sensitive doubleInsulatedIronCableItem Double Insulated Iron Cable item, meta sensitive trippleInsulatedIronCableItem Tripple Insulated Iron Cable item, meta sensitive glassFiberCableItem Glass Fiber Cable item, meta sensitive tinCableItem Tin Cable item, meta sensitive detectorCableItem Detector Cable item, meta sensitive splitterCableItem Splitter Cable item, meta sensitive cells/containers (without reactor components) cell Empty Cell item, currently not meta sensitive lavaCell Lava Cell item, currently not meta sensitive hydratedCoalCell Hydrated Coal Cell item, currently not meta sensitive bioCell Bio Cell item, currently not meta sensitive coalfuelCell Coalfuel Cell item, currently not meta sensitive biofuelCell Biofuel Cell item, currently not meta sensitive waterCell Water Cell item, currently not meta sensitive electrolyzedWaterCell Electrolyzed Water Cell item, currently not meta sensitive fuelCan Empty Fuel Can item, currently not meta sensitive filledFuelCan Fuel Can item, meta = fuel value (as of v1.45) tinCan Empty Tin Can item, currently not meta sensitive filledTinCan Filled Tin Can item, currently not meta sensitive reactor components uraniumCell Uranium Cell item, meta = damage value coolingCell Cooling Cell item, meta = damage value depletedIsotopeCell Depleted Isotope Cell item, meta = damage value reEnrichedUraniumCell Re-Enriched Uranium Cell item, currently not meta sensitive nearDepletedUraniumCell Near-Depleted Uranium Cell item, currently not meta sensitive integratedReactorPlating Integrated Reactor Plating item, meta = damage value integratedHeatDisperser Integrated Heat Disperser item, meta = damage value terraformer blueprints terraformerBlueprint Empty Terraformer Blueprint item, currently not meta sensitive cultivationTerraformerBlueprint Cultivation Terraformer Blueprint item, currently not meta sensitive irrigationTerraformerBlueprint Irrigation Terraformer Blueprint item, currently not meta sensitive chillingTerraformerBlueprint Chilling Terraformer Blueprint item, currently not meta sensitive desertificationTerraformerBlueprint Desertification Terraformer Blueprint item, currently not meta sensitive flatificatorTerraformerBlueprint Flatificator Terraformer Blueprint item, currently not meta sensitive mushroomTerraformerBlueprint Mushroom Terraformer Blueprint item, currently not meta sensitive diamond chain coalBall Coal Ball item, currently not meta sensitive compressedCoalBall Compressed Coal Ball item, currently not meta sensitive coalChunk Coal Chunk item, currently not meta sensitive industrialDiamond Industrial Diamond item, currently not meta sensitive, DEPRECATED recycler chain scrap Scrap item, currently not meta sensitive scrapBox Scrap Box item, currently not meta sensitive fuel production chain hydratedCoalClump Hydrated Coal Clump item, currently not meta sensitive plantBall Plant Ball item, currently not meta sensitive compressedPlantBall Compressed Plant Ball item, currently not meta sensitive painting painter Painter item, currently not meta sensitive blackPainter Black Painter item, meta = damage value redPainter Red Painter item, meta = damage value greenPainter Green Painter item, meta = damage value brownPainter Brown Painter item, meta = damage value bluePainter Blue Painter item, meta = damage value purplePainter Purple Painter item, meta = damage value cyanPainter Cyan Painter item, meta = damage value lightGreyPainter Light Grey Painter item, meta = damage value darkGreyPainter Dark Grey Painter item, meta = damage value pinkPainter Pink Painter item, meta = damage value limePainter Lime Painter item, meta = damage value yellowPainter Yellow Painter item, meta = damage value cloudPainter Cloud Painter item, meta = damage value magentaPainter Magenta Painter item, meta = damage value orangePainter Orange Painter item, meta = damage value whitePainter White Painter item, meta = damage value explosives + related dynamite Throwable Dynamite item, currently not meta sensitive stickyDynamite Throwable Sticky Dynamite item, currently not meta sensitive remote Dynamite Remote item, currently not meta sensitive misc intermediate recipe ingredients electronicCircuit Electronic Circuit item, currently not meta sensitive advancedCircuit Advanced Circuit item, currently not meta sensitive advancedAlloy Advanced Alloy item, currently not meta sensitive carbonFiber Raw Carbon Fiber item, currently not meta sensitive carbonMesh Raw Carbon Mesh item, currently not meta sensitive carbonPlate Carbon Plate item, currently not meta sensitive matter UU-Matter item, currently not meta sensitive iridiumOre Iridium Ore item, currently not meta sensitive iridiumPlate Iridium Plate item, currently not meta sensitive upgrade modules overclockerUpgrade overclocker upgrade item, meta sensitive transformerUpgrade transformer upgrade item, meta sensitive energyStorageUpgrade energy storage upgrade item, meta sensitive misc coin Coin item, currently not meta sensitive reinforcedDoor Reinforced Door item, currently not meta sensitive constructionFoamPellet Construction Foam Pellet item, currently not meta sensitive cropSeed Crop seeds, stuff stored in NBT, don't use for crafting recipes! cropnalyzer Cropnalyzer handheld device fertilizer Basic IC2Item, used to provide nutrients toCropBlocks hydratingCell Cell used to hydrate Crops, meta = Content, 0 = Full, 9999 = Near empty electricHoe Electric Hoe, meta = charge level solarHelmet Solar Helmet item, currently not meta sensitive terraWart Terra Wart item, cures potion effects weedEx Weed-EX can, meta = uses left */ /** * Get the base IC2 package name, used internally. * * @return IC2 package name, if unable to be determined defaults to ic2 */ private static String getPackage() { Package pkg = Items.class.getPackage(); if (pkg != null) { String packageName = pkg.getName(); return packageName.substring(0, packageName.length() - ".api.item".length()); } return "ic2"; } private static Class Ic2Items; }