From 5c81f83688b76fd0a3e7cd09e56d5160142a724c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Tue, 10 Jun 2014 14:09:56 +0200 Subject: [PATCH] Renamed capacitor upgrade to battery upgrade and introduced two additional tiers. Closes #280. Generalized rarity computation for items (less code per item, yay). --- assets/items.psd | Bin 345458 -> 370940 bytes .../assets/opencomputers/lang/de_DE.lang | 6 +++-- .../assets/opencomputers/lang/en_US.lang | 6 +++-- .../opencomputers/recipes/default.recipes | 18 +++++++++++---- .../textures/items/upgrade_battery0.png | Bin 0 -> 490 bytes .../textures/items/upgrade_battery1.png | Bin 0 -> 496 bytes .../textures/items/upgrade_battery2.png | Bin 0 -> 496 bytes .../textures/items/upgrade_capacitor.png | Bin 491 -> 0 bytes src/main/resources/reference.conf | 6 ++++- src/main/scala/li/cil/oc/Items.scala | 4 +++- src/main/scala/li/cil/oc/Settings.scala | 8 ++++++- .../client/renderer/gui/BufferRenderer.scala | 2 +- src/main/scala/li/cil/oc/common/Proxy.scala | 2 +- .../cil/oc/common/item/AbstractBusCard.scala | 6 ++--- .../scala/li/cil/oc/common/item/CPU.scala | 5 +---- .../li/cil/oc/common/item/Delegate.scala | 13 +++++++++-- .../li/cil/oc/common/item/GraphicsCard.scala | 4 +--- .../li/cil/oc/common/item/HardDiskDrive.scala | 3 --- .../li/cil/oc/common/item/InternetCard.scala | 6 ++--- .../li/cil/oc/common/item/LinkedCard.scala | 6 ++--- .../scala/li/cil/oc/common/item/Memory.scala | 4 +--- .../li/cil/oc/common/item/Microchip.scala | 7 +++--- .../li/cil/oc/common/item/NetworkCard.scala | 6 ++--- .../li/cil/oc/common/item/RedstoneCard.scala | 6 ++--- .../scala/li/cil/oc/common/item/Server.scala | 6 ++--- .../li/cil/oc/common/item/UpgradeAngel.scala | 6 ++--- ...deCapacitor.scala => UpgradeBattery.scala} | 17 +++++++------- .../oc/common/item/UpgradeChunkloader.scala | 6 ++--- .../oc/common/item/UpgradeContainerCard.scala | 6 ++--- .../common/item/UpgradeContainerUpgrade.scala | 6 ++--- .../cil/oc/common/item/UpgradeCrafting.scala | 6 ++--- .../oc/common/item/UpgradeExperience.scala | 6 ++--- .../cil/oc/common/item/UpgradeGenerator.scala | 6 ++--- .../cil/oc/common/item/UpgradeInventory.scala | 6 ++--- .../item/UpgradeInventoryController.scala | 6 ++--- .../oc/common/item/UpgradeNavigation.scala | 6 ++--- .../li/cil/oc/common/item/UpgradeSign.scala | 6 ++--- .../common/item/UpgradeSolarGenerator.scala | 6 ++--- .../oc/common/item/WirelessNetworkCard.scala | 5 +---- ...deCapacitor.scala => UpgradeBattery.scala} | 4 ++-- .../oc/server/driver/item/GraphicsCard.scala | 11 ++++----- .../server/driver/item/UpgradeBattery.scala | 21 ++++++++++++++++++ .../server/driver/item/UpgradeCapacitor.scala | 14 ------------ src/main/scala/li/cil/oc/util/Rarity.scala | 4 +++- 44 files changed, 132 insertions(+), 140 deletions(-) create mode 100644 src/main/resources/assets/opencomputers/textures/items/upgrade_battery0.png create mode 100644 src/main/resources/assets/opencomputers/textures/items/upgrade_battery1.png create mode 100644 src/main/resources/assets/opencomputers/textures/items/upgrade_battery2.png delete mode 100644 src/main/resources/assets/opencomputers/textures/items/upgrade_capacitor.png rename src/main/scala/li/cil/oc/common/item/{UpgradeCapacitor.scala => UpgradeBattery.scala} (67%) rename src/main/scala/li/cil/oc/server/component/{UpgradeCapacitor.scala => UpgradeBattery.scala} (63%) create mode 100644 src/main/scala/li/cil/oc/server/driver/item/UpgradeBattery.scala delete mode 100644 src/main/scala/li/cil/oc/server/driver/item/UpgradeCapacitor.scala diff --git a/assets/items.psd b/assets/items.psd index 111d91668d6da7533c2dff121813e2563e62b278..7b2ca3a5094d8b6b7cd085f66c2d410379778f9f 100644 GIT binary patch delta 6391 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 diff --git a/src/main/resources/assets/opencomputers/lang/de_DE.lang b/src/main/resources/assets/opencomputers/lang/de_DE.lang index 11d5ad921..74ca60cff 100644 --- a/src/main/resources/assets/opencomputers/lang/de_DE.lang +++ b/src/main/resources/assets/opencomputers/lang/de_DE.lang @@ -76,7 +76,9 @@ oc:item.Server2.name=Server (Stufe 3) oc:item.Terminal.name=Fernbedienung oc:item.Transistor.name=Transistor oc:item.UpgradeAngel.name=Schwebe-Upgrade -oc:item.UpgradeCapacitor.name=Kondensator-Upgrade +oc:item.UpgradeBattery0.name=Akku-Upgrade (Stufe 1) +oc:item.UpgradeBattery1.name=Akku-Upgrade (Stufe 2) +oc:item.UpgradeBattery2.name=Akku-Upgrade (Stufe 3) oc:item.UpgradeChunkloader.name=Chunkloader-Upgrade oc:item.UpgradeContainerCard0.name=Karten-Behälter (Stufe 1) oc:item.UpgradeContainerCard1.name=Karten-Behälter (Stufe 2) @@ -211,7 +213,7 @@ oc:tooltip.Terminal=Erlaubt es, einen Server aus der Ferne zu steuern, so lange oc:tooltip.TooLong=Halte [§f%s§7] gedrückt für mehr Infos. oc:tooltip.Transistor=Elementarer Baustein der meisten Computerkomponenten. Nicht zu verwechseln mit Steinelementaren. oc:tooltip.UpgradeAngel=Erlaubt es Robotern, Blöcke in die Luft zu setzen, selbst wenn kein Referenzblock daneben existiert. -oc:tooltip.UpgradeCapacitor=Erhöht die Energiespeicherkapazität eines Roboters, was ihm erlaubt länger zu arbeiten ohne erneut aufgeladen zu werden. +oc:tooltip.UpgradeBattery=Erhöht die Energiespeicherkapazität eines Roboters, was ihm erlaubt länger zu arbeiten ohne erneut aufgeladen zu werden. [nl] Kapazität: §f%s§7. oc:tooltip.UpgradeChunkloader=Wenn sich im Wald ein Roboter bewegt, und niemand da ist ihn zu sehen, bewegt er sich dann wirklich? Dieses Upgrade stellt sicher, dass dem so ist. Es hält den Chunk in dem sich der Roboter befindet geladen, verbraucht während es aktiv ist jedoch Energie. oc:tooltip.UpgradeContainerCard=Dieses Behälter-Upgrade erlaubt es eine Karte in einem bereits zusammengebauten Roboter zu installieren und wieder zu entfernen. [nl] Maximale Stufe: §f%s§7. oc:tooltip.UpgradeContainerUpgrade=Dieses Behälter-Upgrade erlaubt es ein Upgrade in einem bereits zusammengebauten Roboter zu installieren und wieder zu entfernen. [nl] Maximale Stufe: §f%s§7. diff --git a/src/main/resources/assets/opencomputers/lang/en_US.lang b/src/main/resources/assets/opencomputers/lang/en_US.lang index d47a2ab8f..92e8e9fd7 100644 --- a/src/main/resources/assets/opencomputers/lang/en_US.lang +++ b/src/main/resources/assets/opencomputers/lang/en_US.lang @@ -76,7 +76,9 @@ oc:item.Server2.name=Server (Tier 3) oc:item.Terminal.name=Remote Terminal oc:item.Transistor.name=Transistor oc:item.UpgradeAngel.name=Angel Upgrade -oc:item.UpgradeCapacitor.name=Capacitor Upgrade +oc:item.UpgradeBattery0.name=Battery Upgrade (Tier 1) +oc:item.UpgradeBattery1.name=Battery Upgrade (Tier 2) +oc:item.UpgradeBattery2.name=Battery Upgrade (Tier 3) oc:item.UpgradeChunkloader.name=Chunkloader Upgrade oc:item.UpgradeContainerCard0.name=Card Container (Tier 1) oc:item.UpgradeContainerCard1.name=Card Container (Tier 2) @@ -211,7 +213,7 @@ oc:tooltip.Terminal=Allows controlling a server remotely, as long as you are in oc:tooltip.TooLong=Hold [§f%s§7] for a detailed tooltip. oc:tooltip.Transistor=A basic element in most other computer parts. It's a bit twisted, but it does the job. oc:tooltip.UpgradeAngel=Allows robots to place blocks in thin air, even if there is no point of reference. -oc:tooltip.UpgradeCapacitor=Increase the amount of energy a robot can store, allowing it work longer without having to be recharged. +oc:tooltip.UpgradeBattery=Increase the amount of energy a robot can store, allowing it work longer without having to be recharged. [nl] Capacity: §f%s§7. oc:tooltip.UpgradeChunkloader=If a robot moves in a forest and no one is around to see it, does it really move? This upgrades makes sure it does. It keeps the chunk the robot is in loaded, but continually consumes energy while active. oc:tooltip.UpgradeContainerCard=This container upgrade allows dynamically installing and removing a card from an assembled robot. [nl] Maximum Tier: §f%s§7. oc:tooltip.UpgradeContainerUpgrade=This container upgrade allows dynamically installing and removing another upgrade from an assembled robot. [nl] Maximum Tier: §f%s§7. diff --git a/src/main/resources/assets/opencomputers/recipes/default.recipes b/src/main/resources/assets/opencomputers/recipes/default.recipes index c42878d72..44cd02641 100644 --- a/src/main/resources/assets/opencomputers/recipes/default.recipes +++ b/src/main/resources/assets/opencomputers/recipes/default.recipes @@ -122,10 +122,20 @@ angelUpgrade { ["oc:circuitChip1", pistonStickyBase, "oc:circuitChip1"] [ingotIron, enderPearl, ingotIron]] } -capacitorUpgrade { - input: [[ingotIron, "oc:capacitor", ingotIron] - ["oc:capacitor", ingotGold, "oc:capacitor"] - [ingotIron, "oc:capacitor", ingotIron]] +batteryUpgrade1 { + input: [[ingotIron, nuggetGold, ingotIron] + [fenceIron, "oc:capacitor", fenceIron] + [ingotIron, nuggetGold, ingotIron]] +} +batteryUpgrade2 { + input: [[ingotGold, "oc:capacitor", ingotGold] + [fenceIron, nuggetGold, fenceIron] + [ingotGold, "oc:capacitor", ingotGold]] +} +batteryUpgrade3 { + input: [[diamond, "oc:capacitor", diamond] + [fenceIron, "oc:capacitor", fenceIron] + [diamond, "oc:capacitor", diamond]] } chunkloaderUpgrade { input: [[ingotGold, glass, ingotGold] diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_battery0.png b/src/main/resources/assets/opencomputers/textures/items/upgrade_battery0.png new file mode 100644 index 0000000000000000000000000000000000000000..b16117245ea5e3268546d7e4e5146ec55f9867c7 GIT binary patch literal 490 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h86#+gWuAZKrEG#Uxwzfh-LV9|73JMB#c6J_~9%c<@d3kxV zva(uXTHbTL0|Nt9tW{>7nQ3HXq@khVvB<;B*UYZoE;u+?Em_TOx_xwXw0W9&Ok_-b zeZ8WhqNJvzL85_-o{XlGrg??AsFLXX`SZ7`wut)isj)b13& zIbOv|#mvmi*}+**P>_RzgO`_AQc`l}|CwoL($4%p^Z)<)S< z)-i&ofM!hbba4!+xD|3bT&O8Pz~v&N$jO^B2I-#tiQo1cKM(c%@bBx&ECr<{jt6!h zvp=v)lIufWgrC~QD#e5DY{jcyJ4$dVK52CeBV=2owKkYT=-pPDMQ}5$VI;#StmTLRI3V5eB2WD&EQenf<8;%;HVW| eeh*)0A7JoN)|l5@YPbdHJ_b)$KbLh*2~7aur_Qbb literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_battery1.png b/src/main/resources/assets/opencomputers/textures/items/upgrade_battery1.png new file mode 100644 index 0000000000000000000000000000000000000000..bc52403a3c20c512d62952d7f570f3b90d5a21e0 GIT binary patch literal 496 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8)d4;st}HAp<|ab5r5ahuN}&PLl9G}-ntav8>UMT^4mP41 z8X7at%=B2~;XT*e$jHd7!OYCpti4X#uHG&$FHb8>OT}8n)>0&WdwO(qw1SC(d8>t_ zrlhEnsCk9CjGjzzaIkiPwu^&U{N{MO>GqmVn&xTd^XJc3R8;g@>7|yeHnrP8#Y)9< zu9rcgfm6FveSLjFri!4TU_z8U2L}f)FYnC%Gtxx)hmpTe2TAI`hAN=H^hLJ^8h(W+^H? zP;lGbX5X+&l56qZ33HT>ocC#BWeH4^SeKbKOHH4p?QzS)m!ijI_bmUtI#*wgwUL$K z-LJ|Id*0^iIhK9=n>;CJ+G??`2X@QKGTCiTtPByf7nn1>GEU2O#hxW1dtW8G@H);7 k*mW*SK=i1_A1(t1<9`~Cx72s10A0x7>FVdQ&MBb@08#PJf&c&j literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_battery2.png b/src/main/resources/assets/opencomputers/textures/items/upgrade_battery2.png new file mode 100644 index 0000000000000000000000000000000000000000..a28e6269843965fda340742ef0f1a6af707432a3 GIT binary patch literal 496 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8)d4;st}HAp!k&Rj4Sj+R9-@I!iuJvAc6PEwb&`qMl9G}h zi#*JH&5VqUyytqGHJE8=XsB4LXoYDhcg~o3W~N=eU0zrCnx>Ox{N{KC z69vz?UfKoPqQNop6|K@)rGkQj92^|Hyu362&rCa$cIN+?|NsAMil37MI@_`&$S)Yk zB?~ZEtx0tN8Zyn(#WAGfR>d3v-|ye{n=ut3appeWwP6xSs5Z|FEB^EGET$x#hwKsTVEwQ@jA)} kt~wPZAbM2e50?Rhsh)H2y85}Sb4q9e03;aAHvj+t literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/opencomputers/textures/items/upgrade_capacitor.png b/src/main/resources/assets/opencomputers/textures/items/upgrade_capacitor.png deleted file mode 100644 index 05ed1718bb794751eb52a01a8144f8e4cdc1d225..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 491 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h86#+gWu4n$ANjsA!DJjXz%ge#RVP<9~C@ARc;Oyz?IrINa z78VvgJv|{IArDUvTU%Q@J39phg}}f-6>AkEBO|+dJ6Ty-k3}A4zGh|(W_fveGtbP_ z3e(ci(D0t?EvYG~>7=QssAxCcJ|;3IesjE9vYJ7nfqAQiQ@c}eaIoiGFY`3>`uchm zB^9rgUg_J@6-*RVtW@UDpRZk@Evh6cqbCy`9c^A={{R2~*R8Q?KsQ^I1o;I6x#R!_ z>lndPKr^O#x;TbZ+zL5;mG7{DfJ@+dXTMp;c#DJ6mi_&2|2isb!S~!g6COcEcEej{ ze;9A%X!MvV?|j~Ie0viU$EUed5#n?Ms`04rK6j^>bP0l+XkKNi)if diff --git a/src/main/resources/reference.conf b/src/main/resources/reference.conf index 93efe06e6..c3eca367a 100644 --- a/src/main/resources/reference.conf +++ b/src/main/resources/reference.conf @@ -456,7 +456,11 @@ opencomputers { # The amount of energy a capacitor can store when installed as an # upgrade into a robot. - capacitorUpgrade: 25000 + batteryUpgrades: [ + 10000, + 15000, + 20000 + ] # The amount of energy a computer can store. This allows you to get a # computer up and running without also having to build a capacitor. diff --git a/src/main/scala/li/cil/oc/Items.scala b/src/main/scala/li/cil/oc/Items.scala index bd4d9fbc4..dc5d1c796 100644 --- a/src/main/scala/li/cil/oc/Items.scala +++ b/src/main/scala/li/cil/oc/Items.scala @@ -216,6 +216,8 @@ object Items extends ItemAPI { Recipes.addItem(new item.UpgradeInventoryController(multi), "inventoryControllerUpgrade", "oc:inventoryControllerUpgrade") Recipes.addItem(new item.UpgradeChunkloader(multi), "chunkloaderUpgrade", "oc:chunkloaderUpgrade") - Recipes.addItem(new item.UpgradeCapacitor(multi), "capacitorUpgrade", "oc:capacitorUpgrade") + Recipes.addItem(new item.UpgradeBattery(multi, Tier.One), "batteryUpgrade1", "oc:batteryUpgrade1") + Recipes.addItem(new item.UpgradeBattery(multi, Tier.Two), "batteryUpgrade2", "oc:batteryUpgrade2") + Recipes.addItem(new item.UpgradeBattery(multi, Tier.Three), "batteryUpgrade3", "oc:batteryUpgrade3") } } \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/Settings.scala b/src/main/scala/li/cil/oc/Settings.scala index e455b0573..87dd2c8c7 100644 --- a/src/main/scala/li/cil/oc/Settings.scala +++ b/src/main/scala/li/cil/oc/Settings.scala @@ -131,7 +131,13 @@ class Settings(config: Config) { val bufferRobot = config.getDouble("power.buffer.robot") max 0 val bufferConverter = config.getDouble("power.buffer.converter") max 0 val bufferDistributor = config.getDouble("power.buffer.distributor") max 0 - val bufferCapacitorUpgrade = config.getDouble("power.buffer.capacitorUpgrade") max 0 + val bufferCapacitorUpgrades = Array(config.getDoubleList("power.buffer.batteryUpgrades"): _*) match { + case Array(tier1, tier2, tier3) => + Array(tier1: Double, tier2: Double, tier3: Double) + case _ => + OpenComputers.log.warning("Bad number of battery upgrade buffer sizes, ignoring.") + Array(10000.0, 15000.0, 20000.0) + } // power.cost val computerCost = config.getDouble("power.cost.computer") max 0 diff --git a/src/main/scala/li/cil/oc/client/renderer/gui/BufferRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/gui/BufferRenderer.scala index 5e3501c02..0746f996d 100644 --- a/src/main/scala/li/cil/oc/client/renderer/gui/BufferRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/gui/BufferRenderer.scala @@ -3,7 +3,7 @@ package li.cil.oc.client.renderer.gui import li.cil.oc.client.Textures import li.cil.oc.util.RenderState import net.minecraft.client.renderer.texture.TextureManager -import net.minecraft.client.renderer.{Tessellator, GLAllocation} +import net.minecraft.client.renderer.GLAllocation import org.lwjgl.opengl.GL11 import li.cil.oc.api.component.TextBuffer diff --git a/src/main/scala/li/cil/oc/common/Proxy.scala b/src/main/scala/li/cil/oc/common/Proxy.scala index bcf24adba..04b0ce125 100644 --- a/src/main/scala/li/cil/oc/common/Proxy.scala +++ b/src/main/scala/li/cil/oc/common/Proxy.scala @@ -77,7 +77,7 @@ class Proxy { api.Driver.add(driver.item.Processor) api.Driver.add(driver.item.RedstoneCard) api.Driver.add(driver.item.Screen) - api.Driver.add(driver.item.UpgradeCapacitor) + api.Driver.add(driver.item.UpgradeBattery) api.Driver.add(driver.item.UpgradeChunkloader) api.Driver.add(driver.item.UpgradeContainerCard) api.Driver.add(driver.item.UpgradeContainerFloppy) diff --git a/src/main/scala/li/cil/oc/common/item/AbstractBusCard.scala b/src/main/scala/li/cil/oc/common/item/AbstractBusCard.scala index b56203e41..34504a801 100644 --- a/src/main/scala/li/cil/oc/common/item/AbstractBusCard.scala +++ b/src/main/scala/li/cil/oc/common/item/AbstractBusCard.scala @@ -1,8 +1,8 @@ package li.cil.oc.common.item import java.util -import li.cil.oc.{server, Settings} -import li.cil.oc.util.{Rarity, Tooltip} +import li.cil.oc.Settings +import li.cil.oc.util.Tooltip import li.cil.oc.util.mods.Mods import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer @@ -13,8 +13,6 @@ class AbstractBusCard(val parent: Delegator) extends Delegate { showInItemList = Mods.StargateTech2.isAvailable - override def rarity = Rarity.byTier(server.driver.item.AbstractBusCard.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(unlocalizedName)) super.tooltipLines(stack, player, tooltip, advanced) diff --git a/src/main/scala/li/cil/oc/common/item/CPU.scala b/src/main/scala/li/cil/oc/common/item/CPU.scala index 8023adefa..9989c42f2 100644 --- a/src/main/scala/li/cil/oc/common/item/CPU.scala +++ b/src/main/scala/li/cil/oc/common/item/CPU.scala @@ -5,15 +5,12 @@ import li.cil.oc.Settings import li.cil.oc.util.Tooltip import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.{EnumRarity, ItemStack} -import scala.Array +import net.minecraft.item.ItemStack class CPU(val parent: Delegator, val tier: Int) extends Delegate { val baseName = "CPU" val unlocalizedName = baseName + tier - override def rarity = Array(EnumRarity.common, EnumRarity.uncommon, EnumRarity.rare).apply(tier max 0 min 2) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(baseName, Settings.get.cpuComponentSupport(tier))) super.tooltipLines(stack, player, tooltip, advanced) diff --git a/src/main/scala/li/cil/oc/common/item/Delegate.scala b/src/main/scala/li/cil/oc/common/item/Delegate.scala index 3da5da50d..bdb113acf 100644 --- a/src/main/scala/li/cil/oc/common/item/Delegate.scala +++ b/src/main/scala/li/cil/oc/common/item/Delegate.scala @@ -2,9 +2,10 @@ package li.cil.oc.common.item import cpw.mods.fml.relauncher.{Side, SideOnly} import java.util +import li.cil.oc.api import li.cil.oc.client.KeyBindings import li.cil.oc.Settings -import li.cil.oc.util.ItemCosts +import li.cil.oc.util.{Rarity, ItemCosts} import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.{EnumRarity, ItemStack} @@ -48,7 +49,15 @@ trait Delegate { // ----------------------------------------------------------------------- // - def rarity = EnumRarity.common + def rarity = Rarity.byTier(tierFromDriver) + + protected def tierFromDriver = { + val stack = createItemStack() + api.Driver.driverFor(stack) match { + case driver: api.driver.Item => driver.tier(stack) + case _ => 0 + } + } def displayName(stack: ItemStack): Option[String] = None diff --git a/src/main/scala/li/cil/oc/common/item/GraphicsCard.scala b/src/main/scala/li/cil/oc/common/item/GraphicsCard.scala index bc9f137e2..24f1d988d 100644 --- a/src/main/scala/li/cil/oc/common/item/GraphicsCard.scala +++ b/src/main/scala/li/cil/oc/common/item/GraphicsCard.scala @@ -2,7 +2,7 @@ package li.cil.oc.common.item import java.util import li.cil.oc.Settings -import li.cil.oc.util.{Rarity, Tooltip, PackedColor} +import li.cil.oc.util.{Tooltip, PackedColor} import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack @@ -11,8 +11,6 @@ class GraphicsCard(val parent: Delegator, val tier: Int) extends Delegate { val baseName = "GraphicsCard" val unlocalizedName = baseName + tier - override def rarity = Rarity.byTier(tier) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { val (w, h) = Settings.screenResolutionsByTier(tier) val depth = PackedColor.Depth.bits(Settings.screenDepthsByTier(tier)) diff --git a/src/main/scala/li/cil/oc/common/item/HardDiskDrive.scala b/src/main/scala/li/cil/oc/common/item/HardDiskDrive.scala index 89fd3ec8c..d94109185 100644 --- a/src/main/scala/li/cil/oc/common/item/HardDiskDrive.scala +++ b/src/main/scala/li/cil/oc/common/item/HardDiskDrive.scala @@ -5,7 +5,6 @@ import li.cil.oc.Settings import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack -import li.cil.oc.util.Rarity class HardDiskDrive(val parent: Delegator, val tier: Int) extends Delegate { val baseName = "HardDiskDrive" @@ -13,8 +12,6 @@ class HardDiskDrive(val parent: Delegator, val tier: Int) extends Delegate { val kiloBytes = Settings.get.hddSizes(tier) - override def rarity = Rarity.byTier(tier) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) = { if (stack.hasTagCompound) { val nbt = stack.getTagCompound diff --git a/src/main/scala/li/cil/oc/common/item/InternetCard.scala b/src/main/scala/li/cil/oc/common/item/InternetCard.scala index 22ec4f950..fa13dcef6 100644 --- a/src/main/scala/li/cil/oc/common/item/InternetCard.scala +++ b/src/main/scala/li/cil/oc/common/item/InternetCard.scala @@ -1,8 +1,8 @@ package li.cil.oc.common.item import java.util -import li.cil.oc.{server, Settings} -import li.cil.oc.util.{Rarity, Tooltip} +import li.cil.oc.Settings +import li.cil.oc.util.Tooltip import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack @@ -10,8 +10,6 @@ import net.minecraft.item.ItemStack class InternetCard(val parent: Delegator) extends Delegate { val unlocalizedName = "InternetCard" - override def rarity = Rarity.byTier(server.driver.item.InternetCard.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(unlocalizedName)) super.tooltipLines(stack, player, tooltip, advanced) diff --git a/src/main/scala/li/cil/oc/common/item/LinkedCard.scala b/src/main/scala/li/cil/oc/common/item/LinkedCard.scala index 725e6755d..41af1208e 100644 --- a/src/main/scala/li/cil/oc/common/item/LinkedCard.scala +++ b/src/main/scala/li/cil/oc/common/item/LinkedCard.scala @@ -2,16 +2,14 @@ package li.cil.oc.common.item import net.minecraft.item.ItemStack import net.minecraft.entity.player.EntityPlayer -import li.cil.oc.util.{Rarity, Tooltip} +import li.cil.oc.util.Tooltip import net.minecraft.client.renderer.texture.IconRegister -import li.cil.oc.{server, Settings} +import li.cil.oc.Settings import java.util class LinkedCard(val parent: Delegator) extends Delegate { val unlocalizedName = "LinkedCard" - override def rarity = Rarity.byTier(server.driver.item.LinkedCard.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { if (stack.hasTagCompound && stack.getTagCompound.hasKey(Settings.namespace + "data")) { val data = stack.getTagCompound.getCompoundTag(Settings.namespace + "data") diff --git a/src/main/scala/li/cil/oc/common/item/Memory.scala b/src/main/scala/li/cil/oc/common/item/Memory.scala index 98e565345..b9ff46b4f 100644 --- a/src/main/scala/li/cil/oc/common/item/Memory.scala +++ b/src/main/scala/li/cil/oc/common/item/Memory.scala @@ -5,7 +5,7 @@ import li.cil.oc.Settings import li.cil.oc.util.Tooltip import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.{EnumRarity, ItemStack} +import net.minecraft.item.ItemStack class Memory(val parent: Delegator, val tier: Int) extends Delegate { val baseName = "Memory" @@ -13,8 +13,6 @@ class Memory(val parent: Delegator, val tier: Int) extends Delegate { val kiloBytes = Settings.get.ramSizes(tier) - override def rarity = Array(EnumRarity.common, EnumRarity.common, EnumRarity.uncommon, EnumRarity.uncommon, EnumRarity.rare, EnumRarity.rare).apply(tier max 0 min Settings.get.ramSizes.length) - override def displayName(stack: ItemStack) = Some(parent.getItemStackDisplayName(stack) + " (%dKB)".format(kiloBytes)) diff --git a/src/main/scala/li/cil/oc/common/item/Microchip.scala b/src/main/scala/li/cil/oc/common/item/Microchip.scala index d4eb4027f..71e04b9b7 100644 --- a/src/main/scala/li/cil/oc/common/item/Microchip.scala +++ b/src/main/scala/li/cil/oc/common/item/Microchip.scala @@ -2,17 +2,16 @@ package li.cil.oc.common.item import java.util import li.cil.oc.Settings -import li.cil.oc.util.Tooltip +import li.cil.oc.util.{Rarity, Tooltip} import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.{ItemStack, EnumRarity} -import scala.Array +import net.minecraft.item.ItemStack class Microchip(val parent: Delegator, val tier: Int) extends Delegate { val baseName = "Microchip" val unlocalizedName = baseName + tier - override def rarity = Array(EnumRarity.common, EnumRarity.uncommon, EnumRarity.rare).apply(tier max 0 min 2) + override def rarity = Rarity.byTier(tier) override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(baseName)) diff --git a/src/main/scala/li/cil/oc/common/item/NetworkCard.scala b/src/main/scala/li/cil/oc/common/item/NetworkCard.scala index dc72f3985..d06a10531 100644 --- a/src/main/scala/li/cil/oc/common/item/NetworkCard.scala +++ b/src/main/scala/li/cil/oc/common/item/NetworkCard.scala @@ -1,8 +1,8 @@ package li.cil.oc.common.item import java.util -import li.cil.oc.{server, Settings} -import li.cil.oc.util.{Rarity, Tooltip} +import li.cil.oc.Settings +import li.cil.oc.util.Tooltip import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack @@ -10,8 +10,6 @@ import net.minecraft.item.ItemStack class NetworkCard(val parent: Delegator) extends Delegate { val unlocalizedName = "NetworkCard" - override def rarity = Rarity.byTier(server.driver.item.NetworkCard.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(unlocalizedName)) super.tooltipLines(stack, player, tooltip, advanced) diff --git a/src/main/scala/li/cil/oc/common/item/RedstoneCard.scala b/src/main/scala/li/cil/oc/common/item/RedstoneCard.scala index 9ea8436aa..09d821b71 100644 --- a/src/main/scala/li/cil/oc/common/item/RedstoneCard.scala +++ b/src/main/scala/li/cil/oc/common/item/RedstoneCard.scala @@ -1,9 +1,9 @@ package li.cil.oc.common.item import java.util -import li.cil.oc.{server, Settings} +import li.cil.oc.Settings import li.cil.oc.util.mods.Mods -import li.cil.oc.util.{Rarity, Tooltip} +import li.cil.oc.util.Tooltip import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack @@ -11,8 +11,6 @@ import net.minecraft.item.ItemStack class RedstoneCard(val parent: Delegator) extends Delegate { val unlocalizedName = "RedstoneCard" - override def rarity = Rarity.byTier(server.driver.item.RedstoneCard.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(unlocalizedName)) if (Mods.RedLogic.isAvailable) { diff --git a/src/main/scala/li/cil/oc/common/item/Server.scala b/src/main/scala/li/cil/oc/common/item/Server.scala index 3eebb974c..13730195c 100644 --- a/src/main/scala/li/cil/oc/common/item/Server.scala +++ b/src/main/scala/li/cil/oc/common/item/Server.scala @@ -3,11 +3,11 @@ package li.cil.oc.common.item import java.util import li.cil.oc.common.GuiType import li.cil.oc.common.inventory.ServerInventory -import li.cil.oc.util.Tooltip +import li.cil.oc.util.{Rarity, Tooltip} import li.cil.oc.{Settings, OpenComputers} import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer -import net.minecraft.item.{EnumRarity, ItemStack} +import net.minecraft.item.ItemStack import net.minecraft.world.World import scala.collection.mutable @@ -15,7 +15,7 @@ class Server(val parent: Delegator, val tier: Int) extends Delegate { val baseName = "Server" val unlocalizedName = baseName + tier - override def rarity = Array(EnumRarity.common, EnumRarity.uncommon, EnumRarity.rare).apply(tier max 0 min 2) + override def rarity = Rarity.byTier(tier) override def maxStackSize = 1 diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeAngel.scala b/src/main/scala/li/cil/oc/common/item/UpgradeAngel.scala index e74c75321..808a22977 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeAngel.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeAngel.scala @@ -1,8 +1,8 @@ package li.cil.oc.common.item import java.util -import li.cil.oc.{server, Settings} -import li.cil.oc.util.{Rarity, Tooltip} +import li.cil.oc.Settings +import li.cil.oc.util.Tooltip import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack @@ -10,8 +10,6 @@ import net.minecraft.item.ItemStack class UpgradeAngel(val parent: Delegator) extends Delegate { val unlocalizedName = "UpgradeAngel" - override def rarity = Rarity.byTier(server.driver.item.UpgradeAngel.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(unlocalizedName)) super.tooltipLines(stack, player, tooltip, advanced) diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeCapacitor.scala b/src/main/scala/li/cil/oc/common/item/UpgradeBattery.scala similarity index 67% rename from src/main/scala/li/cil/oc/common/item/UpgradeCapacitor.scala rename to src/main/scala/li/cil/oc/common/item/UpgradeBattery.scala index 9a94a9650..fca1008ff 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeCapacitor.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeBattery.scala @@ -1,19 +1,18 @@ package li.cil.oc.common.item import java.util -import li.cil.oc.{Settings, server} -import li.cil.oc.util.{Tooltip, Rarity} +import li.cil.oc.Settings +import li.cil.oc.util.Tooltip import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack import net.minecraft.client.renderer.texture.IconRegister -class UpgradeCapacitor(val parent: Delegator) extends Delegate { - val unlocalizedName = "UpgradeCapacitor" - - override def rarity = Rarity.byTier(server.driver.item.UpgradeCrafting.tier(createItemStack())) +class UpgradeBattery(val parent: Delegator, val tier: Int) extends Delegate { + val baseName = "UpgradeBattery" + val unlocalizedName = baseName + tier override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.addAll(Tooltip.get(unlocalizedName)) + tooltip.addAll(Tooltip.get(baseName, Settings.get.bufferCapacitorUpgrades(tier).toInt)) super.tooltipLines(stack, player, tooltip, advanced) } @@ -23,7 +22,7 @@ class UpgradeCapacitor(val parent: Delegator) extends Delegate { val nbt = stack.getTagCompound if (nbt != null) { val stored = nbt.getCompoundTag(Settings.namespace + "data").getCompoundTag("node").getDouble("buffer") - ((1 - stored / Settings.get.bufferCapacitorUpgrade) * 100).toInt + ((1 - stored / Settings.get.bufferCapacitorUpgrades(tier)) * 100).toInt } else 100 } @@ -33,6 +32,6 @@ class UpgradeCapacitor(val parent: Delegator) extends Delegate { override def registerIcons(iconRegister: IconRegister) = { super.registerIcons(iconRegister) - icon = iconRegister.registerIcon(Settings.resourceDomain + ":upgrade_capacitor") + icon = iconRegister.registerIcon(Settings.resourceDomain + ":upgrade_battery" + tier) } } diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeChunkloader.scala b/src/main/scala/li/cil/oc/common/item/UpgradeChunkloader.scala index 74ef09b9c..88f17478e 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeChunkloader.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeChunkloader.scala @@ -1,7 +1,7 @@ package li.cil.oc.common.item -import li.cil.oc.{Settings, server} -import li.cil.oc.util.{Tooltip, Rarity} +import li.cil.oc.Settings +import li.cil.oc.util.Tooltip import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack import net.minecraft.client.renderer.texture.IconRegister @@ -9,8 +9,6 @@ import net.minecraft.client.renderer.texture.IconRegister class UpgradeChunkloader(val parent: Delegator) extends Delegate { val unlocalizedName = "UpgradeChunkloader" - override def rarity = Rarity.byTier(server.driver.item.UpgradeChunkloader.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: java.util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(unlocalizedName)) super.tooltipLines(stack, player, tooltip, advanced) diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeContainerCard.scala b/src/main/scala/li/cil/oc/common/item/UpgradeContainerCard.scala index 50e9d3315..5c911b046 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeContainerCard.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeContainerCard.scala @@ -1,8 +1,8 @@ package li.cil.oc.common.item import java.util -import li.cil.oc.{Settings, server} -import li.cil.oc.util.{Tooltip, Rarity} +import li.cil.oc.Settings +import li.cil.oc.util.Tooltip import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack import net.minecraft.client.renderer.texture.IconRegister @@ -11,8 +11,6 @@ class UpgradeContainerCard(val parent: Delegator, val tier: Int) extends Delegat val baseName = "UpgradeContainerCard" val unlocalizedName = baseName + tier - override def rarity = Rarity.byTier(server.driver.item.UpgradeContainerCard.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(baseName, tier + 1)) super.tooltipLines(stack, player, tooltip, advanced) diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeContainerUpgrade.scala b/src/main/scala/li/cil/oc/common/item/UpgradeContainerUpgrade.scala index 7ce0e4c34..5cda0f442 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeContainerUpgrade.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeContainerUpgrade.scala @@ -1,8 +1,8 @@ package li.cil.oc.common.item import java.util -import li.cil.oc.{Settings, server} -import li.cil.oc.util.{Tooltip, Rarity} +import li.cil.oc.Settings +import li.cil.oc.util.Tooltip import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack import net.minecraft.client.renderer.texture.IconRegister @@ -11,8 +11,6 @@ class UpgradeContainerUpgrade(val parent: Delegator, val tier: Int) extends Dele val baseName = "UpgradeContainerUpgrade" val unlocalizedName = baseName + tier - override def rarity = Rarity.byTier(server.driver.item.UpgradeContainerUpgrade.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(baseName, tier + 1)) super.tooltipLines(stack, player, tooltip, advanced) diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeCrafting.scala b/src/main/scala/li/cil/oc/common/item/UpgradeCrafting.scala index 44711f8a8..2d69a2569 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeCrafting.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeCrafting.scala @@ -1,8 +1,8 @@ package li.cil.oc.common.item import java.util -import li.cil.oc.{server, Settings} -import li.cil.oc.util.{Rarity, Tooltip} +import li.cil.oc.Settings +import li.cil.oc.util.Tooltip import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack @@ -10,8 +10,6 @@ import net.minecraft.item.ItemStack class UpgradeCrafting(val parent: Delegator) extends Delegate { val unlocalizedName = "UpgradeCrafting" - override def rarity = Rarity.byTier(server.driver.item.UpgradeCrafting.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(unlocalizedName)) super.tooltipLines(stack, player, tooltip, advanced) diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeExperience.scala b/src/main/scala/li/cil/oc/common/item/UpgradeExperience.scala index 14448e61e..2ed3c5b1a 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeExperience.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeExperience.scala @@ -1,8 +1,8 @@ package li.cil.oc.common.item import java.util -import li.cil.oc.{server, Settings} -import li.cil.oc.util.{Rarity, Tooltip} +import li.cil.oc.Settings +import li.cil.oc.util.Tooltip import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack @@ -10,8 +10,6 @@ import net.minecraft.item.ItemStack class UpgradeExperience(val parent: Delegator) extends Delegate { val unlocalizedName = "UpgradeExperience" - override def rarity = Rarity.byTier(server.driver.item.UpgradeExperience.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(unlocalizedName)) super.tooltipLines(stack, player, tooltip, advanced) diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeGenerator.scala b/src/main/scala/li/cil/oc/common/item/UpgradeGenerator.scala index 4b3634b02..c39bc3757 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeGenerator.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeGenerator.scala @@ -1,8 +1,8 @@ package li.cil.oc.common.item import java.util -import li.cil.oc.{server, Settings} -import li.cil.oc.util.{Rarity, Tooltip} +import li.cil.oc.Settings +import li.cil.oc.util.Tooltip import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack @@ -10,8 +10,6 @@ import net.minecraft.item.ItemStack class UpgradeGenerator(val parent: Delegator) extends Delegate { val unlocalizedName = "UpgradeGenerator" - override def rarity = Rarity.byTier(server.driver.item.UpgradeGenerator.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(unlocalizedName, (Settings.get.generatorEfficiency * 100).toInt)) super.tooltipLines(stack, player, tooltip, advanced) diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeInventory.scala b/src/main/scala/li/cil/oc/common/item/UpgradeInventory.scala index 22bd4d853..9937f5ef0 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeInventory.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeInventory.scala @@ -1,8 +1,8 @@ package li.cil.oc.common.item import java.util -import li.cil.oc.{server, Settings} -import li.cil.oc.util.{Rarity, Tooltip} +import li.cil.oc.Settings +import li.cil.oc.util.Tooltip import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack @@ -10,8 +10,6 @@ import net.minecraft.item.ItemStack class UpgradeInventory(val parent: Delegator) extends Delegate { val unlocalizedName = "UpgradeInventory" - override def rarity = Rarity.byTier(server.driver.item.UpgradeInventory.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(unlocalizedName)) super.tooltipLines(stack, player, tooltip, advanced) diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeInventoryController.scala b/src/main/scala/li/cil/oc/common/item/UpgradeInventoryController.scala index acd41966c..d4f339c26 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeInventoryController.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeInventoryController.scala @@ -1,8 +1,8 @@ package li.cil.oc.common.item import java.util -import li.cil.oc.{Settings, server} -import li.cil.oc.util.{Tooltip, Rarity} +import li.cil.oc.Settings +import li.cil.oc.util.Tooltip import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack import net.minecraft.client.renderer.texture.IconRegister @@ -10,8 +10,6 @@ import net.minecraft.client.renderer.texture.IconRegister class UpgradeInventoryController(val parent: Delegator) extends Delegate { val unlocalizedName = "UpgradeInventoryController" - override def rarity = Rarity.byTier(server.driver.item.UpgradeInventoryController.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(unlocalizedName)) super.tooltipLines(stack, player, tooltip, advanced) diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeNavigation.scala b/src/main/scala/li/cil/oc/common/item/UpgradeNavigation.scala index 19e2cf1b5..2cffc7298 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeNavigation.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeNavigation.scala @@ -1,8 +1,8 @@ package li.cil.oc.common.item import java.util -import li.cil.oc.{server, Settings} -import li.cil.oc.util.{Rarity, Tooltip} +import li.cil.oc.Settings +import li.cil.oc.util.Tooltip import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack @@ -10,8 +10,6 @@ import net.minecraft.item.ItemStack class UpgradeNavigation(val parent: Delegator) extends Delegate { val unlocalizedName = "UpgradeNavigation" - override def rarity = Rarity.byTier(server.driver.item.UpgradeNavigation.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(unlocalizedName)) super.tooltipLines(stack, player, tooltip, advanced) diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeSign.scala b/src/main/scala/li/cil/oc/common/item/UpgradeSign.scala index 0c30ed2b8..6ff0fd45b 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeSign.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeSign.scala @@ -1,8 +1,8 @@ package li.cil.oc.common.item import java.util -import li.cil.oc.{server, Settings} -import li.cil.oc.util.{Rarity, Tooltip} +import li.cil.oc.Settings +import li.cil.oc.util.Tooltip import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack @@ -10,8 +10,6 @@ import net.minecraft.item.ItemStack class UpgradeSign(val parent: Delegator) extends Delegate { val unlocalizedName = "UpgradeSign" - override def rarity = Rarity.byTier(server.driver.item.UpgradeSign.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(unlocalizedName)) super.tooltipLines(stack, player, tooltip, advanced) diff --git a/src/main/scala/li/cil/oc/common/item/UpgradeSolarGenerator.scala b/src/main/scala/li/cil/oc/common/item/UpgradeSolarGenerator.scala index 1876d5e2b..c8c865dc6 100644 --- a/src/main/scala/li/cil/oc/common/item/UpgradeSolarGenerator.scala +++ b/src/main/scala/li/cil/oc/common/item/UpgradeSolarGenerator.scala @@ -1,8 +1,8 @@ package li.cil.oc.common.item import java.util -import li.cil.oc.{server, Settings} -import li.cil.oc.util.{Rarity, Tooltip} +import li.cil.oc.Settings +import li.cil.oc.util.Tooltip import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack @@ -10,8 +10,6 @@ import net.minecraft.item.ItemStack class UpgradeSolarGenerator(val parent: Delegator) extends Delegate { val unlocalizedName = "UpgradeSolarGenerator" - override def rarity = Rarity.byTier(server.driver.item.UpgradeSolarGenerator.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(unlocalizedName, (Settings.get.solarGeneratorEfficiency * 100).toInt)) super.tooltipLines(stack, player, tooltip, advanced) diff --git a/src/main/scala/li/cil/oc/common/item/WirelessNetworkCard.scala b/src/main/scala/li/cil/oc/common/item/WirelessNetworkCard.scala index bb3322503..af903c397 100644 --- a/src/main/scala/li/cil/oc/common/item/WirelessNetworkCard.scala +++ b/src/main/scala/li/cil/oc/common/item/WirelessNetworkCard.scala @@ -2,8 +2,7 @@ package li.cil.oc.common.item import java.util import li.cil.oc.Settings -import li.cil.oc.server -import li.cil.oc.util.{Rarity, Tooltip} +import li.cil.oc.util.Tooltip import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack @@ -11,8 +10,6 @@ import net.minecraft.item.ItemStack class WirelessNetworkCard(val parent: Delegator) extends Delegate { val unlocalizedName = "WirelessNetworkCard" - override def rarity = Rarity.byTier(server.driver.item.WirelessNetworkCard.tier(createItemStack())) - override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.addAll(Tooltip.get(unlocalizedName)) super.tooltipLines(stack, player, tooltip, advanced) diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeCapacitor.scala b/src/main/scala/li/cil/oc/server/component/UpgradeBattery.scala similarity index 63% rename from src/main/scala/li/cil/oc/server/component/UpgradeCapacitor.scala rename to src/main/scala/li/cil/oc/server/component/UpgradeBattery.scala index 42967d65a..610c8a2c4 100644 --- a/src/main/scala/li/cil/oc/server/component/UpgradeCapacitor.scala +++ b/src/main/scala/li/cil/oc/server/component/UpgradeBattery.scala @@ -5,8 +5,8 @@ import li.cil.oc.api.Network import li.cil.oc.api.network.Visibility import li.cil.oc.Settings -class UpgradeCapacitor extends component.ManagedComponent { +class UpgradeBattery(val tier: Int) extends component.ManagedComponent { val node = Network.newNode(this, Visibility.Network). - withConnector(Settings.get.bufferCapacitorUpgrade). + withConnector(Settings.get.bufferCapacitorUpgrades(tier)). create() } diff --git a/src/main/scala/li/cil/oc/server/driver/item/GraphicsCard.scala b/src/main/scala/li/cil/oc/server/driver/item/GraphicsCard.scala index a0dea276f..6b6c3bf07 100644 --- a/src/main/scala/li/cil/oc/server/driver/item/GraphicsCard.scala +++ b/src/main/scala/li/cil/oc/server/driver/item/GraphicsCard.scala @@ -9,13 +9,10 @@ object GraphicsCard extends Item { override def worksWith(stack: ItemStack) = isOneOf(stack, api.Items.get("graphicsCard1"), api.Items.get("graphicsCard2"), api.Items.get("graphicsCard3")) override def createEnvironment(stack: ItemStack, container: Container) = - Items.multi.subItem(stack) match { - case Some(gpu: common.item.GraphicsCard) => gpu.tier match { - case 0 => new component.GraphicsCard.Tier1() - case 1 => new component.GraphicsCard.Tier2() - case 2 => new component.GraphicsCard.Tier3() - case _ => null - } + tier(stack) match { + case 0 => new component.GraphicsCard.Tier1() + case 1 => new component.GraphicsCard.Tier2() + case 2 => new component.GraphicsCard.Tier3() case _ => null } diff --git a/src/main/scala/li/cil/oc/server/driver/item/UpgradeBattery.scala b/src/main/scala/li/cil/oc/server/driver/item/UpgradeBattery.scala new file mode 100644 index 000000000..40d53b1f2 --- /dev/null +++ b/src/main/scala/li/cil/oc/server/driver/item/UpgradeBattery.scala @@ -0,0 +1,21 @@ +package li.cil.oc.server.driver.item + +import li.cil.oc.{Items, api} +import li.cil.oc.api.driver.{Container, Slot} +import li.cil.oc.server.component +import net.minecraft.item.ItemStack +import li.cil.oc.common.item + +object UpgradeBattery extends Item { + override def worksWith(stack: ItemStack) = isOneOf(stack, api.Items.get("batteryUpgrade1"), api.Items.get("batteryUpgrade2"), api.Items.get("batteryUpgrade3")) + + override def createEnvironment(stack: ItemStack, container: Container) = new component.UpgradeBattery(tier(stack)) + + override def slot(stack: ItemStack) = Slot.Upgrade + + override def tier(stack: ItemStack) = + Items.multi.subItem(stack) match { + case Some(battery: item.UpgradeBattery) => battery.tier + case _ => 0 + } +} diff --git a/src/main/scala/li/cil/oc/server/driver/item/UpgradeCapacitor.scala b/src/main/scala/li/cil/oc/server/driver/item/UpgradeCapacitor.scala deleted file mode 100644 index 02cd7731a..000000000 --- a/src/main/scala/li/cil/oc/server/driver/item/UpgradeCapacitor.scala +++ /dev/null @@ -1,14 +0,0 @@ -package li.cil.oc.server.driver.item - -import li.cil.oc.api -import li.cil.oc.api.driver.{Container, Slot} -import li.cil.oc.server.component -import net.minecraft.item.ItemStack - -object UpgradeCapacitor extends Item { - override def worksWith(stack: ItemStack) = isOneOf(stack, api.Items.get("capacitorUpgrade")) - - override def createEnvironment(stack: ItemStack, container: Container) = new component.UpgradeCapacitor() - - override def slot(stack: ItemStack) = Slot.Upgrade -} diff --git a/src/main/scala/li/cil/oc/util/Rarity.scala b/src/main/scala/li/cil/oc/util/Rarity.scala index 4a1d8d324..2c7b8ddf8 100644 --- a/src/main/scala/li/cil/oc/util/Rarity.scala +++ b/src/main/scala/li/cil/oc/util/Rarity.scala @@ -3,5 +3,7 @@ package li.cil.oc.util import net.minecraft.item.EnumRarity object Rarity { - var byTier = Array(EnumRarity.common, EnumRarity.uncommon, EnumRarity.rare, EnumRarity.epic) + private val lookup = Array(EnumRarity.common, EnumRarity.uncommon, EnumRarity.rare, EnumRarity.epic) + + def byTier(tier: Int) = lookup(tier max 0 min (lookup.length - 1)) }