mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-17 19:25:20 -04:00
showing stored energy in robots in their tooltip; storing energy as int (truncating); fixed item tag creation at multiple occasions: new NBTTagCompound("tag") instead of new NBTTagCompound(), otherwise loading (which would automatically add the name) would lead to "incompatible" stacks.
This commit is contained in:
parent
4a6174456f
commit
1fdb937b57
@ -62,6 +62,7 @@ oc:tooltip.RedstoneCard=Erlaubt das Lesen und Ausgeben von Redstonesignalen um d
|
||||
oc:tooltip.RedstoneCard.RedLogic=RedLogic wird §aunterstützt§7.
|
||||
oc:tooltip.RedstoneCard.RedNet=RedNet wird §aunterstützt§7.
|
||||
oc:tooltip.Robot=Im Gegensatz zu normalen Computern können sich §mTurtles§r§7 Roboter in der Welt bewegen und ähnlich wie Spieler mit der Welt interagieren. Sie können jedoch §onicht§r§7 mit externen Komponenten interagieren!
|
||||
oc:tooltip.Robot_StoredEnergy=§fGespeicherte Energie§7: §a%s§7.
|
||||
oc:tooltip.Router=Erlaubt es mehrere Netzwerke miteinander zu verbinden. Leitet ausschließlich Netzwerknachrichten weiter, Komponenten "hinter" dem Router sind nicht sichtbar. Nützlich um Netzwerke zu trennen, jedoch nach wie vor Kommunikation zwischen den Netzwerken zu erlauben, z.b. mittels Netzwerkkarten.
|
||||
oc:tooltip.Screen=Zeigt Text an, gesteuert von Grafikkarten in Computern.[nl] Höchstauflösung: §f%sx%s§7.[nl] Maximale Farbtiefe: §f%s§7.
|
||||
oc:tooltip.TooLong=Shift gedrückt halten für mehr Infos.
|
||||
|
@ -66,6 +66,8 @@ oc:tooltip.RedstoneCard=Allows reading and emitting redstone signals around the
|
||||
oc:tooltip.RedstoneCard.RedLogic=RedLogic is §asupported§7.
|
||||
oc:tooltip.RedstoneCard.RedNet=RedNet is §asupported§7.
|
||||
oc:tooltip.Robot=Unlike computers, §mturtles§r§7 robots can move around and interact with the world much like a player can. They can §onot§r§7 interact with external components, however!
|
||||
# The underscore makes sure this isn't hidden with the rest of the tooltip.
|
||||
oc:tooltip.Robot_StoredEnergy=§fStored energy§7: §a%s§7.
|
||||
oc:tooltip.Router=Allows connecting different networks to each other. Only network messages will be passed along, components will not be visible through this. Use this to separate networks while still allowing communication using Network Cards, for example.
|
||||
oc:tooltip.Screen=Display text, controlled by a Graphics Card in a Computer.[nl] Maximum resolution: §f%sx%s§7.[nl] Maximum color depth: §f%s§7.
|
||||
oc:tooltip.TooLong=Hold shift for a detailed tooltip.
|
||||
|
@ -85,7 +85,7 @@ class PacketHandler extends CommonPacketHandler {
|
||||
val stack = t.getStackInSlot(slot)
|
||||
if (stack != null && stack.itemID == id && stack.getItemDamage == damage) {
|
||||
if (!stack.hasTagCompound) {
|
||||
stack.setTagCompound(new NBTTagCompound())
|
||||
stack.setTagCompound(new NBTTagCompound("tag"))
|
||||
}
|
||||
val nbt = stack.getTagCompound
|
||||
nbt.setCompoundTag(Settings.namespace + "data", {
|
||||
|
@ -6,6 +6,7 @@ import li.cil.oc.common.tileentity
|
||||
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.util.Icon
|
||||
import net.minecraft.world.World
|
||||
import net.minecraftforge.common.ForgeDirection
|
||||
@ -17,7 +18,7 @@ class Adapter(val parent: SimpleDelegator) extends SimpleDelegate {
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
override def addInformation(player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
override def addInformation(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
tooltip.addAll(Tooltip.get(unlocalizedName))
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,7 @@ import li.cil.oc.api.network.{SidedEnvironment, Environment}
|
||||
import li.cil.oc.common.tileentity
|
||||
import li.cil.oc.util.Tooltip
|
||||
import net.minecraft.entity.player.EntityPlayer
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.util.AxisAlignedBB
|
||||
import net.minecraft.world.{IBlockAccess, World}
|
||||
import net.minecraftforge.common.ForgeDirection
|
||||
@ -15,7 +16,7 @@ class Cable(val parent: SpecialDelegator) extends SpecialDelegate {
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
override def addInformation(player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
override def addInformation(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
tooltip.addAll(Tooltip.get(unlocalizedName))
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,7 @@ import li.cil.oc.util.Tooltip
|
||||
import li.cil.oc.{api, Settings}
|
||||
import net.minecraft.client.renderer.texture.IconRegister
|
||||
import net.minecraft.entity.player.EntityPlayer
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.util.Icon
|
||||
import net.minecraft.world.{World, IBlockAccess}
|
||||
import net.minecraftforge.common.ForgeDirection
|
||||
@ -17,7 +18,7 @@ class Capacitor(val parent: SimpleDelegator) extends SimpleDelegate {
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
override def addInformation(player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
override def addInformation(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
tooltip.addAll(Tooltip.get(unlocalizedName))
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,7 @@ import li.cil.oc.util.Tooltip
|
||||
import li.cil.oc.{OpenComputers, Settings}
|
||||
import net.minecraft.client.renderer.texture.IconRegister
|
||||
import net.minecraft.entity.player.EntityPlayer
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.util.Icon
|
||||
import net.minecraft.world.IBlockAccess
|
||||
import net.minecraft.world.World
|
||||
@ -15,7 +16,7 @@ abstract class Case(val parent: SimpleDelegator) extends Computer with SimpleDel
|
||||
|
||||
def tier: Int
|
||||
|
||||
override def addInformation(player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
override def addInformation(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
val slots = tier match {
|
||||
case 0 => "2/1/1"
|
||||
case 1 => "2/2/2"
|
||||
|
@ -6,6 +6,7 @@ import li.cil.oc.common.tileentity
|
||||
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.util.Icon
|
||||
import net.minecraft.world.{IBlockAccess, World}
|
||||
import net.minecraftforge.common.ForgeDirection
|
||||
@ -15,7 +16,7 @@ class Charger(val parent: SimpleDelegator) extends SimpleDelegate {
|
||||
|
||||
private val icons = Array.fill[Icon](6)(null)
|
||||
|
||||
override def addInformation(player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
override def addInformation(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
tooltip.addAll(Tooltip.get(unlocalizedName))
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,7 @@ trait Delegate {
|
||||
// Block
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
def addInformation(player: EntityPlayer, tooltip: java.util.List[String], advanced: Boolean) {}
|
||||
def addInformation(stack: ItemStack, player: EntityPlayer, tooltip: java.util.List[String], advanced: Boolean) {}
|
||||
|
||||
def breakBlock(world: World, x: Int, y: Int, z: Int, blockId: Int) {}
|
||||
|
||||
|
@ -102,9 +102,9 @@ class Delegator[Child <: Delegate](id: Int) extends Block(id, Material.iron) {
|
||||
// Block
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
def addInformation(metadata: Int, player: EntityPlayer, tooltip: java.util.List[String], advanced: Boolean) {
|
||||
def addInformation(metadata: Int, stack: ItemStack, player: EntityPlayer, tooltip: java.util.List[String], advanced: Boolean) {
|
||||
subBlock(metadata) match {
|
||||
case Some(subBlock) => subBlock.addInformation(player, tooltip, advanced)
|
||||
case Some(subBlock) => subBlock.addInformation(stack, player, tooltip, advanced)
|
||||
case _ =>
|
||||
}
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import li.cil.oc.util.Tooltip
|
||||
import li.cil.oc.{api, OpenComputers, Settings}
|
||||
import net.minecraft.client.renderer.texture.IconRegister
|
||||
import net.minecraft.entity.player.EntityPlayer
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.util.Icon
|
||||
import net.minecraft.world.World
|
||||
import net.minecraftforge.common.ForgeDirection
|
||||
@ -18,7 +19,7 @@ class DiskDrive(val parent: SimpleDelegator) extends SimpleDelegate {
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
override def addInformation(player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
override def addInformation(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
tooltip.addAll(Tooltip.get(unlocalizedName))
|
||||
if (Loader.isModLoaded("ComputerCraft")) {
|
||||
tooltip.addAll(Tooltip.get(unlocalizedName + ".CC"))
|
||||
|
@ -16,7 +16,7 @@ class Item(id: Int) extends ItemBlock(id) {
|
||||
override def addInformation(stack: ItemStack, player: EntityPlayer, tooltip: util.List[_], advanced: Boolean) {
|
||||
super.addInformation(stack, player, tooltip, advanced)
|
||||
Block.blocksList(getBlockID) match {
|
||||
case delegator: Delegator[_] => delegator.addInformation(getMetadata(stack.getItemDamage), player, tooltip.asInstanceOf[util.List[String]], advanced)
|
||||
case delegator: Delegator[_] => delegator.addInformation(getMetadata(stack.getItemDamage), stack, player, tooltip.asInstanceOf[util.List[String]], advanced)
|
||||
case _ =>
|
||||
}
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import li.cil.oc.common.tileentity
|
||||
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.util.{AxisAlignedBB, Icon}
|
||||
import net.minecraft.world.{IBlockAccess, World}
|
||||
import net.minecraftforge.common.ForgeDirection
|
||||
@ -17,7 +18,7 @@ class Keyboard(val parent: SpecialDelegator) extends SpecialDelegate {
|
||||
|
||||
var icon: Icon = null
|
||||
|
||||
override def addInformation(player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
override def addInformation(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
tooltip.addAll(Tooltip.get(unlocalizedName))
|
||||
}
|
||||
|
||||
|
@ -1,15 +1,16 @@
|
||||
package li.cil.oc.common.block
|
||||
|
||||
import cpw.mods.fml.common.Loader
|
||||
import java.util
|
||||
import li.cil.oc.Settings
|
||||
import li.cil.oc.common.tileentity
|
||||
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.util.Icon
|
||||
import net.minecraft.world.World
|
||||
import net.minecraftforge.common.ForgeDirection
|
||||
import cpw.mods.fml.common.Loader
|
||||
|
||||
class PowerConverter(val parent: SimpleDelegator) extends SimpleDelegate {
|
||||
val unlocalizedName = "PowerConverter"
|
||||
@ -18,7 +19,7 @@ class PowerConverter(val parent: SimpleDelegator) extends SimpleDelegate {
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
override def addInformation(player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
override def addInformation(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
tooltip.addAll(Tooltip.get(unlocalizedName))
|
||||
if (Loader.isModLoaded("IC2")) {
|
||||
val ratio = Settings.get.ratioIndustrialCraft2
|
||||
|
@ -6,6 +6,7 @@ import li.cil.oc.common.tileentity
|
||||
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.util.Icon
|
||||
import net.minecraft.world.{IBlockAccess, World}
|
||||
import net.minecraftforge.common.ForgeDirection
|
||||
@ -17,7 +18,7 @@ class PowerDistributor(val parent: SimpleDelegator) extends SimpleDelegate {
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
override def addInformation(player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
override def addInformation(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
tooltip.addAll(Tooltip.get(unlocalizedName))
|
||||
}
|
||||
|
||||
|
@ -22,7 +22,10 @@ class RobotProxy(val parent: SpecialDelegator) extends Computer with SpecialDele
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
override def addInformation(player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
override def addInformation(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
if (stack.hasTagCompound && stack.getTagCompound.hasKey(Settings.namespace + "storedEnergy")) {
|
||||
tooltip.addAll(Tooltip.get(unlocalizedName + "_StoredEnergy", stack.getTagCompound.getInteger(Settings.namespace + "storedEnergy")))
|
||||
}
|
||||
tooltip.addAll(Tooltip.get(unlocalizedName))
|
||||
}
|
||||
|
||||
@ -95,19 +98,19 @@ class RobotProxy(val parent: SpecialDelegator) extends Computer with SpecialDele
|
||||
case Some((proxy, owner)) =>
|
||||
proxy.robot.owner = owner
|
||||
if (stack.hasTagCompound) {
|
||||
proxy.robot.battery.changeBuffer(stack.getTagCompound.getDouble(Settings.namespace + "storedEnergy"))
|
||||
proxy.robot.battery.changeBuffer(stack.getTagCompound.getInteger(Settings.namespace + "storedEnergy"))
|
||||
}
|
||||
case _ =>
|
||||
}
|
||||
}
|
||||
|
||||
override def onBlockRemovedBy(world: World, x: Int, y: Int, z: Int, player: EntityPlayer) = {
|
||||
world.getBlockTileEntity(x, y, z) match {
|
||||
if (!world.isRemote) world.getBlockTileEntity(x, y, z) match {
|
||||
case proxy: tileentity.RobotProxy if !player.capabilities.isCreativeMode || proxy.globalBuffer > 0 =>
|
||||
val stack = createItemStack()
|
||||
if (proxy.globalBuffer > 0) {
|
||||
stack.setTagCompound(new NBTTagCompound())
|
||||
stack.getTagCompound.setDouble(Settings.namespace + "storedEnergy", proxy.globalBuffer)
|
||||
if (proxy.globalBuffer > 1) {
|
||||
stack.setTagCompound(new NBTTagCompound("tag"))
|
||||
stack.getTagCompound.setInteger(Settings.namespace + "storedEnergy", proxy.globalBuffer.toInt)
|
||||
}
|
||||
parent.dropBlockAsItem(world, x, y, z, stack)
|
||||
case _ =>
|
||||
|
@ -7,6 +7,7 @@ import li.cil.oc.common.tileentity
|
||||
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.util.Icon
|
||||
import net.minecraft.world.World
|
||||
import net.minecraftforge.common.ForgeDirection
|
||||
@ -18,7 +19,7 @@ class Router(val parent: SimpleDelegator) extends SimpleDelegate {
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
override def addInformation(player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
override def addInformation(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
tooltip.addAll(Tooltip.get(unlocalizedName))
|
||||
}
|
||||
|
||||
|
@ -7,6 +7,7 @@ import li.cil.oc.util.{PackedColor, Tooltip}
|
||||
import li.cil.oc.{Settings, OpenComputers}
|
||||
import net.minecraft.client.renderer.texture.IconRegister
|
||||
import net.minecraft.entity.player.EntityPlayer
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.util.Icon
|
||||
import net.minecraft.world.IBlockAccess
|
||||
import net.minecraft.world.World
|
||||
@ -17,7 +18,7 @@ abstract class Screen(val parent: SimpleDelegator) extends SimpleDelegate {
|
||||
|
||||
def tier: Int
|
||||
|
||||
override def addInformation(player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
override def addInformation(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
val (w, h) = Settings.screenResolutionsByTier(tier)
|
||||
val depth = PackedColor.Depth.bits(Settings.screenDepthsByTier(tier))
|
||||
tooltip.addAll(Tooltip.get("Screen", w, h, depth))
|
||||
|
@ -8,7 +8,7 @@ import net.minecraft.nbt.NBTTagCompound
|
||||
trait Item extends api.driver.Item {
|
||||
def nbt(stack: ItemStack) = {
|
||||
if (!stack.hasTagCompound) {
|
||||
stack.setTagCompound(new NBTTagCompound())
|
||||
stack.setTagCompound(new NBTTagCompound("tag"))
|
||||
}
|
||||
val nbt = stack.getTagCompound
|
||||
if (!nbt.hasKey(Settings.namespace + "data")) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user