Skip to content

Commit 72d8a13

Browse files
committedMar 20, 2016
Reworked some recipes in an attempt to reduce tedium by adjusting costs and introducing more multi-output (e.g. getting multiple raw circuit boards from one crafting operation).
Also introduced a diamond chip item to reduce the massive ramp in cost for tier three stuff. The diamond prices were a little insane. Better late than never, right? Right!? People yelling at me for the recipes being too cheap now in 3, 2, ... (hardmode hasn't changed!)

File tree

9 files changed

+99
-56
lines changed

9 files changed

+99
-56
lines changed
 

Diff for: ‎src/main/resources/assets/opencomputers/lang/en_US.lang

+2
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ item.oc.DataCard1.name=Data Card (Tier 2)
6767
item.oc.DataCard2.name=Data Card (Tier 3)
6868
item.oc.DebugCard.name=Debug Card
6969
item.oc.Debugger.name=Network Debugger
70+
item.oc.DiamondNugget.name=Diamond Nugget
7071
item.oc.Disk.name=Disk Platter
7172
item.oc.DiskDriveMountable.name=Disk Drive
7273
item.oc.Drone.name=Drone
@@ -277,6 +278,7 @@ oc:tooltip.DataCard1=Provides a couple of advanced algorithms such as hashing, A
277278
oc:tooltip.DataCard2=Provides a couple of advanced algorithms such as hashing, AES encryption, elliptic curve cryptography and deflate/inflate.
278279
oc:tooltip.DebugCard=Creative mode item, allows manipulating the world to make testing easier. Use at your own peril.
279280
oc:tooltip.Debugger=Can be used to output debug information on OC's internal network grid. Only use if so instructed by a dev.
281+
oc:tooltip.DiamondNugget=A small piece of a once radiant diamond. The pieces fit together flawlessly.
Has conversations. Original line has conversations.
280282
oc:tooltip.Disassembler=Separates items into their original components. §lWarning§7: returned items have a %s%% chance of breaking in the process!
281283
oc:tooltip.Disk=Primitive medium that can be used to build persistent storage devices.
282284
oc:tooltip.DiskDrive.CC=ComputerCraft floppies are §asupported§7.

Diff for: ‎src/main/resources/assets/opencomputers/recipes/default.recipes

+53-37
Original file line numberDiff line numberDiff line change
@@ -89,18 +89,18 @@ diskDriveMountable {
8989
[obsidian, "oc:materialCircuitBoardPrinted", obsidian]]
9090
}
9191
server1 {
92-
input: [[obsidian, "oc:ram4", obsidian]
93-
["oc:circuitChip1", "oc:circuitChip2", "oc:circuitChip1"]
92+
input: [[ingotIron, "oc:ram2", ingotIron]
93+
["oc:circuitChip1", "oc:componentBus1", "oc:circuitChip1"]
9494
[obsidian, "oc:materialCircuitBoardPrinted", obsidian]]
9595
}
9696
server2 {
97-
input: [[obsidian, "oc:ram5", obsidian]
98-
["oc:circuitChip2", "oc:circuitChip3", "oc:circuitChip2"]
97+
input: [[ingotGold, "oc:ram4", ingotGold]
98+
["oc:circuitChip2", "oc:componentBus2", "oc:circuitChip2"]
9999
[obsidian, "oc:materialCircuitBoardPrinted", obsidian]]
100100
}
101101
server3 {
102-
input: [[obsidian, "oc:ram6", obsidian]
103-
["oc:circuitChip3", "oc:circuitChip3", "oc:circuitChip3"]
102+
input: [[gemDiamond, "oc:ram6", gemDiamond]
103+
["oc:circuitChip3", "oc:componentBus3", "oc:circuitChip3"]
104104
[obsidian, "oc:materialCircuitBoardPrinted", obsidian]]
105105
}
106106
terminalServer {
@@ -169,7 +169,7 @@ dataCard2 {
169169
["", "oc:materialCard", ""]]
170170
}
171171
dataCard3 {
172-
input: [[gemDiamond, "oc:cpu2", "oc:ram5"]
172+
input: [[nuggetDiamond, "oc:cpu2", "oc:ram5"]
173173
["", "oc:materialCard", ""]]
174174
}
175175
graphicsCard1 {
@@ -226,19 +226,19 @@ angelUpgrade {
226226
[ingotIron, materialEnderPearl, ingotIron]]
227227
}
228228
batteryUpgrade1 {
229-
input: [[ingotIron, nuggetGold, ingotIron]
229+
input: [[nuggetIron, nuggetGold, nuggetIron]
230230
[fenceIron, "oc:capacitor", fenceIron]
231-
[ingotIron, nuggetGold, ingotIron]]
231+
[nuggetIron, nuggetGold, nuggetIron]]
232232
}
233233
batteryUpgrade2 {
234-
input: [[ingotGold, "oc:capacitor", ingotGold]
234+
input: [[nuggetIron, "oc:capacitor", nuggetIron]
235235
[fenceIron, nuggetGold, fenceIron]
236-
[ingotGold, "oc:capacitor", ingotGold]]
236+
[nuggetIron, "oc:capacitor", nuggetIron]]
237237
}
238238
batteryUpgrade3 {
239-
input: [[gemDiamond, "oc:capacitor", gemDiamond]
240-
[fenceIron, "oc:capacitor", fenceIron]
241-
[gemDiamond, "oc:capacitor", gemDiamond]]
239+
input: [[nuggetIron, "oc:capacitor", nuggetIron]
240+
["oc:capacitor", nuggetDiamond, "oc:capacitor"]
241+
[nuggetIron, "oc:capacitor", nuggetIron]]
242242
}
243243
chunkloaderUpgrade {
244244
input: [[ingotGold, blockGlass, ingotGold]
@@ -372,23 +372,34 @@ upgradeContainer3 {
372372
[ingotGold, "oc:materialCircuitBoardPrinted", ingotGold]]
373373
}
374374

375-
# Note: iron ingot and nugget recipes are *only* registered if no other mod
375+
# Note: ingot/gem <-> nugget recipes are *only* registered if no other mod
376376
# already provides the same functionality.
377377
nuggetIron {
378378
type: shapeless
379379
input: ingotIron
380380
output: 9
381381
}
382-
cuttingWire = false
383-
acid {
384-
type: shapeless
385-
input: [bucketWater, sugar, slimeball, fermentedSpiderEye, bone]
386-
}
387382
ingotIron {
388383
input: [[nuggetIron, nuggetIron, nuggetIron],
389384
[nuggetIron, nuggetIron, nuggetIron],
390385
[nuggetIron, nuggetIron, nuggetIron]]
391386
}
387+
nuggetDiamond {
388+
type: shapeless
389+
input: gemDiamond
390+
output: 9
391+
}
392+
gemDiamond {
Has a conversation. Original line has a conversation.
393+
input: [[nuggetDiamond, nuggetDiamond, nuggetDiamond],
394+
[nuggetDiamond, nuggetDiamond, nuggetDiamond],
395+
[nuggetDiamond, nuggetDiamond, nuggetDiamond]]
396+
}
397+
398+
cuttingWire = false
399+
acid {
400+
type: shapeless
401+
input: [bucketWater, sugar, slimeball, fermentedSpiderEye, bone]
402+
}
392403
disk {
393404
input: [["", nuggetIron, ""]
394405
[nuggetIron, "", nuggetIron]
@@ -436,24 +447,28 @@ numPad {
436447
}
437448

438449
transistor {
439-
input: [[nuggetIron, nuggetIron, nuggetIron]
450+
input: [[ingotIron, ingotIron, ingotIron]
440451
[nuggetGold, paper, nuggetGold]
441452
["", redstone, ""]]
453+
output: 8
442454
}
443455
chip1 {
444-
input: [[nuggetIron, "", nuggetIron]
456+
input: [[nuggetIron, nuggetIron, nuggetIron]
445457
[redstone, "oc:materialTransistor", redstone]
446-
[nuggetIron, "", nuggetIron]]
458+
[nuggetIron, nuggetIron, nuggetIron]]
459+
output: 8
447460
}
448461
chip2 {
449-
input: [[nuggetGold, "", nuggetGold]
462+
input: [[nuggetGold, nuggetGold, nuggetGold]
450463
[redstone, "oc:materialTransistor", redstone]
451-
[nuggetGold, "", nuggetGold]]
464+
[nuggetGold, nuggetGold, nuggetGold]]
465+
output: 4
452466
}
453467
chip3 {
454-
input: [[gemDiamond, "", gemDiamond]
468+
input: [[nuggetDiamond, nuggetDiamond, nuggetDiamond]
455469
[redstone, "oc:materialTransistor", redstone]
456-
[gemDiamond, "", gemDiamond]]
470+
[nuggetDiamond, nuggetDiamond, nuggetDiamond]]
471+
output: 2
457472
}
458473
alu {
459474
input: [[nuggetIron, redstone, nuggetIron]
@@ -466,9 +481,9 @@ apu1 {
466481
[nuggetGold, "oc:circuitChip1", nuggetGold]]
467482
}
468483
apu2 {
469-
input: [[gemDiamond, "oc:circuitChip2", gemDiamond]
484+
input: [[nuggetDiamond, "oc:circuitChip2", nuggetDiamond]
470485
["oc:cpu3", "oc:componentBus2", "oc:graphicsCard2"]
471-
[gemDiamond, "oc:circuitChip2", gemDiamond]]
486+
[nuggetDiamond, "oc:circuitChip2", nuggetDiamond]]
472487
}
473488
componentBus1 {
474489
input: [[nuggetIron, redstone, nuggetIron]
@@ -481,9 +496,9 @@ componentBus2 {
481496
[nuggetGold, "oc:materialCircuitBoardPrinted", nuggetGold]]
482497
}
483498
componentBus3 {
484-
input: [[emerald, redstone, emerald]
499+
input: [[nuggetDiamond, redstone, nuggetDiamond]
485500
["oc:circuitChip3", "oc:materialCU", ""]
486-
[emerald, "oc:materialCircuitBoardPrinted", emerald]]
501+
[nuggetDiamond, "oc:materialCircuitBoardPrinted", nuggetDiamond]]
487502
}
488503
cpu1 {
489504
input: [[nuggetIron, redstone, nuggetIron]
@@ -496,9 +511,9 @@ cpu2 {
496511
[nuggetGold, "oc:materialALU", nuggetGold]]
497512
}
498513
cpu3 {
499-
input: [[emerald, redstone, emerald]
514+
input: [[nuggetDiamond, redstone, nuggetDiamond]
500515
["oc:circuitChip3", "oc:materialCU", "oc:circuitChip3"]
501-
[emerald, "oc:materialALU", emerald]]
516+
[nuggetDiamond, "oc:materialALU", nuggetDiamond]]
502517
}
503518
cu {
504519
input: [[nuggetGold, redstone, nuggetGold]
@@ -508,7 +523,8 @@ cu {
508523

509524
rawCircuitBoard {
510525
type: shapeless
511-
input: [nuggetGold, clay, dyeGreen]
526+
input: [ingotGold, clay, dyeGreen]
527+
output: 8
512528
}
513529
circuitBoard = false
514530
printedCircuitBoard {
@@ -585,12 +601,12 @@ geolyzer {
585601
}
586602
hologram1 {
587603
input: [["oc:circuitChip2", paneGlass, "oc:circuitChip2"]
588-
["oc:materialCircuitBoardPrinted", gemDiamond, "oc:materialCircuitBoardPrinted"]
604+
["oc:materialCircuitBoardPrinted", nuggetDiamond, "oc:materialCircuitBoardPrinted"]
589605
[obsidian, yellowDust, obsidian]]
590606
}
591607
hologram2 {
592608
input: [["oc:circuitChip3", blockGlass, "oc:circuitChip3"]
593-
["oc:materialCircuitBoardPrinted", blockDiamond, "oc:materialCircuitBoardPrinted"]
609+
["oc:materialCircuitBoardPrinted", gemDiamond, "oc:materialCircuitBoardPrinted"]
594610
[obsidian, blazePowder, obsidian]]
595611
}
596612
keyboard {
@@ -623,7 +639,7 @@ powerDistributor {
623639
[ingotIron, "oc:materialCircuitBoardPrinted", ingotIron]]
624640
}
625641
rack {
626-
input: [["oc:circuitChip2", "oc:wlanCard", "oc:circuitChip2"]
642+
input: [[gemDiamond, "oc:wlanCard", gemDiamond]
627643
[fenceIron, chest, fenceIron]
628644
["oc:relay", "oc:materialCircuitBoardPrinted", "oc:powerDistributor"]]
629645
}

Diff for: ‎src/main/resources/assets/opencomputers/recipes/hardmode.recipes

+15
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,11 @@ alu {
240240
["oc:materialTransistor", "oc:materialTransistor", "oc:materialTransistor"]
241241
[nuggetIron, redstone, nuggetIron]]
242242
}
243+
apu2 {
244+
input: [[gemDiamond, "oc:circuitChip2", gemDiamond]
245+
["oc:cpu3", "oc:componentBus2", "oc:graphicsCard2"]
246+
[gemDiamond, "oc:circuitChip2", gemDiamond]]
247+
}
243248
componentBus1 {
244249
input: [[nuggetIron, redstone, nuggetIron]
245250
["oc:circuitChip1", "oc:materialCU", ""]
@@ -347,6 +352,16 @@ geolyzer {
347352
[eyeOfEnder, "oc:circuitChip2", eyeOfEnder]
348353
[ingotGold, "oc:materialCircuitBoardPrinted", ingotGold]]
349354
}
355+
hologram1 {
356+
input: [["oc:circuitChip2", paneGlass, "oc:circuitChip2"]
357+
["oc:materialCircuitBoardPrinted", gemDiamond, "oc:materialCircuitBoardPrinted"]
358+
[obsidian, yellowDust, obsidian]]
359+
}
360+
hologram2 {
361+
input: [["oc:circuitChip3", blockGlass, "oc:circuitChip3"]
362+
["oc:materialCircuitBoardPrinted", blockDiamond, "oc:materialCircuitBoardPrinted"]
363+
[obsidian, blazePowder, obsidian]]
364+
}
350365
keyboard {
351366
input: [["oc:materialButtonGroup", "oc:materialButtonGroup", "oc:materialButtonGroup"]
352367
["oc:materialButtonGroup", "oc:materialArrowKey", "oc:materialNumPad"]]
Loading

Diff for: ‎src/main/scala/li/cil/oc/Constants.scala

+1
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ object Constants {
8787
final val DataCardTier3 = "dataCard3"
8888
final val DebugCard = "debugCard"
8989
final val Debugger = "debugger"
90+
final val DiamondNugget = "nuggetDiamond"
9091
final val Disk = "disk"
9192
final val DiskDriveMountable = "diskDriveMountable"
9293
final val Drone = "drone"

Diff for: ‎src/main/scala/li/cil/oc/common/Proxy.scala

+23-14
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,19 @@ import li.cil.oc.common.entity.Drone
1111
import li.cil.oc.common.init.Blocks
1212
import li.cil.oc.common.init.Items
1313
import li.cil.oc.common.item.Delegator
14+
import li.cil.oc.common.item.traits.Delegate
1415
import li.cil.oc.common.recipe.Recipes
1516
import li.cil.oc.integration.Mods
1617
import li.cil.oc.server._
1718
import li.cil.oc.server.machine.luac.LuaStateFactory
1819
import li.cil.oc.server.machine.luac.NativeLua52Architecture
1920
import li.cil.oc.server.machine.luaj.LuaJLuaArchitecture
21+
import net.minecraft.item.Item
2022
import net.minecraft.item.ItemStack
2123
import net.minecraftforge.oredict.OreDictionary
2224

2325
import scala.collection.convert.WrapAsScala._
26+
import scala.reflect.ClassTag
2427

2528
class Proxy {
2629
def preInit(e: FMLPreInitializationEvent) {
@@ -43,20 +46,8 @@ class Proxy {
4346
OreDictionary.registerOre("chest", net.minecraft.init.Blocks.chest)
4447
OreDictionary.registerOre("chest", net.minecraft.init.Blocks.trapped_chest)
4548

46-
val nuggetIron = Items.get(Constants.ItemName.IronNugget).createItemStack(1)
47-
registerExclusive("nuggetIron", nuggetIron)
48-
49-
Delegator.subItem(nuggetIron) match {
50-
case Some(subItem: item.IronNugget) =>
51-
if (OreDictionary.getOres("nuggetIron").exists(nuggetIron.isItemEqual)) {
52-
Recipes.addSubItem(subItem, "nuggetIron")
53-
Recipes.addItem(net.minecraft.init.Items.iron_ingot, "ingotIron")
54-
}
55-
else {
56-
subItem.showInItemList = false
57-
}
58-
case _ =>
59-
}
49+
tryRegisterNugget[item.IronNugget](Constants.ItemName.IronNugget, "nuggetIron", net.minecraft.init.Items.iron_ingot, "ingotIron")
50+
tryRegisterNugget[item.DiamondNugget](Constants.ItemName.DiamondNugget, "nuggetDiamond", net.minecraft.init.Items.diamond, "gemDiamond")
6051

6152
// Avoid issues with Extra Utilities registering colored obsidian as `obsidian`
6253
// oredict entry, but not normal obsidian, breaking some recipes.
@@ -108,6 +99,24 @@ class Proxy {
10899
driver.Registry.locked = true
109100
}
110101

102+
def tryRegisterNugget[TItem <: Delegate : ClassTag](nuggetItemName: String, nuggetOredictName: String, ingotItem: Item, ingotOredictName: String): Unit = {
103+
val nugget = Items.get(nuggetItemName).createItemStack(1)
104+
105+
registerExclusive(nuggetOredictName, nugget)
106+
107+
Delegator.subItem(nugget) match {
108+
case Some(subItem: TItem) =>
109+
if (OreDictionary.getOres(nuggetOredictName).exists(nugget.isItemEqual)) {
110+
Recipes.addSubItem(subItem, nuggetItemName)
111+
Recipes.addItem(ingotItem, ingotOredictName)
112+
}
113+
else {
114+
subItem.showInItemList = false
115+
}
116+
case _ =>
117+
}
118+
}
119+
111120
private def registerExclusive(name: String, items: ItemStack*) {
112121
if (OreDictionary.getOres(name).isEmpty) {
113122
for (item <- items) {

Diff for: ‎src/main/scala/li/cil/oc/common/init/Items.scala

+1
Original file line numberDiff line numberDiff line change
@@ -533,6 +533,7 @@ object Items extends ItemAPI {
533533
Recipes.addSubItem(new item.TerminalServer(multi), Constants.ItemName.TerminalServer, "oc:terminalServer")
534534
Recipes.addSubItem(new item.DiskDriveMountable(multi), Constants.ItemName.DiskDriveMountable, "oc:diskDriveMountable")
535535
Recipes.addSubItem(new item.UpgradeTrading(multi), Constants.ItemName.TradingUpgrade, "oc:tradingUpgrade")
536+
registerItem(new item.DiamondNugget(multi), Constants.ItemName.DiamondNugget)
536537

537538
// Register aliases.
538539
for ((k, v) <- aliases) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
package li.cil.oc.common.item
2+
3+
class DiamondNugget(val parent: Delegator) extends traits.Delegate
+1-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
11
package li.cil.oc.common.item
22

3-
import li.cil.oc.integration.Mods
4-
5-
class IronNugget(val parent: Delegator) extends traits.Delegate {
6-
showInItemList = !Mods.GregTech.isAvailable
7-
}
3+
class IronNugget(val parent: Delegator) extends traits.Delegate

2 commit comments

Comments
 (2)

Vexatos commented on Mar 20, 2016

@Vexatos
Contributor

In my opinion, the recipes are way too cheap now. :suspect: etc. etc.
At least hardmode is still cheaper than default mode so people have a reason to use it.

gjgfuj commented on Mar 20, 2016

@gjgfuj

Oh good, finally, diamond nuggets instead of diamonds, t3 was way too expensive compared to t2.

Please sign in to comment.