Unified tooltips of items with builtin components a little.

This commit is contained in:
Florian Nücke 2015-01-05 22:14:04 +01:00
parent b5183fb2d0
commit c95196df0e
2 changed files with 21 additions and 13 deletions

View File

@ -4,6 +4,7 @@ import java.util
import li.cil.oc.OpenComputers
import li.cil.oc.Settings
import li.cil.oc.client.KeyBindings
import li.cil.oc.common.GuiType
import li.cil.oc.common.Tier
import li.cil.oc.common.inventory.ServerInventory
@ -34,17 +35,19 @@ class Server(val parent: Delegator, val tier: Int) extends Delegate {
override protected def tooltipExtended(stack: ItemStack, tooltip: util.List[String]) {
super.tooltipExtended(stack, tooltip)
HelperInventory.container = stack
HelperInventory.reinitialize()
val items = mutable.Map.empty[String, Int]
for (item <- (0 until HelperInventory.getSizeInventory).map(HelperInventory.getStackInSlot) if item != null) {
val itemName = item.getDisplayName
items += itemName -> (if (items.contains(itemName)) items(itemName) + 1 else 1)
}
if (items.size > 0) {
tooltip.addAll(Tooltip.get("Server.Components"))
for (itemName <- items.keys.toArray.sorted) {
tooltip.add("- " + items(itemName) + "x " + itemName)
if (KeyBindings.showExtendedTooltips) {
HelperInventory.container = stack
HelperInventory.reinitialize()
val items = mutable.Map.empty[String, Int]
for (item <- (0 until HelperInventory.getSizeInventory).map(HelperInventory.getStackInSlot) if item != null) {
val itemName = item.getDisplayName
items += itemName -> (if (items.contains(itemName)) items(itemName) + 1 else 1)
}
if (items.size > 0) {
tooltip.addAll(Tooltip.get("Server.Components"))
for (itemName <- items.keys.toArray.sorted) {
tooltip.add("- " + items(itemName) + "x " + itemName)
}
}
}
}

View File

@ -34,6 +34,7 @@ import li.cil.oc.util.ExtendedNBT._
import li.cil.oc.util.ItemUtils
import li.cil.oc.util.ItemUtils.TabletData
import li.cil.oc.util.RotationHelper
import li.cil.oc.util.Tooltip
import net.minecraft.entity.Entity
import net.minecraft.entity.player.EntityPlayer
import net.minecraft.item.ItemStack
@ -75,8 +76,12 @@ class Tablet(val parent: Delegator) extends Delegate {
if (KeyBindings.showExtendedTooltips) {
val info = new ItemUtils.TabletData(stack)
// Ignore/hide the screen.
info.items.drop(1).collect {
case Some(component) => tooltip.add("- " + component.getDisplayName)
val components = info.items.drop(1)
if (components.length > 1) {
tooltip.addAll(Tooltip.get("Server.Components"))
components.collect {
case Some(component) => tooltip.add("- " + component.getDisplayName)
}
}
}
}