blob: 5f7cfcd672f9e930deb76214acc2af94a098caa5 [file] [log] [blame] [raw]
package li.cil.oc
import cpw.mods.fml.common.registry.GameRegistry
import li.cil.oc.common.item
import net.minecraft.block.Block
import net.minecraft.item.{Item, ItemStack}
import net.minecraftforge.oredict.OreDictionary
object Items {
var multi: item.Delegator = _
// ----------------------------------------------------------------------- //
// Tools
var analyzer: item.Analyzer = _
var terminal: item.Terminal = _
// ----------------------------------------------------------------------- //
// Memory
var ram1, ram2, ram3, ram4, ram5: item.Memory = _
// ----------------------------------------------------------------------- //
// Servers
var server: item.Server = _
// ----------------------------------------------------------------------- //
// Components
var floppyDisk: item.FloppyDisk = _
var hdd1, hdd2, hdd3: item.HardDiskDrive = _
var gpu1, gpu2, gpu3: item.GraphicsCard = _
var lan: item.NetworkCard = _
var rs: item.RedstoneCard = _
var wlan: item.WirelessNetworkCard = _
// ----------------------------------------------------------------------- //
// Upgrades
var upgradeCrafting: item.UpgradeCrafting = _
var upgradeGenerator: item.UpgradeGenerator = _
var upgradeNavigation: item.UpgradeNavigation = _
var upgradeSign: item.UpgradeSign = _
var upgradeSolarGenerator: item.UpgradeSolarGenerator = _
// ----------------------------------------------------------------------- //
// Crafting
var ironNugget: item.IronNugget = _
var cuttingWire: item.CuttingWire = _
var acid: item.Acid = _
var disk: item.Disk = _
var buttonGroup: item.ButtonGroup = _
var arrowKeys: item.ArrowKeys = _
var numPad: item.NumPad = _
var transistor: item.Transistor = _
var chip1, chip2, chip3: item.Microchip = _
var alu: item.ALU = _
var cpu: item.CPU = _
var cu: item.ControlUnit = _
var rawCircuitBoard: item.RawCircuitBoard = _
var circuitBoard: item.CircuitBoard = _
var pcb: item.PrintedCircuitBoard = _
var card: item.CardBase = _
def init() {
multi = new item.Delegator(Settings.get.itemId)
GameRegistry.registerItem(multi, Settings.namespace + "item")
analyzer = new item.Analyzer(multi)
ram1 = new item.Memory(multi, 0)
ram2 = new item.Memory(multi, 1)
ram3 = new item.Memory(multi, 2)
floppyDisk = new item.FloppyDisk(multi)
hdd1 = new item.HardDiskDrive(multi, 0)
hdd2 = new item.HardDiskDrive(multi, 1)
hdd3 = new item.HardDiskDrive(multi, 2)
gpu1 = new item.GraphicsCard(multi, 0)
gpu2 = new item.GraphicsCard(multi, 1)
gpu3 = new item.GraphicsCard(multi, 2)
lan = new item.NetworkCard(multi)
rs = new item.RedstoneCard(multi)
wlan = new item.WirelessNetworkCard(multi)
upgradeCrafting = new item.UpgradeCrafting(multi)
upgradeGenerator = new item.UpgradeGenerator(multi)
ironNugget = new item.IronNugget(multi)
cuttingWire = new item.CuttingWire(multi)
acid = new item.Acid(multi)
disk = new item.Disk(multi)
buttonGroup = new item.ButtonGroup(multi)
arrowKeys = new item.ArrowKeys(multi)
numPad = new item.NumPad(multi)
transistor = new item.Transistor(multi)
chip1 = new item.Microchip(multi, 0)
chip2 = new item.Microchip(multi, 1)
chip3 = new item.Microchip(multi, 2)
alu = new item.ALU(multi)
cu = new item.ControlUnit(multi)
cpu = new item.CPU(multi)
rawCircuitBoard = new item.RawCircuitBoard(multi)
circuitBoard = new item.CircuitBoard(multi)
pcb = new item.PrintedCircuitBoard(multi)
card = new item.CardBase(multi)
// v1.1.0
upgradeSolarGenerator = new item.UpgradeSolarGenerator(multi)
upgradeSign = new item.UpgradeSign(multi)
upgradeNavigation = new item.UpgradeNavigation(multi)
ram4 = new item.Memory(multi, 3)
ram5 = new item.Memory(multi, 4)
// v1.2.0
server = new item.Server(multi)
terminal = new item.Terminal(multi)
// ----------------------------------------------------------------------- //
registerExclusive("craftingPiston", new ItemStack(Block.pistonBase), new ItemStack(Block.pistonStickyBase))
registerExclusive("nuggetGold", new ItemStack(Item.goldNugget))
registerExclusive("nuggetIron", ironNugget.createItemStack())
register("oc:craftingCircuitBoardRaw", rawCircuitBoard.createItemStack())
register("oc:craftingCircuitBoard", circuitBoard.createItemStack())
register("oc:craftingCircuitBoardPrinted", pcb.createItemStack())
register("oc:craftingCard", card.createItemStack())
register("oc:craftingWire", cuttingWire.createItemStack())
register("oc:circuitBasic", chip1.createItemStack())
register("oc:circuitAdvanced", chip2.createItemStack())
register("oc:circuitElite", chip3.createItemStack())
register("oc:craftingTransistor", transistor.createItemStack())
register("oc:craftingCU", cu.createItemStack())
register("oc:craftingALU", alu.createItemStack())
register("oc:craftingCPU", cpu.createItemStack())
register("oc:componentCardRedstone", rs.createItemStack())
register("oc:componentCardLan", lan.createItemStack())
register("oc:craftingGPUBasic", gpu1.createItemStack())
register("oc:craftingGPUAdvanced", gpu2.createItemStack())
register("oc:craftingGPUElite", gpu3.createItemStack())
register("oc:craftingRAMBasic", ram1.createItemStack())
register("oc:craftingRAMAdvanced", ram2.createItemStack())
register("oc:craftingRAMElite", ram3.createItemStack())
register("oc:craftingRAMElite2", ram4.createItemStack())
register("oc:craftingRAMElite3", ram5.createItemStack())
register("oc:craftingHDDBasic", hdd1.createItemStack())
register("oc:craftingHDDAdvanced", hdd2.createItemStack())
register("oc:craftingHDDElite", hdd3.createItemStack())
register("oc:craftingButtonGroup", buttonGroup.createItemStack())
register("oc:craftingArrowKey", arrowKeys.createItemStack())
register("oc:craftingNumPad", numPad.createItemStack())
register("oc:craftingDisk", disk.createItemStack())
register("oc:craftingAcid", acid.createItemStack())
register("oc:craftingGenerator", upgradeGenerator.createItemStack())
}
def register(name: String, item: ItemStack) {
if (!OreDictionary.getOres(name).contains(item)) {
OreDictionary.registerOre(name, item)
}
}
def registerExclusive(name: String, items: ItemStack*) {
if (OreDictionary.getOres(name).isEmpty) {
for (item <- items) {
OreDictionary.registerOre(name, item)
}
}
}
}