moar tooltippery

This commit is contained in:
Florian Nücke 2013-11-24 17:12:06 +01:00
parent da7e638e60
commit b203059ffa
5 changed files with 72 additions and 8 deletions

View File

@ -1,23 +1,24 @@
package li.cil.oc.common.item package li.cil.oc.common.item
import cpw.mods.fml.common.network.Player import cpw.mods.fml.common.network.Player
import java.util
import li.cil.oc.Config import li.cil.oc.Config
import li.cil.oc.api.network._ import li.cil.oc.api.network._
import li.cil.oc.server.PacketSender import li.cil.oc.server.PacketSender
import li.cil.oc.util.Tooltip
import net.minecraft.client.renderer.texture.IconRegister import net.minecraft.client.renderer.texture.IconRegister
import net.minecraft.entity.player.EntityPlayer import net.minecraft.entity.player.EntityPlayer
import net.minecraft.item.ItemStack import net.minecraft.item.ItemStack
import net.minecraft.nbt.NBTTagCompound import net.minecraft.nbt.NBTTagCompound
import net.minecraft.world.World import net.minecraft.world.World
import net.minecraftforge.common.ForgeDirection import net.minecraftforge.common.ForgeDirection
import java.util
class Analyzer(val parent: Delegator) extends Delegate { class Analyzer(val parent: Delegator) extends Delegate {
val unlocalizedName = "Analyzer" val unlocalizedName = "Analyzer"
override def addInformation(item: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { override def addInformation(item: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
tooltip.add("Used to display information about blocks,") 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("Also displays the error that caused a computer")
tooltip.add("to crash if it did not shut down normally.") tooltip.add("to crash if it did not shut down normally.")
} }

View File

@ -2,7 +2,7 @@ package li.cil.oc.common.item
import java.util import java.util
import li.cil.oc.Config 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.client.renderer.texture.IconRegister
import net.minecraft.entity.player.EntityPlayer import net.minecraft.entity.player.EntityPlayer
import net.minecraft.item.ItemStack 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) val unlocalizedName = "GraphicsCard" + Array("Basic", "Advanced", "Professional").apply(tier)
override def addInformation(item: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { 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) val (w, h) = Config.screenResolutionsByTier(tier)
tooltip.add("Maximum resolution: %dx%d".format(w, h)) tooltip.add("Maximum resolution: " + Tooltip.format("%dx%d".format(w, h), Tooltip.Color.White))
tooltip.add("Maximum color depth: %d bit".format(PackedColor.Depth.bits(Config.screenDepthsByTier(tier)))) tooltip.add("Maximum color depth: " + Tooltip.format("%d bit".format(PackedColor.Depth.bits(Config.screenDepthsByTier(tier))), Tooltip.Color.White))
tooltip.add("Operations/tick: " + (tier match { tooltip.add("Operations/tick: " + Tooltip.format(tier match {
case 0 => "1/1/4/2/2" case 0 => "1/1/4/2/2"
case 1 => "2/4/8/4/4" case 1 => "2/4/8/4/4"
case 2 => "4/8/16/8/8" case 2 => "4/8/16/8/8"
})) }, Tooltip.Color.White))
} }
override def registerIcons(iconRegister: IconRegister) { override def registerIcons(iconRegister: IconRegister) {

View File

@ -1,11 +1,27 @@
package li.cil.oc.common.item package li.cil.oc.common.item
import cpw.mods.fml.common.Loader
import java.util
import li.cil.oc.Config import li.cil.oc.Config
import li.cil.oc.util.Tooltip
import net.minecraft.client.renderer.texture.IconRegister 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 { class RedstoneCard(val parent: Delegator) extends Delegate {
val unlocalizedName = "RedstoneCard" 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) { override def registerIcons(iconRegister: IconRegister) {
super.registerIcons(iconRegister) super.registerIcons(iconRegister)

View File

@ -2,10 +2,20 @@ package li.cil.oc.common.item
import li.cil.oc.Config import li.cil.oc.Config
import net.minecraft.client.renderer.texture.IconRegister 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 { class WirelessNetworkCard(val parent: Delegator) extends Delegate {
val unlocalizedName = "WirelessNetworkCard" 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) = { override def registerIcons(iconRegister: IconRegister) = {
super.registerIcons(iconRegister) super.registerIcons(iconRegister)

View File

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