From 33d3b3b0f982672a835822347953a42c58afb05f Mon Sep 17 00:00:00 2001 From: cyber01 Date: Sun, 14 Jun 2015 20:08:02 +0300 Subject: [PATCH 01/10] Added DataCard to Russian Translation --- .../assets/opencomputers/doc/ru_RU/item/dataCard.md | 7 +++++++ .../resources/assets/opencomputers/doc/ru_RU/item/index.md | 1 + src/main/resources/assets/opencomputers/lang/ru_RU.lang | 1 + 3 files changed, 9 insertions(+) create mode 100644 src/main/resources/assets/opencomputers/doc/ru_RU/item/dataCard.md diff --git a/src/main/resources/assets/opencomputers/doc/ru_RU/item/dataCard.md b/src/main/resources/assets/opencomputers/doc/ru_RU/item/dataCard.md new file mode 100644 index 000000000..fdcacab78 --- /dev/null +++ b/src/main/resources/assets/opencomputers/doc/ru_RU/item/dataCard.md @@ -0,0 +1,7 @@ +# + +![ , .](oredict:oc:dataCard) + + , , . , /. , , , , . + + , , , , . \ No newline at end of file diff --git a/src/main/resources/assets/opencomputers/doc/ru_RU/item/index.md b/src/main/resources/assets/opencomputers/doc/ru_RU/item/index.md index 4003ee25a..66f30fcc7 100644 --- a/src/main/resources/assets/opencomputers/doc/ru_RU/item/index.md +++ b/src/main/resources/assets/opencomputers/doc/ru_RU/item/index.md @@ -20,6 +20,7 @@ ### Карты * [Карта абстрактной шины](abstractBusCard.md) +* [Карта данных](dataCard.md) * [Отладочная карта](debugCard.md) * [Видеокарта](graphicsCard1.md) * [Интернет карта](internetCard.md) diff --git a/src/main/resources/assets/opencomputers/lang/ru_RU.lang b/src/main/resources/assets/opencomputers/lang/ru_RU.lang index 5bf65620c..3f9adc63c 100644 --- a/src/main/resources/assets/opencomputers/lang/ru_RU.lang +++ b/src/main/resources/assets/opencomputers/lang/ru_RU.lang @@ -258,6 +258,7 @@ oc:tooltip.ComponentBus=Позволяет серверам взаимодейс oc:tooltip.CPU=Является важным компонентом в компьютере. Тактовая частота немного нестабильна, но что вы ожидали, ведь он работает даже на карманных солнечных часах. Количество поддерживаемых компонентов: §f%s§7 oc:tooltip.CPU.Architecture=Архитектура: §f%s§7 oc:tooltip.CuttingWire=Используется для нарезки глиняных блоков в пластины. Рвётся после использования, что делает её очень неэффективным инструментом. +oc:tooltip.DataCard=Обеспечивает поддержку нескольких алгоритмов хеширования, а также сжатия. oc:tooltip.DebugCard=Креативный предмет, позволяет манипулировать игровым миром. Используйте на свой страх и риск. oc:tooltip.Debugger=Может быть использован для вывода отладочной информации о внутренней сети. oc:tooltip.Disassembler=Разделяет предметы на исходные компоненты. §lВнимание§7: возвращённые предметы имеют шанс %s%% сломаться! From 95bcf2f2376fcddc888df976bd1a49d520adad3d Mon Sep 17 00:00:00 2001 From: dgelessus Date: Mon, 8 Jun 2015 15:25:14 +0200 Subject: [PATCH 02/10] Update and add achievements to German translation --- .../assets/opencomputers/lang/de_DE.lang | 135 +++++++++++++++--- 1 file changed, 113 insertions(+), 22 deletions(-) diff --git a/src/main/resources/assets/opencomputers/lang/de_DE.lang b/src/main/resources/assets/opencomputers/lang/de_DE.lang index ea46fa9ca..b8f83a7f7 100644 --- a/src/main/resources/assets/opencomputers/lang/de_DE.lang +++ b/src/main/resources/assets/opencomputers/lang/de_DE.lang @@ -1,6 +1,6 @@ -#German (de_DE) localization file -#Translations might not me 100% correct -#Suggestions for improvements are welcome +# German (de_DE) localization file +# Translations might not be 100% correct +# Suggestions for improvements are welcome # Blocks tile.oc.accessPoint.name=Access Point @@ -16,6 +16,7 @@ tile.oc.chameliumBlock.name=Chamälium-Block tile.oc.charger.name=Ladestation tile.oc.disassembler.name=Recycler tile.oc.diskDrive.name=Diskettenlaufwerk +tile.oc.endstone.name=Endstein tile.oc.geolyzer.name=Geolyzer tile.oc.hologram1.name=Hologrammprojektor (Stufe 1) tile.oc.hologram2.name=Hologrammprojektor (Stufe 2) @@ -35,12 +36,16 @@ tile.oc.screen2.name=Bildschirm (Stufe 2) tile.oc.screen3.name=Bildschirm (Stufe 3) tile.oc.serverRack.name=Serverschrank tile.oc.switch.name=Switch +tile.oc.waypoint.name=Wegpunkt # Items item.oc.AbstractBusCard.name=Abstrakter-Bus-Karte item.oc.Acid.name=Grog item.oc.ALU.name=Arithmetisch-logische Einheit (ALU) item.oc.Analyzer.name=Messgerät +item.oc.APU0.name=Beschleunigter Prozessor (APU) (Stufe 1) +item.oc.APU1.name=Beschleunigter Prozessor (APU) (Stufe 2) +item.oc.APU2.name=Beschleunigter Prozessor (APU) (Kreativ) item.oc.ArrowKeys.name=Pfeiltasten item.oc.ButtonGroup.name=Tastengruppe item.oc.CardBase.name=Kartenbasis @@ -54,6 +59,7 @@ item.oc.CPU0.name=Hauptprozessor (CPU) (Stufe 1) item.oc.CPU1.name=Hauptprozessor (CPU) (Stufe 2) item.oc.CPU2.name=Hauptprozessor (CPU) (Stufe 3) item.oc.CuttingWire.name=Schneidedraht +item.oc.DataCard.name=Datenkarte item.oc.DebugCard.name=Debug-Karte item.oc.Debugger.name=Netzwerk-Debugger item.oc.Disk.name=Platte @@ -69,13 +75,14 @@ item.oc.GraphicsCard2.name=Grafikkarte (Stufe 3) item.oc.HardDiskDrive0.name=Festplatte (Stufe 1) item.oc.HardDiskDrive1.name=Festplatte (Stufe 2) item.oc.HardDiskDrive2.name=Festplatte (Stufe 3) +item.oc.hoverBoots.name=Schwebestiefel item.oc.InkCartridge.name=Tintenkartusche item.oc.InkCartridgeEmpty.name=Tintenkartusche (Leer) item.oc.InternetCard.name=Internetkarte item.oc.Interweb.name=Internetz item.oc.IronNugget.name=Eisennugget item.oc.LinkedCard.name=Verknüpfte Karte -item.oc.Manual.name=OpenComputers Handbuch +item.oc.Manual.name=OpenComputers-Handbuch item.oc.Memory0.name=Speicher (Stufe 1) item.oc.Memory1.name=Speicher (Stufe 1.5) item.oc.Memory2.name=Speicher (Stufe 2) @@ -117,12 +124,14 @@ item.oc.UpgradeContainerCard2.name=Karten-Behälter (Stufe 3) item.oc.UpgradeContainerUpgrade0.name=Upgrade-Behälter (Stufe 1) item.oc.UpgradeContainerUpgrade1.name=Upgrade-Behälter (Stufe 2) item.oc.UpgradeContainerUpgrade2.name=Upgrade-Behälter (Stufe 3) -item.oc.UpgradeCrafting.name=Fertigungs-Upgrade +item.oc.UpgradeCrafting.name=Crafting-Upgrade item.oc.UpgradeDatabase0.name=Datenbank-Upgrade (Stufe 1) item.oc.UpgradeDatabase1.name=Datenbank-Upgrade (Stufe 2) item.oc.UpgradeDatabase2.name=Datenbank-Upgrade (Stufe 3) item.oc.UpgradeExperience.name=Erfahrungs-Upgrade item.oc.UpgradeGenerator.name=Generator-Upgrade +item.oc.UpgradeHover0.name=Schwebe-Upgrade (Stufe 1) +item.oc.UpgradeHover1.name=Schwebe-Upgrade (Stufe 2) item.oc.UpgradeInventory.name=Inventar-Upgrade item.oc.UpgradeInventoryController.name=Inventarbedienungs-Upgrade item.oc.UpgradeLeash.name=Leinen-Upgrade @@ -135,6 +144,7 @@ item.oc.UpgradeTankController.name=Tankbedienungs-Upgrade item.oc.UpgradeTractorBeam.name=Traktorstrahl-Upgrade item.oc.WirelessNetworkCard.name=Drahtlosnetzwerkkarte item.oc.WorldSensorCard.name=Weltsensorkarte +item.oc.wrench.name=Schraubenziehschlüssel # Entities entity.oc.Drone.name=Drohne @@ -153,7 +163,7 @@ oc:gui.Analyzer.StoredEnergy=§6Gespeicherte Energie§f: %s 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.Assembler.Collect=Ergebnis entnehmen +oc:gui.Assembler.Collect=Fertiges Gerät entnehmen oc:gui.Assembler.Complexity=Komplexität: %s/%s oc:gui.Assembler.InsertCase=Grundbaustein einlegen oc:gui.Assembler.InsertCPU=CPU benötigt @@ -173,7 +183,7 @@ oc:gui.Chat.WarningClassTransformer=Es gab §cFehler§f beim Ausführen des Clas 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.WarningLink=Link konnte nicht geöffnet werden: %s 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 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, Electrical Age, IndustrialCraft2, Mekanism oder Thermal Expansion. 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, Electrical Age, IndustrialCraft2, Mekanism oder Thermal Expansion. Deaktiviere Stromverbrauch in der Konfiguration, um diese Warnung auszublenden. oc:gui.Chat.WarningProjectRed=Die verwendete Version von Project: Red ist nicht mit OpenComputers kompatibel. Aktualisiere bitte deine Version von Project: Red. oc:gui.Chat.WarningRecipes=Es gab Fehler beim Laden eines oder mehrerer Rezepte. Einige Gegenstände können unter Umständen nicht gefertigt werden. Bitte wirf einen Blick in deine Log-Datei für weitere Informationen. oc:gui.Chat.WarningSimpleComponent=Eine Erweiterung (deine?) welche das §aSimpleComponent§f-Interface verwendet, hat etwas §efalsch gemacht§f. Komponentenlogik konnte nicht eingefügt werden. Bitte wirf einen Blick in deine Log-Datei für weitere Informationen. @@ -183,17 +193,17 @@ oc:gui.Error.NoCPU=Im Computer ist kein Hauptprozessor (CPU) installiert. oc:gui.Error.NoEnergy=Nicht genug Energie. oc:gui.Error.NoRAM=Im Computer ist kein RAM installiert. oc:gui.Error.OutOfMemory=Nicht genug Arbeitsspeicher. -oc:gui.Manual.Blocks=OpenComputers Blöcke +oc:gui.Manual.Blocks=OpenComputers-Blöcke oc:gui.Manual.Home=Startseite -oc:gui.Manual.Items=OpenComputers Gegenstände +oc:gui.Manual.Items=OpenComputers-Gegenstände oc:gui.Manual.Warning.BlockMissing=Block nicht verfügbar. oc:gui.Manual.Warning.ImageMissing=Bild nicht gefunden. oc:gui.Manual.Warning.ItemMissing=Gegenstand nicht verfügbar. oc:gui.Manual.Warning.OreDictMissing=Ore-Dictionary-Eintrag nicht verfügbar. -oc:gui.Raid.Warning=§4Eine Platte einzufügen löscht sie.[nl] Eine Platte zu entfernen löscht das Raid. +oc:gui.Raid.Warning=§4Platten werden beim Einsetzen[nl] gelöscht. Entfernen einer Platte[nl] löscht das gesamte Raid. oc:gui.Robot.Power=Energie oc:gui.Robot.TurnOff=Ausschalten -oc:gui.Robot.TurnOn=Einschalten[nl]§7Nutze ein Messgerät, um Fehler zu behandeln.§r +oc:gui.Robot.TurnOn=Einschalten[nl] §7Nutze ein Messgerät, um Fehler zu behandeln.§r oc:gui.ServerRack.Back=Hinten oc:gui.ServerRack.Bottom=Unten oc:gui.ServerRack.Left=Links @@ -234,20 +244,22 @@ oc:tooltip.Acid=Eine hochgiftige Möchtegernflüssigkeit, wird üblicherweise nu oc:tooltip.Adapter=Erlaubt es, Blöcke anzusteuern, die keine Komponentenblöcke sind, wie etwa reguläre Minecraft-Blöcke oder Blöcke anderer Mods. oc:tooltip.ALU=Zählt Zahlen zum Zeitvertreib. Klingt komisch, is aber so. oc:tooltip.Analyzer=Erlaubt es, Informationen über Blöcke anzuzeigen, wie zum Bleistift ihre §fAdresse§7 und ihren §fKomponentennamen§7.[nl] Erlaubt zudem, den Fehler anzuzeigen, der zu einem Computerabsturz geführt hat, falls der Computer nicht regulär heruntergefahren wurde. +oc:tooltip.APU=Eine CPU mit integrierter GPU (bzw. IGP), falls du unbedingt den zusätzlichen Kartenslot brauchst.[nl] Unterstützte Komponenten: §f%s§7[nl] Höchstauflösung: §f%sx%s§7[nl] Maximale Farbtiefe: §f%s§7[nl] Operationen/Tick: §f%s§7 oc:tooltip.Assembler=Erlaubt die Fertigung von Robotern und weiteren Geräten aus diversen anderen Computerteilen. oc:tooltip.Cable=Ein billiger Weg, verschiedene Blöcke miteinander zu verbinden. oc:tooltip.Capacitor=Speichert Energie für spätere Verwendung. Kann extrem schnell befüllt und entleert werden. oc:tooltip.CardBase=Wie der Name schon sagt, werden alle Erweiterungskarten hieraus hergestellt. oc:tooltip.Case=Das Computergehäuse ist der essentielle Grundbaustein für einen Computer. §fErweiterungskarten§7, §fRAM§7 und §fFestplatten§7 können in einem Gehäuse installiert werden.[nl] Slots: §f%s§7 -oc:tooltip.Chamelium=Rohmaterial für 3D-Drucke. Nicht schlucken: kann zu Erblindung und zeitweiligem Verlust von Präsenz führen. +oc:tooltip.Chamelium=Rohmaterial für 3D-Drucke. Nicht zum Verzehr geeignet: kann zu Erblindung und zeitweiligem Verlust von Präsenz führen. oc:tooltip.ChameliumBlock=Schick und sauber. Praktisch für gefärbte Teile in 3D-Drucken, oder einfach, um deine tolle Basis mit einem schlichten, gefärbten Block zu dekorieren. oc:tooltip.Charger=Lädt Roboter mit Energie aus Kondensatoren auf. Die Ladegeschwindigkeit hängt vom eingehenden §fRedstonesignal§7 ab, wobei kein Signal "nicht laden" und ein Signal mit maximaler Stärke "schnellstmöglich laden" heißt. Erlaubt es auch Tablets zu laden, und ermöglicht Zugriff auf Festplatten in Tablets. oc:tooltip.CircuitBoard=Mühsam ernährt sich das Eichhörnchen. Wenn es groß wird, wird es mal eine gedruckte Leiterplatte. oc:tooltip.ControlUnit=Klingt wichtig, ist es auch. Man baut daraus immerhin CPUs. Wie könnte es da nicht wichtig sein. -oc:tooltip.ComponentBus=Diese Erweiterung erlaubt es es Servern, mit noch mehr Komponenten gleichzeitig zu kommunizieren, ähnlich wie CPUs.[nl] Supported components: §f%s§7 +oc:tooltip.ComponentBus=Diese Erweiterung erlaubt es es Servern, mit noch mehr Komponenten gleichzeitig zu kommunizieren, ähnlich wie CPUs.[nl] Unterstützte Komponenten: §f%s§7 oc:tooltip.CPU=Kernstück eines jeden Computers. Die Taktrate hat einen leichten Schatten, aber was kann man von einer Taschensonnenuhr schon erwarten?[nl] Unterstützte Komponenten: §f%s§7 oc:tooltip.CPU.Architecture=Architektur: §f%s§7 oc:tooltip.CuttingWire=Wird gebraucht, um Tonblöcke in Leiterplattenform zu bekommen. Vermutlich das ineffizienteste Werkzeug in der Geschichte der Menschheit, da es nach einer Verwendung kaputt geht. +oc:tooltip.DataCard=Stellt einige komplexe Algorithmen wie Hash-Funktionen und deflate/inflate bereit. oc:tooltip.DebugCard=Kreativ-Modus-Gegenstand, erlaubt es die Welt zu manipulieren um das Testen zu erleichtern. Verwendung auf eigene Gefahr. oc:tooltip.Debugger=Erlaubt, Informationen über OCs internes Netzwerk auszugeben. Nur verwenden, wenn von einem Entwickler dazu aufgefordert. oc:tooltip.Disassembler=Zerlegt Gegenstände in ihre Einzelteile. §lWarnung§7: zurückgewonnene Gegenstände haben eine %s%%-ige Chance beim Extrahieren kaputt zu gehen! @@ -257,17 +269,19 @@ oc:tooltip.DiskDrive=Erlaubt es, Disketten zu lesen und zu beschreiben. Kann in oc:tooltip.Drone=Drohnen sind schlichte, flinke Aufklärungseinheiten mit limitierter Inventargröße. oc:tooltip.DroneCase=Dieses Gehäuse wird verwendet, um Drohnen in der Elektronik-Werkbank zu bauen. Es bietet Platz für wenige Komponenten und kommt mit endsteinbetriebener Levitation. oc:tooltip.EEPROM=Kleiner, programmierbarer Speicher für das BIOS, das Computer zum starten verwenden. +oc:tooltip.FakeEndstone=So gut wie echt, kann sogar schweben! oc:tooltip.Geolyzer=Erlaubt es die Härte der Blöcke in der Umgebung abzufragen. Hilfreich um Hologramme der Gegend zu erzeugen, oder um Erze zu entdecken. oc:tooltip.GraphicsCard=Erlaubt es, den angezeigten Inhalt von Bildschirmen zu ändern.[nl] Höchstauflösung: §f%sx%s§7[nl] Maximale Farbtiefe: §f%s§7[nl] Operationen/Tick: §f%s§7 +oc:tooltip.HoverBoots=Spring höher, fall tiefer, geh besser. Dies und noch mehr bekommst du mit den neuen, patentierten Schwebestiefeln (TM). oc:tooltip.InkCartridge=Wird verwendet, um 3D-Drucker zu befüllen. Aus mysteriösen Gründen muss die Kartusche nicht fest im Drucker eingebaut werden. oc:tooltip.InkCartridgeEmpty=Diese Kartusche wurde trocken gelegt. Fülle sie mit Farben wieder auf. Oder wirf sie weg. Mir doch egal. -oc:tooltip.InternetCard=Diese Karte erlaubt es, HTTP-Anfragen zu senden und echte TCP Sockets zu verwenden. +oc:tooltip.InternetCard=Diese Karte erlaubt es, HTTP-Anfragen zu senden und echte TCP-Sockets zu verwenden. oc:tooltip.Interweb=Kann in einer Internetkarte verwendet werden, um Computer mit dem rechtsfreien Raum kommunizieren zu lassen. 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.Hologram0=Ein Volumendisplay, das beliebige, von Computern festgelegte Voxelstrukturen anzeigt.[nl] Auflösung: §f48x32x48§7 [nl] Maximale Skalierung: §f3x§7 [nl] Farbtiefe: §fMonochrom§7 oc:tooltip.Hologram1=Ein Volumendisplay, das beliebige, von Computern festgelegte Voxelstrukturen anzeigt.[nl] Auflösung: §f48x32x48§7 [nl] Maximale Skalierung: §f4x§7 [nl] Farbtiefe: §fTricolor§7 -oc:tooltip.LinkedCard=Diese Karten werden paarweise hergestellt, und können ausschließlich mit ihrer jeweilgen Partnerkarte kommunizieren. Dafür können sie über beliebige Entfernungen, und sogar über Dimensionen hinweg kommunizieren. Der Nachteil ist der hohe Energieverbrauch beim Senden einer Nachricht. +oc:tooltip.LinkedCard=Diese Karten werden paarweise hergestellt, und können ausschließlich mit ihrer jeweilgen Partnerkarte kommunizieren, dafür allerdings über beliebige Entfernungen, und sogar über Dimensionen hinweg. Der Nachteil ist der hohe Energieverbrauch beim Senden einer Nachricht. oc:tooltip.LinkedCard_Channel=§8Kanal: %s§7 oc:tooltip.Manual=Alles, was es über OpenComputers zu wissen gibt. Und mehr. Und das alles zu dem unglaublich niedrigen Preis von... §obitte R dücken, um fortzufahren§7. oc:tooltip.MaterialCosts=Halte [§f%s§7] gedrückt für Materialkosten. @@ -290,7 +304,7 @@ oc:tooltip.PowerDistributor=Verteilt Energie zwischen mehreren Netzwerken. Nütz oc:tooltip.Present=... für deine Mühen. Öffne dieses Geschenk für eine Chance, §kdolle Dinge§7 zu erhalten![nl]§8Fertige OpenComputers-Gegenstände zur rechten Zeit, und du hast die Chance ein Geschenk zu erhalten.§7 oc:tooltip.Print.BeaconBase=§8Funktioniert als Grundstein für ein Leuchtfeuer. oc:tooltip.Print.LightValue=§8Leuchtkraft: %s. -oc:tooltip.Print.RedstoneLevel=§8Redstone Signalstärke: %s. +oc:tooltip.Print.RedstoneLevel=§8Redstone-Signalstärke: %s. oc:tooltip.PrintedCircuitBoard=Hierauf basieren alle Erweiterungskarten, Speicher und so weiter. oc:tooltip.Printer=Erlaubt es, Blöcke aus benutzerdefinierten Formen zu drucken. Verwendet Chamälium und Tintenkartuschen. Muss über einen Computer konfiguriert werden. Von Kindern fern halten. Weil halt. oc:tooltip.Raid=Erlaubt es, drei Festplatten zu einem größeren Dateisystem zusammenzuschließen, welches von allen verbundenen Computern genutzt werden kann. @@ -319,14 +333,15 @@ oc:tooltip.Tier=§8Stufe %s 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.UpgradeBattery=Erhöht die Energiespeicherkapazität eines Roboters, was ihm erlaubt, länger zu arbeiten, ohne erneut aufgeladen werden zu müssen. [nl] Kapazität: §f%s§7 -oc:tooltip.UpgradeChunkloader=Wenn sich im Wald ein Roboter bewegt, und niemand da ist, ihn zu sehen, bewegt er sich dann wirklich? Dieses Upgrade stellt sicher, dass dem so ist. Es hält den Chunk, in dem sich der Roboter befindet, geladen, verbraucht, während es aktiv ist, jedoch Energie. -oc:tooltip.UpgradeContainerCard=Dieses Behälter-Upgrade erlaubt es, eine Karte in einem bereits zusammengebauten Roboter zu installieren und wieder zu entfernen. [nl] Maximale Stufe: §f%s§7 -oc:tooltip.UpgradeContainerUpgrade=Dieses Behälter-Upgrade erlaubt es, ein Upgrade in einem bereits zusammengebauten Roboter zu installieren und wieder zu entfernen. [nl] Maximale Stufe: §f%s§7 +oc:tooltip.UpgradeBattery=Erhöht die Energiespeicherkapazität eines Roboters, was ihm erlaubt, länger zu arbeiten, ohne erneut aufgeladen werden zu müssen.[nl] Kapazität: §f%s§7 +oc:tooltip.UpgradeChunkloader=Wenn sich im Wald ein Roboter bewegt, und niemand da ist, ihn zu sehen, bewegt er sich dann wirklich? Dieses Upgrade stellt sicher, dass dem so ist. Es hält den Chunk, in dem sich der Roboter befindet, geladen, verbraucht jedoch Energie, während es aktiv ist. +oc:tooltip.UpgradeContainerCard=Dieses Behälter-Upgrade erlaubt es, eine Karte in einem bereits zusammengebauten Roboter zu installieren und wieder zu entfernen.[nl] Maximale Stufe: §f%s§7 +oc:tooltip.UpgradeContainerUpgrade=Dieses Behälter-Upgrade erlaubt es, ein Upgrade in einem bereits zusammengebauten Roboter zu installieren und wieder zu entfernen.[nl] Maximale Stufe: §f%s§7 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.UpgradeDatabase=Diese Upgrade erlaubt es, Gegenstandsinformationen - für spätere Verwendung in anderen Komponenten - zu speichern.[nl] Maximale Einträge: §f%s§7 oc:tooltip.UpgradeExperience=Dieses Upgrade erlaubt es Robotern, durch verschiedene Aktionen Erfahrung zu sammeln. Je mehr Erfahrung ein Roboter hat, desto mehr Energie kann er speichern, desto schneller kann er Blöcke abbauen und desto effizienter kann er mit Werkzeugen umgehen. 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.UpgradeHover=Erlaubt Robotern höher zu fliegen, ohne an Wänden klettern zu müssen.[nl] Maximalhöhe: §f%s§7 oc:tooltip.UpgradeInventory=Dieses Upgrade gibt Robotern ein internes Inventar. Ohne ein solches Upgrade können Roboter keine Gegenstände verwahren. oc:tooltip.UpgradeInventoryController=Dieses Upgrade erlaubt es dem Roboter, präziser mit externen Inventaren zu interagieren, und erlaubt es ihm, das angelegte Werkzeug mit einem Gegenstand in seinem Inventar auszutauschen. oc:tooltip.UpgradeLeash=Erlaubt es manchen Geräten, wie etwa Drohnen, B- *getuschel* Verzeihung. Mir wurde soeben zugetragen, dass es tatsächlich dazu verwendet werden kann, Tiere an die Leine zu legen. Sogar viele Viecher. @@ -337,11 +352,87 @@ oc:tooltip.UpgradeSolarGenerator=Kann verwendet werden, um unterwegs Energie aus oc:tooltip.UpgradeTank=Dieses Upgrade gibt Robotern einen internen Tank. Ohne ein solches Upgrade können Roboter keine Flüssigkeiten verwahren. oc:tooltip.UpgradeTankController=Dieses Upgrade erlaubt es dem Roboter, präziser mit externen Tanks zu interagieren, und erlaubt es ihm, Flüssigkeiten in und aus sich im Inventar befindlichen Tank-Gegenständen zu pumpen. oc:tooltip.UpgradeTractorBeam=Stattet den Roboter mit unglaublich fortschrittlicher Technologie - Kosename: "Gegenstandsmagnet" - aus. Erlaubt es dem Roboter, Gegenstände, innerhalb von 3 Blöcken um sich herum, einzusammeln. +oc:tooltip.Waypoint=Ein Orientierungpunkt für Geräte mit einem Navigations-Upgrade. oc:tooltip.WirelessNetworkCard=Erlaubt das drahtlose Senden von Netzwerknachrichten, zusätzlich zu normalen. Drahtlose Nachrichten werden nur gesendet, wenn eine §fSignalstärke§7 festgelegt wurde! oc:tooltip.WorldSensorCard=Erlaubt es, Informationen über die Welt auszulesen, wie etwa Gravitation und ob die Atmosphäre atembar ist. Verwendung von Messergebnissen auf eigene Gefahr. Der Hersteller übernimmt keinerlei Garantie. +oc:tooltip.Wrench=Eine Mischung aus Schraubenzieher und Schraubenschlüssel, einfach zu benutzen, aber schwer zu meistern. + +# Achievements +achievement.oc.adapter=Steck mich ein +achievement.oc.adapter.desc=Interagiert mit Blöcken aus anderen Mods, und sogar Vanilla-Minecraft! +achievement.oc.assembler=Wundervoll +achievement.oc.assembler.desc=Zeit, die Welt zu erobern! +achievement.oc.cable=Kein gewöhnliches Kabel +achievement.oc.cable.desc=Mit patentierter Anti-Kabelsalat-Technologie. +achievement.oc.capacitor=Batterien enthalten +achievement.oc.capacitor.desc=Achtung: Kurzschlussgefahr. +achievement.oc.card=Wir akzeptieren Karten +achievement.oc.card.desc=Dreimal falsche PIN-Eingabe. Karte wird einbehalten. +achievement.oc.case=Desktop-Computer +achievement.oc.case.desc=Desktop (und Betriebssystem) separat erhältlich. +achievement.oc.charger=Die Spannung steigt +achievement.oc.charger.desc=Und auflad- verdammt, schon wieder das Redstone-Signal vergessen. +achievement.oc.chip=Technischer Fortschritt +achievement.oc.chip.desc=Besser als Elekrtonenröhren. +achievement.oc.cpu=Overclocked +achievement.oc.cpu.desc=Endlich ein Nutzen für die ungenutzten Prozessorzyklen. +achievement.oc.disassembler=Nochmal von vorn +achievement.oc.disassembler.desc=Falls deine brillianten Ideen am Ende doch nicht so brilliant sind. +achievement.oc.diskDrive=*klick brumm brumm brumm ratter* +achievement.oc.diskDrive.desc=Weniger Speicherplatz, aber welch ein wundervolles Geräusch. +achievement.oc.drone=Startbereit +achievement.oc.drone.desc=Keep calm and nuke it from orbit. +achievement.oc.eeprom=Es kann nur einen geben +achievement.oc.eeprom.desc=Pro Computer, genau genommen. Für eine deterministische Boot-Reihenfolge, weißt du? +achievement.oc.floppy=Der Eine Ri- Datenspeicher +achievement.oc.floppy.desc=Nicht zu verwechseln mit Flappy. +achievement.oc.geolyzer=Gezielte Rohstoffsuche +achievement.oc.geolyzer.desc=Umweltfreundlicher als Fracking, versprochen. +achievement.oc.graphicsCard=LastGen +achievement.oc.graphicsCard.desc=The way it's meant to be... äh... rendered. Ja. So ungefähr. +achievement.oc.hdd=Hotdog-Dealer +achievement.oc.hdd.desc=Moment, das stimmt nicht ganz. Warte, gleich hab' ich's... +achievement.oc.hologram=Eine höhere Dimension +achievement.oc.hologram.desc=Weil 2D so langweilig ist. Oder ist es das wirklich? +achievement.oc.keyboard=SchmutzFänger3000 +achievement.oc.keyboard.desc=Es wird davon abgeraten, sie umzudrehen und zu schütteln, auch wenn es noch so verlockend ist. +achievement.oc.microcontroller=Kleine Schwester +achievement.oc.microcontroller.desc=Das kleine Geschwisterkind des Computers. +achievement.oc.motionSensor=Got the Moves +achievement.oc.motionSensor.desc=Like Steve Swagger. +achievement.oc.networkCard=Fernleitung +achievement.oc.networkCard.desc=Perfekt um diese transitiven Beziehungen aufrecht zu erhalten. +achievement.oc.openOS=Boot +achievement.oc.openOS.desc=Das Eine Betrieb- wie, was meinst du, der Witz wird alt? +achievement.oc.powerDistributor=Strom-Sharing +achievement.oc.powerDistributor.desc=ElektroVZ ist so 2010. +achievement.oc.rack=Multifunktionsschrank +achievement.oc.rack.desc=Wird unter Anderem in Kantinen genutzt, um gebrauchte Tabletts zu sammeln. +achievement.oc.raid=Suche Team +achievement.oc.raid.desc=Heroic plzkthx. +achievement.oc.ram=Random Access Memories +achievement.oc.ram.desc=Congratulations, you're Doin' It Right. +achievement.oc.redstoneCard=Kontakt +achievement.oc.redstoneCard.desc=Zeit für Analogsignale. +achievement.oc.redstoneIO=Außenseiter +achievement.oc.redstoneIO.desc=Redstone-Signale, dort wo du sie brauchst. +achievement.oc.robot=Beep Boop +achievement.oc.robot.desc=VERNICHTEN! +achievement.oc.screen=Hast du schon versucht, ihn aus- und wieder anzuschalten? +achievement.oc.screen.desc=Nein, ernsthaft. Ein Redstone-Impuls kann wirklich einen Bildschirm an- und ausschalten. +achievement.oc.server=Dediziert +achievement.oc.server.desc=Hier kommen die Cloud-Dienste. +achievement.oc.switch=Paketdienst +achievement.oc.switch.desc=Nicht für Hinkelsteine verwenden, die könnten sonst beim Aussortieren verloren gehen. +achievement.oc.tablet=Verschluckbare Kleinteile +achievement.oc.tablet.desc=Von Kindern fernhalten, um unerwünschte Kreditkartenbelastungen zu vermeiden. +achievement.oc.transistor=Schöne Grüße an Red! +achievement.oc.transistor.desc=Jetzt kannst du dir den Soundtrack anhören. +achievement.oc.wirelessNetworkCard=Das WLAN - Unendliche Weiten +achievement.oc.wirelessNetworkCard.desc=Netzwerke, die nie ein Paket zuvor gesehen hat. # NEI Integration -nei.options.inventory.oredict=Zeige OreDictionary Namen +nei.options.inventory.oredict=OreDictionary-Namen anzeigen nei.options.inventory.oredict.true=True nei.options.inventory.oredict.false=False nei.usage.oc.Manual=Handbuch öffnen @@ -349,4 +440,4 @@ nei.usage.oc.Manual=Handbuch öffnen # Waila Integration option.oc.address=Adresse option.oc.componentName=Komponentenname -option.oc.energy=Energie \ No newline at end of file +option.oc.energy=Energie From 4cf328598953bad15a8884dfd463fb1eba43d21f Mon Sep 17 00:00:00 2001 From: DrummerMC Date: Tue, 16 Jun 2015 16:01:17 +0200 Subject: [PATCH 03/10] Added EC Integration --- build.gradle | 5 +++ build.properties | 2 ++ .../scala/li/cil/oc/integration/Mods.scala | 6 ++++ .../integration/appeng/NetworkControl.scala | 9 +++++- .../oc/integration/ec/DriverController.scala | 31 +++++++++++++++++++ .../oc/integration/ec/DriverInterface.scala | 26 ++++++++++++++++ .../li/cil/oc/integration/ec/ECUtil.scala | 13 ++++++++ .../cil/oc/integration/ec/ModExtraCells.scala | 13 ++++++++ .../oc/integration/ec/NetworkControl.scala | 22 +++++++++++++ .../mekanism/gas/ConverterGasStack.scala | 24 ++++++++++++++ .../mekanism/gas/ModMekanismGas.scala | 13 ++++++++ 11 files changed, 163 insertions(+), 1 deletion(-) create mode 100644 src/main/scala/li/cil/oc/integration/ec/DriverController.scala create mode 100644 src/main/scala/li/cil/oc/integration/ec/DriverInterface.scala create mode 100644 src/main/scala/li/cil/oc/integration/ec/ECUtil.scala create mode 100644 src/main/scala/li/cil/oc/integration/ec/ModExtraCells.scala create mode 100644 src/main/scala/li/cil/oc/integration/ec/NetworkControl.scala create mode 100644 src/main/scala/li/cil/oc/integration/mekanism/gas/ConverterGasStack.scala create mode 100644 src/main/scala/li/cil/oc/integration/mekanism/gas/ModMekanismGas.scala diff --git a/build.gradle b/build.gradle index b091cbdb5..799b0ec78 100644 --- a/build.gradle +++ b/build.gradle @@ -152,6 +152,10 @@ repositories { name 'BloodMagic' artifactPattern "http://addons-origin.cursecdn.com/files/${config.bloodmagic.cf}/[module]-${config.minecraft.version}-[revision].[ext]" } + ivy { + name 'ExtraCells' + artifactPattern "http://addons-origin.cursecdn.com/files/${config.ec.cf}/[module]-[revision].[ext]" + } } configurations { @@ -191,6 +195,7 @@ dependencies { provided name: 'EnderIO', version: config.eio.version, ext: 'jar' provided name: 'Railcraft', version: config.rc.version, ext: 'jar' provided name: 'BloodMagic', version: config.bloodmagic.version, ext: 'jar' + provided name: 'ExtraCells', version: config.ec.version, ext: 'jar' compile 'com.google.code.findbugs:jsr305:1.3.9' // Annotations used by google libs. diff --git a/build.properties b/build.properties index 116a3db04..50f0c35e7 100644 --- a/build.properties +++ b/build.properties @@ -14,6 +14,8 @@ cc.version=1.65 ccl.version=1.1.1.104 cofhlib.cf=2230/207 cofhlib.version=[1.7.10]1.0.0RC7-127 +ec.cf=2242/839 +ec.version=deobf-1.7.10-2.2.73b129 eio.cf=2219/296 eio.version=1.7.10-2.2.1.276 es.version=1.4.5.24 diff --git a/src/main/scala/li/cil/oc/integration/Mods.scala b/src/main/scala/li/cil/oc/integration/Mods.scala index 9d409600e..bf7249107 100644 --- a/src/main/scala/li/cil/oc/integration/Mods.scala +++ b/src/main/scala/li/cil/oc/integration/Mods.scala @@ -35,6 +35,7 @@ object Mods { val ComputerCraft = new SimpleMod(IDs.ComputerCraft) val CraftingCosts = new SimpleMod(IDs.CraftingCosts) val DeepStorageUnit = new ClassBasedMod(IDs.DeepStorageUnit, "powercrystals.minefactoryreloaded.api.IDeepStorageUnit")() + val ExtraCells = new SimpleMod(IDs.ExtraCells, version = "@[2.2.73,)") val ElectricalAge = new SimpleMod(IDs.ElectricalAge, providesPower = true) val EnderIO = new SimpleMod(IDs.EnderIO) val EnderStorage = new SimpleMod(IDs.EnderStorage) @@ -47,6 +48,7 @@ object Mods { val IndustrialCraft2Classic = new SimpleMod(IDs.IndustrialCraft2Classic, providesPower = true) val IngameWiki = new SimpleMod(IDs.IngameWiki, version = "@[1.1.3,)") val Mekanism = new SimpleMod(IDs.Mekanism, providesPower = true) + val MekanismGas = new SimpleMod(IDs.MekanismGas) val Minecraft = new SimpleMod(IDs.Minecraft) val MineFactoryReloaded = new SimpleMod(IDs.MineFactoryReloaded) val Mystcraft = new SimpleMod(IDs.Mystcraft) @@ -91,6 +93,7 @@ object Mods { integration.cofh.item.ModCoFHItem, integration.cofh.tileentity.ModCoFHTileEntity, integration.cofh.transport.ModCoFHTransport, + integration.ec.ModExtraCells, integration.enderstorage.ModEnderStorage, integration.dsu.ModDeepStorageUnit, integration.forestry.ModForestry, @@ -98,6 +101,7 @@ object Mods { integration.gc.ModGalacticraft, integration.gregtech.ModGregtech, integration.ic2.ModIndustrialCraft2, + integration.mekanism.gas.ModMekanismGas, integration.mfr.ModMineFactoryReloaded, integration.mystcraft.ModMystcraft, integration.nek.ModNotEnoughKeys, @@ -164,6 +168,7 @@ object Mods { final val CoFHTransport = "CoFHAPI|transport" final val ComputerCraft = "ComputerCraft" final val CraftingCosts = "CraftingCosts" + final val ExtraCells = "extracells" final val ElectricalAge = "Eln" final val EnderIO = "EnderIO" final val EnderStorage = "EnderStorage" @@ -177,6 +182,7 @@ object Mods { final val IndustrialCraft2Classic = "IC2-Classic" final val IngameWiki = "IGWMod" final val Mekanism = "Mekanism" + final val MekanismGas = "MekanismAPI|gas" final val Minecraft = "Minecraft" final val MineFactoryReloaded = "MineFactoryReloaded" final val Mystcraft = "Mystcraft" diff --git a/src/main/scala/li/cil/oc/integration/appeng/NetworkControl.scala b/src/main/scala/li/cil/oc/integration/appeng/NetworkControl.scala index d5adec0ce..3624c3636 100644 --- a/src/main/scala/li/cil/oc/integration/appeng/NetworkControl.scala +++ b/src/main/scala/li/cil/oc/integration/appeng/NetworkControl.scala @@ -17,6 +17,8 @@ import li.cil.oc.api.machine.Context import li.cil.oc.api.network.Node import li.cil.oc.api.prefab.AbstractValue import li.cil.oc.common.EventHandler +import li.cil.oc.integration.ec.ECUtil +import li.cil.oc.integration.Mods import li.cil.oc.util.DatabaseAccess import li.cil.oc.util.ExtendedArguments._ import li.cil.oc.util.ExtendedNBT._ @@ -96,7 +98,12 @@ trait NetworkControl[AETile >: Null <: TileEntity with IGridProxyable with IActi @Callback(doc = "function():table -- Get a list of the stored fluids in the network.") def getFluidsInNetwork(context: Context, args: Arguments): Array[AnyRef] = - result(tile.getProxy.getStorage.getFluidInventory.getStorageList.map(_.getFluidStack).toArray) + result(tile.getProxy.getStorage.getFluidInventory.getStorageList.filter(stack => { + if(Mods.ExtraCells.isAvailable) + ECUtil.canSeeFluidInNetwork(stack) + else + true + }).map(_.getFluidStack).toArray) @Callback(doc = "function():number -- Get the average power injection into the network.") def getAvgPowerInjection(context: Context, args: Arguments): Array[AnyRef] = diff --git a/src/main/scala/li/cil/oc/integration/ec/DriverController.scala b/src/main/scala/li/cil/oc/integration/ec/DriverController.scala new file mode 100644 index 000000000..95097d31b --- /dev/null +++ b/src/main/scala/li/cil/oc/integration/ec/DriverController.scala @@ -0,0 +1,31 @@ +package li.cil.oc.integration.ec + +import appeng.api.networking.security.IActionHost +import appeng.me.helpers.IGridProxyable +import li.cil.oc.api.driver.EnvironmentAware +import li.cil.oc.api.network.ManagedEnvironment +import li.cil.oc.api.prefab.DriverTileEntity +import li.cil.oc.integration.ManagedTileEntityEnvironment +import li.cil.oc.integration.appeng.AEUtil +import net.minecraft.item.ItemStack +import net.minecraft.tileentity.TileEntity +import net.minecraft.world.World + +import scala.language.existentials + +object DriverController extends DriverTileEntity with EnvironmentAware { + private type TileController = TileEntity with IGridProxyable with IActionHost + + def getTileEntityClass = AEUtil.controllerClass + + def createEnvironment(world: World, x: Int, y: Int, z: Int): ManagedEnvironment = + new Environment(world.getTileEntity(x, y, z).asInstanceOf[TileController]) + + override def providedEnvironment(stack: ItemStack) = + if (AEUtil.isController(stack)) classOf[Environment] + else null + + class Environment(val tile: TileController) extends ManagedTileEntityEnvironment[TileController](tile, "me_controller") with NetworkControl[TileController] { + } + +} diff --git a/src/main/scala/li/cil/oc/integration/ec/DriverInterface.scala b/src/main/scala/li/cil/oc/integration/ec/DriverInterface.scala new file mode 100644 index 000000000..0d727fff8 --- /dev/null +++ b/src/main/scala/li/cil/oc/integration/ec/DriverInterface.scala @@ -0,0 +1,26 @@ +package li.cil.oc.integration.ec + + +import appeng.tile.misc.TileInterface +import li.cil.oc.api.driver.EnvironmentAware +import li.cil.oc.api.network.ManagedEnvironment +import li.cil.oc.api.prefab.DriverTileEntity +import li.cil.oc.integration.ManagedTileEntityEnvironment +import li.cil.oc.integration.appeng.AEUtil +import net.minecraft.item.ItemStack +import net.minecraft.world.World + +object DriverInterface extends DriverTileEntity with EnvironmentAware { + def getTileEntityClass: Class[_] = classOf[TileInterface] + + def createEnvironment(world: World, x: Int, y: Int, z: Int): ManagedEnvironment = + new Environment(world.getTileEntity(x, y, z).asInstanceOf[TileInterface]) + + override def providedEnvironment(stack: ItemStack) = + if (AEUtil.isBlockInterface(stack)) classOf[Environment] + else null + + class Environment(val tile: TileInterface) extends ManagedTileEntityEnvironment[TileInterface](tile, "me_interface") with NetworkControl[TileInterface] { + } + +} \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/integration/ec/ECUtil.scala b/src/main/scala/li/cil/oc/integration/ec/ECUtil.scala new file mode 100644 index 000000000..8285a1f93 --- /dev/null +++ b/src/main/scala/li/cil/oc/integration/ec/ECUtil.scala @@ -0,0 +1,13 @@ +package li.cil.oc.integration.ec + +import appeng.api.storage.data.IAEFluidStack +import extracells.api.ECApi + + +object ECUtil { + + val api = ECApi.instance + + def canSeeFluidInNetwork(fluid: IAEFluidStack) = fluid != null && api.canFluidSeeInTerminal(fluid.getFluid) + +} \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/integration/ec/ModExtraCells.scala b/src/main/scala/li/cil/oc/integration/ec/ModExtraCells.scala new file mode 100644 index 000000000..f052bd54a --- /dev/null +++ b/src/main/scala/li/cil/oc/integration/ec/ModExtraCells.scala @@ -0,0 +1,13 @@ +package li.cil.oc.integration.ec + +import li.cil.oc.api.Driver +import li.cil.oc.integration.{Mods, Mod, ModProxy} + +object ModExtraCells extends ModProxy{ + override def getMod: Mod = Mods.ExtraCells + + override def initialize(): Unit = { + Driver.add(DriverController) + Driver.add(DriverInterface) + } +} \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/integration/ec/NetworkControl.scala b/src/main/scala/li/cil/oc/integration/ec/NetworkControl.scala new file mode 100644 index 000000000..482f32cd3 --- /dev/null +++ b/src/main/scala/li/cil/oc/integration/ec/NetworkControl.scala @@ -0,0 +1,22 @@ +package li.cil.oc.integration.ec + +import appeng.api.networking.security.IActionHost +import appeng.me.helpers.IGridProxyable +import extracells.api.ECApi +import li.cil.oc.api.machine.{Arguments, Context, Callback} +import li.cil.oc.util.ResultWrapper._ +import net.minecraft.tileentity.TileEntity +import scala.collection.convert.WrapAsScala._ + +// Note to self: this class is used by ExtraCells (and potentially others), do not rename / drastically change it. +trait NetworkControl[AETile >: Null <: TileEntity with IGridProxyable with IActionHost] { + def tile: AETile + + val api = ECApi.instance + + @Callback(doc = "function():table -- Get a list of the stored gases in the network.") + def getGasesInNetwork(context: Context, args: Arguments): Array[AnyRef] = + result(tile.getProxy.getStorage.getFluidInventory.getStorageList.filter(stack => api.isGasStack(stack)).map(api.createGasStack(_)).toArray) + + +} \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/integration/mekanism/gas/ConverterGasStack.scala b/src/main/scala/li/cil/oc/integration/mekanism/gas/ConverterGasStack.scala new file mode 100644 index 000000000..7ca0353c5 --- /dev/null +++ b/src/main/scala/li/cil/oc/integration/mekanism/gas/ConverterGasStack.scala @@ -0,0 +1,24 @@ +package li.cil.oc.integration.mekanism.gas + +import java.util + +import li.cil.oc.{Settings, api} + +import scala.collection.convert.WrapAsScala._ + +object ConverterGasStack extends api.driver.Converter { + override def convert(value: scala.Any, output: util.Map[AnyRef, AnyRef]) = + value match { + case stack: mekanism.api.gas.GasStack => + if (Settings.get.insertIdsInConverters) { + output += "id" -> Int.box(stack.getGas.getID) + } + output += "amount" -> Int.box(stack.amount) + val gas = stack.getGas + if (gas != null) { + output += "name" -> gas.getName + output += "label" -> gas.getLocalizedName + } + case _ => + } +} \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/integration/mekanism/gas/ModMekanismGas.scala b/src/main/scala/li/cil/oc/integration/mekanism/gas/ModMekanismGas.scala new file mode 100644 index 000000000..f0f3d7348 --- /dev/null +++ b/src/main/scala/li/cil/oc/integration/mekanism/gas/ModMekanismGas.scala @@ -0,0 +1,13 @@ +package li.cil.oc.integration.mekanism.gas + +import li.cil.oc.api.Driver +import li.cil.oc.integration.{Mod, ModProxy, Mods} + + +object ModMekanismGas extends ModProxy{ + override def getMod: Mod = Mods.MekanismGas + + override def initialize(): Unit = { + Driver.add(ConverterGasStack) + } +} \ No newline at end of file From 063b8115d1e923c38c246303e5cf46977554af53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Tue, 16 Jun 2015 21:05:32 +0200 Subject: [PATCH 04/10] Push up warning text in raid two pixels to avoid long text (3 lines) overlapping the inventory label. Looks ugly for two lines, but meh. --- src/main/scala/li/cil/oc/client/gui/Raid.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/li/cil/oc/client/gui/Raid.scala b/src/main/scala/li/cil/oc/client/gui/Raid.scala index 91f1ecf1e..b65bd3c76 100644 --- a/src/main/scala/li/cil/oc/client/gui/Raid.scala +++ b/src/main/scala/li/cil/oc/client/gui/Raid.scala @@ -16,7 +16,7 @@ class Raid(playerInventory: InventoryPlayer, val raid: tileentity.Raid) extends fontRendererObj.drawSplitString( Localization.Raid.Warning, - 8, 48, 0x404040, width - 16) + 8, 46, 0x404040, width - 16) } override def drawGuiContainerBackgroundLayer(dt: Float, mouseX: Int, mouseY: Int) { From 3bc9484094643105572a1de178471f6b27f69b30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Tue, 16 Jun 2015 21:06:40 +0200 Subject: [PATCH 05/10] Formatting, organized imports, sorting. --- src/main/scala/li/cil/oc/integration/Mods.scala | 4 ++-- .../oc/integration/appeng/NetworkControl.scala | 11 ++++------- ...Interface.scala => DriverBlockInterface.scala} | 8 +++----- .../cil/oc/integration/ec/DriverController.scala | 3 +-- .../scala/li/cil/oc/integration/ec/ECUtil.scala | 9 ++------- .../li/cil/oc/integration/ec/ModExtraCells.scala | 8 +++++--- .../li/cil/oc/integration/ec/NetworkControl.scala | 15 ++++++++------- .../mekanism/gas/ConverterGasStack.scala | 5 +++-- .../integration/mekanism/gas/ModMekanismGas.scala | 9 +++++---- 9 files changed, 33 insertions(+), 39 deletions(-) rename src/main/scala/li/cil/oc/integration/ec/{DriverInterface.scala => DriverBlockInterface.scala} (82%) diff --git a/src/main/scala/li/cil/oc/integration/Mods.scala b/src/main/scala/li/cil/oc/integration/Mods.scala index bf7249107..2f7816eee 100644 --- a/src/main/scala/li/cil/oc/integration/Mods.scala +++ b/src/main/scala/li/cil/oc/integration/Mods.scala @@ -35,10 +35,10 @@ object Mods { val ComputerCraft = new SimpleMod(IDs.ComputerCraft) val CraftingCosts = new SimpleMod(IDs.CraftingCosts) val DeepStorageUnit = new ClassBasedMod(IDs.DeepStorageUnit, "powercrystals.minefactoryreloaded.api.IDeepStorageUnit")() - val ExtraCells = new SimpleMod(IDs.ExtraCells, version = "@[2.2.73,)") val ElectricalAge = new SimpleMod(IDs.ElectricalAge, providesPower = true) val EnderIO = new SimpleMod(IDs.EnderIO) val EnderStorage = new SimpleMod(IDs.EnderStorage) + val ExtraCells = new SimpleMod(IDs.ExtraCells, version = "@[2.2.73,)") val Factorization = new SimpleMod(IDs.Factorization, providesPower = true) val Forestry = new SimpleMod(IDs.Forestry) val ForgeMultipart = new SimpleMod(IDs.ForgeMultipart) @@ -168,10 +168,10 @@ object Mods { final val CoFHTransport = "CoFHAPI|transport" final val ComputerCraft = "ComputerCraft" final val CraftingCosts = "CraftingCosts" - final val ExtraCells = "extracells" final val ElectricalAge = "Eln" final val EnderIO = "EnderIO" final val EnderStorage = "EnderStorage" + final val ExtraCells = "extracells" final val Factorization = "factorization" final val Forestry = "Forestry" final val ForgeMultipart = "ForgeMultipart" diff --git a/src/main/scala/li/cil/oc/integration/appeng/NetworkControl.scala b/src/main/scala/li/cil/oc/integration/appeng/NetworkControl.scala index 3624c3636..059a56bac 100644 --- a/src/main/scala/li/cil/oc/integration/appeng/NetworkControl.scala +++ b/src/main/scala/li/cil/oc/integration/appeng/NetworkControl.scala @@ -17,8 +17,8 @@ import li.cil.oc.api.machine.Context import li.cil.oc.api.network.Node import li.cil.oc.api.prefab.AbstractValue import li.cil.oc.common.EventHandler -import li.cil.oc.integration.ec.ECUtil import li.cil.oc.integration.Mods +import li.cil.oc.integration.ec.ECUtil import li.cil.oc.util.DatabaseAccess import li.cil.oc.util.ExtendedArguments._ import li.cil.oc.util.ExtendedNBT._ @@ -98,12 +98,9 @@ trait NetworkControl[AETile >: Null <: TileEntity with IGridProxyable with IActi @Callback(doc = "function():table -- Get a list of the stored fluids in the network.") def getFluidsInNetwork(context: Context, args: Arguments): Array[AnyRef] = - result(tile.getProxy.getStorage.getFluidInventory.getStorageList.filter(stack => { - if(Mods.ExtraCells.isAvailable) - ECUtil.canSeeFluidInNetwork(stack) - else - true - }).map(_.getFluidStack).toArray) + result(tile.getProxy.getStorage.getFluidInventory.getStorageList.filter(stack => + !Mods.ExtraCells.isAvailable || ECUtil.canSeeFluidInNetwork(stack)). + map(_.getFluidStack).toArray) @Callback(doc = "function():number -- Get the average power injection into the network.") def getAvgPowerInjection(context: Context, args: Arguments): Array[AnyRef] = diff --git a/src/main/scala/li/cil/oc/integration/ec/DriverInterface.scala b/src/main/scala/li/cil/oc/integration/ec/DriverBlockInterface.scala similarity index 82% rename from src/main/scala/li/cil/oc/integration/ec/DriverInterface.scala rename to src/main/scala/li/cil/oc/integration/ec/DriverBlockInterface.scala index 0d727fff8..0aef022b9 100644 --- a/src/main/scala/li/cil/oc/integration/ec/DriverInterface.scala +++ b/src/main/scala/li/cil/oc/integration/ec/DriverBlockInterface.scala @@ -1,6 +1,5 @@ package li.cil.oc.integration.ec - import appeng.tile.misc.TileInterface import li.cil.oc.api.driver.EnvironmentAware import li.cil.oc.api.network.ManagedEnvironment @@ -10,7 +9,7 @@ import li.cil.oc.integration.appeng.AEUtil import net.minecraft.item.ItemStack import net.minecraft.world.World -object DriverInterface extends DriverTileEntity with EnvironmentAware { +object DriverBlockInterface extends DriverTileEntity with EnvironmentAware { def getTileEntityClass: Class[_] = classOf[TileInterface] def createEnvironment(world: World, x: Int, y: Int, z: Int): ManagedEnvironment = @@ -20,7 +19,6 @@ object DriverInterface extends DriverTileEntity with EnvironmentAware { if (AEUtil.isBlockInterface(stack)) classOf[Environment] else null - class Environment(val tile: TileInterface) extends ManagedTileEntityEnvironment[TileInterface](tile, "me_interface") with NetworkControl[TileInterface] { - } + class Environment(val tile: TileInterface) extends ManagedTileEntityEnvironment[TileInterface](tile, "me_interface") with NetworkControl[TileInterface] -} \ No newline at end of file +} diff --git a/src/main/scala/li/cil/oc/integration/ec/DriverController.scala b/src/main/scala/li/cil/oc/integration/ec/DriverController.scala index 95097d31b..a9b73df8d 100644 --- a/src/main/scala/li/cil/oc/integration/ec/DriverController.scala +++ b/src/main/scala/li/cil/oc/integration/ec/DriverController.scala @@ -25,7 +25,6 @@ object DriverController extends DriverTileEntity with EnvironmentAware { if (AEUtil.isController(stack)) classOf[Environment] else null - class Environment(val tile: TileController) extends ManagedTileEntityEnvironment[TileController](tile, "me_controller") with NetworkControl[TileController] { - } + class Environment(val tile: TileController) extends ManagedTileEntityEnvironment[TileController](tile, "me_controller") with NetworkControl[TileController] } diff --git a/src/main/scala/li/cil/oc/integration/ec/ECUtil.scala b/src/main/scala/li/cil/oc/integration/ec/ECUtil.scala index 8285a1f93..b094c079f 100644 --- a/src/main/scala/li/cil/oc/integration/ec/ECUtil.scala +++ b/src/main/scala/li/cil/oc/integration/ec/ECUtil.scala @@ -3,11 +3,6 @@ package li.cil.oc.integration.ec import appeng.api.storage.data.IAEFluidStack import extracells.api.ECApi - object ECUtil { - - val api = ECApi.instance - - def canSeeFluidInNetwork(fluid: IAEFluidStack) = fluid != null && api.canFluidSeeInTerminal(fluid.getFluid) - -} \ No newline at end of file + def canSeeFluidInNetwork(fluid: IAEFluidStack) = fluid != null && ECApi.instance.canFluidSeeInTerminal(fluid.getFluid) +} diff --git a/src/main/scala/li/cil/oc/integration/ec/ModExtraCells.scala b/src/main/scala/li/cil/oc/integration/ec/ModExtraCells.scala index f052bd54a..cbb1a2b86 100644 --- a/src/main/scala/li/cil/oc/integration/ec/ModExtraCells.scala +++ b/src/main/scala/li/cil/oc/integration/ec/ModExtraCells.scala @@ -1,13 +1,15 @@ package li.cil.oc.integration.ec import li.cil.oc.api.Driver -import li.cil.oc.integration.{Mods, Mod, ModProxy} +import li.cil.oc.integration.Mod +import li.cil.oc.integration.ModProxy +import li.cil.oc.integration.Mods -object ModExtraCells extends ModProxy{ +object ModExtraCells extends ModProxy { override def getMod: Mod = Mods.ExtraCells override def initialize(): Unit = { Driver.add(DriverController) - Driver.add(DriverInterface) + Driver.add(DriverBlockInterface) } } \ No newline at end of file diff --git a/src/main/scala/li/cil/oc/integration/ec/NetworkControl.scala b/src/main/scala/li/cil/oc/integration/ec/NetworkControl.scala index 482f32cd3..540bed796 100644 --- a/src/main/scala/li/cil/oc/integration/ec/NetworkControl.scala +++ b/src/main/scala/li/cil/oc/integration/ec/NetworkControl.scala @@ -3,20 +3,21 @@ package li.cil.oc.integration.ec import appeng.api.networking.security.IActionHost import appeng.me.helpers.IGridProxyable import extracells.api.ECApi -import li.cil.oc.api.machine.{Arguments, Context, Callback} +import li.cil.oc.api.machine.Arguments +import li.cil.oc.api.machine.Callback +import li.cil.oc.api.machine.Context import li.cil.oc.util.ResultWrapper._ import net.minecraft.tileentity.TileEntity + import scala.collection.convert.WrapAsScala._ // Note to self: this class is used by ExtraCells (and potentially others), do not rename / drastically change it. trait NetworkControl[AETile >: Null <: TileEntity with IGridProxyable with IActionHost] { def tile: AETile - val api = ECApi.instance - @Callback(doc = "function():table -- Get a list of the stored gases in the network.") def getGasesInNetwork(context: Context, args: Arguments): Array[AnyRef] = - result(tile.getProxy.getStorage.getFluidInventory.getStorageList.filter(stack => api.isGasStack(stack)).map(api.createGasStack(_)).toArray) - - -} \ No newline at end of file + result(tile.getProxy.getStorage.getFluidInventory.getStorageList.filter(stack => + ECApi.instance.isGasStack(stack)). + map(ECApi.instance.createGasStack).toArray) +} diff --git a/src/main/scala/li/cil/oc/integration/mekanism/gas/ConverterGasStack.scala b/src/main/scala/li/cil/oc/integration/mekanism/gas/ConverterGasStack.scala index 7ca0353c5..dd7a1e056 100644 --- a/src/main/scala/li/cil/oc/integration/mekanism/gas/ConverterGasStack.scala +++ b/src/main/scala/li/cil/oc/integration/mekanism/gas/ConverterGasStack.scala @@ -2,7 +2,8 @@ package li.cil.oc.integration.mekanism.gas import java.util -import li.cil.oc.{Settings, api} +import li.cil.oc.Settings +import li.cil.oc.api import scala.collection.convert.WrapAsScala._ @@ -21,4 +22,4 @@ object ConverterGasStack extends api.driver.Converter { } case _ => } -} \ No newline at end of file +} diff --git a/src/main/scala/li/cil/oc/integration/mekanism/gas/ModMekanismGas.scala b/src/main/scala/li/cil/oc/integration/mekanism/gas/ModMekanismGas.scala index f0f3d7348..ec52e082b 100644 --- a/src/main/scala/li/cil/oc/integration/mekanism/gas/ModMekanismGas.scala +++ b/src/main/scala/li/cil/oc/integration/mekanism/gas/ModMekanismGas.scala @@ -1,13 +1,14 @@ package li.cil.oc.integration.mekanism.gas import li.cil.oc.api.Driver -import li.cil.oc.integration.{Mod, ModProxy, Mods} +import li.cil.oc.integration.Mod +import li.cil.oc.integration.ModProxy +import li.cil.oc.integration.Mods - -object ModMekanismGas extends ModProxy{ +object ModMekanismGas extends ModProxy { override def getMod: Mod = Mods.MekanismGas override def initialize(): Unit = { Driver.add(ConverterGasStack) } -} \ No newline at end of file +} From 4c813d6c8d86186812466691c5c6b7e6d9adee72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Tue, 16 Jun 2015 21:08:15 +0200 Subject: [PATCH 06/10] Added mention of Project Red in redstone I/O block's tooltip. Closes #1225. --- src/main/scala/li/cil/oc/common/block/Redstone.scala | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/scala/li/cil/oc/common/block/Redstone.scala b/src/main/scala/li/cil/oc/common/block/Redstone.scala index 06245ab08..126f1ee82 100644 --- a/src/main/scala/li/cil/oc/common/block/Redstone.scala +++ b/src/main/scala/li/cil/oc/common/block/Redstone.scala @@ -23,6 +23,9 @@ class Redstone extends RedstoneAware { override protected def tooltipTail(metadata: Int, stack: ItemStack, player: EntityPlayer, tooltip: util.List[String], advanced: Boolean) { super.tooltipTail(metadata, stack, player, tooltip, advanced) + if (Mods.ProjectRedTransmission.isAvailable) { + tooltip.addAll(Tooltip.get("RedstoneCard.ProjectRed")) + } if (Mods.RedLogic.isAvailable) { tooltip.addAll(Tooltip.get("RedstoneCard.RedLogic")) } From e0f8554637002d430895b25a2af1f19d85b690f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Tue, 16 Jun 2015 22:07:01 +0200 Subject: [PATCH 07/10] Make command block driver actually return numeric value (plus text) as it should (instead of always just `true`). --- .../li/cil/oc/integration/vanilla/DriverCommandBlock.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/scala/li/cil/oc/integration/vanilla/DriverCommandBlock.java b/src/main/scala/li/cil/oc/integration/vanilla/DriverCommandBlock.java index 7e1921aa4..cff3e638f 100644 --- a/src/main/scala/li/cil/oc/integration/vanilla/DriverCommandBlock.java +++ b/src/main/scala/li/cil/oc/integration/vanilla/DriverCommandBlock.java @@ -9,6 +9,7 @@ import li.cil.oc.api.network.ManagedEnvironment; import li.cil.oc.api.prefab.DriverTileEntity; import li.cil.oc.integration.ManagedTileEntityEnvironment; import net.minecraft.block.Block; +import net.minecraft.command.server.CommandBlockLogic; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntityCommandBlock; @@ -62,8 +63,9 @@ public final class DriverCommandBlock extends DriverTileEntity implements Enviro @Callback(doc = "function():number -- Execute the currently set command. This has a slight delay to allow the command block to properly update.") public Object[] executeCommand(final Context context, final Arguments args) { context.pause(0.1); // Make sure the command block has time to do its thing. - tileEntity.func_145993_a().func_145755_a(tileEntity.getWorldObj()); - return new Object[]{true}; + final CommandBlockLogic commandSender = tileEntity.func_145993_a(); + commandSender.func_145755_a(tileEntity.getWorldObj()); + return new Object[]{commandSender.func_145760_g(), commandSender.func_145749_h().getUnformattedText()}; } } } From 1e5b2bdbaf4150c24bb5c01d71cf6e0f6e223978 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sat, 20 Jun 2015 15:49:19 +0200 Subject: [PATCH 08/10] Use plain mode for `string.find` in edit's find logic, fixes #1234. Best issue number yet. --- .../resources/assets/opencomputers/loot/OpenOS/bin/edit.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/assets/opencomputers/loot/OpenOS/bin/edit.lua b/src/main/resources/assets/opencomputers/loot/OpenOS/bin/edit.lua index 52649da70..87f6601ce 100644 --- a/src/main/resources/assets/opencomputers/loot/OpenOS/bin/edit.lua +++ b/src/main/resources/assets/opencomputers/loot/OpenOS/bin/edit.lua @@ -365,14 +365,14 @@ local function find() local sx, sy for syo = 1, #buffer do -- iterate lines with wraparound sy = (iby + syo - 1 + #buffer - 1) % #buffer + 1 - sx = string.find(buffer[sy], findText, syo == 1 and ibx or 1) + sx = string.find(buffer[sy], findText, syo == 1 and ibx or 1, true) if sx and (sx >= ibx or syo > 1) then break end end if not sx then -- special case for single matches sy = iby - sx = string.find(buffer[sy], findText) + sx = string.find(buffer[sy], findText, nil, true) end if sx then cbx, cby = sx, sy From 3bea675494ce749fa592bafd6e074923be364ff0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sat, 20 Jun 2015 16:51:24 +0200 Subject: [PATCH 09/10] Updated Project Red and ComputerCraft dependencies and adjusted implementations of interfaces as necessary. Closes #1231. --- build.properties | 6 +++--- src/main/scala/li/cil/oc/common/item/Wrench.scala | 6 ++++++ src/main/scala/li/cil/oc/integration/Mods.scala | 2 +- .../integration/computercraft/DriverPeripheral.java | 11 +++++++++++ 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/build.properties b/build.properties index 50f0c35e7..dd3a519c5 100644 --- a/build.properties +++ b/build.properties @@ -9,8 +9,8 @@ bc.version=7.0.9 bloodmagic.cf=2223/203 bloodmagic.version=1.3.0a-1 bluepower.version=0.2.928 -cc.cf=2216/236 -cc.version=1.65 +cc.cf=2228/723 +cc.version=1.73 ccl.version=1.1.1.104 cofhlib.cf=2230/207 cofhlib.version=[1.7.10]1.0.0RC7-127 @@ -32,7 +32,7 @@ mfr.cf=2229/626 mfr.version=[1.7.10]2.8.0RC8-86 nei.version=1.0.3.57 nek.version=1.0.0b35dev -projred.version=4.5.8.59 +projred.version=4.7.0pre2.87 qmunitylib.version=0.1.105 rc.cf=2219/321 rc.version=1.7.10-9.4.0.0 diff --git a/src/main/scala/li/cil/oc/common/item/Wrench.scala b/src/main/scala/li/cil/oc/common/item/Wrench.scala index 45baf70c8..96382f4ca 100644 --- a/src/main/scala/li/cil/oc/common/item/Wrench.scala +++ b/src/main/scala/li/cil/oc/common/item/Wrench.scala @@ -76,8 +76,14 @@ class Wrench extends traits.SimpleItem with api.internal.Wrench { // Project Red + def canUse(entityPlayer: EntityPlayer, itemStack: ItemStack): Boolean = true + + // pre v4.7 def damageScrewdriver(world: World, player: EntityPlayer): Unit = {} + // v4.7+ + def damageScrewdriver(player: EntityPlayer, stack: ItemStack): Unit = {} + // Railcraft def canWhack(player: EntityPlayer, stack: ItemStack, x: Int, y: Int, z: Int): Boolean = true diff --git a/src/main/scala/li/cil/oc/integration/Mods.scala b/src/main/scala/li/cil/oc/integration/Mods.scala index 2f7816eee..97b410ff7 100644 --- a/src/main/scala/li/cil/oc/integration/Mods.scala +++ b/src/main/scala/li/cil/oc/integration/Mods.scala @@ -32,7 +32,7 @@ object Mods { val CoFHItem = new SimpleMod(IDs.CoFHItem) val CoFHTileEntity = new SimpleMod(IDs.CoFHTileEntity) val CoFHTransport = new SimpleMod(IDs.CoFHTransport) - val ComputerCraft = new SimpleMod(IDs.ComputerCraft) + val ComputerCraft = new SimpleMod(IDs.ComputerCraft, version = "@[1.73,)") val CraftingCosts = new SimpleMod(IDs.CraftingCosts) val DeepStorageUnit = new ClassBasedMod(IDs.DeepStorageUnit, "powercrystals.minefactoryreloaded.api.IDeepStorageUnit")() val ElectricalAge = new SimpleMod(IDs.ElectricalAge, providesPower = true) diff --git a/src/main/scala/li/cil/oc/integration/computercraft/DriverPeripheral.java b/src/main/scala/li/cil/oc/integration/computercraft/DriverPeripheral.java index 4fa8d96d6..e8c9b3013 100644 --- a/src/main/scala/li/cil/oc/integration/computercraft/DriverPeripheral.java +++ b/src/main/scala/li/cil/oc/integration/computercraft/DriverPeripheral.java @@ -3,6 +3,7 @@ package li.cil.oc.integration.computercraft; import dan200.computercraft.api.filesystem.IMount; import dan200.computercraft.api.filesystem.IWritableMount; import dan200.computercraft.api.lua.ILuaContext; +import dan200.computercraft.api.lua.ILuaTask; import dan200.computercraft.api.lua.LuaException; import dan200.computercraft.api.peripheral.IComputerAccess; import dan200.computercraft.api.peripheral.IPeripheral; @@ -239,6 +240,16 @@ public final class DriverPeripheral implements li.cil.oc.api.driver.Block { return Instance; } + @Override + public long issueMainThreadTask(ILuaTask task) throws LuaException { + throw new UnsupportedOperationException(); + } + + @Override + public Object[] executeMainThreadTask(ILuaTask task) throws LuaException, InterruptedException { + throw new UnsupportedOperationException(); + } + @Override public Object[] pullEvent(final String filter) throws LuaException, InterruptedException { throw new UnsupportedOperationException(); From 18149d0aa17bccea36622754ee77159a4ce38578 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sat, 20 Jun 2015 17:19:46 +0200 Subject: [PATCH 10/10] Updated Forge version. --- build.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.properties b/build.properties index dd3a519c5..e22e68f43 100644 --- a/build.properties +++ b/build.properties @@ -1,5 +1,5 @@ minecraft.version=1.7.10 -forge.version=10.13.3.1395-1710ls +forge.version=10.13.4.1448-1.7.10 oc.version=1.5.13 oc.subversion=dev