362 lines
19 KiB
Java
362 lines
19 KiB
Java
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;
|
|
}
|