diff --git a/src/main/resources/assets/opencomputers/recipes/default.recipes b/src/main/resources/assets/opencomputers/recipes/default.recipes index 8bbd5759e..cf065a7e5 100644 --- a/src/main/resources/assets/opencomputers/recipes/default.recipes +++ b/src/main/resources/assets/opencomputers/recipes/default.recipes @@ -245,12 +245,12 @@ generatorUpgrade { } inventoryUpgrade { input: [[plankWood, hopper, plankWood] - [dispenser, chest, craftingPiston] + [dropper, chest, craftingPiston] [plankWood, "oc:circuitChip1", plankWood]] } inventoryControllerUpgrade { input: [[ingotGold, "oc:analyzer", ingotGold] - [dispenser, "oc:circuitChip2", craftingPiston] + [dropper, "oc:circuitChip2", craftingPiston] [ingotGold, "oc:materialCircuitBoardPrinted", ingotGold]] } leashUpgrade { diff --git a/src/main/resources/assets/opencomputers/recipes/peaceful.recipes b/src/main/resources/assets/opencomputers/recipes/peaceful.recipes new file mode 100644 index 000000000..5401e0fb3 --- /dev/null +++ b/src/main/resources/assets/opencomputers/recipes/peaceful.recipes @@ -0,0 +1,75 @@ +include file("default.recipes") + +redstoneCard2 { + input: [[blockRedstone, "oc:circuitChip2", diamond] + ["", "oc:materialCard", ""]] +} +wlanCard { + input: [[diamond, "oc:circuitChip2", ""] + ["", "oc:materialCard", ""]] +} +linkedCard { + input: [[diamond, "", diamond] + ["oc:lanCard", "oc:materialInterweb", "oc:lanCard"] + ["oc:circuitChip3", "", "oc:circuitChip3"]] + output: 2 # Note: all resulting cards are linked to each other. +} + +angelUpgrade { + input: [[ingotIron, diamond, ingotIron] + ["oc:circuitChip1", pistonStickyBase, "oc:circuitChip1"] + [ingotIron, diamond, ingotIron]] +} +chunkloaderUpgrade { + input: [[ingotGold, glass, ingotGold] + ["oc:circuitChip3", diamond, "oc:circuitChip3"] + [obsidian, "oc:materialCircuitBoardPrinted", obsidian]] +} +inventoryUpgrade { + input: [[plankWood, hopper, plankWood] + [dropper, chest, craftingPiston] + [plankWood, "oc:circuitChip1", plankWood]] +} +inventoryControllerUpgrade { + input: [[ingotGold, "oc:analyzer", ingotGold] + [dropper, "oc:circuitChip2", craftingPiston] + [ingotGold, "oc:materialCircuitBoardPrinted", ingotGold]] +} +signUpgrade { + input: [[ingotIron, dyeBlack, ingotIron] + ["oc:circuitChip1", stickWood, "oc:circuitChip1"] + [ingotIron, craftingPiston, ingotIron]] +} +tankUpgrade { + input: [[plankWood, fenceIron, plankWood] + [dropper, cauldron, craftingPiston] + [plankWood, "oc:circuitChip1", plankWood]] +} +tankControllerUpgrade { + input: [[ingotGold, glassBottle, ingotGold] + [dropper, "oc:circuitChip2", craftingPiston] + [ingotGold, "oc:materialCircuitBoardPrinted", ingotGold]] +} + +inkCartridgeEmpty { + input: [[nuggetIron, dropper, nuggetIron], + ["oc:materialTransistor", bucket, "oc:materialTransistor"], + [nuggetIron, "oc:materialCircuitBoardPrinted", nuggetIron]] +} + +interweb { + input: [[redstone, {block="minecraft:wool", subID=9}, redstone] + [{block="minecraft:wool", subID=9}, diamond, {block="minecraft:wool", subID=9}] + [redstone, {block="minecraft:wool", subID=9}, redstone]] +} + +geolyzer { + input: [[ingotGold, compass, ingotGold] + [diamond, "oc:circuitChip2", diamond] + [ingotGold, "oc:materialCircuitBoardPrinted", ingotGold]] +} +hologram2 { + input: [["oc:circuitChip3", glass, "oc:circuitChip3"] + ["oc:materialCircuitBoardPrinted", blockDiamond, "oc:materialCircuitBoardPrinted"] + [obsidian, yellowDust, obsidian]] +} diff --git a/src/main/resources/assets/opencomputers/recipes/user.recipes b/src/main/resources/assets/opencomputers/recipes/user.recipes index 4a612f4b6..69c4632ba 100644 --- a/src/main/resources/assets/opencomputers/recipes/user.recipes +++ b/src/main/resources/assets/opencomputers/recipes/user.recipes @@ -11,6 +11,7 @@ include file("default.recipes") #include file("hardmode.recipes") #include file("gregtech.recipes") +#include file("peaceful.recipes") #include file("your_custom.recipes") # You can also specify custom recipes in this file directly. Have a look at the diff --git a/src/main/scala/li/cil/oc/common/recipe/Recipes.scala b/src/main/scala/li/cil/oc/common/recipe/Recipes.scala index ba4a0c3f6..37032c427 100644 --- a/src/main/scala/li/cil/oc/common/recipe/Recipes.scala +++ b/src/main/scala/li/cil/oc/common/recipe/Recipes.scala @@ -96,18 +96,16 @@ object Recipes { oreDictEntries.clear() try { - val defaultRecipes = new File(Loader.instance.getConfigDir + File.separator + "opencomputers" + File.separator + "default.recipes") - val hardmodeRecipes = new File(Loader.instance.getConfigDir + File.separator + "opencomputers" + File.separator + "hardmode.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/hardmode.recipes"), hardmodeRecipes) - FileUtils.copyURLToFile(getClass.getResource("/assets/opencomputers/recipes/gregtech.recipes"), gregTechRecipes) + val recipeSets = Array("default", "hardmode", "gregtech", "peaceful") + val recipeDirectory = new File(Loader.instance.getConfigDir + File.separator + "opencomputers") + val userRecipes = new File(recipeDirectory, "user.recipes") + userRecipes.getParentFile.mkdirs() if (!userRecipes.exists()) { FileUtils.copyURLToFile(getClass.getResource("/assets/opencomputers/recipes/user.recipes"), userRecipes) } + for (recipeSet <- recipeSets) { + FileUtils.copyURLToFile(getClass.getResource(s"/assets/opencomputers/recipes/$recipeSet.recipes"), new File(recipeDirectory, s"$recipeSet.recipes")) + } lazy val config: ConfigParseOptions = ConfigParseOptions.defaults. setSyntax(ConfigSyntax.CONF). setIncluder(new ConfigIncluder with ConfigIncluderFile {