From 28bf54a64c4f64ec5797e7692f9648dd6d5939ae Mon Sep 17 00:00:00 2001 From: Johannes Lohrer Date: Sat, 28 Dec 2013 17:02:44 +0100 Subject: [PATCH] changed ore dict entries for oc added some gt recipes (WIP) added Reflection assembly for GT --- assets/opencomputers/recipes/default.recipes | 164 +++++------ assets/opencomputers/recipes/gregtech.recipes | 267 ++++++++++++++++++ li/cil/oc/Blocks.scala | 19 +- li/cil/oc/Items.scala | 40 +-- li/cil/oc/Recipes.scala | 5 +- li/cil/oc/util/mods/GregTech.scala | 34 +++ 6 files changed, 416 insertions(+), 113 deletions(-) create mode 100644 assets/opencomputers/recipes/gregtech.recipes create mode 100644 li/cil/oc/util/mods/GregTech.scala diff --git a/assets/opencomputers/recipes/default.recipes b/assets/opencomputers/recipes/default.recipes index 69a17a2a7..e7b3e5501 100644 --- a/assets/opencomputers/recipes/default.recipes +++ b/assets/opencomputers/recipes/default.recipes @@ -3,92 +3,92 @@ analyzer { input: [["", torchRedstoneActive, ""] - [craftingTransistor, circuitBasic, nuggetGold] - [craftingTransistor, craftingCircuitBoardAdvanced, nuggetGold]] + ["oc:craftingTransistor", "oc:circuitBasic", nuggetGold] + ["oc:craftingTransistor", "oc:craftingCircuitBoardPrinted", nuggetGold]] } ram1 { - input: [[circuitBasic, circuitBasic, circuitBasic] - [craftingCircuitBoardAdvanced, craftingCircuitBoardAdvanced, craftingCircuitBoardAdvanced]] + input: [["oc:circuitBasic", "oc:circuitBasic", "oc:circuitBasic"] + ["oc:craftingCircuitBoardPrinted", "oc:craftingCircuitBoardPrinted", "oc:craftingCircuitBoardPrinted"]] } ram2 { - input: [[circuitAdvanced, circuitAdvanced, circuitAdvanced] - [craftingRAMBasic, craftingCircuitBoardAdvanced, craftingRAMBasic]] + input: [["oc:circuitAdvanced", "oc:circuitAdvanced", "oc:circuitAdvanced"] + ["oc:craftingRAMBasic", "oc:craftingCircuitBoardPrinted", "oc:craftingRAMBasic"]] } ram3 { - input: [[circuitElite, circuitElite, circuitElite] - [craftingRAMAdvanced, craftingCircuitBoardAdvanced, craftingRAMAdvanced]] + input: [["oc:circuitElite", "oc:circuitElite", "oc:circuitElite"] + ["oc:craftingRAMAdvanced", "oc:craftingCircuitBoardPrinted", "oc:craftingRAMAdvanced"]] } floppy { input: [[nuggetIron, lever, nuggetIron] - [craftingCircuitBoardBasic, "oc:craftingDisk", craftingCircuitBoardBasic] + ["oc:craftingCircuitBoard", "oc:craftingDisk", "oc:craftingCircuitBoard"] [nuggetIron, paper, nuggetIron]] } hdd1 { - input: [[circuitBasic, "oc:craftingDisk", ingotIron] - [craftingCircuitBoardAdvanced, "oc:craftingDisk", pistonBase] - [circuitBasic, "oc:craftingDisk", ingotIron]] + input: [["oc:circuitBasic", "oc:craftingDisk", ingotIron] + ["oc:craftingCircuitBoardPrinted", "oc:craftingDisk", pistonBase] + ["oc:circuitBasic", "oc:craftingDisk", ingotIron]] } hdd2 { - input: [[ingotGold, craftingHDDBasic, ingotGold] - [circuitAdvanced, craftingCircuitBoardAdvanced, circuitAdvanced] - [ingotGold, craftingHDDBasic, ingotGold]] + input: [[ingotGold, "oc:craftingHDDBasic", ingotGold] + ["oc:circuitAdvanced", "oc:craftingCircuitBoardPrinted", "oc:circuitAdvanced"] + [ingotGold, "oc:craftingHDDBasic", ingotGold]] } hdd3 { - input: [[circuitElite, craftingHDDAdvanced, circuitElite] - [craftingRAMBasic, craftingCircuitBoardAdvanced, craftingRAMBasic] - [circuitElite, craftingHDDAdvanced, circuitElite]] + input: [["oc:circuitElite", "oc:craftingHDDAdvanced", "oc:circuitElite"] + ["oc:craftingRAMBasic", "oc:craftingCircuitBoardPrinted", "oc:craftingRAMBasic"] + ["oc:circuitElite", "oc:craftingHDDAdvanced", "oc:circuitElite"]] } graphicsCard1 { - input: [[circuitBasic, craftingALU, craftingRAMBasic] - ["", craftingCircuitBoardBasic, ""]] + input: [["oc:circuitBasic", "oc:craftingALU", "oc:craftingRAMBasic"] + ["", "oc:craftingCircuitBoardPrinted", ""]] } graphicsCard2 { - input: [[circuitAdvanced, circuitAdvanced, craftingRAMAdvanced] - ["", craftingGPUBasic, ""]] + input: [["oc:circuitAdvanced", "oc:circuitAdvanced", "oc:craftingRAMAdvanced"] + ["", "oc:craftingGPUBasic", ""]] } graphicsCard3 { - input: [[circuitElite, circuitElite, craftingRAMElite] - ["", craftingGPUAdvanced, ""]] + input: [["oc:circuitElite", "oc:circuitElite", "oc:craftingRAMElite"] + ["", "oc:craftingGPUAdvanced", ""]] } redstoneCard { - input: [[torchRedstoneActive, circuitBasic, ""] - ["", craftingCircuitBoardBasic, ""]] + input: [[torchRedstoneActive, "oc:circuitBasic", ""] + ["", "oc:craftingCircuitBoardPrinted", ""]] } lanCard { - input: [[craftingWireCopper, circuitBasic, ""] - ["", craftingGPUBasic, ""]] + input: [["oc:craftingCable", "oc:circuitBasic", ""] + ["", "oc:craftingCircuitBoardPrinted", ""]] } wlanCard { - input: [[enderPearl, circuitAdvanced, ""] + input: [[enderPearl, "oc:circuitAdvanced", ""] ["", componentCardLan, ""]] } craftingUpgrade { input: [[ingotIron, pistonBase, ingotIron] - [circuitBasic, workbench, circuitBasic] - [ingotIron, craftingCircuitBoardAdvanced, ingotIron]] + ["oc:circuitBasic", workbench, "oc:circuitBasic"] + [ingotIron, "oc:craftingCircuitBoardPrinted", ingotIron]] } generatorUpgrade { input: [[ingotIron, "", ingotIron] - [circuitBasic, pistonBase, circuitBasic] - [craftingCircuitBoardAdvanced, ingotIron, craftingCircuitBoardAdvanced]] + ["oc:circuitBasic", pistonBase, "oc:circuitBasic"] + ["oc:craftingCircuitBoardPrinted", ingotIron, "oc:craftingCircuitBoardPrinted"]] } navigationUpgrade { input: [[ingotGold, compass, ingotGold] - [circuitElite, {item=map, subID=32767}, circuitElite] + ["oc:circuitElite", {item=map, subID=32767}, "oc:circuitElite"] [ingotGold, potion, ingotGold]] } signUpgrade { input: [[ingotIron, dyePowder, ingotIron] - [circuitAdvanced, stickWood, circuitAdvanced] + ["oc:circuitAdvanced", stickWood, "oc:circuitAdvanced"] [ingotIron, pistonStickyBase, ingotIron]] } solarGeneratorUpgrade { input: [[glass, glass, glass] - [circuitAdvanced, "oc:craftingGenerator", circuitAdvanced]] + ["oc:circuitAdvanced", "oc:craftingGenerator", "oc:circuitAdvanced"]] } nuggetIron { @@ -130,32 +130,32 @@ transistor { } chip1 { input: [[nuggetIron, fenceIron, nuggetIron] - [redstone, craftingTransistor, redstone] + [redstone, "oc:craftingTransistor", redstone] [nuggetIron, fenceIron, nuggetIron]] } chip2 { input: [[nuggetGold, {item=dyePowder, subID=4} , nuggetGold] - [circuitBasic, diamond, circuitBasic] + ["oc:circuitBasic", diamond, "oc:circuitBasic"] [nuggetGold, {item=dyePowder, subID=4}, nuggetGold]] } chip3 { input: [[yellowDust, comparator, yellowDust] - [circuitAdvanced, emerald, circuitAdvanced] + ["oc:circuitAdvanced", emerald, "oc:circuitAdvanced"] [yellowDust, comparator, yellowDust]] } alu { input: [[diode, torchRedstoneActive, diode] - [craftingTransistor, craftingTransistor, craftingTransistor] + ["oc:craftingTransistor", "oc:craftingTransistor", "oc:craftingTransistor"] [nuggetIron, redstone, nuggetIron]] } cpu { - input: [[circuitBasic, redstone, circuitBasic] - [fenceIron, craftingControlUnit, fenceIron] - [circuitBasic, craftingALU, circuitBasic]] + input: [["oc:circuitBasic", redstone, "oc:circuitBasic"] + [fenceIron, "oc:craftingCU", fenceIron] + ["oc:circuitBasic", "oc:craftingALU", "oc:circuitBasic"]] } cu { input: [[nuggetGold, torchRedstoneActive, nuggetGold] - [craftingTransistor, clock, craftingTransistor] + ["oc:craftingTransistor", clock, "oc:craftingTransistor"] [nuggetGold, redstone, nuggetGold]] } @@ -169,18 +169,18 @@ circuitBoard { } printedCircuitBoard { type: shapeless - input: [craftingCircuitBoardBasic, nuggetGold, "oc:craftingAcid"] + input: ["oc:craftingCircuitBoard", nuggetGold, "oc:craftingAcid"] } card { - input: [[nuggetIron, circuitBasic, craftingTransistor] - [nuggetIron, craftingCircuitBoardAdvanced, craftingCircuitBoardAdvanced] + input: [[nuggetIron, "oc:circuitBasic", "oc:craftingTransistor"] + [nuggetIron, "oc:craftingCircuitBoardPrinted", "oc:craftingCircuitBoardPrinted"] [nuggetIron, nuggetGold, nuggetGold]] } adapter { - input: [[ingotIron, craftingWireCopper, ingotIron] - [craftingWireCopper, circuitBasic, craftingWireCopper] - [ingotIron, craftingCircuitBoardAdvanced, ingotIron]] + input: [[ingotIron, "oc:craftingCable", ingotIron] + ["oc:craftingCable", "oc:circuitBasic", "oc:craftingCable"] + [ingotIron, "oc:craftingCircuitBoardPrinted", ingotIron]] } cable { input: [["", nuggetIron, ""] @@ -189,76 +189,76 @@ cable { output: 4 } capacitor { - input: [[ingotIron, craftingTransistor, ingotIron] + input: [[ingotIron, "oc:craftingTransistor", ingotIron] [nuggetGold, paper, nuggetGold] - [ingotIron, craftingCircuitBoardAdvanced, ingotIron]] + [ingotIron, "oc:craftingCircuitBoardPrinted", ingotIron]] } charger { input: [[ingotIron, ingotGold, ingotIron] - [craftingCapacitor, circuitAdvanced, craftingCapacitor] - [ingotIron, craftingCircuitBoardAdvanced, ingotIron]] + ["oc:craftingCapacitor", "oc:circuitAdvanced", "oc:craftingCapacitor"] + [ingotIron, "oc:craftingCircuitBoardPrinted", ingotIron]] } case1 { - input: [[ingotIron, craftingCircuitBoardAdvanced, ingotIron] - [fenceIron, craftingCPU, fenceIron] - [ingotIron, circuitBasic, ingotIron]] + input: [[ingotIron, "oc:craftingCircuitBoardPrinted", ingotIron] + [fenceIron, "oc:craftingCPU", fenceIron] + [ingotIron, "oc:circuitBasic", ingotIron]] } case2 { - input: [[ingotGold, craftingCircuitBoardAdvanced, ingotGold] - [circuitAdvanced, craftingRawMachineBasic, circuitAdvanced] - [ingotGold, circuitAdvanced, ingotGold]] + input: [[ingotGold, "oc:craftingCircuitBoardPrinted", ingotGold] + ["oc:circuitAdvanced", "oc:craftingCaseBasic", "oc:circuitAdvanced"] + [ingotGold, "oc:circuitAdvanced", ingotGold]] } case3 { - input: [[circuitElite, craftingCircuitBoardAdvanced, circuitElite] - [diamond, craftingRawMachineAdvanced, diamond] - [circuitElite, craftingCircuitBoardAdvanced, circuitElite]] + input: [["oc:circuitElite", "oc:craftingCircuitBoardPrinted", "oc:circuitElite"] + [diamond, "oc:craftingCaseAdvanced", diamond] + ["oc:circuitElite", "oc:craftingCircuitBoardPrinted", "oc:circuitElite"]] } diskDrive { - input: [[ingotIron, circuitBasic, ingotIron] + input: [[ingotIron, "oc:circuitBasic", ingotIron] [pistonBase, stickWood, ""] - [ingotIron, circuitBasic, ingotIron]] + [ingotIron, "oc:circuitBasic", ingotIron]] } keyboard { input: [["oc:craftingButtonGroup", "oc:craftingButtonGroup", "oc:craftingButtonGroup"] ["oc:craftingButtonGroup", "oc:craftingArrowKey", "oc:craftingNumPad"]] } powerConverter { - input: [[ingotIron, craftingWireCopper, ingotIron] - [ingotGold, circuitBasic, ingotGold] - [ingotIron, craftingCircuitBoardAdvanced, ingotIron]] + input: [[ingotIron, "oc:craftingCable", ingotIron] + [ingotGold, "oc:circuitBasic", ingotGold] + [ingotIron, "oc:craftingCircuitBoardPrinted", ingotIron]] } powerDistributor { input: [[ingotIron, ingotGold, ingotIron] - [craftingWireCopper, circuitBasic, craftingWireCopper] - [ingotIron, craftingCircuitBoardAdvanced, ingotIron]] + ["oc:craftingCable", "oc:circuitBasic", "oc:craftingCable"] + [ingotIron, "oc:craftingCircuitBoardPrinted", ingotIron]] } redstone { input: [[ingotIron, blockRedstone, ingotIron] [blockRedstone, componentCardRedstone, blockRedstone] - [ingotIron, craftingCircuitBoardAdvanced, ingotIron]] + [ingotIron, "oc:craftingCircuitBoardPrinted", ingotIron]] } robot { - input: [[craftingMonitorBasic, craftingGPUBasic, craftingDiskDrive] - [dispenser, craftingRawMachineBasic, craftingRAMBasic] - [craftingCapacitor, minecartHopper, craftingCapacitor]] + input: [["oc:craftingScreenBasic", "oc:craftingGPUBasic", "oc:craftingDiskDrive"] + [dispenser, "oc:craftingCaseBasic", "oc:craftingRAMBasic"] + ["oc:craftingCapacitor", minecartHopper, "oc:craftingCapacitor"]] } router { - input: [[ingotIron, craftingWireCopper, ingotIron] - [craftingWireCopper, componentCardLan, craftingWireCopper] - [ingotIron, craftingCircuitBoardAdvanced, ingotIron]] + input: [[ingotIron, "oc:craftingCable", ingotIron] + ["oc:craftingCable", componentCardLan, "oc:craftingCable"] + [ingotIron, "oc:craftingCircuitBoardPrinted", ingotIron]] } screen1 { input: [[ingotIron, ingotIron, glass] - [redstone, craftingTransistor, glass] + [redstone, "oc:craftingTransistor", glass] [ingotIron, ingotIron, glass]] } screen2 { input: [[ingotGold, {item=dyePowder, subID=1}, ingotGold] - [circuitAdvanced, {item=dyePowder, subID=2}, craftingMonitorBasic] + ["oc:circuitAdvanced", {item=dyePowder, subID=2}, "oc:craftingScreenBasic"] [ingotGold, {item=dyePowder, subID=4}, ingotGold]] } screen3 { - input: [[obsidian, craftingCircuitBoardAdvanced, circuitElite] - [blazeRod, netherquartz, craftingMonitorAdvanced] - [obsidian, craftingCircuitBoardAdvanced, circuitElite]] + input: [[obsidian, "oc:craftingCircuitBoardPrinted", "oc:circuitElite"] + [blazeRod, netherquartz, "oc:craftingScreenAdvanced"] + [obsidian, "oc:craftingCircuitBoardPrinted", "oc:circuitElite"]] } \ No newline at end of file diff --git a/assets/opencomputers/recipes/gregtech.recipes b/assets/opencomputers/recipes/gregtech.recipes new file mode 100644 index 000000000..eead21d9d --- /dev/null +++ b/assets/opencomputers/recipes/gregtech.recipes @@ -0,0 +1,267 @@ +# Do not change this file, it is rewritten each time you start the game. +# Instead, use the custom.conf file to edit recipes by redefining them there. + +analyzer { + input: [["craftingTransistor", torchRedstoneActive, "craftingTransistor"] + [circuitAdvanced, "item.GT_Scanner", circuitAdvanced] + [screwAluminium, craftingToolScrewdriver, screwAluminium]] +} + +ram1 { + type:assembly + input: [circuitBasic, craftingCircuitBoardAdvanced] + number:[3,3] + eu:32 + time=250 +} +ram2 { + input: [[circuitAdvanced, circuitAdvanced, circuitAdvanced] + [craftingRAMBasic, craftingCircuitBoardAdvanced, craftingRAMBasic] + [Dataorb, craftingToolWrench, Dataorb]] +} +ram3 { + input: [[circuitElite, circuitElite, circuitElite] + [craftingRAMAdvanced, craftingCircuitBoardAdvanced, craftingRAMAdvanced] + [Dataorb, craftingToolWrench, Dataorb]] +} + +floppy { + input: [[screwAluminium, lever, screwAluminium] + [craftingCircuitBoardBasic, "oc:craftingDisk", craftingCircuitBoardBasic] + [screwAluminium, craftingToolScrewdriver, screwAluminium]] +} +hdd1 { + input: [[craftingRAMBasic, "oc:craftingDisk", craftingRAMBasic] + [craftingRAMBasic, "oc:craftingDisk", craftingRAMBasic] + [screwAluminium, craftingToolScrewdriver, circuitAdvanced]] +} +hdd2 { + input: [[craftingHDDBasic, craftingCircuitBoardAdvanced , craftingHDDBasic] + [circuitAdvanced, screwTitanium , circuitAdvanced] + [screwTitanium , craftingToolScrewdriver, screwTitanium ]] +} +hdd3 { + input: [[craftingRAMAdvanced, craftingCircuitBoardAdvanced , craftingRAMAdvanced] + [circuitElite , screwTungstenSteel , circuitElite ] + [screwTungstenSteel , craftingToolScrewdriver, screwTungstenSteel ]] +} + +redstoneCard { + input: [[screwStainlessSteel , circuitAdvanced , screwStainlessSteel] + ["comparator", craftingCircuitBoardAdvanced, diode] + [screwStainlessSteel , craftingToolScrewdriver, screwStainlessSteel]] +} + +lanCard { + input: [[screwStainlessSteel , circuitAdvanced , screwStainlessSteel] + [craftingWireCopper, craftingCircuitBoardAdvanced, craftingWireCopper] + [screwStainlessSteel , craftingToolScrewdriver, screwStainlessSteel]] +} + +wlanCard { + input: [[screwTitanium , circuitElite , screwTitanium] + [{item="item.GT_Components",subID=84}, componentCardLan, {item="item.GT_Components",subID=82}] + [screwTitanium , craftingToolScrewdriver, screwTitanium]] +} + +craftingUpgrade { + input: [[screwStainlessSteel, craftingCircuitBoardAdvanced , screwStainlessSteel] + [circuitAdvanced, {item=tile.BlockMetaID_Machine,subID=16}, circuitAdvanced] + [screwStainlessSteel, craftingToolScrewdriver, screwStainlessSteel]] +} + +generatorUpgrade { + input: [[screwStainlessSteel, craftingCircuitBoardAdvanced , screwStainlessSteel] + [circuitAdvanced,craftingGenerator , circuitAdvanced] + [screwStainlessSteel, craftingToolScrewdriver, screwStainlessSteel]] +} +#todo +#navigationUpgrade { +# input: [[ingotGold, compass, ingotGold] +# [circuitElite, {item=map, subID=32767}, circuitElite] +# [ingotGold, potion, ingotGold]] +#} +#todo +#signUpgrade { +# input: [[ingotIron, dyePowder, ingotIron] +# [circuitAdvanced, stickWood, circuitAdvanced] +# [ingotIron, pistonStickyBase, ingotIron]] +#} +#todo +#solarGeneratorUpgrade { +# input: [[glass, glass, glass] +# [circuitAdvanced, "oc:craftingGenerator", circuitAdvanced]] +#} + + +cuttingWire { + input: [[stickWood, ingotTin, stickWood] + ["", craftingToolWireCutter, ""]] +} +acid { + type: shapeless + input: [bucketWater, dustEmerald, fermentedSpiderEye, slimeball] + output=16 +} +disk { + input: [["", plateAluminium, ""] + [plateAluminium, "", plateAluminium] + ["", plateAluminium, ""]] +} + +transistor { +type:assembly + input: [redstone, plateIron] + number:[1,2] + eu:16 + time=500 + output=4 + +} +chip1 { + type:assembly + input: [itemPartCircuit, {item=oc:item,subID=23}] + number:[1,4] + eu:25 + time=480 + output=4 +} +chip2 { + type:assembly + input: [itemPartCircuitAdv, {item=oc:item,subID=23}] + number:[1,8] + eu:25 + time=640 + output=4 +} +chip3 { + type:assembly + input: [{item=Components,subID=1}, {item=oc:item,subID=23}] + number:[1,16] + eu:25 + time=800 + output=4 +} +alu { + type:assembly + input: [comparator, {item=oc:item,subID=24}] + number:[3,1] + eu:24 + time=500 + output=1 +} +############ +cpu { + input: [[circuitAdvanced, {item=oc:item,subID=24}, circuitBasic] + [plateAluminium, craftingControlUnit, plateAluminium] + [screwAluminium, craftingALU, screwAluminium]] +} +cu { + input: [[nuggetGold, torchRedstoneActive, nuggetGold] + [craftingTransistor, clock, craftingTransistor] + [nuggetGold, redstone, nuggetGold]] +} + +rawCircuitBoard { + type: shapeless + input: ["oc:craftingWire", clay, {item=dyePowder, subID=2}] +} +circuitBoard { + type: furnace + input: "oc:craftingCircuitBoardRaw" +} +printedCircuitBoard { + type: shapeless + input: [craftingCircuitBoardBasic, nuggetGold, "oc:craftingAcid"] +} +card { + input: [[nuggetIron, circuitBasic, craftingTransistor] + [nuggetIron, craftingCircuitBoardAdvanced, craftingCircuitBoardAdvanced] + [nuggetIron, nuggetGold, nuggetGold]] +} + +adapter { + input: [[ingotIron, craftingWireCopper, ingotIron] + [craftingWireCopper, circuitBasic, craftingWireCopper] + [ingotIron, craftingCircuitBoardAdvanced, ingotIron]] +} +cable { + input: [["", nuggetIron, ""] + [nuggetIron, redstone, nuggetIron] + ["", nuggetIron, ""]] + output: 4 +} +capacitor { + input: [[ingotIron, craftingTransistor, ingotIron] + [nuggetGold, paper, nuggetGold] + [ingotIron, craftingCircuitBoardAdvanced, ingotIron]] +} +charger { + input: [[ingotIron, ingotGold, ingotIron] + [craftingCapacitor, circuitAdvanced, craftingCapacitor] + [ingotIron, craftingCircuitBoardAdvanced, ingotIron]] +} +case1 { + input: [[ingotIron, craftingCircuitBoardAdvanced, ingotIron] + [fenceIron, craftingCPU, fenceIron] + [ingotIron, circuitBasic, ingotIron]] +} +case2 { + input: [[ingotGold, craftingCircuitBoardAdvanced, ingotGold] + [circuitAdvanced, craftingRawMachineBasic, circuitAdvanced] + [ingotGold, circuitAdvanced, ingotGold]] +} +case3 { + input: [[circuitElite, craftingCircuitBoardAdvanced, circuitElite] + [diamond, craftingRawMachineAdvanced, diamond] + [circuitElite, craftingCircuitBoardAdvanced, circuitElite]] +} +diskDrive { + input: [[ingotIron, circuitBasic, ingotIron] + [pistonBase, stickWood, ""] + [ingotIron, circuitBasic, ingotIron]] +} +keyboard { + input: [["oc:craftingButtonGroup", "oc:craftingButtonGroup", "oc:craftingButtonGroup"] + ["oc:craftingButtonGroup", "oc:craftingArrowKey", "oc:craftingNumPad"]] +} +powerConverter { + input: [[ingotIron, craftingWireCopper, ingotIron] + [ingotGold, circuitBasic, ingotGold] + [ingotIron, craftingCircuitBoardAdvanced, ingotIron]] +} +powerDistributor { + input: [[ingotIron, ingotGold, ingotIron] + [craftingWireCopper, circuitBasic, craftingWireCopper] + [ingotIron, craftingCircuitBoardAdvanced, ingotIron]] +} +redstone { + input: [[ingotIron, blockRedstone, ingotIron] + [blockRedstone, componentCardRedstone, blockRedstone] + [ingotIron, craftingCircuitBoardAdvanced, ingotIron]] +} +robot { + input: [[craftingMonitorBasic, craftingGPUBasic, craftingDiskDrive] + [dispenser, craftingRawMachineBasic, craftingRAMBasic] + [craftingCapacitor, minecartHopper, craftingCapacitor]] +} +router { + input: [[ingotIron, craftingWireCopper, ingotIron] + [craftingWireCopper, componentCardLan, craftingWireCopper] + [ingotIron, craftingCircuitBoardAdvanced, ingotIron]] +} +screen1 { + input: [[ingotIron, ingotIron, glass] + [redstone, craftingTransistor, glass] + [ingotIron, ingotIron, glass]] +} +screen2 { + input: [[ingotGold, {item=dyePowder, subID=1}, ingotGold] + [circuitAdvanced, {item=dyePowder, subID=2}, craftingMonitorBasic] + [ingotGold, {item=dyePowder, subID=4}, ingotGold]] +} +screen3 { + input: [[obsidian, craftingCircuitBoardAdvanced, circuitElite] + [blazeRod, netherquartz, craftingMonitorAdvanced] + [obsidian, craftingCircuitBoardAdvanced, circuitElite]] +} \ No newline at end of file diff --git a/li/cil/oc/Blocks.scala b/li/cil/oc/Blocks.scala index c0ffd6fad..187385d0c 100644 --- a/li/cil/oc/Blocks.scala +++ b/li/cil/oc/Blocks.scala @@ -76,16 +76,15 @@ object Blocks { redstone = new Redstone(blockSimpleWithRedstone) - register("craftingWireCopper", cable.createItemStack()) - register("craftingCapacitor", capacitor.createItemStack()) - register("craftingRawMachineBasic", case1.createItemStack()) - register("craftingRawMachineAdvanced", case2.createItemStack()) - register("craftingRawMachineElite", case3.createItemStack()) - register("craftingDiskDrive", diskDrive.createItemStack()) - register("craftingMonitorBasic", screen1.createItemStack()) - register("craftingMonitorAdvanced", screen2.createItemStack()) - register("craftingMonitorElite", screen3.createItemStack()) - + register("oc:craftingWireCopper", cable.createItemStack()) + register("oc:craftingCapacitor", capacitor.createItemStack()) + register("oc:craftingCaseBasic", case1.createItemStack()) + register("oc:craftingCaseAdvanced", case2.createItemStack()) + register("oc:craftingCaseElite", case3.createItemStack()) + register("oc:craftingDiskDrive", diskDrive.createItemStack()) + register("oc:craftingScreenBasic", screen1.createItemStack()) + register("oc:craftingScreenAdvanced", screen2.createItemStack()) + register("oc:craftingScreenElite", screen3.createItemStack()) register("torchRedstoneActive", new ItemStack(Block.torchRedstoneActive, 1, 0)) } diff --git a/li/cil/oc/Items.scala b/li/cil/oc/Items.scala index 9a8185846..c0ac9b361 100644 --- a/li/cil/oc/Items.scala +++ b/li/cil/oc/Items.scala @@ -115,27 +115,27 @@ object Items { registerExclusive("nuggetIron", ironNugget.createItemStack()) register("oc:craftingCircuitBoardRaw", rawCircuitBoard.createItemStack()) - register("craftingCircuitBoardBasic", circuitBoard.createItemStack()) - register("craftingCircuitBoardAdvanced", pcb.createItemStack()) + register("oc:craftingCircuitBoard", circuitBoard.createItemStack()) + register("oc:craftingCircuitBoardPrinted", pcb.createItemStack()) register("oc:craftingWire", cuttingWire.createItemStack()) - register("circuitBasic", chip1.createItemStack()) - register("circuitAdvanced", chip2.createItemStack()) - register("circuitElite", chip3.createItemStack()) - register("craftingTransistor", transistor.createItemStack()) - register("craftingControlUnit", cu.createItemStack()) - register("craftingALU", alu.createItemStack()) - register("craftingCPU", cpu.createItemStack()) - register("componentCardRedstone", rs.createItemStack()) - register("componentCardLan", lan.createItemStack()) - register("craftingGPUBasic", gpu1.createItemStack()) - register("craftingGPUAdvanced", gpu2.createItemStack()) - register("craftingGPUElite", gpu3.createItemStack()) - register("craftingRAMBasic", ram1.createItemStack()) - register("craftingRAMAdvanced", ram2.createItemStack()) - register("craftingRAMElite", ram3.createItemStack()) - register("craftingHDDBasic", hdd1.createItemStack()) - register("craftingHDDAdvanced", hdd2.createItemStack()) - register("craftingHDDElite", hdd3.createItemStack()) + register("oc:circuitBasic", chip1.createItemStack()) + register("oc:circuitAdvanced", chip2.createItemStack()) + register("oc:circuitElite", chip3.createItemStack()) + register("oc:craftingTransistor", transistor.createItemStack()) + register("oc:craftingControlUnit", 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: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()) diff --git a/li/cil/oc/Recipes.scala b/li/cil/oc/Recipes.scala index 7e19ab86d..9c1b23d0a 100644 --- a/li/cil/oc/Recipes.scala +++ b/li/cil/oc/Recipes.scala @@ -13,15 +13,18 @@ import org.apache.commons.io.FileUtils import scala.Some import scala.collection.convert.wrapAsScala._ import scala.collection.mutable.ArrayBuffer +import li.cil.oc.util.mods.GregTech object Recipes { def init() { try { val defaultRecipes = new File(Loader.instance.getConfigDir + File.separator + "opencomputers" + File.separator + "default.recipes") + val gregTechRecipes = new File(Loader.instance.getConfigDir + File.separator + "opencomputers" + File.separator + "gregtech.recipes") val userRecipes = new File(Loader.instance.getConfigDir + File.separator + "opencomputers" + File.separator + "user.recipes") defaultRecipes.getParentFile.mkdirs() FileUtils.copyURLToFile(getClass.getResource("/assets/opencomputers/recipes/default.recipes"), defaultRecipes) + FileUtils.copyURLToFile(getClass.getResource("/assets/opencomputers/recipes/gregtech.recipes"), gregTechRecipes) if (!userRecipes.exists()) { FileUtils.copyURLToFile(getClass.getResource("/assets/opencomputers/recipes/user.recipes"), userRecipes) } @@ -246,7 +249,7 @@ object Recipes { } } } - case _ => throw new RecipeException("Invalid ingredient type (not a map or string).") + case _ => throw new RecipeException("Invalid ingredient type (not a map or string): ") } private def itemNameEquals(item: Item, name: String) = diff --git a/li/cil/oc/util/mods/GregTech.scala b/li/cil/oc/util/mods/GregTech.scala new file mode 100644 index 000000000..d6211f196 --- /dev/null +++ b/li/cil/oc/util/mods/GregTech.scala @@ -0,0 +1,34 @@ +package li.cil.oc.util.mods + +import net.minecraft.item.ItemStack + +object GregTech { + private val (sRecipeAdder, addAssemblerRecipe)=try{ + val api = Class.forName("gregtechmod.api.GregTech_API") + for(meth<-api.getMethods){ + println(meth) + } + val iRecipe = Class.forName("gregtechmod.api.interfaces.IGT_RecipeAdder") + + val adder = api.getField("sRecipeAdder").get(null) + val addAssemb = iRecipe.getMethods.find(_.getName == "addAssemblerRecipe") + + (Option(adder),addAssemb) + } catch { + case e: Throwable =>{ + e.printStackTrace() + (None, null) + } + } + + def available = sRecipeAdder.isDefined + + + def addAssemblerRecipe (input1: ItemStack, input2: ItemStack, output: ItemStack, duration: Int, eut: Int){ + (sRecipeAdder,addAssemblerRecipe) match{ + case (Some(adder),Some(recipe))=>recipe.invoke(adder,input1,input2,output,duration:java.lang.Integer,eut:java.lang.Integer) + case _=> + } + + } +}