diff --git a/src/main/scala/li/cil/oc/common/Achievement.scala b/src/main/scala/li/cil/oc/common/Achievement.scala index 9f5a6fc75..c1119c7d8 100644 --- a/src/main/scala/li/cil/oc/common/Achievement.scala +++ b/src/main/scala/li/cil/oc/common/Achievement.scala @@ -1,6 +1,7 @@ package li.cil.oc.common import li.cil.oc.Constants +import li.cil.oc.OpenComputers import li.cil.oc.api.detail.ItemInfo import li.cil.oc.common.init.Items import net.minecraft.entity.player.EntityPlayer @@ -17,93 +18,129 @@ object Achievement { val CraftingMap = mutable.Map.empty[ItemInfo, MCAchievement] val Transistor = new Achievement("oc.transistor", "oc.transistor", - 2, 0, Items.get("transistor").createItemStack(1), null, "transistor").setIndependent() + 2, 0, Items.get(Constants.ItemName.Transistor).createItemStack(1), + null, Constants.ItemName.Transistor).setIndependent() val Disassembler = new Achievement("oc.disassembler", "oc.disassembler", - 2, 2, Items.get("disassembler").createItemStack(1), Transistor, "disassembler") + 2, 2, Items.get(Constants.BlockName.Disassembler).createItemStack(1), + Transistor, Constants.BlockName.Disassembler) val Microchip = new Achievement("oc.chip", "oc.chip", - 4, 0, Items.get(Constants.ItemName.ChipTier1).createItemStack(1), Transistor, Constants.ItemName.ChipTier1, Constants.ItemName.ChipTier2, Constants.ItemName.ChipTier3) + 4, 0, Items.get(Constants.ItemName.ChipTier1).createItemStack(1), + Transistor, Constants.ItemName.ChipTier1, Constants.ItemName.ChipTier2, Constants.ItemName.ChipTier3) val Capacitor = new Achievement("oc.capacitor", "oc.capacitor", - 6, -1, Items.get("capacitor").createItemStack(1), Microchip, "capacitor") + 6, -1, Items.get(Constants.BlockName.Capacitor).createItemStack(1), + Microchip, Constants.BlockName.Capacitor) val Assembler = new Achievement("oc.assembler", "oc.assembler", - 8, -2, Items.get("assembler").createItemStack(1), Capacitor, "assembler") + 8, -2, Items.get(Constants.BlockName.Assembler).createItemStack(1), + Capacitor, Constants.BlockName.Assembler) val Microcontroller = new Achievement("oc.microcontroller", "oc.microcontroller", - 10, -2, Items.get("microcontroller").createItemStack(1), Assembler) + 10, -2, Items.get(Constants.BlockName.Microcontroller).createItemStack(1), + Assembler) val Robot = new Achievement("oc.robot", "oc.robot", - 10, -3, Items.get("robot").createItemStack(1), Assembler) + 10, -3, Items.get(Constants.BlockName.Robot).createItemStack(1), + Assembler) val Drone = new Achievement("oc.drone", "oc.drone", - 10, -4, Items.get("drone").createItemStack(1), Assembler) + 10, -4, Items.get(Constants.ItemName.Drone).createItemStack(1), + Assembler) val Tablet = new Achievement("oc.tablet", "oc.tablet", - 10, -5, Items.get("tablet").createItemStack(1), Assembler) + 10, -5, Items.get(Constants.ItemName.Tablet).createItemStack(1), + Assembler) val Charger = new Achievement("oc.charger", "oc.charger", - 8, -1, Items.get("charger").createItemStack(1), Capacitor, "charger") + 8, -1, Items.get(Constants.BlockName.Charger).createItemStack(1), + Capacitor, Constants.BlockName.Charger) val CPU = new Achievement("oc.cpu", "oc.cpu", - 6, 0, Items.get("cpu1").createItemStack(1), Microchip, "cpu1", "cpu2", "cpu3") + 6, 0, Items.get(Constants.ItemName.CPUTier1).createItemStack(1), + Microchip, Constants.ItemName.CPUTier1, Constants.ItemName.CPUTier2, Constants.ItemName.CPUTier3) val MotionSensor = new Achievement("oc.motionSensor", "oc.motionSensor", - 8, 0, Items.get("motionSensor").createItemStack(1), CPU, "motionSensor") + 8, 0, Items.get(Constants.BlockName.MotionSensor).createItemStack(1), + CPU, Constants.BlockName.MotionSensor) val Geolyzer = new Achievement("oc.geolyzer", "oc.geolyzer", - 8, 1, Items.get("geolyzer").createItemStack(1), CPU, "geolyzer") + 8, 1, Items.get(Constants.BlockName.Geolyzer).createItemStack(1), + CPU, Constants.BlockName.Geolyzer) val RedstoneIO = new Achievement("oc.redstoneIO", "oc.redstoneIO", - 8, 2, Items.get("redstone").createItemStack(1), CPU, "redstone") + 8, 2, Items.get(Constants.BlockName.Redstone).createItemStack(1), + CPU, Constants.BlockName.Redstone) val EEPROM = new Achievement("oc.eeprom", "oc.eeprom", - 6, 3, Items.get("eeprom").createItemStack(1), Microchip, "eeprom") + 6, 3, Items.get(Constants.ItemName.EEPROM).createItemStack(1), + Microchip, Constants.ItemName.EEPROM) val Memory = new Achievement("oc.ram", "oc.ram", - 6, 4, Items.get("ram1").createItemStack(1), Microchip, "ram1", "ram2", "ram3", "ram4", "ram5", "ram6") + 6, 4, Items.get(Constants.ItemName.RAMTier1).createItemStack(1), + Microchip, Constants.ItemName.RAMTier1, Constants.ItemName.RAMTier2, Constants.ItemName.RAMTier3, Constants.ItemName.RAMTier4, Constants.ItemName.RAMTier5, Constants.ItemName.RAMTier6) val HDD = new Achievement("oc.hdd", "oc.hdd", - 6, 5, Items.get("hdd1").createItemStack(1), Microchip, "hdd1", "hdd2", "hdd3") + 6, 5, Items.get(Constants.ItemName.HDDTier1).createItemStack(1), + Microchip, Constants.ItemName.HDDTier1, Constants.ItemName.HDDTier2, Constants.ItemName.HDDTier3) val Case = new Achievement("oc.case", "oc.case", - 6, 6, Items.get("case1").createItemStack(1), Microchip, "case1", "case2", "case3") + 6, 6, Items.get(Constants.BlockName.CaseTier1).createItemStack(1), + Microchip, Constants.BlockName.CaseTier1, Constants.BlockName.CaseTier2, Constants.BlockName.CaseTier3) val Rack = new Achievement("oc.rack", "oc.rack", - 8, 6, Items.get("serverRack").createItemStack(1), Case, "serverRack") + 8, 6, Items.get(Constants.BlockName.ServerRack).createItemStack(1), + Case, Constants.BlockName.ServerRack) val Server = new Achievement("oc.server", "oc.server", - 10, 6, Items.get("server1").createItemStack(1), Rack, "server1", "server2", "server3") + 10, 6, Items.get(Constants.ItemName.ServerTier1).createItemStack(1), + Rack, Constants.ItemName.ServerTier1, Constants.ItemName.ServerTier2, Constants.ItemName.ServerTier3) val Screen = new Achievement("oc.screen", "oc.screen", - 6, 7, Items.get("screen1").createItemStack(1), Microchip, "screen1", "screen2", "screen3") + 6, 7, Items.get(Constants.BlockName.ScreenTier1).createItemStack(1), + Microchip, Constants.BlockName.ScreenTier1, Constants.BlockName.ScreenTier2, Constants.BlockName.ScreenTier3) val Keyboard = new Achievement("oc.keyboard", "oc.keyboard", - 8, 7, Items.get("keyboard").createItemStack(1), Screen, "keyboard") + 8, 7, Items.get(Constants.BlockName.Keyboard).createItemStack(1), + Screen, Constants.BlockName.Keyboard) val Hologram = new Achievement("oc.hologram", "oc.hologram", - 8, 8, Items.get("hologram1").createItemStack(1), Screen, "hologram1", "hologram2") + 8, 8, Items.get(Constants.BlockName.HologramTier1).createItemStack(1), + Screen, Constants.BlockName.HologramTier1, Constants.BlockName.HologramTier2) val DiskDrive = new Achievement("oc.diskDrive", "oc.diskDrive", - 6, 9, Items.get("diskDrive").createItemStack(1), Microchip, "diskDrive") + 6, 9, Items.get(Constants.BlockName.DiskDrive).createItemStack(1), + Microchip, Constants.BlockName.DiskDrive) val Floppy = new Achievement("oc.floppy", "oc.floppy", - 8, 9, Items.get("floppy").createItemStack(1), DiskDrive, "floppy") + 8, 9, Items.get(Constants.ItemName.Floppy).createItemStack(1), + DiskDrive, Constants.ItemName.Floppy) val OpenOS = new Achievement("oc.openOS", "oc.openOS", - 10, 9, Items.createOpenOS(), Floppy) + 10, 9, Items.createOpenOS(), + Floppy) val Raid = new Achievement("oc.raid", "oc.raid", - 8, 10, Items.get("raid").createItemStack(1), DiskDrive, "raid") + 8, 10, Items.get(Constants.BlockName.Raid).createItemStack(1), + DiskDrive, Constants.BlockName.Raid) val Card = new Achievement("oc.card", "oc.card", - 0, -2, Items.get("card").createItemStack(1), null, "card").setIndependent() + 0, -2, Items.get(Constants.ItemName.Card).createItemStack(1), + null, Constants.ItemName.Card).setIndependent() val RedstoneCard = new Achievement("oc.redstoneCard", "oc.redstoneCard", - -2, -4, Items.get("redstoneCard1").createItemStack(1), Card, "redstoneCard1", "redstoneCard2") + -2, -4, Items.get(Constants.ItemName.RedstoneCardTier1).createItemStack(1), + Card, Constants.ItemName.RedstoneCardTier1, Constants.ItemName.RedstoneCardTier2) val GraphicsCard = new Achievement("oc.graphicsCard", "oc.graphicsCard", - 0, -5, Items.get("graphicsCard1").createItemStack(1), Card, "graphicsCard1", "graphicsCard2", "graphicsCard3") + 0, -5, Items.get(Constants.ItemName.GraphicsCardTier1).createItemStack(1), + Card, Constants.ItemName.GraphicsCardTier1, Constants.ItemName.GraphicsCardTier2, Constants.ItemName.GraphicsCardTier3) val NetworkCard = new Achievement("oc.networkCard", "oc.networkCard", - 2, -4, Items.get("lanCard").createItemStack(1), Card, "lanCard") + 2, -4, Items.get(Constants.ItemName.NetworkCard).createItemStack(1), + Card, Constants.ItemName.NetworkCard) val WirelessNetworkCard = new Achievement("oc.wirelessNetworkCard", "oc.wirelessNetworkCard", - 2, -6, Items.get("wlanCard").createItemStack(1), NetworkCard, "wlanCard") + 2, -6, Items.get(Constants.ItemName.WirelessNetworkCard).createItemStack(1), + NetworkCard, Constants.ItemName.WirelessNetworkCard) val Cable = new Achievement("oc.cable", "oc.cable", - -2, 0, Items.get("cable").createItemStack(1), null, "cable").setIndependent() + -2, 0, Items.get(Constants.BlockName.Cable).createItemStack(1), + null, Constants.BlockName.Cable).setIndependent() val PowerDistributor = new Achievement("oc.powerDistributor", "oc.powerDistributor", - -4, -1, Items.get("powerDistributor").createItemStack(1), Cable, "powerDistributor") + -4, -1, Items.get(Constants.BlockName.PowerDistributor).createItemStack(1), + Cable, Constants.BlockName.PowerDistributor) val Switch = new Achievement("oc.switch", "oc.switch", - -4, 0, Items.get("switch").createItemStack(1), Cable, "switch", "accessPoint") + -4, 0, Items.get(Constants.BlockName.Switch).createItemStack(1), + Cable, Constants.BlockName.Switch, Constants.BlockName.AccessPoint) val Adapter = new Achievement("oc.adapter", "oc.adapter", - -4, 1, Items.get("adapter").createItemStack(1), Cable, "adapter") + -4, 1, Items.get(Constants.BlockName.Adapter).createItemStack(1), + Cable, Constants.BlockName.Adapter) def init() { // Missing @Override causes ambiguity, so cast is required; still a virtual call, // so Achievement.registerStat is still the method that's really being called. All.foreach(_.asInstanceOf[StatBase].registerStat()) - AchievementPage.registerAchievementPage(new AchievementPage("OpenComputers", All: _*)) + AchievementPage.registerAchievementPage(new AchievementPage(OpenComputers.Name, All: _*)) } def onAssemble(stack: ItemStack, player: EntityPlayer): Unit = { val descriptor = Items.get(stack) - if (descriptor == Items.get("microcontroller")) player.addStat(Microcontroller, 1) - if (descriptor == Items.get("robot")) player.addStat(Robot, 1) - if (descriptor == Items.get("drone")) player.addStat(Drone, 1) - if (descriptor == Items.get("tablet")) player.addStat(Tablet, 1) + if (descriptor == Items.get(Constants.BlockName.Microcontroller)) player.addStat(Microcontroller, 1) + if (descriptor == Items.get(Constants.BlockName.Robot)) player.addStat(Robot, 1) + if (descriptor == Items.get(Constants.ItemName.Drone)) player.addStat(Drone, 1) + if (descriptor == Items.get(Constants.ItemName.Tablet)) player.addStat(Tablet, 1) } def onCraft(stack: ItemStack, player: EntityPlayer): Unit = {