Renamed capacitor upgrade to battery upgrade and introduced two additional tiers. Closes #280.

Generalized rarity computation for items (less code per item, yay).
This commit is contained in:
Florian Nücke 2014-06-10 14:09:56 +02:00
parent 84a6aa18d7
commit 5c81f83688
44 changed files with 132 additions and 140 deletions

Binary file not shown.

View File

@ -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.

View File

@ -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.

View File

@ -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]

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 496 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 496 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 491 B

View File

@ -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.

View File

@ -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")
}
}

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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)

View File

@ -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")

View File

@ -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))

View File

@ -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))

View File

@ -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)

View File

@ -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) {

View File

@ -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

View File

@ -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)

View File

@ -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)
}
}

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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()
}

View File

@ -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
}

View File

@ -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
}
}

View File

@ -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
}

View File

@ -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))
}