diff --git a/li/cil/oc/common/item/Analyzer.scala b/li/cil/oc/common/item/Analyzer.scala index 6b4054b2b..80ad9dfdc 100644 --- a/li/cil/oc/common/item/Analyzer.scala +++ b/li/cil/oc/common/item/Analyzer.scala @@ -1,23 +1,24 @@ package li.cil.oc.common.item import cpw.mods.fml.common.network.Player +import java.util import li.cil.oc.Config import li.cil.oc.api.network._ import li.cil.oc.server.PacketSender +import li.cil.oc.util.Tooltip import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.ItemStack import net.minecraft.nbt.NBTTagCompound import net.minecraft.world.World import net.minecraftforge.common.ForgeDirection -import java.util class Analyzer(val parent: Delegator) extends Delegate { val unlocalizedName = "Analyzer" override def addInformation(item: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { tooltip.add("Used to display information about blocks,") - tooltip.add("such as their address and component name.") + tooltip.add("such as their " + Tooltip.format("address", Tooltip.Color.White) + " and " + Tooltip.format("component name", Tooltip.Color.White) + ".") tooltip.add("Also displays the error that caused a computer") tooltip.add("to crash if it did not shut down normally.") } diff --git a/li/cil/oc/common/item/GraphicsCard.scala b/li/cil/oc/common/item/GraphicsCard.scala index 5148313d0..a2ece4caa 100644 --- a/li/cil/oc/common/item/GraphicsCard.scala +++ b/li/cil/oc/common/item/GraphicsCard.scala @@ -2,7 +2,7 @@ package li.cil.oc.common.item import java.util import li.cil.oc.Config -import li.cil.oc.util.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,15 +11,15 @@ class GraphicsCard(val parent: Delegator, val tier: Int) extends Delegate { val unlocalizedName = "GraphicsCard" + Array("Basic", "Advanced", "Professional").apply(tier) override def addInformation(item: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { - tooltip.add("Used change what's displayed on screens.") + tooltip.add("Used to change what's displayed on screens.") val (w, h) = Config.screenResolutionsByTier(tier) - tooltip.add("Maximum resolution: %dx%d".format(w, h)) - tooltip.add("Maximum color depth: %d bit".format(PackedColor.Depth.bits(Config.screenDepthsByTier(tier)))) - tooltip.add("Operations/tick: " + (tier match { + tooltip.add("Maximum resolution: " + Tooltip.format("%dx%d".format(w, h), Tooltip.Color.White)) + tooltip.add("Maximum color depth: " + Tooltip.format("%d bit".format(PackedColor.Depth.bits(Config.screenDepthsByTier(tier))), Tooltip.Color.White)) + tooltip.add("Operations/tick: " + Tooltip.format(tier match { case 0 => "1/1/4/2/2" case 1 => "2/4/8/4/4" case 2 => "4/8/16/8/8" - })) + }, Tooltip.Color.White)) } override def registerIcons(iconRegister: IconRegister) { diff --git a/li/cil/oc/common/item/RedstoneCard.scala b/li/cil/oc/common/item/RedstoneCard.scala index 56cf1d095..d61ecb3d9 100644 --- a/li/cil/oc/common/item/RedstoneCard.scala +++ b/li/cil/oc/common/item/RedstoneCard.scala @@ -1,11 +1,27 @@ package li.cil.oc.common.item +import cpw.mods.fml.common.Loader +import java.util import li.cil.oc.Config +import li.cil.oc.util.Tooltip import net.minecraft.client.renderer.texture.IconRegister +import net.minecraft.entity.player.EntityPlayer +import net.minecraft.item.ItemStack class RedstoneCard(val parent: Delegator) extends Delegate { val unlocalizedName = "RedstoneCard" + override def addInformation(item: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { + tooltip.add("Allows reading and emitting redstone signals") + tooltip.add("around the computer or robot.") + if (Loader.isModLoaded("RedLogic")) { + tooltip.add("RedLogic is " + Tooltip.format("supported", Tooltip.Color.Green) + ".") + } + if (Loader.isModLoaded("MineFactoryReloaded")) { + tooltip.add("RedNet is " + Tooltip.format("supported", Tooltip.Color.Green) + ".") + } + } + override def registerIcons(iconRegister: IconRegister) { super.registerIcons(iconRegister) diff --git a/li/cil/oc/common/item/WirelessNetworkCard.scala b/li/cil/oc/common/item/WirelessNetworkCard.scala index 5050c4aeb..35cb7fd4a 100644 --- a/li/cil/oc/common/item/WirelessNetworkCard.scala +++ b/li/cil/oc/common/item/WirelessNetworkCard.scala @@ -2,10 +2,20 @@ package li.cil.oc.common.item import li.cil.oc.Config import net.minecraft.client.renderer.texture.IconRegister +import net.minecraft.item.ItemStack +import net.minecraft.entity.player.EntityPlayer +import java.util +import li.cil.oc.util.Tooltip class WirelessNetworkCard(val parent: Delegator) extends Delegate { val unlocalizedName = "WirelessNetworkCard" + override def addInformation(item: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { + tooltip.add("Allows sending wireless network messages in addition") + tooltip.add("to normal ones. Make sure to set the " + Tooltip.format("signal strength", Tooltip.Color.White)) + tooltip.add("or no wireless packet will be sent!") + } + override def registerIcons(iconRegister: IconRegister) = { super.registerIcons(iconRegister) diff --git a/li/cil/oc/util/Tooltip.scala b/li/cil/oc/util/Tooltip.scala new file mode 100644 index 000000000..ed5c52130 --- /dev/null +++ b/li/cil/oc/util/Tooltip.scala @@ -0,0 +1,37 @@ +package li.cil.oc.util + +import net.minecraft.util.EnumChatFormatting + +object Tooltip { + + val Reset = "\u00A7" + EnumChatFormatting.RESET.func_96298_a + + object Color { + val Aqua = "\u00A7" + EnumChatFormatting.AQUA.func_96298_a + val Black = "\u00A7" + EnumChatFormatting.BLACK.func_96298_a + val Blue = "\u00A7" + EnumChatFormatting.BLUE.func_96298_a + val DarkAqua = "\u00A7" + EnumChatFormatting.DARK_AQUA.func_96298_a + val DarkBlue = "\u00A7" + EnumChatFormatting.DARK_BLUE.func_96298_a + val DarkGray = "\u00A7" + EnumChatFormatting.DARK_GRAY.func_96298_a + val DarkGreen = "\u00A7" + EnumChatFormatting.DARK_GREEN.func_96298_a + val DarkPurple = "\u00A7" + EnumChatFormatting.DARK_PURPLE.func_96298_a + val DarkRed = "\u00A7" + EnumChatFormatting.DARK_RED.func_96298_a + val Gold = "\u00A7" + EnumChatFormatting.GOLD.func_96298_a + val Gray = "\u00A7" + EnumChatFormatting.GRAY.func_96298_a + val Green = "\u00A7" + EnumChatFormatting.GREEN.func_96298_a + val LightPurple = "\u00A7" + EnumChatFormatting.LIGHT_PURPLE.func_96298_a + val Red = "\u00A7" + EnumChatFormatting.RED.func_96298_a + val White = "\u00A7" + EnumChatFormatting.WHITE.func_96298_a + val Yellow = "\u00A7" + EnumChatFormatting.YELLOW.func_96298_a + } + + object Format { + val Obfuscated = "\u00A7" + EnumChatFormatting.OBFUSCATED.func_96298_a + val Bold = "\u00A7" + EnumChatFormatting.BOLD.func_96298_a + val StrikeThrough = "\u00A7" + EnumChatFormatting.STRIKETHROUGH.func_96298_a + val Underline = "\u00A7" + EnumChatFormatting.UNDERLINE.func_96298_a + val Italic = "\u00A7" + EnumChatFormatting.ITALIC.func_96298_a + } + + def format(value: String, format: String) = format + value + Reset + Color.Gray +}