mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-26 22:43:40 -04:00
Merge branch 'master' of github.com:MightyPirates/OpenComputers into MC1.7
Conflicts: build.properties src/main/scala/li/cil/oc/client/Proxy.scala src/main/scala/li/cil/oc/common/item/Delegate.scala src/main/scala/li/cil/oc/util/ItemCosts.scala
This commit is contained in:
commit
9a20fd6974
@ -1,6 +1,6 @@
|
||||
minecraft.version=1.7.2
|
||||
forge.version=10.12.0.1046
|
||||
oc.version=1.2.6
|
||||
oc.version=1.2.7
|
||||
ccl.version=1.0.0.62
|
||||
fmp.version=1.0.0.250
|
||||
maven.url=file:///var/www/users/fnuecke/maven.cil.li
|
@ -9,7 +9,7 @@ oc:tile.Capacitor.name=Kondensator
|
||||
oc:tile.Case0.name=Computergehäuse (Stufe 1)
|
||||
oc:tile.Case1.name=Computergehäuse (Stufe 2)
|
||||
oc:tile.Case2.name=Computergehäuse (Stufe 3)
|
||||
oc:tile.Case3.name=Computergehäuse (Creative)
|
||||
oc:tile.Case3.name=Computergehäuse (Kreativ)
|
||||
oc:tile.Charger.name=Ladestation
|
||||
oc:tile.DiskDrive.name=Diskettenlaufwerk
|
||||
oc:tile.Keyboard.name=Tastatur
|
||||
@ -70,7 +70,7 @@ oc:item.Server1.name=Server (Stufe 2)
|
||||
oc:item.Server2.name=Server (Stufe 3)
|
||||
oc:item.Terminal.name=Fernbedienung
|
||||
oc:item.Transistor.name=Transistor
|
||||
oc:item.UpgradeAngel.name=Angel Upgrade
|
||||
oc:item.UpgradeAngel.name=Schwebe-Upgrade
|
||||
oc:item.UpgradeCrafting.name=Fertigungs-Upgrade
|
||||
oc:item.UpgradeGenerator.name=Generator-Upgrade
|
||||
oc:item.UpgradeNavigation.name=Navigationsupgrade
|
||||
@ -93,9 +93,9 @@ oc:gui.Analyzer.TotalEnergy=§6Insgesamt gespeicherte Energie§f: %s
|
||||
oc:gui.Analyzer.Users=§6Benutzer§f: %s
|
||||
oc:gui.Analyzer.WirelessStrength=§6Signalstärke§f: %s
|
||||
oc:gui.Chat.NewVersion=Eine neue Version ist verfügbar: %s
|
||||
oc:gui.Chat.WarningFingerprint=§cWARNUNG§f - ungültige Signatur! Sollte '§a%s§f' sein, aber war '§e%s§f'. Falls du kein Modder bist und die "deobfuscated"-Version des Mods benutzt, solltest du OpenComputers erneut herunterladen, da die JAR die du benutzt vermutlich modifiziert wurde.
|
||||
oc:gui.Chat.WarningFingerprint=§cWARNUNG§f - ungültige Signatur! Sollte '§a%s§f' sein, aber war '§e%s§f'. Falls du kein Modder bist und die "deobfuscated"-Version des Mods benutzt, solltest du OpenComputers erneut herunterladen, da die JAR, die du benutzt, vermutlich modifiziert wurde.
|
||||
oc:gui.Chat.WarningLuaFallback=Die native Lua-Implementierung ist nicht verfügbar. Computer können ihren Ausführungszustand nicht speichern. Sie werden automatisch neu starten, sobald ein Chunk neu geladen wird.
|
||||
oc:gui.Chat.WarningPower=Es ist kein unterstützter, Strom erzeugender Mod verfügbar. Computer, Bildschirme und alle anderen Komponenten werden §lkeine§f Energie benötigen. Installiere einen der folgenden Mods, um Stromnutzung zu ermöglichen: BuildCraft, IndustrialCraft2, Thermal Expansion oder Universal Electricity. Deaktiviere Stromverbrauch in der Konfiguration, um diese Warnung zu unterdrücken.
|
||||
oc:gui.Chat.WarningPower=Es ist keine unterstützte, Strom erzeugende Mod verfügbar. Computer, Bildschirme und alle anderen Komponenten werden §lkeine§f Energie benötigen. Installiere eine der folgenden Mods, um Stromnutzung zu ermöglichen: BuildCraft, IndustrialCraft2, Thermal Expansion oder Universal Electricity. Deaktiviere Stromverbrauch in der Konfiguration, um diese Warnung zu unterdrücken.
|
||||
oc:gui.Chat.WarningProjectRed=Die verwendete Version von Project: Red ist nicht mit OpenComputers kompatibel. Aktualisiere bitte deine Version von Project: Red.
|
||||
oc:gui.Error.ComponentOverflow=Zu viele Komponenten sind mit dem Computer verbunden.
|
||||
oc:gui.Error.DaylightCycle=Computer funktionieren nicht, solange die Zeit angehalten ist (Spielregel doDaylightCycle ist aus).
|
||||
@ -123,6 +123,11 @@ oc:container.DiskDrive=Diskettenlaufwerk
|
||||
oc:container.Rack=Serverschrank
|
||||
oc:container.Server=Server
|
||||
|
||||
# Keybinds
|
||||
key.extendedTooltip=Tooltip erweitern
|
||||
key.materialCosts=Materialkosten anzeigen
|
||||
key.clipboardPaste=Zwischenablage einfügen
|
||||
|
||||
# Item / Block Tooltips
|
||||
oc:tooltip.AbstractBusCard=Erlaubt es, LIP-Pakete des Abstrakten Busses von §fStargateTech 2§7 zu senden und zu empfangen.
|
||||
oc:tooltip.Acid=Eine hochgiftige Möchtegernflüssigkeit, wird üblicherweise nur von gewissen Piraten konsumiert. Dank ihrer korrosiven Eigenschaften ideal zum Bedrucken von Leiterplatten geeignet.
|
||||
@ -147,6 +152,8 @@ oc:tooltip.Interweb=Kann in einer Internetkarte verwendet werden, um Computer mi
|
||||
oc:tooltip.IronNugget=Ein Nugget, das aus Eisen besteht, darum wird es ja auch Eisennugget genannt, duh...
|
||||
oc:tooltip.Keyboard=Kann an Bildschirmen befestigt werden, um auf ihnen zu tippen.
|
||||
oc:tooltip.Hologram=Ein Volumendisplay, das beliebige, von Computern festgelegte Voxelstrukturen anzeigt.[nl] Auflösung: §f48x32x48§7. [nl] Farbtiefe: §fMonochrom§7.
|
||||
oc:tooltip.MaterialCosts=Halte [§f%s§7] gedrückt für Materialkosten.
|
||||
oc:tooltip.Materials=Materialien:
|
||||
oc:tooltip.Memory=Braucht ein jeder Computer, um zu starten. Je mehr vorhanden, desto komplexere Programme können ausgeführt werden.
|
||||
oc:tooltip.Microchip=Tritt auch unter dem Alias Integrierter Schaltkreis auf. Keine Ahnung, warum das auch mit Redstone klappt, aber es funktioniert.
|
||||
oc:tooltip.NetworkCard=Erlaubt es Computern, die über mehrere Blöcke miteinander verbunden sind (z.B. Kabel), mittels Netzwerknachrichten zu kommunizieren.
|
||||
@ -172,9 +179,9 @@ oc:tooltip.Server=Ein Server kann wie ein gewöhnliches Computergehäuse mit Kom
|
||||
oc:tooltip.Server.Components=Installierte Komponenten:
|
||||
oc:tooltip.ServerRack=Erlaubt die Installation von bis zu vier Servern. Stellt für jeden eingebauten Server eine virtuelle Tastatur- und Bildschirmkomponente zur Verfügung, welche je eine Fernbedienung repräsentieren.
|
||||
oc:tooltip.Terminal=Erlaubt es, einen Server aus der Ferne zu steuern, so lange man sich in Reichweite des Servers befindet. Verhält sich wie Bildschirm und Tastatur in einem. Kann mit Shift-Rechtsklick an einen Server in einem Serverschrank gebunden werden.
|
||||
oc:tooltip.TooLong=Shift gedrückt halten für mehr Infos.
|
||||
oc:tooltip.TooLong=Halte [§f%s§7] gedrückt für mehr Infos.
|
||||
oc:tooltip.Transistor=Elementarer Baustein der meisten Computerkomponenten. Nicht zu verwechseln mit Steinelementaren.
|
||||
oc:tooltip.UpgradeAngel=Erlaubt es Robotern Blöcke in die Luft zu setzen, selbst wenn kein Referenzblock daneben existiert.
|
||||
oc:tooltip.UpgradeAngel=Erlaubt es Robotern, Blöcke in die Luft zu setzen, selbst wenn kein Referenzblock daneben existiert.
|
||||
oc:tooltip.UpgradeCrafting=Ermöglicht Robotern, in dem oberen linken Bereich ihres Inventars Dinge zu fertigen. Gegenstände müssen so angeordnet sein, wie sie es in einer Werkbank wären.
|
||||
oc:tooltip.UpgradeGenerator=Kann verwendet werden, um unterwegs Energie aus Brennstoffen zu erzeugen. Verbraucht Gegenstände über einen ihrem Brennwert gemäßen Zeitraum.[nl] §fEffizienz§7: §a%s%%§7
|
||||
oc:tooltip.UpgradeNavigation=Erlaubt es Robotern, ihre Position und Ausrichtung zu bestimmen. Die Position ist relativ zur Mitte der Karte, die in diesem Upgrade verbaut wurde.
|
||||
|
@ -123,6 +123,11 @@ oc:container.DiskDrive=Disk Drive
|
||||
oc:container.Rack=Server Rack
|
||||
oc:container.Server=Server
|
||||
|
||||
# Keybinds
|
||||
key.extendedTooltip=Expand Tooltip
|
||||
key.materialCosts=Show Material Costs
|
||||
key.clipboardPaste=Paste Clipboard
|
||||
|
||||
# Item / Block Tooltips
|
||||
oc:tooltip.AbstractBusCard=Allows interacting with §fStargateTech 2§7's abstract bus by sending and receiving LIP packets.
|
||||
oc:tooltip.Acid=A highly toxic pseudo-liquid, usually only consumed by certain pirates. Thanks to its corrosive nature it is perfectly suited for etching circuit boards.
|
||||
@ -147,6 +152,8 @@ oc:tooltip.Interweb=Congratulations, you win one (1) interweb. You can connect t
|
||||
oc:tooltip.IronNugget=A nugget made of iron, that's why it's called an Iron Nugget, duh...
|
||||
oc:tooltip.Keyboard=Can be attached to screens to allow typing on them.
|
||||
oc:tooltip.Hologram=A volumetric display that can be controlled by computers to display arbitrary voxel structures.[nl] Resolution: §f48x32x48§7. [nl] Color depth: §fMonochrome§7.
|
||||
oc:tooltip.MaterialCosts=Hold [§f%s§7] for material costs.
|
||||
oc:tooltip.Materials=Materials:
|
||||
oc:tooltip.Memory=Required to get computers to run. The more you have, the more complex the programs you can run.
|
||||
oc:tooltip.Microchip=The chip formerly known as Integrated Circuit. I have no idea why this works with redstone, but it does.
|
||||
oc:tooltip.NetworkCard=Allows distant computers connected by other blocks (such as cable) to communicate by sending messages to each other.
|
||||
@ -172,7 +179,7 @@ oc:tooltip.Server=This is a server, there are many like it, but this one can be
|
||||
oc:tooltip.Server.Components=Installed components:
|
||||
oc:tooltip.ServerRack=Allows the installation of up to four servers. Use a Remote Terminal to access the servers built into this server rack.
|
||||
oc:tooltip.Terminal=Allows controlling a server remotely, as long as you are in range of it. Acts like a portable screen and keyboard. Shift-right-click a server in a server rack to bind the terminal to it.
|
||||
oc:tooltip.TooLong=Hold shift for a detailed tooltip.
|
||||
oc:tooltip.TooLong=Hold [§f%s§7] for a detailed tooltip.
|
||||
oc:tooltip.Transistor=A basic element in most other computer parts. It's a bit twisted, but it does the job.
|
||||
oc:tooltip.UpgradeAngel=Allows robots to place blocks in thin air, even if there is no point of reference.
|
||||
oc:tooltip.UpgradeCrafting=Enables robots to use the top left area of their inventory for crafting objects. Items have to be aligned as they would be in a crafting table.
|
||||
|
@ -121,7 +121,7 @@ oc:tooltip.Robot_Level=§fNiveau§7: §a%s§7.
|
||||
oc:tooltip.Robot_StoredEnergy=§fEnergie stockée§7: §a%s§7.
|
||||
oc:tooltip.Router=Permet de connecter différents réseaux entre eux. Seulement des messages réseau seront transmis, les composants ne seront pas visibles via celui ci. A utiliser pour séparer des réseaux tout en leur permettant de communiquer entre eux, grâce aux Cartes réseau, par exemple.
|
||||
oc:tooltip.Screen=Affiche du texte, contrôlé par une Carte graphique dans un Boitier.[nl] Résolution maximum: §f%sx%s§7.[nl] Couleurs maximales: §f%s§7.
|
||||
oc:tooltip.TooLong=Maintenez la touche Majuscule (Shift) pour plus d'informations.
|
||||
oc:tooltip.TooLong=Maintenez la touche [§f%s§7] pour plus d'informations.
|
||||
oc:tooltip.Transistor=Un élément basique constituant la plupart des pièces d'un ordinateur. Il est un peu tordu, mais il fait son boulot.
|
||||
oc:tooltip.UpgradeCrafting=Permet aux robots d'utiliser le coin en haut à gauche de leur inventaire comme table d'artisanat. Vous devez respecter la position des objets comme pour un artisanat normal.
|
||||
oc:tooltip.UpgradeGenerator=Utilisé pour générer de l'énergie directement sur un robot, indépendament d'un chargeur. Consume du comburant (ex: charbon) pour une génération sur la durée, en fonction de l'efficacité du combustible. [nl] §fEfficacité§7: §a%s%%§7
|
||||
|
@ -124,7 +124,7 @@ oc:tooltip.Robot_Level=§fNível§7: §a%s§7.
|
||||
oc:tooltip.Robot_StoredEnergy=§fEnergia Armazenada§7: §a%s§7.
|
||||
oc:tooltip.Router=Permite interligar redes diferentes. Apenas pacotes de rede serão passados, componentes não serão visiveis em redes vizinhas. Usa isto para separar várias redes e ao mesmo tempo permitir comunicação através de placas de rede, por exemplo.
|
||||
oc:tooltip.Screen=Mostra texto, controlado por uma placa gráfica numa Caixa.[nl] Resolução máxima: §f%sx%s§7.[nl] Profundidade de cor máxima: §f%s§7.
|
||||
oc:tooltip.TooLong=Prime SHIFT para uma descrição detalhada.
|
||||
oc:tooltip.TooLong=Prime [§f%s§7] para uma descrição detalhada.
|
||||
oc:tooltip.Transistor=Um componente básico do hardware do computador. É um pouco retorcido, mas faz o seu trabalho.
|
||||
oc:tooltip.UpgradeCrafting=Permite aos robôs usar a parte superior esquerda do seu inventório para fabricar objectos. Os itens têm de estar alinhados como numa mesa de fabrico.
|
||||
oc:tooltip.UpgradeGenerator=Pode ser usado para gerar energia a partir de combustível. Queima itens para gerar energia ao longo do tempo, dependendo da energia que pode ser extraída de cada componente.[nl] §fEficiência§7: §a%s%%§7
|
||||
|
@ -171,7 +171,7 @@ oc:tooltip.Server=Это сервер, который может быть улу
|
||||
oc:tooltip.Server.Components=Установленные компоненты:
|
||||
oc:tooltip.ServerRack=Обеспечивает работу до четырёх серверов. Используйте беспроводной терминал для управления установленными серверами.
|
||||
oc:tooltip.Terminal=Позволяет дистанционно управлять сервером, пока вы в радиусе его действия. Действует как портативный дисплей с клавиатурой.[nl] Shift+ПКМ по серверу в стойке для привязки к нему терминала.
|
||||
oc:tooltip.TooLong=Удерживайте Shift, чтобы отобразить описание.
|
||||
oc:tooltip.TooLong=Удерживайте [§f%s§7], чтобы отобразить описание.
|
||||
oc:tooltip.Transistor=Базовый элемент в других частях компьютера. Он немного деформирован, но отлично выполняет свою работу.
|
||||
oc:tooltip.UpgradeAngel=Позволяет роботам размещать блоки в воздухе, даже если отсутствует точка опоры.
|
||||
oc:tooltip.UpgradeCrafting=Позволяет роботам использовать верхнюю левую часть инвентаря для создания вещей. Вещи должны быть расположены в том порядке, что и в верстаке.
|
||||
|
@ -112,7 +112,7 @@ oc:tooltip.Robot_Level=§f等级§7: §a%s§7.
|
||||
oc:tooltip.Robot_StoredEnergy=§f储能§7: §a%s§7.
|
||||
oc:tooltip.Router=允许设备相互连接不同的网络.[nl]仅能传递网络信息,通过路由器方式设备并不互相可见.[nl]例如可以通过这种方式来建立独立网络但仍允许其使用网卡通讯.
|
||||
oc:tooltip.Screen=由机箱内的显卡控制来显示文本.[nl]最高分辨率:§f%sx%s§7.[nl] 最大色深: §f%s§7.
|
||||
oc:tooltip.TooLong=按住潜行键(shift)以查看详细提示信息.
|
||||
oc:tooltip.TooLong=按住潜行键([§f%s§7])以查看详细提示信息.
|
||||
oc:tooltip.Transistor=在多数其他计算机的零件中都很基础的元件.[nl]引脚有点弯了,但还能用.
|
||||
oc:tooltip.UpgradeCrafting=使得机器人能够将其物品栏的左上区域作为合成网格来制做物品.[nl]物品栏内物品摆放必须与工作台中一致.
|
||||
oc:tooltip.UpgradeGenerator=用来不断地消耗燃料发电,燃烧物品并基于它们的燃烧值随着时间推移产生电力.[nl] §f效率§7: §a%s%%§7.
|
||||
|
@ -161,7 +161,7 @@ oc:tooltip.Server=這是一台伺服器, 他非常棒, 但是他可以使用元
|
||||
oc:tooltip.Server.Components=安裝的元件:
|
||||
oc:tooltip.ServerRack=提供安裝最多達四個伺服器。為每個伺服器提供了一個內置的虛擬鍵盤和螢幕元件,相當於一個遠程終端。
|
||||
oc:tooltip.Terminal=允許遠程控制伺服器,只要你在它的範圍內。就像一個隨身型螢幕和鍵盤。按住Shift鍵並滑鼠右鍵單擊某個服務器的服務器機架終端綁定它。
|
||||
oc:tooltip.TooLong=按住潛行鍵(shift)以查看詳細提示信息.
|
||||
oc:tooltip.TooLong=按住潛行鍵([§f%s§7])以查看詳細提示信息.
|
||||
oc:tooltip.Transistor=在多數其他計算機的零件中都很基礎的元件.[nl]引腳有點彎了,但還能用.
|
||||
oc:tooltip.UpgradeCrafting=使得機器人能夠將其物品欄的左上區域作為合成網格來制做物品.[nl]物品欄內物品擺放必須與工作臺中一致.
|
||||
oc:tooltip.UpgradeGenerator=用來不斷地消耗燃料發電,燃燒物品并基于它們的燃燒值隨著時間推移產生電力.[nl] §f效率§7: §a%s%%§7.
|
||||
|
@ -34,12 +34,6 @@ opencomputers {
|
||||
# anti-aliased / smoothed) turn this option off.
|
||||
textAntiAlias: true
|
||||
|
||||
# The keyboard shortcut that is used to send the current text in the
|
||||
# clipboard to the currently opened screen (if said screen has a keyboard
|
||||
# attached to it). For valid key names, please see the following list:
|
||||
# https://github.com/LWJGL/lwjgl/blob/master/src/java/org/lwjgl/input/Keyboard.java#L73
|
||||
pasteShortcut: [LSHIFT, INSERT]
|
||||
|
||||
# Render robots' names as a label above them when near them
|
||||
robotLabels: true
|
||||
|
||||
|
@ -17,7 +17,6 @@ class Settings(config: Config) {
|
||||
val maxScreenTextRenderDistance = config.getDouble("client.maxScreenTextRenderDistance")
|
||||
val textLinearFiltering = config.getBoolean("client.textLinearFiltering")
|
||||
val textAntiAlias = config.getBoolean("client.textAntiAlias")
|
||||
val pasteShortcut = config.getStringList("client.pasteShortcut").toSet
|
||||
val robotLabels = config.getBoolean("client.robotLabels")
|
||||
val soundVolume = config.getDouble("client.soundVolume").toFloat max 0 min 2
|
||||
val fontCharScale = config.getDouble("client.fontCharScale") max 0.5 min 2
|
||||
@ -32,7 +31,7 @@ class Settings(config: Config) {
|
||||
val ramSizes = Array(config.getIntList("computer.ramSizes"): _*) match {
|
||||
case Array(tier1, tier2, tier3) =>
|
||||
// For compatibility with older config files.
|
||||
Array(tier1: Int, tier2: Int, tier3: Int, tier3 * 2: Int, tier3 * 4: Int)
|
||||
Array(tier1: Int, (tier1: Int) * 3 / 2, tier2: Int, tier3: Int, tier3 * 2: Int, tier3 * 4: Int)
|
||||
case Array(tier1, tier3, tier4, tier5, tier6) =>
|
||||
// For compatibility with older config files.
|
||||
Array(tier1: Int, (tier1: Int) * 3 / 2, tier3: Int, tier4: Int, tier5: Int, tier6: Int)
|
||||
|
16
src/main/scala/li/cil/oc/client/KeyBindings.scala
Normal file
16
src/main/scala/li/cil/oc/client/KeyBindings.scala
Normal file
@ -0,0 +1,16 @@
|
||||
package li.cil.oc.client
|
||||
|
||||
import net.minecraft.client.settings.KeyBinding
|
||||
import org.lwjgl.input.Keyboard
|
||||
|
||||
object KeyBindings {
|
||||
def showExtendedTooltips = Keyboard.isKeyDown(extendedTooltip.getKeyCode)
|
||||
|
||||
def showMaterialCosts = Keyboard.isKeyDown(materialCosts.getKeyCode)
|
||||
|
||||
val extendedTooltip = new KeyBinding("key.extendedTooltip", Keyboard.KEY_LSHIFT, "OpenComputers")
|
||||
|
||||
val materialCosts = new KeyBinding("key.materialCosts", Keyboard.KEY_LMENU, "OpenComputers")
|
||||
|
||||
val clipboardPaste = new KeyBinding("key.clipboardPaste", Keyboard.KEY_INSERT, "OpenComputers")
|
||||
}
|
@ -44,6 +44,10 @@ private[oc] class Proxy extends CommonProxy {
|
||||
MinecraftForgeClient.registerItemRenderer(Items.multi, UpgradeRenderer)
|
||||
|
||||
OpenComputers.channel.register(client.PacketHandler)
|
||||
|
||||
ClientRegistry.registerKeyBinding(KeyBindings.extendedTooltip)
|
||||
ClientRegistry.registerKeyBinding(KeyBindings.materialCosts)
|
||||
ClientRegistry.registerKeyBinding(KeyBindings.clipboardPaste)
|
||||
}
|
||||
|
||||
override def postInit(e: FMLPostInitializationEvent) {
|
||||
|
@ -1,7 +1,6 @@
|
||||
package li.cil.oc.client.gui
|
||||
|
||||
import li.cil.oc.Settings
|
||||
import li.cil.oc.client.PacketSender
|
||||
import li.cil.oc.client.{KeyBindings, PacketSender}
|
||||
import li.cil.oc.client.renderer.MonospaceFontRenderer
|
||||
import li.cil.oc.client.renderer.gui.BufferRenderer
|
||||
import li.cil.oc.common.component
|
||||
@ -84,7 +83,7 @@ trait Buffer extends GuiScreen {
|
||||
case _ => // Wasn't pressed while viewing the screen.
|
||||
}
|
||||
|
||||
if (isPasteShortcutPressed && Keyboard.getEventKeyState) {
|
||||
if (Keyboard.isKeyDown(KeyBindings.clipboardPaste.getKeyCode) && Keyboard.getEventKeyState) {
|
||||
PacketSender.sendClipboard(buffer, GuiScreen.getClipboardString)
|
||||
}
|
||||
}
|
||||
@ -109,9 +108,4 @@ trait Buffer extends GuiScreen {
|
||||
code == Keyboard.KEY_LMETA ||
|
||||
code == Keyboard.KEY_RMETA
|
||||
}
|
||||
|
||||
private def isPasteShortcutPressed = {
|
||||
val want = Settings.get.pasteShortcut.map(name => Keyboard.getKeyIndex(name.toUpperCase)).filter(_ != Keyboard.KEY_NONE)
|
||||
pressedKeys.keySet.equals(want)
|
||||
}
|
||||
}
|
||||
|
@ -4,10 +4,11 @@ import cpw.mods.fml.common.Optional
|
||||
import cpw.mods.fml.relauncher.{Side, SideOnly}
|
||||
import java.util
|
||||
import java.util.Random
|
||||
import li.cil.oc.client.KeyBindings
|
||||
import li.cil.oc.client.renderer.block.BlockRenderer
|
||||
import li.cil.oc.common.tileentity.traits.{Colored, Rotatable, BundledRedstoneAware}
|
||||
import li.cil.oc.util.{Color, ItemCosts}
|
||||
import li.cil.oc.util.mods.Mods
|
||||
import li.cil.oc.util.{Color, ItemCosts}
|
||||
import li.cil.oc.{Settings, CreativeTab}
|
||||
import net.minecraft.block.Block
|
||||
import net.minecraft.block.material.Material
|
||||
@ -17,7 +18,7 @@ import net.minecraft.entity.player.EntityPlayer
|
||||
import net.minecraft.entity.{EnumCreatureType, Entity, EntityLivingBase}
|
||||
import net.minecraft.item.{ItemBlock, ItemStack}
|
||||
import net.minecraft.tileentity.TileEntity
|
||||
import net.minecraft.util.{MovingObjectPosition, Vec3, AxisAlignedBB}
|
||||
import net.minecraft.util.{StatCollector, MovingObjectPosition, Vec3, AxisAlignedBB}
|
||||
import net.minecraft.world.{IBlockAccess, World}
|
||||
import net.minecraftforge.common.util.ForgeDirection
|
||||
import org.lwjgl.input
|
||||
@ -331,9 +332,14 @@ class Delegator[Child <: Delegate] extends Block(Material.iron) {
|
||||
case Some(subBlock) => subBlock.tooltipLines(stack, player, tooltip, advanced)
|
||||
case _ =>
|
||||
}
|
||||
if (input.Keyboard.isKeyDown(input.Keyboard.KEY_LMENU)) {
|
||||
if (KeyBindings.showMaterialCosts) {
|
||||
ItemCosts.addTooltip(stack, tooltip.asInstanceOf[util.List[String]])
|
||||
}
|
||||
else {
|
||||
tooltip.add(StatCollector.translateToLocalFormatted(
|
||||
Settings.namespace + "tooltip.MaterialCosts",
|
||||
input.Keyboard.getKeyName(KeyBindings.materialCosts.getKeyCode)))
|
||||
}
|
||||
}
|
||||
|
||||
override def getRenderType = BlockRenderer.getRenderId
|
||||
|
@ -1,12 +1,17 @@
|
||||
package li.cil.oc.common.item
|
||||
|
||||
import cpw.mods.fml.relauncher.{Side, SideOnly}
|
||||
import java.util
|
||||
import li.cil.oc.client.KeyBindings
|
||||
import li.cil.oc.Settings
|
||||
import li.cil.oc.util.ItemCosts
|
||||
import net.minecraft.client.renderer.texture.IIconRegister
|
||||
import net.minecraft.entity.player.EntityPlayer
|
||||
import net.minecraft.item.{EnumRarity, ItemStack}
|
||||
import net.minecraft.util.IIcon
|
||||
import net.minecraft.util.StatCollector
|
||||
import net.minecraft.world.World
|
||||
import org.lwjgl.input
|
||||
|
||||
trait Delegate {
|
||||
val parent: Delegator
|
||||
@ -47,6 +52,14 @@ trait Delegate {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: java.util.List[String], advanced: Boolean) {
|
||||
if (KeyBindings.showMaterialCosts) {
|
||||
ItemCosts.addTooltip(stack, tooltip.asInstanceOf[util.List[String]])
|
||||
}
|
||||
else {
|
||||
tooltip.add(StatCollector.translateToLocalFormatted(
|
||||
Settings.namespace + "tooltip.MaterialCosts",
|
||||
input.Keyboard.getKeyName(KeyBindings.materialCosts.getKeyCode)))
|
||||
}
|
||||
if (stack.hasTagCompound && stack.getTagCompound.hasKey(Settings.namespace + "data")) {
|
||||
val data = stack.getTagCompound.getCompoundTag(Settings.namespace + "data")
|
||||
if (data.hasKey("node") && data.getCompoundTag("node").hasKey("address")) {
|
||||
|
@ -2,7 +2,7 @@ package li.cil.oc.common.item
|
||||
|
||||
import cpw.mods.fml.relauncher.{Side, SideOnly}
|
||||
import java.util
|
||||
import li.cil.oc.util.ItemCosts
|
||||
import java.util.Random
|
||||
import li.cil.oc.{Settings, CreativeTab}
|
||||
import net.minecraft.client.renderer.texture.IIconRegister
|
||||
import net.minecraft.creativetab.CreativeTabs
|
||||
@ -10,10 +10,8 @@ import net.minecraft.entity.player.EntityPlayer
|
||||
import net.minecraft.item.{EnumRarity, ItemStack, Item}
|
||||
import net.minecraft.util.{WeightedRandomChestContent, IIcon}
|
||||
import net.minecraft.world.World
|
||||
import org.lwjgl.input
|
||||
import scala.collection.mutable
|
||||
import net.minecraftforge.common.ChestGenHooks
|
||||
import java.util.Random
|
||||
import scala.collection.mutable
|
||||
|
||||
class Delegator extends Item {
|
||||
setHasSubtypes(true)
|
||||
@ -120,9 +118,6 @@ class Delegator extends Item {
|
||||
case Some(subItem) => subItem.tooltipLines(stack, player, tooltip.asInstanceOf[util.List[String]], advanced)
|
||||
case _ => // Nothing to add.
|
||||
}
|
||||
if (input.Keyboard.isKeyDown(input.Keyboard.KEY_LMENU)) {
|
||||
ItemCosts.addTooltip(stack, tooltip.asInstanceOf[util.List[String]])
|
||||
}
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
|
@ -27,11 +27,11 @@ class Terminal(val parent: Delegator) extends Delegate {
|
||||
@SideOnly(Side.CLIENT)
|
||||
override def tooltipLines(stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) {
|
||||
tooltip.addAll(Tooltip.get(unlocalizedName))
|
||||
super.tooltipLines(stack, player, tooltip, advanced)
|
||||
if (hasServer(stack)) {
|
||||
val server = stack.getTagCompound.getString(Settings.namespace + "server")
|
||||
tooltip.add("§8" + server.substring(0, 13) + "...§7")
|
||||
}
|
||||
super.tooltipLines(stack, player, tooltip, advanced)
|
||||
}
|
||||
|
||||
// TODO check if server is in range and running
|
||||
|
@ -1,10 +1,12 @@
|
||||
package li.cil.oc.util
|
||||
|
||||
import java.util
|
||||
import li.cil.oc.Settings
|
||||
import net.minecraft.block.Block
|
||||
import net.minecraft.init.{Items, Blocks}
|
||||
import net.minecraft.item.crafting._
|
||||
import net.minecraft.item.{Item, ItemStack}
|
||||
import net.minecraft.util.StatCollector
|
||||
import net.minecraftforge.oredict.{OreDictionary, ShapelessOreRecipe, ShapedOreRecipe}
|
||||
import scala.collection.convert.WrapAsScala._
|
||||
import scala.collection.mutable
|
||||
@ -40,11 +42,12 @@ object ItemCosts {
|
||||
terminate(Items.quartz)
|
||||
terminate(Items.nether_star)
|
||||
terminate(Items.redstone)
|
||||
terminate(Items.string)
|
||||
terminate(Items.slime_ball)
|
||||
terminate(Items.stick)
|
||||
|
||||
def addTooltip(stack: ItemStack, tooltip: util.List[String]) {
|
||||
tooltip.add("Materials:")
|
||||
tooltip.add(StatCollector.translateToLocal(Settings.namespace + "tooltip.Materials"))
|
||||
for ((ingredient, count) <- computeIngredients(stack)) {
|
||||
val line = math.ceil(count).toInt + "x " + ingredient.getDisplayName
|
||||
tooltip.add(line)
|
||||
|
@ -1,11 +1,12 @@
|
||||
package li.cil.oc.util
|
||||
|
||||
import li.cil.oc.client.KeyBindings
|
||||
import li.cil.oc.Settings
|
||||
import net.minecraft.client.Minecraft
|
||||
import net.minecraft.util.StatCollector
|
||||
import org.lwjgl.input.Keyboard
|
||||
import scala.collection.convert.WrapAsJava._
|
||||
import scala.collection.mutable
|
||||
import org.lwjgl.input.Keyboard
|
||||
|
||||
object Tooltip {
|
||||
val maxWidth = 200
|
||||
@ -14,12 +15,10 @@ object Tooltip {
|
||||
val tooltip = StatCollector.translateToLocal(Settings.namespace + "tooltip." + name).format(args.map(_.toString): _*)
|
||||
val isSubTooltip = name.contains(".")
|
||||
val font = Minecraft.getMinecraft.fontRenderer
|
||||
val shouldShorten = (isSubTooltip || font.getStringWidth(tooltip) > maxWidth) &&
|
||||
!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) &&
|
||||
!Keyboard.isKeyDown(Keyboard.KEY_RSHIFT)
|
||||
val shouldShorten = (isSubTooltip || font.getStringWidth(tooltip) > maxWidth) && !KeyBindings.showExtendedTooltips
|
||||
if (shouldShorten) {
|
||||
if (isSubTooltip) Seq.empty[String]
|
||||
else Seq(StatCollector.translateToLocal(Settings.namespace + "tooltip.TooLong"))
|
||||
else Seq(StatCollector.translateToLocalFormatted(Settings.namespace + "tooltip.TooLong", Keyboard.getKeyName(KeyBindings.extendedTooltip.getKeyCode)))
|
||||
}
|
||||
else {
|
||||
val nl = """\[nl\]"""
|
||||
|
Loading…
x
Reference in New Issue
Block a user