Compare commits

..
37 Commits
Author SHA1 Message Date
Anuken 454267455b Fixed mobile consume frag / Added ability for ship to mine 2018-07-12 15:44:05 -04:00
Anuken 8e9adeb4b4 Fixed web version bugs 2018-07-12 14:06:50 -04:00
Anuken 1f18e7beed Improved glitchy interpolation / Updated uCore 2018-07-12 11:38:09 -04:00
Anuken b5e8e54107 Added build tools to travis 2018-07-12 10:24:56 -04:00
Anuken f41e426b69 Reactor balancing / Fixed generators / Fixed pump crash / Travis update 2018-07-12 10:20:38 -04:00
Anuken 6375862a71 Fixed deadlock / Crafter fixes / Autotile fixes / Low FPS ship fixes 2018-07-12 09:11:28 -04:00
Anuken be2a745d78 Increased ore generation amount 2018-07-11 19:58:49 -04:00
Anuken d89feb2c75 Bugfixes, minor optimizations 2018-07-11 19:57:27 -04:00
Anuken b4a20c8fcb Fixed fog glitching around during screenshake 2018-07-11 12:30:07 -04:00
Anuken 73087a92f4 Fixed build error 2018-07-11 12:21:46 -04:00
Anuken 2b58bd5bd8 Optimizations 2018-07-11 12:19:21 -04:00
Anuken bce0101278 Fixed some multiplayer crashes 2018-07-10 21:04:14 -04:00
Anuken bba418c79d Added consumers for repair/resupply points 2018-07-10 18:57:50 -04:00
Anuken cb58eb82fc Added requirement display / Text fixes / Better crash reports 2018-07-10 16:53:35 -04:00
Anuken 3aafffabc1 Added BlockConsumeFragment 2018-07-10 11:41:51 -04:00
Anuken 66b9cdf64c Conduit autotiling / Added Block.onProximityUpdate() 2018-07-10 10:14:10 -04:00
Anuken d31fbf3b6f Added flyer shadows / Fixed block inventory rebuild spawn / Distributor 2018-07-09 20:18:50 -04:00
Anuken dbee30a412 Updated uCore / Made splitter distribute properly 2018-07-09 18:14:55 -04:00
Anuken f3cc881930 Status bar cleanup / Fixed power distribution / Fixed adjacency updates 2018-07-09 14:25:52 -04:00
Anuken 3d9c9e639d Automatic external bundle loading 2018-07-09 11:24:24 -04:00
Anuken d6969d2c74 Removed unused bundle keys 2018-07-09 11:06:15 -04:00
Anuken b7e28a73ba Bugfixes / Added tool to re-format bundles with missing text 2018-07-09 11:02:30 -04:00
Anuken 1e8206757d Various bugfixes / Fixed persistent inventory, block crashes 2018-07-08 23:59:02 -04:00
Anuken a0e94577fc Fixed infinite red square, glitchy shadows 2018-07-08 17:04:32 -04:00
Anuken a2a0c2f791 Fixed startup error 2018-07-08 16:50:52 -04:00
Anuken 63a0fde121 Offload optimizations / Compile errors fixed / Massive refactor 2018-07-08 16:38:29 -04:00
Anuken c06152de07 Consumption system more or less complete 2018-07-08 00:04:41 -04:00
Anuken 97b7eb0768 Bugfixes / Compile error fixes / Removed routers 2018-07-07 13:48:20 -04:00
Anuken d988bb1821 Massive amount of bugfixes / Multi-liquid support / Broken build 2018-07-06 23:24:14 -04:00
Anuken 64f1fbe400 Fixed many various crashes 2018-07-06 12:04:33 -04:00
Anuken c2c837329c Fixed block construction / Added build version to crash 2018-07-06 10:54:20 -04:00
Anuken b6531efe08 Merge remote-tracking branch 'origin/4.0' into 4.0 2018-07-06 09:52:26 -04:00
Anuken 2c97a4aefe Fixed importing saves / File chooser bad size 2018-07-06 09:52:18 -04:00
Anuken df13436688 Merge pull request #135 from cloud9350/patch-1
Update language file for game beta version
2018-07-05 18:54:27 -04:00
Anuken fa0d89b6df Fixed crash 2018-07-05 17:37:24 -04:00
Anuken 6b3329845b Fixed onConstructFinish() not syncing rotation 2018-07-05 16:49:29 -04:00
Gureumi 14fe35bba0 Update bundle_ko.properties 2018-07-05 22:21:12 +09:00
207 changed files with 8348 additions and 7635 deletions
+1
View File
@@ -2,6 +2,7 @@
/core/assets/mindustry-saves/
/core/assets/mindustry-maps/
/core/assets/bundles/output/
/deploy/
/desktop/packr-out/
/desktop/packr-export/
+3 -2
View File
@@ -5,13 +5,14 @@ jdk:
android:
components:
- android-26
- android-27
# Additional components
- extra-google-google_play_services
- extra-google-m2repository
- extra-android-m2repository
- addon-google_apis-google-26
- addon-google_apis-google-27
- build-tools-27.0.3
script:
- ./gradlew desktop:dist
+1 -1
View File
@@ -20,7 +20,7 @@
<activity
android:name="io.anuke.mindustry.AndroidLauncher"
android:label="@string/app_name"
android:screenOrientation="sensor"
android:screenOrientation="user"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
<intent-filter>
@@ -21,7 +21,7 @@ public class Annotations {
Variant variants() default Variant.all;
/**The local locations where this method is called locally, when invoked.*/
Loc called() default Loc.none;
/**Whether to forward this packet to all other clients upon recieval. Server only.*/
/**Whether to forward this packet to all other clients upon recieval. Client only.*/
boolean forward() default false;
/**Whether the packet for this method is sent with UDP instead of TCP.
* UDP is faster, but is prone to packet loss and duplication.*/
@@ -67,7 +67,7 @@ public class Annotations {
client(false, true),
/**Method can be invoked from anywhere*/
both(true, true),
/**Neither server no client.*/
/**Neither server nor client.*/
none(false, false);
/**If true, this method can be invoked ON clients FROM servers.*/
@@ -129,7 +129,7 @@ public class RemoteWriteGenerator {
method.beginControlFlow("if("+getCheckString(methodEntry.where)+")");
//add statement to create packet from pool
method.addStatement("$1N packet = $2N.obtain($1N.class)", "io.anuke.mindustry.net.Packets.InvokePacket", "com.badlogic.gdx.utils.Pools");
method.addStatement("$1N packet = $2N.obtain($1N.class)", "io.anuke.mindustry.net.Packets.InvokePacket", "io.anuke.ucore.util.Pooling");
//assign buffer
method.addStatement("packet.writeBuffer = TEMP_BUFFER");
//assign priority
+2 -2
View File
@@ -9,7 +9,7 @@ buildscript {
dependencies {
classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.0'
classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6'
classpath 'com.android.tools.build:gradle:3.1.0'
classpath 'com.android.tools.build:gradle:3.1.3'
classpath "com.badlogicgames.gdx:gdx-tools:1.9.8"
}
}
@@ -27,7 +27,7 @@ allprojects {
gdxVersion = '1.9.8'
roboVMVersion = '2.3.0'
aiVersion = '1.8.1'
uCoreVersion = '2241e5402e'
uCoreVersion = 'c502931313'
getVersionString = {
String buildVersion = getBuildVersion()

Before

Width:  |  Height:  |  Size: 296 B

After

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 B

After

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

Before

Width:  |  Height:  |  Size: 267 B

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 B

+10 -27
View File
@@ -55,13 +55,7 @@ text.about.button=About
text.name=Name:
text.unlocked=New Block Unlocked!
text.unlocked.plural=New Blocks Unlocked!
text.server.rollback=Rollback
text.server.rollback.numberfield=Rollback Amount:
text.blocks.editlogs=Edit Logs
text.block.editlogsnotfound=[red]There are no edit logs for this location.
text.public=Public
text.players={0} players online
text.server.player.host={0} (host)
text.players.single={0} player online
text.server.mismatch=Packet error: possible client/server version mismatch.\nMake sure you and the host have the\nlatest version of Mindustry!
text.server.closing=[accent]Closing server...
@@ -118,7 +112,6 @@ text.confirmban=Are you sure you want to ban this player?
text.confirmunban=Are you sure you want to unban this player?
text.confirmadmin=Are you sure you want to make this player an admin?
text.confirmunadmin=Are you sure you want to remove admin status from this player?
text.joingame.byip=Join by IP...
text.joingame.title=Join Game
text.joingame.ip=IP:
text.disconnect=Disconnected.
@@ -130,8 +123,6 @@ text.server.port=Port:
text.server.addressinuse=Address already in use!
text.server.invalidport=Invalid port number!
text.server.error=[crimson]Error hosting server: [orange]{0}
text.tutorial.back=< Prev
text.tutorial.next=Next >
text.save.new=New Save
text.save.overwrite=Are you sure you want to overwrite\nthis save slot?
text.overwrite=Overwrite
@@ -141,7 +132,7 @@ text.savefail=Failed to save game!
text.save.delete.confirm=Are you sure you want to delete this save?
text.save.delete=Delete
text.save.export=Export Save
text.save.import.invalid=[orange]This save is invalid!\n\nNote that[scarlet]importing saves with custom maps[orange]\nfrom other devices does not work!
text.save.import.invalid=[orange]This save is invalid!
text.save.import.fail=[crimson]Failed to import save: [orange]{0}
text.save.export.fail=[crimson]Failed to export save: [orange]{0}
text.save.import=Import Save
@@ -226,21 +217,13 @@ text.editor.exportimage.description=Export a map image file
text.editor.loadimage=Import Terrain
text.editor.saveimage=Export Terrain
text.editor.unsaved=[scarlet]You have unsaved changes![]\nAre you sure you want to exit?
text.editor.brushsize=Brush size: {0}
text.editor.noplayerspawn=This map has no player spawnpoint!
text.editor.manyplayerspawns=Maps cannot have more than one\nplayer spawnpoint!
text.editor.manyenemyspawns=Cannot have more than\n{0} enemy spawnpoints!
text.editor.resizemap=Resize Map
text.editor.resizebig=[scarlet]Warning!\n[]Maps larger than 256 units may be laggy and unstable.
text.editor.mapname=Map Name:
text.editor.overwrite=[accent]Warning!\nThis overwrites an existing map.
text.editor.overwrite.confirm=[scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?
text.editor.selectmap=Select a map to load:
text.width=Width:
text.height=Height:
text.randomize=Randomize
text.apply=Apply
text.update=Update
text.menu=Menu
text.play=Play
text.load=Load
@@ -269,7 +252,6 @@ text.yes=Yes
text.no=No
text.info.title=[accent]Info
text.error.title=[crimson]An error has occured
text.error.crashmessage=[SCARLET]An unexpected error has occured, which would have caused a crash.\n[]Please report the exact circumstances under which this error occured to the developer: \n[ORANGE]anukendev@gmail.com[]
text.error.crashtitle=An error has occured
text.blocks.blockinfo=Block Info
text.blocks.powercapacity=Power Capacity
@@ -297,6 +279,10 @@ text.blocks.drilltier=Drillables
text.blocks.drillspeed=Base Drill Speed
text.blocks.liquidoutput=Liquid Output
text.blocks.liquiduse=Liquid Use
text.blocks.coolant=Coolant
text.blocks.coolantuse=Coolant Use
text.blocks.inputliquidfuel=Fuel Liquid
text.blocks.liquidfueluse=Liquid Fuel Use
text.blocks.explosive=Highly explosive!
text.blocks.health=Health
text.blocks.inaccuracy=Inaccuracy
@@ -306,6 +292,7 @@ text.blocks.inputfuel=Fuel
text.blocks.fuelburntime=Fuel Burn Time
text.blocks.inputcapacity=Input capacity
text.blocks.outputcapacity=Output capacity
text.blocks.required=Required:
text.unit.blocks=blocks
text.unit.powersecond=power units/second
@@ -332,7 +319,6 @@ setting.difficulty.insane=insane
setting.difficulty.purge=purge
setting.difficulty.name=Difficulty:
setting.screenshake.name=Screen Shake
setting.smoothcam.name=Smooth Camera
setting.indicators.name=Enemy Indicators
setting.effects.name=Display Effects
setting.sensitivity.name=Controller Sensitivity
@@ -343,10 +329,8 @@ setting.multithread.name=Multithreading
setting.fps.name=Show FPS
setting.vsync.name=VSync
setting.lasers.name=Show Power Lasers
setting.previewopacity.name=Placing Preview Opacity
setting.healthbars.name=Show Entity Health bars
setting.minimap.name=Show Minimap
setting.pixelate.name=Pixelate Screen
setting.musicvol.name=Music Volume
setting.mutemusic.name=Mute Music
setting.sfxvol.name=SFX Volume
@@ -457,12 +441,12 @@ block.splitter.name=Splitter
block.splitter.description=Outputs items into two opposite directions immediately after they are recieved.
block.router.name=Router
block.router.description=Splits items into all 4 directions. Can store items as a buffer.
block.multiplexer.name=Multiplexer
block.multiplexer.description=A router that can split items into 8 directions.
block.distributor.name=Distributor
block.distributor.description=A splitter that can split items into 8 directions.
block.sorter.name=Sorter
block.sorter.description=Sorts items. If an item matches the selection, it is allowed to pass. Otherwise, the item is outputted to the left and right.
block.overflowgate.name=Overflow Gate
block.overflowgate.description=A combination splitter and router that only outputs to the left and right if the front path is blocked.
block.overflow-gate.name=Overflow Gate
block.overflow-gate.description=A combination splitter and router that only outputs to the left and right if the front path is blocked.
block.bridgeconveyor.name=Bridge Conveyor
block.bridgeconveyor.description=A conveyor that can go over other blocks, for up to two total blocks.
block.smelter.name=Smelter
@@ -512,7 +496,6 @@ block.swarmer.name=Swarmer
block.salvo.name=Salvo
block.ripple.name=Ripple
block.phase-conveyor.name=Phase Conveyor
block.overflow-gate.name=Overflow Gate
block.bridge-conveyor.name=Bridge Conveyor
block.plastanium-compressor.name=Plastanium Compressor
block.pyratite-mixer.name=Pyratite Mixer
+494 -479
View File
@@ -1,479 +1,494 @@
text.about = Erstellt von [ROYAL] Anuken. [] \nUrsprünglich ein Eintrag im [orange] GDL [] MM Jam.\n\nCredits: \n- SFX gemacht mit [yellow] bfxr [] - Musik gemacht von [green] RoccoW [] / gefunden auf [lime] FreeMusicArchive.org [] \n\nBesonderer Dank geht an: \n- [coral] MitchellFJN []: Umfangreicher Spieletest und Feedback \n- [sky] Luxray5474 []: Wiki-Arbeit, Code-Beiträge \n- Alle Beta-Tester auf itch.io und Google Play\n
text.discord = Trete dem Mindustry Discord bei!
text.gameover = Der Kern wurde zerstört.
text.highscore = [YELLOW] Neuer Highscore!
text.lasted = Du hast bis zur folgenden Welle überlebt
text.level.highscore = High Score: [accent] {0}
text.level.delete.title = Löschen bestätigen
text.level.delete = Bist du sicher, dass du die Karte \"[orange] {0}\" löschen möchtest?
text.level.select = Level Auswahl
text.level.mode = Spielmodus:
text.savegame = Spiel speichern
text.loadgame = Spiel laden
text.joingame = Spiel beitreten
text.quit = Verlassen
text.about.button = Info
text.name = Name:
text.public = Öffentlich
text.players = {0} Spieler online
text.players.single = {0} Spieler online
text.server.mismatch = Paketfehler: Mögliche Client / Server-Version stimmt nicht überein. Stell sicher, dass du und der Host die neueste Version von Mindustry haben!
.server.closing = [accent] Server wird geschlossen...
text.server.kicked.kick = Du wurdest vom Server gekickt!
text.server.kicked.invalidPassword = Falsches Passwort.
text.server.connected = {0} ist beigetreten
text.server.disconnected = {0} hat die Verbindung getrennt.
text.nohost = Server kann nicht auf einer benutzerdefinierten Karte gehostet werden!
text.hostserver = Server hosten
text.host = Host
text.hosting = [accent] Server wird geöffnet...
text.hosts.refresh = Aktualisieren
text.hosts.discovering = Suche nach LAN-Spielen
text.server.refreshing = Server wird aktualisiert
text.hosts.none = [lightgray] Keine LAN Spiele gefunden!
text.host.invalid = [scarlet] Kann keine Verbindung zum Host herstellen.
text.server.add = Server hinzufügen
text.server.delete = Bist du dir sicher das du diesen Server löschen möchtest?
text.server.hostname = Host: {0}
text.server.edit = Server bearbeiten
text.joingame.byip = Über IP beitreten ...
text.joingame.title = Spiel beitreten
text.joingame.ip = IP:
text.disconnect = Verbindung unterbrochen.
text.connecting = [accent] Verbindet...
text.connecting.data = [accent] Weltdaten werden geladen...
text.connectfail = [crimson] Verbindung zum Server konnte nicht hergestellt werden: [orange]{0}
text.server.port = Port:
text.server.invalidport = Falscher Port!
text.server.error = [crimson] Fehler beim Hosten des Servers: [orange] {0}
text.tutorial.back = < Zurück
text.tutorial.next = Weiter >
text.save.new = Neuer Spielstand
text.save.overwrite = Möchten du diesen Spielstand wirklich überschreiben?
text.overwrite = Überschreiben
text.save.none = Keine Spielstände gefunden!
text.saveload = [accent] Speichern ...
text.savefail = Fehler beim Speichern des Spiels!
text.save.delete.confirm = Möchtest du diesen Spielstand wirklich löschen?
text.save.delete = Löschen
text.save.export = Spielstand exportieren
text.save.import.invalid = [orange] Dieser Spielstand ist ungültig!
text.save.import.fail = [crimson] Spielstand konnte nicht importiert werden: [orange] {0}
text.save.export.fail = [crimson] Spielstand konnte nicht exportiert werden: [orange] {0}
text.save.import = Spielstand importieren
text.save.newslot = Name speichern:
text.save.rename = Umbenennen
text.save.rename.text = Neuer Name
text.selectslot = Wähle einen Spielstand
text.slot = [accent] Platz {0}
text.save.corrupted = [orange] Datei beschädigt oder ungültig!
text.empty = <leer>
text.on = An
text.off = Aus
text.save.autosave = Automatisches Speichern: {0}
text.save.map = Karte: {0}
text.save.wave = Welle: {0}
text.save.date = Zuletzt gespeichert: {0}
text.confirm = Bestätigen
text.delete = Löschen
text.ok = OK
text.open = Öffnen
text.cancel = Abbruch
text.openlink = Link öffnen
text.back = Zurück
text.quit.confirm = Willst du wirklich aufhören?
text.loading = [accent] Wird geladen ...
text.wave = [orange] Welle {0}
text.wave.waiting = Welle in {0}
text.waiting = Warten...
text.enemies = {0} Feinde
text.enemies.single = {0} Feind
text.loadimage = Bild laden
text.saveimage = Bild speichern
text.editor.badsize = [orange]Ungültige Bildabmessungen! [] Gültige Kartenabmessungen: {0}
text.editor.errorimageload = Fehler beim Laden des Bildes: [orange] {0}
text.editor.errorimagesave = Fehler beim Speichern des Bildes: [orange] {0}
text.editor.generate = Generieren
text.editor.resize = Grösse\nanpassen
text.editor.loadmap = Karte\nladen
text.editor.savemap = Karte\nspeichern
text.editor.loadimage = Bild\nladen
text.editor.saveimage = Bild\nspeichern
text.editor.unsaved = [crimson] Du hast Änderungen nicht gespeichert [] Möchtest du wirklich aufhören?
text.editor.brushsize = Pinselgrösse: {0}
text.editor.noplayerspawn = Diese Karte hat keinen Spielerspawnpunkt!
text.editor.manyplayerspawns = Maps können nicht mehr als einen Spawnpunkt des Spielers haben!
text.editor.manyenemyspawns = Kann nicht mehr als {0} feindliche Spawnpunkte haben!
text.editor.resizemap = Grösse der Karte ändern
text.editor.resizebig = [crimson] Warnung! [] Karten, die grösser als 256 Einheiten sind, können ruckeln und instabil sein.
text.editor.mapname = Map Name
text.editor.overwrite = [accent] Warnung! Dies überschreibt eine vorhandene Map.
text.editor.failoverwrite = [crimson] Die Standardkarte kann nicht überschrieben werden!
text.editor.selectmap = Wähle eine Map zum Laden:
text.width = Breite:
text.height = Höhe:
text.randomize = Zufällig
text.apply = Anwenden
text.update = Aktualisieren
text.menu = Menü
text.play = Spielen
text.load = Laden
text.save = Speichern
text.settings = Einstellungen
text.tutorial = Tutorial
text.editor = Bearbeiter
text.mapeditor = Karten Bearbeiter
text.donate = Spenden
text.settings.reset = Auf Standard zurücksetzen
text.settings.controls = Steuerung
text.settings.game = Spiel
text.settings.sound = Audio
text.settings.graphics = Grafiken
text.upgrades = Verbesserungen
text.purchased = [LIME] Erstellt!
text.weapons = Waffen
text.paused = Pausiert
text.respawn = Respawn in
text.error.title = [crimson] Ein Fehler ist aufgetreten
text.error.crashmessage = [SCARLET] Es ist ein unerwarteter Fehler aufgetreten, der einen Absturz verursacht hätte. [] Bitte geben Sie die genauen Umstände an, unter denen dieser Fehler passiert ist, für den Entwickler: [ORANGE] anukendev@gmail.com []
text.error.crashtitle = EIn Fehler ist aufgetreten!
text.mode.break = Zerstörungsmodus: {0}
text.mode.place = Platzierungsmodus: {0}
placemode.hold.name = Zeile
placemode.areadelete.name = Gebiet
placemode.touchdelete.name = berühren
placemode.holddelete.name = halten
placemode.none.name = keine
placemode.touch.name = berühren
placemode.cursor.name = Mauszeiger
text.blocks.extrainfo = [accent] Extra Blockinfo:
text.blocks.blockinfo = Blockinfo:
text.blocks.powercapacity = Energiekapazität
text.blocks.powershot = Energie / Schuss
text.blocks.powersecond = Energie / Sekunde
text.blocks.powerdraindamage = Energieabnahme / Schaden
text.blocks.shieldradius = Schildradius
text.blocks.itemspeedsecond = Gegenstands Geschwindigkeit / Sekunde
text.blocks.range = Reichweite
text.blocks.size = Grösse
text.blocks.powerliquid = Energie / Flüssigkeit
text.blocks.maxliquidsecond = Max Flüssigkeit / Sekunde
text.blocks.liquidcapacity = Flüssigkeitskapazität
text.blocks.liquidsecond = Flüssigkeit / Sekunde
text.blocks.damageshot = Schaden / Schuss
text.blocks.ammocapacity = Munitionskapazität
text.blocks.ammo = Munition
text.blocks.ammoitem = Munition / Gegenstand
text.blocks.maxitemssecond = Max Gegenstände / Sekunde
text.blocks.powerrange = Energiereichweite
text.blocks.lasertilerange = Laser Reichweite
text.blocks.capacity = Kapazität
text.blocks.itemcapacity = Gegenstand Kapazität
text.blocks.maxpowergenerationsecond = Max Energieerzeugung / Sekunde
text.blocks.powergenerationsecond = Energieerzeugung / Sekunde
text.blocks.generationsecondsitem = Generation Sekunden / Gegenstand
text.blocks.input = Eingabe
text.blocks.inputliquid = Flüssigkeiten Eingabe
text.blocks.inputitem = Eingabe Gegenstand
text.blocks.output = Ausgabe
text.blocks.secondsitem = Sekunden / Item
text.blocks.maxpowertransfersecond = Max Energieübertragung / Sekunde
text.blocks.explosive = Hochexplosiv!
text.blocks.repairssecond = Reparaturen / Sekunde
text.blocks.health = Lebenspunkte
text.blocks.inaccuracy = Ungenauigkeit
text.blocks.shots = Schüsse
text.blocks.shotssecond = Schüsse / Sekunde
text.blocks.fuel = Treibstoff
text.blocks.fuelduration = Treibstoffdauer
text.blocks.maxoutputsecond = Max Ausgabe / Sekunde
text.blocks.inputcapacity = Eingabekapazität
text.blocks.outputcapacity = Ausgabekapazität
text.blocks.poweritem = Energie / Gegenstand
text.placemode = Platzierungsmodus
text.breakmode = Zerstörungsmodus
text.health = Lebenspunkte
setting.difficulty.easy = Leicht
setting.difficulty.normal = Normal
setting.difficulty.hard = Schwer
setting.difficulty.insane = Unmöglich
setting.difficulty.purge = Auslöschung
setting.difficulty.name = Schwierigkeit
setting.screenshake.name = Bildschirm wackeln
setting.smoothcam.name = Glatte Kamera
setting.indicators.name = Feind Indikatoren
setting.effects.name = Effekte anzeigen
setting.sensitivity.name = Kontroller Empfindlichkeit
setting.saveinterval.name = Autosave Häufigkeit
setting.seconds = {0} Sekunden
setting.fps.name = Zeige FPS
setting.vsync.name = VSync
setting.lasers.name = Zeige Energielaser
setting.healthbars.name = Zeige Objekt Lebensbalken
setting.pixelate.name = Pixel Bildschirm
setting.musicvol.name = Musiklautstärke
setting.mutemusic.name = Musik stummschalten
setting.sfxvol.name = Audioeffekte Lautstärke
setting.mutesound.name = Audioeffekte stummschalten
map.maze.name = Labyrinth
map.fortress.name = Festung
map.sinkhole.name = Sinkloch
map.caves.name = Höhlen
map.volcano.name = Vulkan
map.caldera.name = Lavakessel
map.scorch.name = Flammen
map.desert.name = Wüste
map.island.name = Insel
map.grassland.name = Grasland
map.tundra.name = Kältesteppe
map.spiral.name = Spirale
map.tutorial.name = Tutorial
tutorial.intro.text = [gelb] Willkommen zum Tutorial [] Um zu beginnen, drücke 'weiter'.
tutorial.moveDesktop.text = Verwende zum Verschieben die Tasten [orange] [[WASD] []. Halte [orange] Shift [] gedrückt, um zu erhöhen. Halte [orange] CTRL/STRG [] gedrückt, während du das [orange] Scrollrad [] zum Vergrössern oder Verkleinern verwendest.
tutorial.shoot.text = Ziele mit der Maus, halte die [orange] linke Maustaste [] gedrückt, um zu schiessen. Versuche es mit dem [gelben] Ziel [].
tutorial.moveAndroid.text = Um die Ansicht zu verschieben, ziehe einen Finger über den Bildschirm. Drücke und ziehe, um zu vergrössern oder zu verkleinern.
tutorial.placeSelect.text = Versuche, ein [gelbes] Förderband [] aus dem Blockmenü unten rechts auszuwählen.
tutorial.placeConveyorDesktop.text = Verwende das [orange] [[scrollwheel] [], um das Förderband nach vorne zu bewegen [orange] vorwärts [], und platziere es dann an der [gelben] markierten Stelle [] mit [orange] [[linke Maustaste] [].
tutorial.placeConveyorAndroid.text = Verwende die [orange] [[rotieren-Taste] [], um das Förderband nach vorne [orange] zu drehen [], ziehe es mit einem Finger in Position und platziere es dann an der [gelben] markierten Stelle [] mit der [Orange] [[Häkchen][].
tutorial.placeConveyorAndroidInfo.text = Alternativ kannst du das Fadenkreuzsymbol unten links drücken, um zum [orange] [[touch mode] [] zu wechseln, und Blöcke durch Tippen auf den Bildschirm platzieren. Im Touch-Modus können Blöcke mit dem Pfeil unten links gedreht werden. Drücke [gelb] neben [], um es auszuprobieren.
tutorial.placeDrill.text = Wähle nun einen [gelben] Steinbohrer [] an der markierten Stelle aus und platziere ihn.
tutorial.blockInfo.text = Wenn du mehr über einen Block erfahren möchtest, tippe oben rechts auf das [orange] Fragezeichen [], um dessen Beschreibung zu lesen.
tutorial.deselectDesktop.text = Du kannst einen Block mit [Orange] [[Rechte Maustaste] [] abwählen.
tutorial.deselectAndroid.text = Du kannst einen Block abwählen, indem du die [orange] X [] -Taste drücken.
tutorial.drillPlaced.text = Der Bohrer erzeugt nun [gelben] Stein, [] gib den Stein nun auf das Förderband aus und bewege ihn dann in den [gelben] Kern [].
tutorial.drillInfo.text = Verschiedene Erze benötigen unterschiedliche Bohrer. Stein erfordert Steinbohrer, Eisen erfordert Eisenbohrer usw.
tutorial.drillPlaced2.text = Wenn du Gegenstände in den Kern verschiebst, steckst du sie in dein [gelbes] Inventar [] oben links. Das Platzieren von Blöcken verwendet Gegenstände aus deinem Inventar.
tutorial.moreDrills.text = Du kannst so viele Bohrer und Förderer miteinander verbinden wie du lust hast.
tutorial.deleteBlock.text = Du kannst Blöcke löschen, indem du mit der [orange] rechte Maustaste [] auf dem Block klickst, den du löschen möchtest. Versuche, dieses Förderband zu löschen.
tutorial.deleteBlockAndroid.text = Du kannst Blöcke löschen, indem du [orange] das Fadenkreuz [] im [orange] Pausenmodusmenü [] links unten auswählst und auf einen Block tippst. Versuche, dieses Fliessband zu löschen.
tutorial.placeTurret.text = Wähle nun einen [gelben] Turm [] an der [gelben] markierten Stelle [] und platziere ihn.
tutorial.placedTurretAmmo.text = Dieser Turm nimmt nun [gelbe] Munition [] vom Förderband an. Du kannst sehen, wie viel Munition es hat, indem du darüber schweben und den [grünen] grünen Balken [] prüfen.
tutorial.turretExplanation.text = Geschütze schiessen automatisch auf den nächsten Feind in Reichweite, solange sie genug Munition haben.
tutorial.waves.text = Jede [yellow] 60 [] Sekunden wird eine Welle von [coral] Feinden [] an einem bestimmten Orten erscheinen und versuchen, den Kern zu zerstören.
tutorial.coreDestruction.text = Dein Ziel ist es, den Kern [yellow] zu verteidigen. Wenn der Kern zerstört wird, verlierst du [coral] das Spiel [].
tutorial.pausingDesktop.text = Wenn du jemals eine Pause machen möchtest, drücke die [orange] Pause-Taste [] oben links oder [orange]space[], um das Spiel anzuhalten. Du kannst auch Blöcke immer noch auswählen und platzieren, während du das Spiel pausiert ist, aber Sie können sich nicht bewegen oder schiessen.
tutorial.pausingAndroid.text = Wenn du jemals eine Pause machen willst, drück einfach die [orange] Pause-Taste [] oben links, um das Spiel anzuhalten. Sie können immer noch Sachen auswählen und Blöcke während der Pause platzieren.
tutorial.purchaseWeapons.text = Du kannst neue [yellow] Waffen [] für deinen Mech kaufen, indem du das Verbesserungs-Menü unten links öffnest.
tutorial.switchWeapons.text = Schalte Waffen, indem du entweder auf das Symbol unten links klickst oder Nummern verwendest [orange] [[1-9] [].
tutorial.spawnWave.text = Hier kommt die erste Welle. Zerstöre sie.
tutorial.pumpDesc.text = In späteren Wellen müsst du möglicherweise [yellow] Pumpen [] verwenden, um Flüssigkeiten für Generatoren oder Extraktoren zu verteilen.
tutorial.pumpPlace.text = Pumpen arbeiten ähnlich wie Bohrer, ausser dass sie anstelle von Gegenständen Flüssigkeiten produzieren. Versuch mal, eine Pumpe auf das [yellow] gekennzeichnete Öl [] zu setzen.
tutorial.conduitUse.text = Stellen Sie nun eine [orange] Leitungsrohr [] von der Pumpe weg.
tutorial.conduitUse2.text = Und noch ein paar mehr ...
tutorial.conduitUse3.text = Und noch ein paar mehr ...
tutorial.generator.text = Stellen Sie nun einen [orange] Verbrennungsgenerator [] Block am Ende des Leitungsrohres auf.
tutorial.generatorExplain.text = Dieser Generator erzeugt nun [yellow] Energie [] aus dem Öl.
tutorial.lasers.text = Die Energie wird mit [yellow] Energielasern [] verteilt. Drehe und platziere einen hier.
tutorial.laserExplain.text = Der Generator wird nun Energie in den Laserblock bewegen. Ein [yellow] undurchsichtiger [] Strahl bedeutet, dass er gerade Leistung überträgt, und ein [yellow] transparenter [] Strahl bedeutet, dass dies nicht der Fall ist.
tutorial.laserMore.text = Du kannst überprüfen, wie viel Energie ein Block hat, indem du darüber schweben und den [yellow] gelben Balken [] oben prüfen.
tutorial.healingTurret.text = Dieser Laser kann verwendet werden, um einen [lime] -Reparaturgeschütz [] anzutreiben. Platziere einen hier.
tutorial.healingTurretExplain.text = Solange er Kraft hat, repariert dieser Turm in der Nähe Blöcke. [] Wenn du spielst, stelle sicher, dass du so schnell wie möglich einen in deiner Basis bekommst!
tutorial.smeltery.text = Viele Blöcke benötigen [orange] Stahl [], um eine [orange] Schmelzer [] herzustellen. Platziere einen hier.
tutorial.smelterySetup.text = Diese Schmelzer wird nun [orange] Stahl [] aus dem Eingangs-Eisen produzieren, wobei Kohle als Brennstoff verwendet wird.
tutorial.end.text = Und damit ist das Tutorial abgeschlossen! Viel Glück!
keybind.move_x.name = bewege_x
keybind.move_y.name = bewege_y
keybind.select.name = wählen
keybind.break.name = Unterbrechung
keybind.shoot.name = Schiess
keybind.zoom_hold.name = zoomen_halten
keybind.zoom.name = zoomen
keybind.menu.name = Menü
keybind.pause.name = Pause
keybind.dash.name = Bindestrich
keybind.rotate_alt.name = drehen_alt
keybind.rotate.name = Drehen
keybind.weapon_1.name = Waffe_1
keybind.weapon_2.name = Waffe_2
keybind.weapon_3.name = Waffe_3
keybind.weapon_4.name = Waffe_4
keybind.weapon_5.name = Waffe_5
keybind.weapon_6.name = Waffe_6
mode.waves.name = Wellen
mode.sandbox.name = Sandkasten
mode.freebuild.name = Freier Bau
upgrade.standard.name = Standard
upgrade.standard.description = Der Standardmech.
upgrade.blaster.name = Blaster
upgrade.blaster.description = Schiesst eine langsame, schwache Kugel.
upgrade.triblaster.name = Dreifach-Blaster
upgrade.triblaster.description = Schiesst 3 Kugeln in einer Ausbreitung.
upgrade.clustergun.name = Klumpen-Waffe
upgrade.clustergun.description = Schiesst eine ungenaue Verbreitung von explosiven Granaten.
upgrade.beam.name = Strahlkanone
upgrade.beam.description = Schiesst einen weitreichenden durchdringenden Laserstrahl.
upgrade.vulcan.name = Vulkan
upgrade.vulcan.description = Schiesst eine Flut von schnellen Kugeln.
upgrade.shockgun.name = Schock-Waffe
upgrade.shockgun.description = Erschiesst eine verheerende Explosion von geladenen Granatsplittern.
item.stone.name = Stein
item.iron.name = Eisen
item.coal.name = Kohle
item.steel.name = Stahl
item.titanium.name = Titan
item.dirium.name = Dirium
item.thorium.name = Uran
item.sand.name = Sand
liquid.water.name = Wasser
liquid.plasma.name = Plasma
liquid.lava.name = Lava
liquid.oil.name = Öl
block.weaponfactory.name = Waffenfabrik
block.air.name = Luft
block.blockpart.name = Blockteil
block.deepwater.name = tiefes Wasser
block.water.name = Wasser
block.lava.name = Lava
block.oil.name = Öl
block.stone.name = Stein
block.blackstone.name = schwarzer Stein
block.iron.name = Eisen
block.coal.name = Kohle
block.titanium.name = Titan
block.thorium.name = Uran
block.dirt.name = Erde
block.sand.name = Sand
block.ice.name = Eis
block.snow.name = Schnee
block.grass.name = Gras
block.sandblock.name = Sandstein
block.snowblock.name = Schneeblock
block.stoneblock.name = Steinblock
block.blackstoneblock.name = Schwarzer Stein
block.grassblock.name = Grasblock
block.mossblock.name = Moosblock
block.shrub.name = Busch
block.rock.name = Felsen
block.icerock.name = Eisfelsen
block.blackrock.name = Schwarzer Felsen
block.dirtblock.name = Erdblock
block.stonewall.name = Steinwand
block.stonewall.fulldescription = Ein billiger Verteidigungsblock. Nützlich zum Schutz des Kerns und der Geschütztürme in den ersten Wellen.
block.ironwall.name = Eisenwand
block.ironwall.fulldescription = Ein grundlegender Verteidigungsblock. Bietet Schutz vor Feinden.
block.steelwall.name = Stahlwand
block.steelwall.fulldescription = Ein Standard-Verteidigungsblock. Bietet angemessen Schutz vor Feinden.
block.titaniumwall.name = Titanwand
block.titaniumwall.fulldescription = Eine starke Abwehrblockade. Bietet Schutz vor Feinden.
block.duriumwall.name = Diriumwand
block.duriumwall.fulldescription = Eine sehr starke Abwehrblockade. Bietet guten Schutz vor Feinden.
block.compositewall.name = Verbundende Wand
block.steelwall-large.name = grosse Stahlwand
block.steelwall-large.fulldescription = Ein Standard-Verteidigungsblock. Mehrere Blöcke gross.
block.titaniumwall-large.name = grosse Titanwand
block.titaniumwall-large.fulldescription = Eine starke Abwehrblockade. Mehrere Blöcke gross.
block.duriumwall-large.name = grosse Diriumwand
block.duriumwall-large.fulldescription = Eine sehr starke Abwehrblockade. Mehrere Blöcke gross.
block.titaniumshieldwall.name = geschützte Wand
block.titaniumshieldwall.fulldescription = Ein starker Abwehrblock mit einem extra eingebauten Schild. Benötigt Energie. Verwendet Energie, um feindliche Kugeln zu absorbieren. Es wird empfohlen, Verstärker zu verwenden, um diesem Block Energie zuzuführen.
block.repairturret.name = Reparaturgeschütz
block.repairturret.fulldescription = Repariert beschädigte Blöcke in der Nähe in einem langsamen Tempo. Nutzt geringe Mengen an Energie.
block.megarepairturret.name = Reparaturgeschütz II
block.megarepairturret.fulldescription = Repariert in der Nähe beschädigte Blöcke in Reichweite zu einem vernünftigen Preis. Verwendet Energie.
block.shieldgenerator.name = Schildgenerator
block.shieldgenerator.fulldescription = Ein fortgeschrittener Verteidigungsblock. Schützt alle Blöcke in einem Radius vor Angriffen. Bei keinem Betrieb langsamer Strom verbrauch, verliert bei Kugelkontakt jedoch schnell Energie.
block.door.name = Tür
block.door.fulldescription = Ein Block, der durch Antippen geöffnet und geschlossen werden kann.
block.door-large.name = grosse Tür
block.door-large.fulldescription = Ein Block der mehrere Felder gross ist und der durch Antippen geöffnet und geschlossen werden kann.
block.conduit.name = Leitungsrohr
block.conduit.fulldescription = Grundlegender Flüssigkeitstransportblock. Funktioniert wie ein Förderband, aber mit Flüssigkeiten. Am besten mit Pumpen oder anderen Leitungen verwenden. Kann als Brücke für Gegner und Spieler verwendet werden.
block.pulseconduit.name = Pulsleitungsrohr
block.pulseconduit.fulldescription = Fortschrittlicher Flüssigkeitstransportblock. Transportiert Flüssigkeiten schneller und speichert mehr als normale Leitungsrohre.
block.liquidrouter.name = flüssigkeiten verteiler
block.liquidrouter.fulldescription = Funktioniert ähnlich wie ein Router. Akzeptiert Flüssigkeit von einer Seite und gibt sie auf die anderen Seiten aus. Nützlich zum Aufspalten von Flüssigkeit aus eines einzelnen Leitungsrohres in mehrere andere Leitungensrohre.
block.conveyor.name = Förderband
block.conveyor.fulldescription = Grundelement Transport Block. Bewegt Gegenstände nach vorne und legt sie automatisch in Türmen oder ähnliches. Drehbar. Kann als Brücke für Gegner und Spieler verwendet werden.
block.steelconveyor.name = Stahlförderband
block.steelconveyor.fulldescription = Erweiterter Transportblock Bewegt Gegenstände schneller als Standardförderer.
block.poweredconveyor.name = Impulsförderband
block.poweredconveyor.fulldescription = Der ultimative Transportblock für Gegenstände. Bewegt Gegenstände noch schneller als Stahlförderer.
block.router.name = Verteiler
block.router.fulldescription = Akzeptiert Objekte aus einer Richtung und gibt sie in 3 andere Richtungen aus. Kann auch eine bestimmte Anzahl von Gegenständen speichern. Geeignet zum Aufteilen der Materialien von einem Bohrer in mehrere Geschütze.
block.junction.name = Kreuzung
block.junction.fulldescription = Fungiert als Brücke für zwei kreuzende Förderbänder. Nützlich in Situationen mit zwei verschiedenen Förderbänder, die unterschiedliche Materialien zu verschiedenen Orten transportieren.
block.conveyortunnel.name = Förderbandtunnel
block.conveyortunnel.fulldescription = Transportiert Artikel unter Blöcken. Verwendung für einen Tunnel, der in den zu untertunnelnden Block führt, und einen auf der anderen Seite. Stellen Sie sicher, dass beide Tunnel in entgegengesetzte Richtungen weisen, das heisst das die Tunnel voneinander weggucken.
block.liquidjunction.name = flüssigkeite Kreuzung
block.liquidjunction.fulldescription = Funktioniert als Brücke für zwei kreuzende Leitungsrohre. Nützlich in Situationen mit zwei verschiedenen Leitungen, die unterschiedliche Flüssigkeiten zu verschiedenen Orten transportieren.
block.liquiditemjunction.name = Flüssigkeit-Gegenstand-Kreuzung
block.liquiditemjunction.fulldescription = Fungiert als Brücke zum Überqueren von Leitungsrohre und Förderbändern.
block.powerbooster.name = Energieverstärker
block.powerbooster.fulldescription = Verteilt die Energie an alle Blöcke innerhalb seines Radius.
block.powerlaser.name = Energielaser
block.powerlaser.fulldescription = Erzeugt einen Laser, der die Kraft auf den Block davor überträgt. Erzeugt selbst keine Energie. Am besten mit Generatoren oder anderen Lasern verwendet.
block.powerlaserrouter.name = Laser Verteiler
block.powerlaserrouter.fulldescription = Laser, der die Kraft in drei Richtungen gleichzeitig verteilt. Nützlich in Situationen, in denen mehrere Blöcke von einem Generator mit Strom versorgt werden müssen.
block.powerlasercorner.name = Laser-Ecke
block.powerlasercorner.fulldescription = Laser, der die Kraft in zwei Richtungen gleichzeitig verteilt. Nützlich in Situationen, in denen mehrere Blöcke von einem Generator mit Strom versorgt werden müssen und ein Router ungenau ist.
block.teleporter.name = Teleporter
block.teleporter.fulldescription = Erweiterter Transportblock Teleporter geben Gegenstände in andere Teleporter derselben Farbe ein. Tut nichts, wenn keine Teleporter derselben Farbe existieren. Wenn mehrere Teleporter mit derselben Farbe existieren, wird eine zufällige ausgewählt. Verwendet Energie. Tippen, um die Farbe zu ändern.
block.sorter.name = Sortierer
block.sorter.fulldescription = Sortiert den Gegenstand nach Materialart. Das zu akzeptierende Material wird durch die Farbe im Block angezeigt. Alle Artikel, die dem Sortiermaterial entsprechen, werden vorwärts ausgegeben, alles andere wird nach links und rechts ausgegeben.
block.core.name = Kern
block.pump.name = Pumpe
block.pump.fulldescription = Pumpen Flüssigkeiten aus einem Quellblock - meist Wasser, Lava oder Öl. Gibt Flüssigkeit in benachbarte Leitungsrohre aus.
block.fluxpump.name = flux Pumpe
block.fluxpump.fulldescription = Eine erweiterte Version der Pumpe. Speichert mehr Flüssigkeit und pumpt Flüssigkeit schneller.
block.smelter.name = Schmelzer
block.smelter.fulldescription = Der essentielle Bastelblock. Wenn 1x Eisen und 1x Kohle eingegeben wird, wird 1x Stahl ausgegeben.
block.crucible.name = Tiegel
block.crucible.fulldescription = Ein fortgeschrittener Handwerksblock. Braucht Kohle um zu funktionieren. Wenn 1x Titan und 1x Stahl eingegeben wird, wird 1x Dirium ausgegeben.
block.coalpurifier.name = Kohle-Extraktor
block.coalpurifier.fulldescription = Ein einfacher Extraktorblock. Gibt Kohle aus, wenn der Block mit grossen Mengen Wasser und Stein gefüllt wird.
block.titaniumpurifier.name = Titan-Extraktor
block.titaniumpurifier.fulldescription = Ein Standard-Extraktorblock. Gibt Titan aus wenn er mit grossen Mengen Wasser und Eisen gefüllt wird.
block.oilrefinery.name = Ölraffinerie
block.oilrefinery.fulldescription = Veredelt grosse Mengen Öl zu Kohle. Nützlich für die Betankung von Blöcken die Kohle benutzen wie z.b. Waffentürme, wenn Kohleadern knapp sind.
block.stoneformer.name = Steinformer
block.stoneformer.fulldescription = Verfestigt flüssige Lava zu Stein. Nützlich für die Herstellung von grossen Mengen von Stein für Kohle-Extraktor.
block.lavasmelter.name = Lava-Schmelzer
block.lavasmelter.fulldescription = Verwendet Lava, um Eisen zu Stahl schmelzen. Eine Alternative zum Schmelzer. Nützlich in Situationen, in denen Kohle knapp ist.
block.stonedrill.name = Steinbohrer
block.stonedrill.fulldescription = Der wesentliche Bohrer. Wenn er auf Steinplatten gelegt wird, gibt er Steine ​​mit einer langsamen Geschwindigkeit auf endlosen Zeit aus.
block.irondrill.name = Eisenbohrer
block.irondrill.fulldescription = Eine grundlegender Bohrer. Wenn es auf Eisenerz gelegt wird, gibt er Eisen auf endloser Zeit langsam aus.
block.coaldrill.name = Kohlenbohrer
block.coaldrill.fulldescription = Eine grundlegender Bohrer. Wenn es auf Kohleerz platziert wird, gibt er für endloser Zeit langsam Kohle aus.
block.thoriumdrill.name = Uran-Bohrer
block.thoriumdrill.fulldescription = Ein fortgeschrittener Bohrer. Wenn es auf Uranerz platziert wird, gibt er Uran mit einer langsamen Geschwindigkeit auf endloser Zeit ab.
block.titaniumdrill.name = Titan-Bohrer
block.titaniumdrill.fulldescription = Ein fortgeschrittener Bohrer. Wenn es auf Titanerz platziert wird, gibt er Titan langsam aus für undendlich langer Zeit
block.omnidrill.name = Omni-Bohrer
block.omnidrill.fulldescription = Der ultimative Bohrer. Baut in schnellem Tempo jegliches Erz ab.
block.coalgenerator.name = Kohle-Generator
block.coalgenerator.fulldescription = Der wesentliche Generator. Erzeugt Energie aus Kohle. Gibt Energie als Laser an seine 4 Seiten aus.
block.thermalgenerator.name = thermischer Generator
block.thermalgenerator.fulldescription = Erzeugt Energie aus Lava. Gibt Energie als Laser an seine 4 Seiten aus.
block.combustiongenerator.name = Verbrennungsgenerator
block.combustiongenerator.fulldescription = Erzeugt Energie aus Öl. Gibt Energie als Laser an seine 4 Seiten aus.
block.rtgenerator.name = RTG-Generator
block.rtgenerator.fulldescription = Erzeugt geringe Mengen an Energie aus dem radioaktiven Zerfall von Uran. Gibt Energie als Laser an seine 4 Seiten aus.
block.nuclearreactor.name = Kernreaktor
block.nuclearreactor.fulldescription = Eine erweiterte Version des RTG-Generators und der ultimative Energie Generator. Erzeugt Strom aus Uran. Erfordert konstante Wasserkühlung. Sehr heiss; explodiert heftig, wenn zu wenig Kühlmittel zugeführt wird.
block.turret.name = Geschütz
block.turret.fulldescription = Ein einfacher, billiger Turm. Verwendet Stein für Munition. Hat etwas mehr Reichweite als das Doppelgeschütz.
block.doubleturret.name = Doppelgeschütz
block.doubleturret.fulldescription = Eine etwas stärkere Version des Geschützes. Verwendet Stein für Munition. Hat deutlich mehr Schaden, hat aber eine geringere Reichweite. Schiesst zwei Kugeln.
block.machineturret.name = Gatling Geschütz
block.machineturret.fulldescription = Ein Standard-Allround-Turm. Verwendet Eisen für Munition. Hat eine schnelle Feuerrate mit gutem Schaden.
block.shotgunturret.name = Splittergeschütz
block.shotgunturret.fulldescription = Ein Standard-Turm. Verwendet Eisen für Munition. Schiesst 7 Kugeln auf einmal. Geringere Reichweite, aber höhere Schadensleistung als das Gatling Geschütz
block.flameturret.name = Flammenwerfer
block.flameturret.fulldescription = Fortschrittlicher Nahbereichswaffe. Verwendet Kohle für Munition. Hat eine sehr geringe Reichweite, aber sehr hohen Schaden. Gut für Nahkampf. Empfohlen für den Einsatz hinter Mauern.
block.sniperturret.name = Schienenkanone
block.sniperturret.fulldescription = Fortschrittliches Reichweitengeschütz. Verwendet Stahl für Munition. Sehr hoher Schaden, aber niedrige Feuerrate. Teuer zu verwenden, kann aber aufgrund seiner Reichweite weit entfernt von den feindlichen Linien platziert werden.
block.mortarturret.name = Flakgeschütz
block.mortarturret.fulldescription = Fortschrittlicher Flächen-Schaden Turm. Verwendet Kohle für Munition. Sehr langsame Feuerrate und Geschosse, aber sehr hoher Einzelziel- und Flächenschaden. Nützlich gegen grosse Mengen von Feinden.
block.laserturret.name = Laserturm
block.laserturret.fulldescription = Fortschrittlicher Einzelziel-Turm. Verwendet Strom. Guter Allround-Revolver für mittlere Reichweiten. Nur Einzelziel. Verfehlt nie.
block.waveturret.name = Teslakanone
block.waveturret.fulldescription = Erweiterter Mehrfach-Ziele-Turm. Verwendet Strom. Mittlere Reichweite. Verfehlt nie. Im Durchschnitt zu wenig Schaden, aber kann mehrere Feinde gleichzeitig mit Kettenblitz treffen.
block.plasmaturret.name = Plasmageschütz
block.plasmaturret.fulldescription = Hochentwickelte Version des Flammenwerfers. Verwendet Kohle als Munition. Sehr hoher Schaden, niedriger bis mittlerer Reichweite.
block.chainturret.name = Kettengeschütz
block.chainturret.fulldescription = Die ultimative Schnellfeuer Waffe. Verwendet Uran als Munition. Schiesst grosse Kugeln mit hoher Feuerrate. Mittlere Reichweite. Mehrere Felder gross. Hält extrem viel aus.
block.titancannon.name = Titan Kanone
block.titancannon.fulldescription = Die ultimative Langstrecken Kanone. Verwendet Uran als Munition. Schiesst grosse Flächen-Schadenden-Granaten mit einer mittleren Feuerrate ab. Lange Reichweite. Ist mehrere Felder gross. Hält extrem viel aus.
block.playerspawn.name = Spielerspawn
block.enemyspawn.name = Gegnerspawn
text.about=Erstellt von [ROYAL] Anuken. [] \nUrsprünglich ein Eintrag im [orange] GDL [] MM Jam.\n\nCredits: \n- SFX gemacht mit [yellow] bfxr [] - Musik gemacht von [green] RoccoW [] / gefunden auf [lime] FreeMusicArchive.org [] \n\nBesonderer Dank geht an: \n- [coral] MitchellFJN []: Umfangreicher Spieletest und Feedback \n- [sky] Luxray5474 []: Wiki-Arbeit, Code-Beiträge \n- Alle Beta-Tester auf itch.io und Google Play\n
text.discord=Trete dem Mindustry Discord bei!
text.gameover=Der Kern wurde zerstört.
text.highscore=[YELLOW] Neuer Highscore!
text.lasted=Du hast bis zur folgenden Welle überlebt
text.level.highscore=High Score: [accent] {0}
text.level.delete.title=Löschen bestätigen
text.level.select=Level Auswahl
text.level.mode=Spielmodus:
text.savegame=Spiel speichern
text.loadgame=Spiel laden
text.joingame=Spiel beitreten
text.quit=Verlassen
text.about.button=Info
text.name=Name:
text.players={0} Spieler online
text.players.single={0} Spieler online
text.server.mismatch=Paketfehler: Mögliche Client / Server-Version stimmt nicht überein. Stell sicher, dass du und der Host die neueste Version von Mindustry haben!
text.server.kicked.kick=Du wurdest vom Server gekickt!
text.server.kicked.invalidPassword=Falsches Passwort.
text.server.connected={0} ist beigetreten
text.server.disconnected={0} hat die Verbindung getrennt.
text.nohost=Server kann nicht auf einer benutzerdefinierten Karte gehostet werden!
text.hostserver=Server hosten
text.host=Host
text.hosting=[accent] Server wird geöffnet...
text.hosts.refresh=Aktualisieren
text.hosts.discovering=Suche nach LAN-Spielen
text.server.refreshing=Server wird aktualisiert
text.hosts.none=[lightgray] Keine LAN Spiele gefunden!
text.host.invalid=[scarlet] Kann keine Verbindung zum Host herstellen.
text.server.add=Server hinzufügen
text.server.delete=Bist du dir sicher das du diesen Server löschen möchtest?
text.server.hostname=Host: {0}
text.server.edit=Server bearbeiten
text.joingame.title=Spiel beitreten
text.joingame.ip=IP:
text.disconnect=Verbindung unterbrochen.
text.connecting=[accent] Verbindet...
text.connecting.data=[accent] Weltdaten werden geladen...
text.connectfail=[crimson] Verbindung zum Server konnte nicht hergestellt werden: [orange]{0}
text.server.port=Port:
text.server.invalidport=Falscher Port!
text.server.error=[crimson] Fehler beim Hosten des Servers: [orange] {0}
text.save.new=Neuer Spielstand
text.save.overwrite=Möchten du diesen Spielstand wirklich überschreiben?
text.overwrite=Überschreiben
text.save.none=Keine Spielstände gefunden!
text.saveload=[accent] Speichern ...
text.savefail=Fehler beim Speichern des Spiels!
text.save.delete.confirm=Möchtest du diesen Spielstand wirklich löschen?
text.save.delete=Löschen
text.save.export=Spielstand exportieren
text.save.import.invalid=[orange] Dieser Spielstand ist ungültig!
text.save.import.fail=[crimson] Spielstand konnte nicht importiert werden: [orange] {0}
text.save.export.fail=[crimson] Spielstand konnte nicht exportiert werden: [orange] {0}
text.save.import=Spielstand importieren
text.save.newslot=Name speichern:
text.save.rename=Umbenennen
text.save.rename.text=Neuer Name
text.selectslot=Wähle einen Spielstand
text.slot=[accent] Platz {0}
text.save.corrupted=[orange] Datei beschädigt oder ungültig!
text.empty=<leer>
text.on=An
text.off=Aus
text.save.autosave=Automatisches Speichern: {0}
text.save.map=Karte: {0}
text.save.wave=Welle: {0}
text.save.date=Zuletzt gespeichert: {0}
text.confirm=Bestätigen
text.delete=Löschen
text.ok=OK
text.open=Öffnen
text.cancel=Abbruch
text.openlink=Link öffnen
text.back=Zurück
text.quit.confirm=Willst du wirklich aufhören?
text.loading=[accent] Wird geladen ...
text.wave=[orange] Welle {0}
text.wave.waiting=Welle in {0}
text.waiting=Warten...
text.enemies={0} Feinde
text.enemies.single={0} Feind
text.loadimage=Bild laden
text.saveimage=Bild speichern
text.editor.badsize=[orange]Ungültige Bildabmessungen! [] Gültige Kartenabmessungen: {0}
text.editor.errorimageload=Fehler beim Laden des Bildes: [orange] {0}
text.editor.errorimagesave=Fehler beim Speichern des Bildes: [orange] {0}
text.editor.generate=Generieren
text.editor.resize=Grösse\nanpassen
text.editor.loadmap=Karte\nladen
text.editor.savemap=Karte\nspeichern
text.editor.loadimage=Bild\nladen
text.editor.saveimage=Bild\nspeichern
text.editor.unsaved=[crimson] Du hast Änderungen nicht gespeichert [] Möchtest du wirklich aufhören?
text.editor.resizemap=Grösse der Karte ändern
text.editor.mapname=Map Name
text.editor.overwrite=[accent] Warnung! Dies überschreibt eine vorhandene Map.
text.editor.selectmap=Wähle eine Map zum Laden:
text.width=Breite:
text.height=Höhe:
text.menu=Menü
text.play=Spielen
text.load=Laden
text.save=Speichern
text.settings=Einstellungen
text.tutorial=Tutorial
text.editor=Bearbeiter
text.mapeditor=Karten Bearbeiter
text.donate=Spenden
text.settings.reset=Auf Standard zurücksetzen
text.settings.controls=Steuerung
text.settings.game=Spiel
text.settings.sound=Audio
text.settings.graphics=Grafiken
text.upgrades=Verbesserungen
text.purchased=[LIME] Erstellt!
text.weapons=Waffen
text.paused=Pausiert
text.error.title=[crimson] Ein Fehler ist aufgetreten
text.error.crashtitle=EIn Fehler ist aufgetreten!
text.blocks.blockinfo=Blockinfo:
text.blocks.powercapacity=Energiekapazität
text.blocks.powershot=Energie / Schuss
text.blocks.size=Grösse
text.blocks.liquidcapacity=Flüssigkeitskapazität
text.blocks.maxitemssecond=Max Gegenstände / Sekunde
text.blocks.powerrange=Energiereichweite
text.blocks.itemcapacity=Gegenstand Kapazität
text.blocks.inputliquid=Flüssigkeiten Eingabe
text.blocks.inputitem=Eingabe Gegenstand
text.blocks.explosive=Hochexplosiv!
text.blocks.health=Lebenspunkte
text.blocks.inaccuracy=Ungenauigkeit
text.blocks.shots=Schüsse
text.blocks.inputcapacity=Eingabekapazität
text.blocks.outputcapacity=Ausgabekapazität
setting.difficulty.easy=Leicht
setting.difficulty.normal=Normal
setting.difficulty.hard=Schwer
setting.difficulty.insane=Unmöglich
setting.difficulty.purge=Auslöschung
setting.difficulty.name=Schwierigkeit
setting.screenshake.name=Bildschirm wackeln
setting.indicators.name=Feind Indikatoren
setting.effects.name=Effekte anzeigen
setting.sensitivity.name=Kontroller Empfindlichkeit
setting.saveinterval.name=Autosave Häufigkeit
setting.seconds={0} Sekunden
setting.fps.name=Zeige FPS
setting.vsync.name=VSync
setting.lasers.name=Zeige Energielaser
setting.healthbars.name=Zeige Objekt Lebensbalken
setting.musicvol.name=Musiklautstärke
setting.mutemusic.name=Musik stummschalten
setting.sfxvol.name=Audioeffekte Lautstärke
setting.mutesound.name=Audioeffekte stummschalten
map.maze.name=Labyrinth
map.fortress.name=Festung
map.sinkhole.name=Sinkloch
map.caves.name=Höhlen
map.volcano.name=Vulkan
map.caldera.name=Lavakessel
map.scorch.name=Flammen
map.desert.name=Wüste
map.island.name=Insel
map.grassland.name=Grasland
map.tundra.name=Kältesteppe
map.spiral.name=Spirale
map.tutorial.name=Tutorial
keybind.move_x.name=bewege_x
keybind.move_y.name=bewege_y
keybind.select.name=wählen
keybind.break.name=Unterbrechung
keybind.shoot.name=Schiess
keybind.zoom_hold.name=zoomen_halten
keybind.zoom.name=zoomen
keybind.menu.name=Menü
keybind.pause.name=Pause
keybind.dash.name=Bindestrich
keybind.rotate_alt.name=drehen_alt
keybind.rotate.name=Drehen
mode.waves.name=Wellen
mode.sandbox.name=Sandkasten
mode.freebuild.name=Freier Bau
item.stone.name=Stein
item.coal.name=Kohle
item.titanium.name=Titan
item.thorium.name=Uran
item.sand.name=Sand
liquid.water.name=Wasser
liquid.lava.name=Lava
liquid.oil.name=Öl
block.door.name=Tür
block.door-large.name=grosse Tür
block.conduit.name=Leitungsrohr
block.pulseconduit.name=Pulsleitungsrohr
block.liquidrouter.name=flüssigkeiten verteiler
block.conveyor.name=Förderband
block.router.name=Verteiler
block.junction.name=Kreuzung
block.liquidjunction.name=flüssigkeite Kreuzung
block.sorter.name=Sortierer
block.smelter.name=Schmelzer
text.credits=Credits
text.link.discord.description=the official Mindustry discord chatroom
text.link.github.description=Game source code
text.link.dev-builds.description=Unstable development builds
text.link.trello.description=Official trello board for planned features
text.link.itch.io.description=itch.io page with PC downloads and web version
text.link.google-play.description=Google Play store listing
text.link.wiki.description=official Mindustry wiki
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard.
text.editor.web=The web version does not support the editor!\nDownload the game to use it.
text.web.unsupported=The web version does not support this feature! Download the game to use it.
text.multiplayer.web=This version of the game does not support multiplayer!\nTo play multiplayer from your browser, use the "multiplayer web version" link at the itch.io page.
text.host.web=The web version does not support hosting games! Download the game to use this feature.
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
text.construction.title=Block Construction Guide
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
text.deconstruction.title=Block Deconstruction Guide
text.deconstruction=You've just selected [accent]block deconstruction mode[].\n\nTo begin breaking, simply tap a block near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin de-constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Remove blocks in an area[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel deconstruction or selection[] by pressing the X at the bottom left.
text.showagain=Don't show again next session
text.unlocks=Unlocks
text.addplayers=Add/Remove Players
text.newgame=New Game
text.maps=Maps
text.maps.none=[LIGHT_GRAY]No maps found!
text.unlocked=New Block Unlocked!
text.unlocked.plural=New Blocks Unlocked!
text.server.closing=[accent]Closing server...
text.server.kicked.fastShoot=You are shooting too quickly.
text.server.kicked.clientOutdated=Outdated client! Update your game!
text.server.kicked.serverOutdated=Outdated server! Ask the host to update!
text.server.kicked.banned=You are banned on this server.
text.server.kicked.recentKick=You have been kicked recently.\nWait before connecting again.
text.server.kicked.nameInUse=There is someone with that name\nalready on this server.
text.server.kicked.nameEmpty=Your name must contain at least one character or number.
text.server.kicked.idInUse=You are already on this server! Connecting with two accounts is not permitted.
text.server.kicked.customClient=This server does not support custom builds. Download an official version.
text.host.info=The [accent]host[] button hosts a server on ports [scarlet]6567[] and [scarlet]6568.[]\nAnybody on the same [LIGHT_GRAY]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[LIGHT_GRAY]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings.
text.join.info=Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[LIGHT_GRAY]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP.
text.server.friendlyfire=Friendly Fire
text.trace=Trace Player
text.trace.playername=Player name: [accent]{0}
text.trace.ip=IP: [accent]{0}
text.trace.id=Unique ID: [accent]{0}
text.trace.android=Android Client: [accent]{0}
text.trace.modclient=Custom Client: [accent]{0}
text.trace.totalblocksbroken=Total blocks broken: [accent]{0}
text.trace.structureblocksbroken=Structure blocks broken: [accent]{0}
text.trace.lastblockbroken=Last block broken: [accent]{0}
text.trace.totalblocksplaced=Total blocks placed: [accent]{0}
text.trace.lastblockplaced=Last block placed: [accent]{0}
text.invalidid=Invalid client ID! Submit a bug report.
text.server.bans=Bans
text.server.bans.none=No banned players found!
text.server.admins=Admins
text.server.admins.none=No admins found!
text.server.outdated=[crimson]Outdated Server![]
text.server.outdated.client=[crimson]Outdated Client![]
text.server.version=[lightgray]Version: {0}
text.server.custombuild=[yellow]Custom Build
text.confirmban=Are you sure you want to ban this player?
text.confirmunban=Are you sure you want to unban this player?
text.confirmadmin=Are you sure you want to make this player an admin?
text.confirmunadmin=Are you sure you want to remove admin status from this player?
text.disconnect.data=Failed to load world data!
text.server.addressinuse=Address already in use!
text.save.difficulty=Difficulty: {0}
text.copylink=Copy Link
text.changelog.title=Changelog
text.changelog.loading=Getting changelog...
text.changelog.error.android=[orange]Note that the changelog sometimes does not work on Android 4.4 and below!\nThis is due to an internal Android bug.
text.changelog.error.ios=[orange]The changelog is currently not supported in iOS.
text.changelog.error=[scarlet]Error getting changelog!\nCheck your internet connection.
text.changelog.current=[yellow][[Current version]
text.changelog.latest=[orange][[Latest version]
text.saving=[accent]Saving...
text.unknown=Unknown
text.custom=Custom
text.builtin=Built-In
text.map.delete.confirm=Are you sure you want to delete this map? This action cannot be undone!
text.map.random=[accent]Random Map
text.map.nospawn=This map does not have any cores for the player to spawn in! Add a [ROYAL]blue[] core to this map in the editor.
text.editor.slope=\\
text.editor.openin=Open In Editor
text.editor.oregen=Ore Generation
text.editor.oregen.info=Ore Generation:
text.editor.mapinfo=Map Info
text.editor.author=Author:
text.editor.description=Description:
text.editor.name=Name:
text.editor.teams=Teams
text.editor.elevation=Elevation
text.editor.saved=Saved!
text.editor.save.noname=Your map does not have a name! Set one in the 'map info' menu.
text.editor.save.overwrite=Your map overwrites a built-in map! Pick a different name in the 'map info' menu.
text.editor.import.exists=[scarlet]Unable to import:[] a built-in map named '{0}' already exists!
text.editor.import=Import...
text.editor.importmap=Import Map
text.editor.importmap.description=Import an already existing map
text.editor.importfile=Import File
text.editor.importfile.description=Import an external map file
text.editor.importimage=Import Terrain Image
text.editor.importimage.description=Import an external map image file
text.editor.export=Export...
text.editor.exportfile=Export File
text.editor.exportfile.description=Export a map file
text.editor.exportimage=Export Terrain Image
text.editor.exportimage.description=Export a map image file
text.editor.overwrite.confirm=[scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?
text.fps=FPS: {0}
text.tps=TPS: {0}
text.ping=Ping: {0}ms
text.language.restart=Please restart your game for the language settings to take effect.
text.settings.language=Language
text.settings.rebind=Rebind
text.yes=Yes
text.no=No
text.info.title=[accent]Info
text.blocks.targetsair=Targets Air
text.blocks.itemspeed=Units Moved
text.blocks.shootrange=Range
text.blocks.poweruse=Power Use
text.blocks.inputitemcapacity=Input Item Capacity
text.blocks.outputitemcapacity=Input Item Capacity
text.blocks.maxpowergeneration=Max Power Generation
text.blocks.powertransferspeed=Power Transfer
text.blocks.craftspeed=Production Speed
text.blocks.inputliquidaux=Aux Liquid
text.blocks.inputitems=Input Items
text.blocks.outputitem=Output Item
text.blocks.drilltier=Drillables
text.blocks.drillspeed=Base Drill Speed
text.blocks.liquidoutput=Liquid Output
text.blocks.liquiduse=Liquid Use
text.blocks.coolant=Coolant
text.blocks.coolantuse=Coolant Use
text.blocks.inputliquidfuel=Fuel Liquid
text.blocks.liquidfueluse=Liquid Fuel Use
text.blocks.reload=Reload
text.blocks.inputfuel=Fuel
text.blocks.fuelburntime=Fuel Burn Time
text.unit.blocks=blocks
text.unit.powersecond=power units/second
text.unit.liquidsecond=liquid units/second
text.unit.itemssecond=items/second
text.unit.pixelssecond=pixels/second
text.unit.liquidunits=liquid units
text.unit.powerunits=power units
text.unit.degrees=degrees
text.unit.seconds=seconds
text.unit.none=
text.unit.items=items
text.category.general=General
text.category.power=Power
text.category.liquids=Liquids
text.category.items=Items
text.category.crafting=Crafting
text.category.shooting=Shooting
setting.fullscreen.name=Fullscreen
setting.multithread.name=Multithreading
setting.minimap.name=Show Minimap
text.keybind.title=Rebind Keys
keybind.block_info.name=block_info
keybind.chat.name=chat
keybind.player_list.name=player_list
keybind.console.name=console
mode.text.help.title=Description of modes
mode.waves.description=the normal mode. limited resources and automatic incoming waves.
mode.sandbox.description=infinite resources and no timer for waves.
mode.freebuild.description=limited resources and no timer for waves.
content.item.name=Items
content.liquid.name=Liquids
content.unit-type.name=Units
content.recipe.name=Blocks
item.stone.description=A common raw material. Used for separating and refining into other materials, or melting into lava.
item.tungsten.name=Tungsten
item.tungsten.description=A common, but very useful structure material. Used in drills and heat-resistant blocks such as generators and smelteries.
item.lead.name=Lead
item.lead.description=A basic starter material. Used extensively in electronics and liquid transportation blocks.
item.coal.description=A common and readily available fuel.
item.carbide.name=Carbide
item.carbide.description=A tough alloy made with tungsten and carbon. Used in advanced transportation blocks and high-tier drills.
item.titanium.description=A rare super-light metal used extensively in liquid transportation, drills and aircraft.
item.thorium.description=A dense, radioactive metal used as structural support and nuclear fuel.
item.silicon.name=Silicon
item.silcion.description=An extremely useful semiconductor, with applications in solar panels and many complex electronics.
item.plastanium.name=Plastanium
item.plastanium.description=A light, ductile material used in advanced aircraft and fragmentation ammunition.
item.phase-matter.name=Phase Matter
item.surge-alloy.name=Surge Alloy
item.biomatter.name=Biomatter
item.biomatter.description=A clump of organic mush; used for conversion into oil or as a basic fuel.
item.sand.description=A common material that is used extensively in smelting, both in alloying and as a flux.
item.blast-compound.name=Blast Compound
item.blast-compound.description=A volatile compound used in bombs and explosives. While it can burned as fuel, this is not advised.
item.pyratite.name=Pyratite
item.pyratite.description=An extremely flammable substance used in incendiary weapons.
liquid.cryofluid.name=Cryofluid
text.item.explosiveness=[LIGHT_GRAY]Explosiveness: {0}
text.item.flammability=[LIGHT_GRAY]Flammability: {0}
text.item.radioactivity=[LIGHT_GRAY]Radioactivity: {0}
text.item.fluxiness=[LIGHT_GRAY]Flux Power: {0}
text.item.hardness=[LIGHT_GRAY]Hardness: {0}
text.liquid.heatcapacity=[LIGHT_GRAY]Heat Capacity: {0}
text.liquid.viscosity=[LIGHT_GRAY]Viscosity: {0}
text.liquid.temperature=[LIGHT_GRAY]Temperature: {0}
block.tungsten-wall.name=Tungsten Wall
block.tungsten-wall-large.name=Large Tungsten Wall
block.carbide-wall.name=Carbide Wall
block.carbide-wall-large.name=Large Carbide Wall
block.thorium-wall.name=Thorium Wall
block.thorium-wall-large.name=Large Thorium Wall
block.duo.name=Duo
block.scorch.name=Scorch
block.hail.name=Hail
block.lancer.name=Lancer
block.titanium-conveyor.name=Titanium Conveyor
block.splitter.name=Splitter
block.splitter.description=Outputs items into two opposite directions immediately after they are recieved.
block.router.description=Splits items into all 4 directions. Can store items as a buffer.
block.distributor.name=Distributor
block.distributor.description=A splitter that can split items into 8 directions.
block.sorter.description=Sorts items. If an item matches the selection, it is allowed to pass. Otherwise, the item is outputted to the left and right.
block.overflow-gate.name=Overflow Gate
block.overflow-gate.description=A combination splitter and router that only outputs to the left and right if the front path is blocked.
block.bridgeconveyor.name=Bridge Conveyor
block.bridgeconveyor.description=A conveyor that can go over other blocks, for up to two total blocks.
block.arc-smelter.name=Arc Smelter
block.silicon-smelter.name=Silicon Smelter
block.phase-weaver.name=Phase Weaver
block.pulverizer.name=Pulverizer
block.cryofluidmixer.name=Cryofluid Mixer
block.melter.name=Melter
block.incinerator.name=Incinerator
block.biomattercompressor.name=Biomatter Compressor
block.separator.name=Separator
block.centrifuge.name=Centrifuge
block.power-node.name=Power Node
block.power-node-large.name=Large Power Node
block.battery.name=Battery
block.battery-large.name=Large Battery
block.combustion-generator.name=Combustion Generator
block.turbine-generator.name=Turbine Generator
block.tungsten-drill.name=Tungsten Drill
block.carbide-drill.name=Carbide Drill
block.laser-drill.name=Laser Drill
block.water-extractor.name=Water Extractor
block.cultivator.name=Cultivator
block.dart-ship-factory.name=Dart Ship Factory
block.delta-mech-factory.name=Delta Mech Factory
block.dronefactory.name=Drone Factory
block.repairpoint.name=Repair Point
block.resupplypoint.name=Resupply Point
block.liquidtank.name=Liquid Tank
block.bridgeconduit.name=Bridge Conduit
block.mechanical-pump.name=Mechanical Pump
block.itemsource.name=Item Source
block.itemvoid.name=Item Void
block.liquidsource.name=Liquid Source
block.powervoid.name=Power Void
block.powerinfinite.name=Power Infinite
block.unloader.name=Unloader
block.sortedunloader.name=Sorted Unloader
block.vault.name=Vault
block.wave.name=Wave
block.swarmer.name=Swarmer
block.salvo.name=Salvo
block.ripple.name=Ripple
block.phase-conveyor.name=Phase Conveyor
block.bridge-conveyor.name=Bridge Conveyor
block.plastanium-compressor.name=Plastanium Compressor
block.pyratite-mixer.name=Pyratite Mixer
block.blast-mixer.name=Blast Mixer
block.solidifer.name=Solidifer
block.solar-panel.name=Solar Panel
block.solar-panel-large.name=Large Solar Panel
block.oil-extractor.name=Oil Extractor
block.javelin-ship-factory.name=Javelin Ship factory
block.drone-factory.name=Drone Factory
block.fabricator-factory.name=Fabricator Factory
block.repair-point.name=Repair Point
block.resupply-point.name=Resupply Point
block.pulse-conduit.name=Pulse Conduit
block.phase-conduit.name=Phase Conduit
block.liquid-router.name=Liquid Router
block.liquid-tank.name=Liquid Tank
block.liquid-junction.name=Liquid Junction
block.bridge-conduit.name=Bridge Conduit
block.rotary-pump.name=Rotary Pump
block.nuclear-reactor.name=Nuclear Reactor
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+494 -491
View File
@@ -1,491 +1,494 @@
text.about = Dibuat oleh [ROYAL]Anuken.[]\nAwalnya masuk di [orange]GDL[] MM Jam.\n\nKredit:\n- SFX dibuat dengan [YELLOW]bfxr[]\n- Musik dibuat oleh [GREEN]RoccoW[] / ditemukan di [lime]FreeMusicArchive.org[]\n\nTerima kasih khusus kepada:\n- [coral]MitchellFJN[]: playtesting dan umpan balik yang luas\n- [sky]Luxray5474[]: pekerjaan wiki, kontribusi kode\n- Semua penguji beta di itch.io dan Google Play\n
text.discord = Bergabunglah dengan Discord Mindustry!
text.gameover = Intinya hancur.
text.highscore = [YELLOW]Rekor baru!
text.lasted = Anda bertahan sampai gelombang
text.level.highscore = Skor Tinggi: [accent]{0}
text.level.delete.title = Konfirmasi Hapus
text.level.delete = Yakin ingin menghapus peta \"[orange]{0}\"?
text.level.select = Pilih Level
text.level.mode = Modus permainan:
text.savegame = Simpan Permainan
text.loadgame = Lanjutkan
text.joingame = Bermain Bersama
text.quit = Keluar
text.about.button = Tentang
text.name = Nama:
text.public = Publik
text.players = {0} pemain online
text.server.player.host = {0} (host)
text.players.single = {0} pemain online
text.server.mismatch = Kesalahan paket: kemungkinan versi client / server tidak sesuai.\nPastikan Anda dan host memiliki versi terbaru Mindustry!
text.server.closing = [accent]Menutup server...
text.server.kicked.kick = Anda telah dikeluarkan dari server!
text.server.kicked.invalidPassword = Kata sandi salah!
text.server.kicked.clientOutdated = Client versi lama! Update game Anda!
text.server.kicked.serverOutdated = Server versi lama! Tanyakan host untuk mengupdate!
text.server.connected = {0} telah bergabung.
text.server.disconnected = {0} telah terputus.
text.nohost = Tidak dapat meng-host server pada peta khusus!
text.hostserver = Host Server
text.host = Host
text.hosting = [accent]Membuka server...
text.hosts.refresh = Segarkan
text.hosts.discovering = Mencari game LAN
text.server.refreshing = Menyegarkan server
text.hosts.none = [lightgray]Tidak ada game LAN yang ditemukan!
text.host.invalid = [scarlet]Tidak dapat terhubung ke host.
text.server.friendlyfire = Tembak Sesama
text.server.add = Tambahkan Server
text.server.delete = Yakin ingin menghapus server ini?
text.server.hostname = Host: {0}
text.server.edit = Sunting Server
text.joingame.byip = Bergabung dengan IP...
text.joingame.title = Bermain Bersama
text.joingame.ip = IP:
text.disconnect = Sambungan terputus.
text.connecting = [accent]Menghubungkan...
text.connecting.data = [accent]Memuat data level...
text.connectfail = [crimson]Gagal terhubung ke server: [orange]{0}
text.server.port = Port:
text.server.addressinuse = Alamat sudah di pakai!
text.server.invalidport = Nomor port salah!
text.server.error = [crimson]Kesalahan server hosting: [orange]{0}
text.tutorial.back = < Sebelumnya
text.tutorial.next = Berikutnya >
text.save.new = Simpan Baru
text.save.overwrite = Yakin ingin mengganti slot simpan ini?
text.overwrite = Ganti
text.save.none = Tidak ada simpanan ditemukan!
text.saveload = [accent]Menyimpan...
text.savefail = Gagal menyimpan game!
text.save.delete.confirm = Yakin ingin menghapus save ini?
text.save.delete = Hapus
text.save.export = Ekspor Simpanan
text.save.import.invalid = [orange]Simpanan ini tidak valid!
text.save.import.fail = [crimson]Gagal mengimpor: [orange]{0}
text.save.export.fail = [crimson]Gagal mengekspor save: [orange]{0}
text.save.import = Impor Simpanan
text.save.newslot = Nama simpanan:
text.save.rename = Ganti nama
text.save.rename.text = Nama baru:
text.selectslot = Pilih simpanan.
text.slot = [accent]Slot{0}
text.save.corrupted = [orange]Simpanan rusak atau tidak valid!
text.empty = <kosong>
text.on = Hidup
text.off = Mati
text.save.autosave = Simpan otomatis: {0}
text.save.map = Peta: {0}
text.save.wave = Gelombang {0}
text.save.date = Terakhir Disimpan: {0}
text.confirm = Konfirmasi
text.delete = Hapus
text.ok = OK
text.open = Buka
text.cancel = Batal
text.openlink = Buka tautan
text.back = Kembali
text.quit.confirm = Anda yakin ingin berhenti?
text.loading = [accent]Memuat...
text.wave = [orange]Gelombang {0}
text.wave.waiting = Gelombang dimulai {0}
text.waiting = Menunggu...
text.enemies = {0} musuh
text.enemies.single = {0} Musuh
text.loadimage = Buka Gambar
text.saveimage = Simpan Gambar
text.oregen = Generator Bijih
text.editor.badsize = [orange]Dimensi gambar tidak valid![]\nDimensi peta yang valid: {0}
text.editor.errorimageload = Kesalahan saat memuat file gambar:\n[orange]{0}
text.editor.errorimagesave = Kesalahan saat menyimpan file gambar:\n[orange]{0}
text.editor.generate = Hasilkan
text.editor.resize = Ubah ukuran
text.editor.loadmap = Buka Peta
text.editor.savemap = Simpan Peta
text.editor.loadimage = Buka Gambar
text.editor.saveimage = Simpan Gambar
text.editor.unsaved = [scarlet]Anda memiliki perubahan yang belum disimpan![]\nYakin ingin keluar?
text.editor.brushsize = Ukuran sikat: {0}
text.editor.noplayerspawn = Peta ini tidak memiliki spawnpoint pemain!
text.editor.manyplayerspawns = Peta tidak bisa memiliki lebih dari satu\nspawnpoint pemain!
text.editor.manyenemyspawns = Tidak dapat memiliki lebih dari\n{0} spawnpoint musuh!
text.editor.resizemap = Ubah ukuran peta
text.editor.resizebig = [scarlet]Peringatan!\n[]Peta yang lebih besar dari 256 unit mungkin nge-lag dan tidak stabil.
text.editor.mapname = Nama Peta:
text.editor.overwrite = [accent]Peringatan!\nIni akan mengganti peta yang ada.
text.editor.failoverwrite = [crimson]Tidak dapat mengganti peta default!
text.editor.selectmap = Pilih peta yang akan dimuat:
text.width = Lebar:
text.height = Tinggi:
text.randomize = Acak
text.apply = Terapkan
text.update = Perbarui
text.menu = Menu
text.play = Main
text.load = Buka
text.save = Simpan
text.language.restart = Silakan mulai ulang permainan Anda agar pengaturan bahasa mulai berlaku.
text.settings.language = Bahasa
text.settings = Pengaturan
text.tutorial = Tutorial
text.editor = Pengedit
text.mapeditor = Pengedit Peta
text.donate = Sumbangkan
text.settings.reset = Atur ulang ke Default
text.settings.controls = Kontrol
text.settings.game = Permainan
text.settings.sound = Suara
text.settings.graphics = Grafis
text.upgrades = Perbaruan
text.purchased = [LIME]Dibuat!
text.weapons = Senjata
text.paused = Jeda
text.respawn = Respawning dalam
text.info.title = [accent]Info
text.error.title = [crimson]Telah terjadi kesalahan
text.error.crashmessage = [SCARLET]Kesalahan tak terduga telah terjadi, yang menyebabkan kerusakan.\n[]Tolong laporkan keadaan yang tepat dimana kesalahan ini terjadi pada pengembang:\n[ORANGE] anukendev@gmail.com[]
text.error.crashtitle = Telah terjadi kesalahan
text.mode.break = Mode penghancur: {0}
text.mode.place = Mode penaruh: {0}
placemode.hold.name = garis
placemode.areadelete.name = area
placemode.touchdelete.name = sentuh
placemode.holddelete.name = tahan
placemode.none.name = tidak ada
placemode.touch.name = sentuh
placemode.cursor.name = kursor
text.blocks.extrainfo = [accent]info tambahan blok:
text.blocks.blockinfo = Info Blok
text.blocks.powercapacity = Kapasitas Tenaga
text.blocks.powershot = Tenaga/tembakan
text.blocks.powersecond = Tenaga/detik
text.blocks.powerdraindamage = Tenaga Dipakai/damage
text.blocks.shieldradius = Radius Perisai
text.blocks.itemspeedsecond = Kecepatan Barang/detik
text.blocks.range = Jangkauan
text.blocks.size = Ukuran
text.blocks.powerliquid = Tenaga/Cairan
text.blocks.maxliquidsecond = Batas cairan/detik
text.blocks.liquidcapacity = Kapasitas cairan
text.blocks.liquidsecond = Cairan/detik
text.blocks.damageshot = Damage/tembakan
text.blocks.ammocapacity = Kapasitas Amunisi
text.blocks.ammo = Amunisi
text.blocks.ammoitem = Amunisi/barang
text.blocks.maxitemssecond = Batas barang/detik
text.blocks.powerrange = Jangkauan tenaga
text.blocks.lasertilerange = Kotak jangkauan laser
text.blocks.capacity = Kapasitas
text.blocks.itemcapacity = Kapasitas Barang
text.blocks.maxpowergenerationsecond = Batas Penghasil Tenaga/detik
text.blocks.powergenerationsecond = Penghasil Tenaga/detik
text.blocks.generationsecondsitem = Waktu Penghasil (detik)/barang
text.blocks.input = Masukan
text.blocks.inputliquid = Cairan yang Masuk
text.blocks.inputitem = Barang yang Masuk
text.blocks.output = Keluar
text.blocks.secondsitem = Detik/barang
text.blocks.maxpowertransfersecond = Batas transfer tenaga/detik
text.blocks.explosive = Mudah meledak!
text.blocks.repairssecond = Perbaikan/detik
text.blocks.health = Darah
text.blocks.inaccuracy = Ketidaktelitian
text.blocks.shots = Tembakan
text.blocks.shotssecond = Tembakan/detik
text.blocks.fuel = Bahan Bakar
text.blocks.fuelduration = Durasi Bahan Bakar
text.blocks.maxoutputsecond = Batas keluar/detik
text.blocks.inputcapacity = Kapasitas masuk
text.blocks.outputcapacity = Kapasitas keluar
text.blocks.poweritem = Tenaga/barang
text.placemode = Mode Penempatan
text.breakmode = Mode Penghancur
text.health = darah
setting.difficulty.easy = mudah
setting.difficulty.normal = normal
setting.difficulty.hard = sulit
setting.difficulty.insane = sangat susah
setting.difficulty.purge = paling susah
setting.difficulty.name = Kesulitan:
setting.screenshake.name = Layar Bergoyang
setting.smoothcam.name = Kamera Halus
setting.indicators.name = Indikator Musuh
setting.effects.name = Efek Tampilan
setting.sensitivity.name = Sensitivitas Pengendali
setting.saveinterval.name = Waktu Simpan Otomatis
setting.seconds = {0} Detik
setting.fullscreen.name = Layar Penuh
setting.fps.name = Tunjukkan FPS
setting.vsync.name = VSync
setting.lasers.name = Tampilkan Laser Tenaga
setting.healthbars.name = Tampilkan Bar Darah Entitas
setting.pixelate.name = Layar Pixel
setting.musicvol.name = Volume Musik
setting.mutemusic.name = Bisukan Musik
setting.sfxvol.name = Volume Suara
setting.mutesound.name = Bisukan Suara
map.maze.name = labirin
map.fortress.name = benteng
map.sinkhole.name = lubang pembuangan
map.caves.name = gua
map.volcano.name = gunung berapi
map.caldera.name = kaldera
map.scorch.name = penghangusan
map.desert.name = gurun
map.island.name = pulau
map.grassland.name = padang rumput
map.tundra.name = tundra
map.spiral.name = spiral
map.tutorial.name = tutorial
tutorial.intro.text = [yellow]Selamat datang di tutorial.[] Untuk memulai, tekan 'berikutnya'.
tutorial.moveDesktop.text = Untuk bergerak, gunakan tombol [orange][[WASD][]. Tahan tombol [orange]shift[] untuk mempercepat. Tahan [orange]CTRL[] saat menggunakan [orange]scrollwheel[] untuk memperbesar atau memperkecil tampilan.
tutorial.shoot.text = Gunakan mouse anda untuk mengarahkan, tahan [orange]tombol kiri mouse[] untuk menembak. Cobalah menembaki [yellow]target[].
tutorial.moveAndroid.text = Untuk menggeser tampilan, seret satu jari ke layar. Jepit dan seret untuk memperbesar atau memperkecil tampilan.
tutorial.placeSelect.text = Coba pilih [yellow]konveyor[] dari menu blok di kanan bawah.
tutorial.placeConveyorDesktop.text = Gunakan [orange][[scrollwheel][] untuk memutar konveyor menghadap [orange]ke depan[], lalu letakkan di [yellow]lokasi yang ditandai[] menggunakan [orange][[tombol kiri mouse]][].
tutorial.placeConveyorAndroid.text = Gunakan [orange][[tombol putar]][] untuk memutar konveyor menghadap [orange]ke depan[], seret ke posisi dengan satu jari, lalu letakkan di [yellow]lokasi yang ditandai[] dengan menggunakan [orange][[tanda centang][].
tutorial.placeConveyorAndroidInfo.text = Sebagai alternatif, Anda dapat menekan ikon crosshair di kiri bawah untuk beralih ke [orange][[mode sentuh]][], dan letakkan blok dengan mengetuk layar. Dalam mode sentuh, blok bisa diputar dengan panah di kiri bawah. Tekan [yellow]berikutnya[] untuk mencobanya.
tutorial.placeDrill.text = Sekarang, pilih dan tempatkan [yellow]pertambangan battu[] di lokasi yang ditandai.
tutorial.blockInfo.text = Jika Anda ingin mempelajari lebih lanjut tentang blok, Anda dapat menekan [orange]tanda tanya[] di bagian kanan atas untuk membaca deskripsinya.
tutorial.deselectDesktop.text = Anda bisa membatalkan pemilihan blok menggunakan [orange][[tombol mouse kanan][].
tutorial.deselectAndroid.text = Anda dapat membatalkan pemilihan blok dengan menekan tombol [orange]X (silang)[].
tutorial.drillPlaced.text = Pertambangannya sekarang akan menghasilkan [yellow]batu[] yang dikeluarkan ke konveyor, lalu memindahkannya ke [yellow]intinya[].
tutorial.drillInfo.text = Bijih yang berbeda membutuhkan pertambangan yang berbeda. Batu membutuhkan pertambangan batu, besi membutuhkan pertambangan besi, dll.
tutorial.drillPlaced2.text = Memindahkan barang ke dalam inti menempatkannya di [yellow]inventaris barang[] Anda, di kiri atas. Menempatkan blok menggunakan barang dari inventaris Anda.
tutorial.moreDrills.text = Anda bisa menghubungkan banyak pertambangan dan konveyor bersama-sama, seperti biasa.
tutorial.deleteBlock.text = Anda dapat menghapus blok dengan mengeklik [orange]tombol mouse kanan[] di blok yang ingin Anda hapus. Coba hapus konveyor ini.
tutorial.deleteBlockAndroid.text = Anda dapat menghapus blok dengan [orange]memilih crosshair[] di [orange]menu mode penghancur[] di kiri bawah dan mengetuk bloknya. Coba hapus konveyor ini.
tutorial.placeTurret.text = Sekarang, pilih dan tempatkan [yellow]turret[] di [yellow]lokasi yang ditandai[].
tutorial.placedTurretAmmo.text = Turret ini sekarang akan menerima [yellow]amunisi[] dari konveyor. Anda dapat melihat berapa banyak amunisi yang dimiliki dengan menggeser kursor di bloknya dan memeriksa di [green]bilah hijau[].
tutorial.turretExplanation.text = Turret secara otomatis akan menembak musuh terdekat dalam jangkauan, selama mereka memiliki cukup amunisi.
tutorial.waves.text = Setiap [yellow]60[] detik, gelombang [coral]musuh[] akan muncul di lokasi tertentu dan berusaha menghancurkan intinya.
tutorial.coreDestruction.text = Tujuan Anda adalah untuk [yellow]mempertahankan intinya[]. Jika intinya hancur, Anda [coral]kalah dalam permainan[].
tutorial.pausingDesktop.text = Jika Anda perlu istirahat sebentar, tekan [orange]tombol jeda[] di bagian kiri atas atau [orange]tombol spasi[] untuk menghentikan sementara permainan. Anda masih bisa memilih dan menempatkan blok sambil berhenti, tapi tidak bisa bergerak atau menembak.
tutorial.pausingAndroid.text = Jika Anda perlu istirahat sebentar, tekan [orange]tombol jeda[] di kiri atas untuk menjeda permainan. Anda masih bisa menghapus dan menempatkan blok sambil berhenti sebentar.
tutorial.purchaseWeapons.text = Anda bisa membeli [yellow]senjata baru[] untuk robot Anda dengan membuka menu upgrade di kiri bawah.
tutorial.switchWeapons.text = Untuk mengganti senjata, klik ikonnya di kiri bawah, atau gunakan angka [orange][[1-9][].
tutorial.spawnWave.text = Gelombang sekarang datang. Hancurkan mereka.
tutorial.pumpDesc.text = Pada gelombang selanjutnya, Anda mungkin perlu menggunakan [yellow]pompa[] untuk mendistribusikan cairan untuk generator atau ekstraktor.
tutorial.pumpPlace.text = Pompa bekerja seperti dengan pertambangan, namun mereka menghasilkan cairan dan bukan barang. Cobalah menempatkan pompa pada [yellow]minyak yang ditunjuk[].
tutorial.conduitUse.text = Sekarang tempatkan [orange]saluran[] yang mengarah jauh dari pompa.
tutorial.conduitUse2.text = Dan beberapa lagi...
tutorial.conduitUse3.text = Dan beberapa lagi...
tutorial.generator.text = Sekarang, tempatkan [orange]blok generator pembakaran[] di ujung saluran.
tutorial.generatorExplain.text = Generator ini sekarang akan menciptakan [yellow]tenaga[] dari minyak.
tutorial.lasers.text = Tenaga didistribusikan menggunakan [yellow]laser tenaga[]. Putar dan tempatkan di sini.
tutorial.laserExplain.text = Generator sekarang akan memindahkan tenaga ke blok laser. Sinar [yellow]terang[] menandakan bahwa saat ini mentransmisikan tenaga, dan sinar [yellow]transparan[] berarti tidak.
tutorial.laserMore.text = Anda dapat memeriksa berapa banyak tenaga yang dimiliki blok dengan memindahkan kursor/mengetuk di atasnya dan memeriksa [yellow]bar kuning[] di bagian atas.
tutorial.healingTurret.text = Laser ini bisa digunakan untuk menyalakan [lime]turret perbaikan[]. Tempatkan satu di sini.
tutorial.healingTurretExplain.text = Selama memiliki tenaga, turret ini akan [lime]memperbaiki blok terdekat[]. Saat bermain, pastikan Anda memasukkannya ke markas Anda secepat mungkin!
tutorial.smeltery.text = Banyak blok yang membutuhkan [orange]baja[] agar dapat dibangun, yang membutuhkan [orange]peleburan[] untuk dibuat. Tempatkan satu di sini.
tutorial.smelterySetup.text = Peleburan ini sekarang akan menghasilkan [orange]baja[] dari besi yang masuk, dengan batubara sebagai bahan bakarnya.
tutorial.tunnelExplain.text = Perhatikan juga bahwa barang-barang itu masuk melalui [orange]blok terowongan[] dan muncul di sisi lain, melewati blok batu. Perlu diingat bahwa terowongan hanya bisa melalui sampai 2 blok.
tutorial.end.text = Dan itu menyimpulkan tutorialnya! Semoga berhasil!
keybind.move_x.name = gerak_x
keybind.move_y.name = gerak_y
keybind.select.name = pilih
keybind.break.name = hapus
keybind.shoot.name = tembak
keybind.zoom_hold.name = perbesar_tahan
keybind.zoom.name = perbesar
keybind.menu.name = menu
keybind.pause.name = jeda
keybind.dash.name = berlari
keybind.rotate_alt.name = putar_alt
keybind.rotate.name = putar
keybind.weapon_1.name = senjata_1
keybind.weapon_2.name = senjata_2
keybind.weapon_3.name = senjata_3
keybind.weapon_4.name = senjata_4
keybind.weapon_5.name = senjata_5
keybind.weapon_6.name = senjata_6
mode.waves.name = gelombang
mode.sandbox.name = sandbox
mode.freebuild.name = freebuild
upgrade.standard.name = standar
upgrade.standard.description = Robot standar.
upgrade.blaster.name = blaster
upgrade.blaster.description = Menembakan sebuah peluru yang lemah dan lambat.
upgrade.triblaster.name = triblaster
upgrade.triblaster.description = Menembakan 3 peluru secara menyebar.
upgrade.clustergun.name = clustergun
upgrade.clustergun.description = Menembakan sebuah granat eksplosif yang tidak akurat.
upgrade.beam.name = meriam sinar
upgrade.beam.description = Menembakan sinar laser jarak jauh.
upgrade.vulcan.name = vulcan
upgrade.vulcan.description = Menembakkan rombongan peluru dengan cepat.
upgrade.shockgun.name = shockgun
upgrade.shockgun.description = Menembakkan ledakan yang menghancurkan dari pecahan peluru yang terisi.
item.stone.name = batu
item.iron.name = besi
item.coal.name = batu bara
item.steel.name = baja
item.titanium.name = titanium
item.dirium.name = dirium
item.thorium.name = thorium
item.sand.name = pasir
liquid.water.name = air
liquid.plasma.name = plasma
liquid.lava.name = lahar
liquid.oil.name = minyak
block.weaponfactory.name = pabrik senjata
block.weaponfactory.fulldescription = Dipakai untuk membuat senjata bagi robot pemain. Klik untuk memakai. Otomatis mengambil sumber daya dari inti.
block.air.name = udara
block.blockpart.name = bagian blok
block.deepwater.name = air dangkal
block.water.name = air
block.lava.name = lahar
block.oil.name = minyak
block.stone.name = batu
block.blackstone.name = batu hitam
block.iron.name = besi
block.coal.name = batu bara
block.titanium.name = titanium
block.thorium.name = thorium
block.dirt.name = tanah
block.sand.name = pasir
block.ice.name = es
block.snow.name = salju
block.grass.name = rumput
block.sandblock.name = blok pasir
block.snowblock.name = blok salju
block.stoneblock.name = blok batu
block.blackstoneblock.name = blok batu hitam
block.grassblock.name = blok rumput
block.mossblock.name = blok lumut
block.shrub.name = belukar
block.rock.name = batu
block.icerock.name = batu es
block.blackrock.name = batu hitam
block.dirtblock.name = blok tanah
block.stonewall.name = dinding batu
block.stonewall.fulldescription = Sebuah blok defensif yang murah. Berguna untuk melindungi inti dan turret di beberapa gelombang pertama.
block.ironwall.name = dinding besi
block.ironwall.fulldescription = Blok defensif dasar. Menyediakan perlindungan dari musuh.
block.steelwall.name = dinding baja
block.steelwall.fulldescription = Sebuah blok defensif standar. Perlindungan yang memadai dari musuh.
block.titaniumwall.name = dinding titanium
block.titaniumwall.fulldescription = Blok pertahanan yang kuat. Menyediakan perlindungan dari musuh.
block.duriumwall.name = dinding dirium
block.duriumwall.fulldescription = Blok pertahanan yang sangat kuat. Menyediakan perlindungan dari musuh.
block.compositewall.name = dinding komposit
block.steelwall-large.name = dinding baja besar
block.steelwall-large.fulldescription = Sebuah blok defensif standar. Membentang beberapa ubin.
block.titaniumwall-large.name = dinding titanium besar
block.titaniumwall-large.fulldescription = Blok pertahanan yang kuat. Membentang beberapa ubin.
block.duriumwall-large.name = dinding dirium yang besar
block.duriumwall-large.fulldescription = Blok pertahanan yang sangat kuat. Membentang beberapa ubin.
block.titaniumshieldwall.name = dinding perisai
block.titaniumshieldwall.fulldescription = Sebuah blok defensif yang kuat, dengan tambahan perisai. Membutuhkan tenaga. Menggunakan energi untuk menyerap peluru musuh. Dianjurkan untuk menggunakan pemercepat tenaga untuk memberi energi pada blok ini.
block.repairturret.name = turret perbaikan
block.repairturret.fulldescription = Memperbaiki blok terdekat yang rusak dengan lambat. Menggunakan sedikit tenaga.
block.megarepairturret.name = perbaikan turret II
block.megarepairturret.fulldescription = Memperbaiki blok yang rusak dengan normal. Menggunakan tenaga.
block.shieldgenerator.name = pembangkit perisai
block.shieldgenerator.fulldescription = Blok defensif yang maju. Mellindungi semua blok dalam radius dari serangan. Menggunakan tenaga dengan lambat saat menganggur, namun menyalurkan energi dengan cepat pada kontak peluru.
block.door.name = pintu
block.door.fulldescription = Blok yang bisa dibuka dan ditutup dengan mengetuknya.
block.door-large.name = pintu besar
block.door-large.fulldescription = Blok yang bisa dibuka dan ditutup dengan mengetuknya.
block.conduit.name = saluran
block.conduit.fulldescription = Blok pengangkut cairan dasar. Bekerja seperti konveyor, tapi dengan cairan. Terbaik digunakan dengan pompa atau saluran lainnya. Bisa digunakan sebagai jembatan di atas cairan untuk musuh dan pemain.
block.pulseconduit.name = saluran cepat
block.pulseconduit.fulldescription = Blok pengangkut cairan tingkat lanjut. Mengangkut cairan lebih cepat dan menyimpan lebih banyak dari pada saluran standar.
block.liquidrouter.name = router cairan
block.liquidrouter.fulldescription = Bekerja seperti router. Menerima masukan cairan dari satu sisi dan mengeluarkannya ke sisi yang lain. Berguna untuk pemisahan cairan dari satu saluran ke beberapa saluran lainnya.
block.conveyor.name = konveyor
block.conveyor.fulldescription = Blok dasar pengangkut barang. Memindahkan barang ke depan dan secara otomatis menyimpannya ke turret, ekstraktor, dan pertambangan. Bisa diputar. Bisa digunakan sebagai jembatan di atas cairan untuk musuh dan pemain.
block.steelconveyor.name = konveyor baja
block.steelconveyor.fulldescription = Blok transportasi barang lanjutan. Memindahkan barang lebih cepat dari konveyor standar.
block.poweredconveyor.name = konveyor cepat
block.poweredconveyor.fulldescription = Blok terbaik untuk pengangkutan barang. Memindahkan barang lebih cepat dari konveyor baja.
block.router.name = router
block.router.fulldescription = Menerima item dari satu arah dan mengeluarkannya ke 3 arah. Bisa juga menyimpan sejumlah barang. Berguna untuk membelah bahan dari satu pertambangan ke beberapa turret.
block.junction.name = persimpangan jalan
block.junction.fulldescription = Bertindak sebagai jembatan untuk dua sabuk persimpangan. Berguna dalam situasi dengan dua konveyor berbeda yang membawa bahan berbeda ke lokasi yang berbeda.
block.conveyortunnel.name = terowongan konveyor
block.conveyortunnel.fulldescription = Memindahkan barang di bawah blok. Untuk menggunakan, tempatkan satu terowongan yang menuju ke terowongan di bawah blok, dan satu di sisi lain. Pastikan kedua terowongan menghadap ke arah yang berlawanan, yaitu menuju blok yang mereka masukkan atau keluarkan.
block.liquidjunction.name = persimpangan cairan
block.liquidjunction.fulldescription = Bertindak sebagai jembatan untuk dua saluran persimpangan. Berguna dalam situasi dengan dua saluran berbeda yang membawa cairan berbeda ke lokasi yang berbeda.
block.liquiditemjunction.name = persimpangan barang-cairan
block.liquiditemjunction.fulldescription = Bertindak sebagai jembatan untuk menyilang saluran dan konveyor.
block.powerbooster.name = pemercepat tenaga
block.powerbooster.fulldescription = Mendistribusikan tenaga ke semua blok dalam radiusnya.
block.powerlaser.name = laser tenaga
block.powerlaser.fulldescription = Membuat laser yang mentransmisikan daya ke blok di depannya. Tidak menghasilkan tenaga itu sendiri. Terbaik digunakan dengan generator atau laser lainnya.
block.powerlaserrouter.name = router laser
block.powerlaserrouter.fulldescription = Laser yang mendistribusikan tenaga ke tiga arah sekaligus. Berguna dalam situasi di mana diperlukan tenaga ke beberapa blok dari satu generator.
block.powerlasercorner.name = sudut laser
block.powerlasercorner.fulldescription = Laser yang mendistribusikan tenaga ke dua arah sekaligus. Berguna dalam situasi di mana diperlukan tenaga ke beberapa blok dari satu generator, dan arah router kurang tepat.
block.teleporter.name = teleporter
block.teleporter.fulldescription = Blok transportasi barang lanjutan. Teleporter memasukkan barang ke teleporter lain dengan warna yang sama. Tidak ada apa-apa jika tidak ada teleporter dengan warna yang sama. Jika beberapa teleporter memiliki warna yang sama, teleporter dipilih secara acak. Menggunakan tenaga. Ketuk/klik untuk mengubah warna.
block.sorter.name = penyortir
block.sorter.fulldescription = Menyortir barang menurut jenis bahannya. Bahan yang diterima ditandai dengan warna di blok. Semua item yang sesuai dengan jenis bahan dilepaskan ke depan, segala sesuatu yang lain dikeluarkan ke kiri dan kanan.
block.core.name = inti
block.pump.name = pompa
block.pump.fulldescription = Memompa cairan dari sumber blok- biasanya air, lahar atau minyak. Mengeluarkan cairan ke saluran terdekat.
block.fluxpump.name = pompa flux
block.fluxpump.fulldescription = Sebuah versi lanjutan dari pompa. Menyimpan lebih banyak cairan dan memompa cairan lebih cepat.
block.smelter.name = peleburan
block.smelter.fulldescription = Blok kerajinan esensial. Saat dimasukkan 1 besi dan 1 batu bara sebagai bahan bakar, akan mengeluarkan satu baja. Disarankan untuk memasukkan besi dan batu bara ke sabuk yang berbeda untuk mencegah penyumbatan.
block.crucible.name = peleburan dirium
block.crucible.fulldescription = Sebuah blok kerajinan yang maju. Saat dimasukkan 1 titanium, 1 baja dan 1 batu bara sebagai bahan bakar, mengeluarkan satu dirium. Disarankan untuk memasukkan batubara, baja dan titanium pada sabuk yang berbeda untuk mencegah penyumbatan.
block.coalpurifier.name = ekstraktor batubara
block.coalpurifier.fulldescription = Blok ekstraktor dasar. mengeluarkan batu bara saat dipasok dengan air dan batu dalam skala yang besar.
block.titaniumpurifier.name = ekstraktor titanium
block.titaniumpurifier.fulldescription = Blok ekstraktor standar. mengeluarkan titanium bila dipasok dengan air dan besi dalam skala yang besar.
block.oilrefinery.name = penyulingan minyak
block.oilrefinery.fulldescription = Menyuling sejumlah minyak menjadi batubara. Berguna untuk memasok turret berbasis batubara saat penambangan batubara langka.
block.stoneformer.name = pembentuk batu
block.stoneformer.fulldescription = Mengubah lahar ke dalam batu. Berguna untuk menghasilkan batu dalam jumlah besar untuk pemurni batu bara.
block.lavasmelter.name = peleburan lava
block.lavasmelter.fulldescription = Menggunakan lahar untuk mengubah besi menjadi baja. Sebuah alternatif untuk peleburan batubara. Berguna dalam situasi di mana pertambangan batubara langka.
block.stonedrill.name = pertambangan batu
block.stonedrill.fulldescription = Pertambangan penting. Saat diletakkan di atas ubin batu, akan menghasilkan batu pada kecepatan yang lambat tanpa batas waktu.
block.irondrill.name = pertambangan besi
block.irondrill.fulldescription = Pertambangan dasar. Saat diletakkan di atas ubin bijih besi, akan mengeluarkan besi pada kecepatan yang lambat tanpa batas waktu.
block.coaldrill.name = pertambangan batubara
block.coaldrill.fulldescription = Pertambangan dasar. Saat ditempatkan di ubin bijih batubara, akan mengeluarkan batu bara pada kecepatan yang lambat tanpa batas waktu.
block.thoriumdrill.name = pertambangan thorium
block.thoriumdrill.fulldescription = Sebuah pertambangan yang canggih. Saat ditempatkan di ubin bijih thorium, akan mengeluarkan thorium pada kecepatan lambat tanpa batas waktu.
block.titaniumdrill.name = pertambangan titanium
block.titaniumdrill.fulldescription = Sebuah pertambangan yang canggih. Saat ditempatkan pada ubin bijih titanium, akan mengeluarkan titanium pada kecepatan lambat tanpa batas waktu.
block.omnidrill.name = pertambangan super
block.omnidrill.fulldescription = Pertambangan yang terbaik. Akan saya tambang bijih apapun itu ditempatkan pada kecepatan tinggi.
block.coalgenerator.name = pembangkit tenaga batubara
block.coalgenerator.fulldescription = Generator penting. Menghasilkan tenaga dari batu bara. Keluarkan tenaga sebagai laser ke 4 sisinya.
block.thermalgenerator.name = pembangkit tenaga panas
block.thermalgenerator.fulldescription = Menghasilkan tenaga dari lahar. Mengeluarkan tenaga sebagai laser ke 4 sisi.
block.combustiongenerator.name = pembangkit tenaga minyak
block.combustiongenerator.fulldescription = Menghasilkan tenaga dari minyak. Mengeluarkan tenaga sebagai laser ke 4 sisi.
block.rtgenerator.name = pembangkit tenaga radioaktif
block.rtgenerator.fulldescription = Menghasilkan sedikit tenaga dari peluruhan radioaktif thorium. Mengeluarkan tenaga sebagai laser ke 4 sisi.
block.nuclearreactor.name = reaktor nuklir
block.nuclearreactor.fulldescription = Versi lanjutan Pembangkit Tenaga Radioaktif, dan generator tenaga tertinggi. Menghasilkan tenaga dari thorium. Membutuhkan pendinginan air konstan. Sangat mudah menguap; akan meledak dengan hebat jika tidak cukup jumlah pendingin yang diberikan.
block.turret.name = turret
block.turret.fulldescription = Sebuah menara dasar yang murah. Menggunakan batu untuk amunisi. Memiliki jangkauan yang sedikit lebih banyak daripada turret ganda.
block.doubleturret.name = turret ganda
block.doubleturret.fulldescription = Versi turret standar yang sedikit lebih bertenaga. Menggunakan batu untuk amunisi. Memberikan damage secara signifikan lebih banyak, namun memiliki jangkauan yang lebih rendah. Menembak dua peluru.
block.machineturret.name = turret cepat
block.machineturret.fulldescription = Sebuah menara standar. Menggunakan besi untuk amunisi. Memiliki tembakan yang cepat dengan damage yang layak.
block.shotgunturret.name = turret split
block.shotgunturret.fulldescription = Sebuah turret standar. Menggunakan besi untuk amunisi. Menembakkan 7 peluru. Jaraknya pendek, namun damage-nya lebih tinggi daripada turret cepat.
block.flameturret.name = turret api
block.flameturret.fulldescription = Turret jarak dekat lanjutan. Menggunakan batubara untuk amunisi. Memiliki jangkauan yang pendek, namun sangat tinggi damage-nya. Bagus untuk jarak dekat. Dianjurkan untuk digunakan dibalik dinding.
block.sniperturret.name = turret railgun
block.sniperturret.fulldescription = Turret jarak jauh lanjutan. Menggunakan baja untuk amunisi. Kerusakan yang sangat tinggi, namun menembak dengan lambat. Mahal untuk digunakan, tapi bisa ditempatkan jauh dari garis musuh karena jangkauannya.
block.mortarturret.name = turret flak
block.mortarturret.fulldescription = Turret dengan akurasi pendek dan damage eksplosif. Menggunakan batubara untuk amunisi. Menembakkan peluru yang meledak lalu menjadi pecahan peluru. Berguna untuk kerumunan musuh yang besar.
block.laserturret.name = turret laser
block.laserturret.fulldescription = Turret satu target. Menggunakan tenaga. Memiliki jarak sedang yang bagus. Target tunggal saja. Tidak pernah meleset.
block.waveturret.name = turret tesla
block.waveturret.fulldescription = Turret target banyak. Menggunakan tenaga. Jaraknya sedang. Tidak pernah meleset. Rata-rata damage-nya kecil, namun bisa menembak beberapa musuh bersamaan dengan petir berantai.
block.plasmaturret.name = turret plasma
block.plasmaturret.fulldescription = Versi yang sangat maju dari turret api. Menggunakan batubara sebagai amunisi. Damage yang sangat tinggi, jaraknya pendek sampai sedang.
block.chainturret.name = turret berantai
block.chainturret.fulldescription = Menara api yang menembak dengan cepat. Menggunakan thorium sebagai amunisi. Menembak peluru besar dengan kecepatan tinggi. Jaraknya sedang. Membentang beberapa ubin. Sangat tangguh.
block.titancannon.name = meriam titan
block.titancannon.fulldescription = Turret jarak jauh terakhir. Menggunakan thorium sebagai amunisi. Menembakkan peluru yang meledak dengan cipratan besar dengan kecepatan sedang. Jarak jauh. Membentang beberapa ubin. Sangat tangguh.
block.playerspawn.name = spawn pemain
block.enemyspawn.name = spawn musuh
text.about=Dibuat oleh [ROYAL]Anuken.[]\nAwalnya masuk di [orange]GDL[] MM Jam.\n\nKredit:\n- SFX dibuat dengan [YELLOW]bfxr[]\n- Musik dibuat oleh [GREEN]RoccoW[] / ditemukan di [lime]FreeMusicArchive.org[]\n\nTerima kasih khusus kepada:\n- [coral]MitchellFJN[]: playtesting dan umpan balik yang luas\n- [sky]Luxray5474[]: pekerjaan wiki, kontribusi kode\n- Semua penguji beta di itch.io dan Google Play\n
text.discord=Bergabunglah dengan Discord Mindustry!
text.gameover=Intinya hancur.
text.highscore=[YELLOW]Rekor baru!
text.lasted=Anda bertahan sampai gelombang
text.level.highscore=Skor Tinggi: [accent]{0}
text.level.delete.title=Konfirmasi Hapus
text.level.select=Pilih Level
text.level.mode=Modus permainan:
text.savegame=Simpan Permainan
text.loadgame=Lanjutkan
text.joingame=Bermain Bersama
text.quit=Keluar
text.about.button=Tentang
text.name=Nama:
text.players={0} pemain online
text.players.single={0} pemain online
text.server.mismatch=Kesalahan paket: kemungkinan versi client / server tidak sesuai.\nPastikan Anda dan host memiliki versi terbaru Mindustry!
text.server.closing=[accent]Menutup server...
text.server.kicked.kick=Anda telah dikeluarkan dari server!
text.server.kicked.invalidPassword=Kata sandi salah!
text.server.kicked.clientOutdated=Client versi lama! Update game Anda!
text.server.kicked.serverOutdated=Server versi lama! Tanyakan host untuk mengupdate!
text.server.connected={0} telah bergabung.
text.server.disconnected={0} telah terputus.
text.nohost=Tidak dapat meng-host server pada peta khusus!
text.hostserver=Host Server
text.host=Host
text.hosting=[accent]Membuka server...
text.hosts.refresh=Segarkan
text.hosts.discovering=Mencari game LAN
text.server.refreshing=Menyegarkan server
text.hosts.none=[lightgray]Tidak ada game LAN yang ditemukan!
text.host.invalid=[scarlet]Tidak dapat terhubung ke host.
text.server.friendlyfire=Tembak Sesama
text.server.add=Tambahkan Server
text.server.delete=Yakin ingin menghapus server ini?
text.server.hostname=Host: {0}
text.server.edit=Sunting Server
text.joingame.title=Bermain Bersama
text.joingame.ip=IP:
text.disconnect=Sambungan terputus.
text.connecting=[accent]Menghubungkan...
text.connecting.data=[accent]Memuat data level...
text.connectfail=[crimson]Gagal terhubung ke server: [orange]{0}
text.server.port=Port:
text.server.addressinuse=Alamat sudah di pakai!
text.server.invalidport=Nomor port salah!
text.server.error=[crimson]Kesalahan server hosting: [orange]{0}
text.save.new=Simpan Baru
text.save.overwrite=Yakin ingin mengganti slot simpan ini?
text.overwrite=Ganti
text.save.none=Tidak ada simpanan ditemukan!
text.saveload=[accent]Menyimpan...
text.savefail=Gagal menyimpan game!
text.save.delete.confirm=Yakin ingin menghapus save ini?
text.save.delete=Hapus
text.save.export=Ekspor Simpanan
text.save.import.invalid=[orange]Simpanan ini tidak valid!
text.save.import.fail=[crimson]Gagal mengimpor: [orange]{0}
text.save.export.fail=[crimson]Gagal mengekspor save: [orange]{0}
text.save.import=Impor Simpanan
text.save.newslot=Nama simpanan:
text.save.rename=Ganti nama
text.save.rename.text=Nama baru:
text.selectslot=Pilih simpanan.
text.slot=[accent]Slot{0}
text.save.corrupted=[orange]Simpanan rusak atau tidak valid!
text.empty=<kosong>
text.on=Hidup
text.off=Mati
text.save.autosave=Simpan otomatis: {0}
text.save.map=Peta: {0}
text.save.wave=Gelombang {0}
text.save.date=Terakhir Disimpan: {0}
text.confirm=Konfirmasi
text.delete=Hapus
text.ok=OK
text.open=Buka
text.cancel=Batal
text.openlink=Buka tautan
text.back=Kembali
text.quit.confirm=Anda yakin ingin berhenti?
text.loading=[accent]Memuat...
text.wave=[orange]Gelombang {0}
text.wave.waiting=Gelombang dimulai {0}
text.waiting=Menunggu...
text.enemies={0} musuh
text.enemies.single={0} Musuh
text.loadimage=Buka Gambar
text.saveimage=Simpan Gambar
text.editor.badsize=[orange]Dimensi gambar tidak valid![]\nDimensi peta yang valid: {0}
text.editor.errorimageload=Kesalahan saat memuat file gambar:\n[orange]{0}
text.editor.errorimagesave=Kesalahan saat menyimpan file gambar:\n[orange]{0}
text.editor.generate=Hasilkan
text.editor.resize=Ubah ukuran
text.editor.loadmap=Buka Peta
text.editor.savemap=Simpan Peta
text.editor.loadimage=Buka Gambar
text.editor.saveimage=Simpan Gambar
text.editor.unsaved=[scarlet]Anda memiliki perubahan yang belum disimpan![]\nYakin ingin keluar?
text.editor.resizemap=Ubah ukuran peta
text.editor.mapname=Nama Peta:
text.editor.overwrite=[accent]Peringatan!\nIni akan mengganti peta yang ada.
text.editor.selectmap=Pilih peta yang akan dimuat:
text.width=Lebar:
text.height=Tinggi:
text.menu=Menu
text.play=Main
text.load=Buka
text.save=Simpan
text.language.restart=Silakan mulai ulang permainan Anda agar pengaturan bahasa mulai berlaku.
text.settings.language=Bahasa
text.settings=Pengaturan
text.tutorial=Tutorial
text.editor=Pengedit
text.mapeditor=Pengedit Peta
text.donate=Sumbangkan
text.settings.reset=Atur ulang ke Default
text.settings.controls=Kontrol
text.settings.game=Permainan
text.settings.sound=Suara
text.settings.graphics=Grafis
text.upgrades=Perbaruan
text.purchased=[LIME]Dibuat!
text.weapons=Senjata
text.paused=Jeda
text.info.title=[accent]Info
text.error.title=[crimson]Telah terjadi kesalahan
text.error.crashtitle=Telah terjadi kesalahan
text.blocks.blockinfo=Info Blok
text.blocks.powercapacity=Kapasitas Tenaga
text.blocks.powershot=Tenaga/tembakan
text.blocks.size=Ukuran
text.blocks.liquidcapacity=Kapasitas cairan
text.blocks.maxitemssecond=Batas barang/detik
text.blocks.powerrange=Jangkauan tenaga
text.blocks.itemcapacity=Kapasitas Barang
text.blocks.inputliquid=Cairan yang Masuk
text.blocks.inputitem=Barang yang Masuk
text.blocks.explosive=Mudah meledak!
text.blocks.health=Darah
text.blocks.inaccuracy=Ketidaktelitian
text.blocks.shots=Tembakan
text.blocks.inputcapacity=Kapasitas masuk
text.blocks.outputcapacity=Kapasitas keluar
setting.difficulty.easy=mudah
setting.difficulty.normal=normal
setting.difficulty.hard=sulit
setting.difficulty.insane=sangat susah
setting.difficulty.purge=paling susah
setting.difficulty.name=Kesulitan:
setting.screenshake.name=Layar Bergoyang
setting.indicators.name=Indikator Musuh
setting.effects.name=Efek Tampilan
setting.sensitivity.name=Sensitivitas Pengendali
setting.saveinterval.name=Waktu Simpan Otomatis
setting.seconds={0} Detik
setting.fullscreen.name=Layar Penuh
setting.fps.name=Tunjukkan FPS
setting.vsync.name=VSync
setting.lasers.name=Tampilkan Laser Tenaga
setting.healthbars.name=Tampilkan Bar Darah Entitas
setting.musicvol.name=Volume Musik
setting.mutemusic.name=Bisukan Musik
setting.sfxvol.name=Volume Suara
setting.mutesound.name=Bisukan Suara
map.maze.name=labirin
map.fortress.name=benteng
map.sinkhole.name=lubang pembuangan
map.caves.name=gua
map.volcano.name=gunung berapi
map.caldera.name=kaldera
map.scorch.name=penghangusan
map.desert.name=gurun
map.island.name=pulau
map.grassland.name=padang rumput
map.tundra.name=tundra
map.spiral.name=spiral
map.tutorial.name=tutorial
keybind.move_x.name=gerak_x
keybind.move_y.name=gerak_y
keybind.select.name=pilih
keybind.break.name=hapus
keybind.shoot.name=tembak
keybind.zoom_hold.name=perbesar_tahan
keybind.zoom.name=perbesar
keybind.menu.name=menu
keybind.pause.name=jeda
keybind.dash.name=berlari
keybind.rotate_alt.name=putar_alt
keybind.rotate.name=putar
mode.waves.name=gelombang
mode.sandbox.name=sandbox
mode.freebuild.name=freebuild
item.stone.name=batu
item.coal.name=batu bara
item.titanium.name=titanium
item.thorium.name=thorium
item.sand.name=pasir
liquid.water.name=air
liquid.lava.name=lahar
liquid.oil.name=minyak
block.door.name=pintu
block.door-large.name=pintu besar
block.conduit.name=saluran
block.pulseconduit.name=saluran cepat
block.liquidrouter.name=router cairan
block.conveyor.name=konveyor
block.router.name=router
block.junction.name=persimpangan jalan
block.liquidjunction.name=persimpangan cairan
block.sorter.name=penyortir
block.smelter.name=peleburan
text.credits=Credits
text.link.discord.description=the official Mindustry discord chatroom
text.link.github.description=Game source code
text.link.dev-builds.description=Unstable development builds
text.link.trello.description=Official trello board for planned features
text.link.itch.io.description=itch.io page with PC downloads and web version
text.link.google-play.description=Google Play store listing
text.link.wiki.description=official Mindustry wiki
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard.
text.editor.web=The web version does not support the editor!\nDownload the game to use it.
text.web.unsupported=The web version does not support this feature! Download the game to use it.
text.multiplayer.web=This version of the game does not support multiplayer!\nTo play multiplayer from your browser, use the "multiplayer web version" link at the itch.io page.
text.host.web=The web version does not support hosting games! Download the game to use this feature.
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
text.construction.title=Block Construction Guide
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
text.deconstruction.title=Block Deconstruction Guide
text.deconstruction=You've just selected [accent]block deconstruction mode[].\n\nTo begin breaking, simply tap a block near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin de-constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Remove blocks in an area[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel deconstruction or selection[] by pressing the X at the bottom left.
text.showagain=Don't show again next session
text.unlocks=Unlocks
text.addplayers=Add/Remove Players
text.newgame=New Game
text.maps=Maps
text.maps.none=[LIGHT_GRAY]No maps found!
text.unlocked=New Block Unlocked!
text.unlocked.plural=New Blocks Unlocked!
text.server.kicked.fastShoot=You are shooting too quickly.
text.server.kicked.banned=You are banned on this server.
text.server.kicked.recentKick=You have been kicked recently.\nWait before connecting again.
text.server.kicked.nameInUse=There is someone with that name\nalready on this server.
text.server.kicked.nameEmpty=Your name must contain at least one character or number.
text.server.kicked.idInUse=You are already on this server! Connecting with two accounts is not permitted.
text.server.kicked.customClient=This server does not support custom builds. Download an official version.
text.host.info=The [accent]host[] button hosts a server on ports [scarlet]6567[] and [scarlet]6568.[]\nAnybody on the same [LIGHT_GRAY]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[LIGHT_GRAY]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings.
text.join.info=Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[LIGHT_GRAY]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP.
text.trace=Trace Player
text.trace.playername=Player name: [accent]{0}
text.trace.ip=IP: [accent]{0}
text.trace.id=Unique ID: [accent]{0}
text.trace.android=Android Client: [accent]{0}
text.trace.modclient=Custom Client: [accent]{0}
text.trace.totalblocksbroken=Total blocks broken: [accent]{0}
text.trace.structureblocksbroken=Structure blocks broken: [accent]{0}
text.trace.lastblockbroken=Last block broken: [accent]{0}
text.trace.totalblocksplaced=Total blocks placed: [accent]{0}
text.trace.lastblockplaced=Last block placed: [accent]{0}
text.invalidid=Invalid client ID! Submit a bug report.
text.server.bans=Bans
text.server.bans.none=No banned players found!
text.server.admins=Admins
text.server.admins.none=No admins found!
text.server.outdated=[crimson]Outdated Server![]
text.server.outdated.client=[crimson]Outdated Client![]
text.server.version=[lightgray]Version: {0}
text.server.custombuild=[yellow]Custom Build
text.confirmban=Are you sure you want to ban this player?
text.confirmunban=Are you sure you want to unban this player?
text.confirmadmin=Are you sure you want to make this player an admin?
text.confirmunadmin=Are you sure you want to remove admin status from this player?
text.disconnect.data=Failed to load world data!
text.save.difficulty=Difficulty: {0}
text.copylink=Copy Link
text.changelog.title=Changelog
text.changelog.loading=Getting changelog...
text.changelog.error.android=[orange]Note that the changelog sometimes does not work on Android 4.4 and below!\nThis is due to an internal Android bug.
text.changelog.error.ios=[orange]The changelog is currently not supported in iOS.
text.changelog.error=[scarlet]Error getting changelog!\nCheck your internet connection.
text.changelog.current=[yellow][[Current version]
text.changelog.latest=[orange][[Latest version]
text.saving=[accent]Saving...
text.unknown=Unknown
text.custom=Custom
text.builtin=Built-In
text.map.delete.confirm=Are you sure you want to delete this map? This action cannot be undone!
text.map.random=[accent]Random Map
text.map.nospawn=This map does not have any cores for the player to spawn in! Add a [ROYAL]blue[] core to this map in the editor.
text.editor.slope=\\
text.editor.openin=Open In Editor
text.editor.oregen=Ore Generation
text.editor.oregen.info=Ore Generation:
text.editor.mapinfo=Map Info
text.editor.author=Author:
text.editor.description=Description:
text.editor.name=Name:
text.editor.teams=Teams
text.editor.elevation=Elevation
text.editor.saved=Saved!
text.editor.save.noname=Your map does not have a name! Set one in the 'map info' menu.
text.editor.save.overwrite=Your map overwrites a built-in map! Pick a different name in the 'map info' menu.
text.editor.import.exists=[scarlet]Unable to import:[] a built-in map named '{0}' already exists!
text.editor.import=Import...
text.editor.importmap=Import Map
text.editor.importmap.description=Import an already existing map
text.editor.importfile=Import File
text.editor.importfile.description=Import an external map file
text.editor.importimage=Import Terrain Image
text.editor.importimage.description=Import an external map image file
text.editor.export=Export...
text.editor.exportfile=Export File
text.editor.exportfile.description=Export a map file
text.editor.exportimage=Export Terrain Image
text.editor.exportimage.description=Export a map image file
text.editor.overwrite.confirm=[scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?
text.fps=FPS: {0}
text.tps=TPS: {0}
text.ping=Ping: {0}ms
text.settings.rebind=Rebind
text.yes=Yes
text.no=No
text.blocks.targetsair=Targets Air
text.blocks.itemspeed=Units Moved
text.blocks.shootrange=Range
text.blocks.poweruse=Power Use
text.blocks.inputitemcapacity=Input Item Capacity
text.blocks.outputitemcapacity=Input Item Capacity
text.blocks.maxpowergeneration=Max Power Generation
text.blocks.powertransferspeed=Power Transfer
text.blocks.craftspeed=Production Speed
text.blocks.inputliquidaux=Aux Liquid
text.blocks.inputitems=Input Items
text.blocks.outputitem=Output Item
text.blocks.drilltier=Drillables
text.blocks.drillspeed=Base Drill Speed
text.blocks.liquidoutput=Liquid Output
text.blocks.liquiduse=Liquid Use
text.blocks.coolant=Coolant
text.blocks.coolantuse=Coolant Use
text.blocks.inputliquidfuel=Fuel Liquid
text.blocks.liquidfueluse=Liquid Fuel Use
text.blocks.reload=Reload
text.blocks.inputfuel=Fuel
text.blocks.fuelburntime=Fuel Burn Time
text.unit.blocks=blocks
text.unit.powersecond=power units/second
text.unit.liquidsecond=liquid units/second
text.unit.itemssecond=items/second
text.unit.pixelssecond=pixels/second
text.unit.liquidunits=liquid units
text.unit.powerunits=power units
text.unit.degrees=degrees
text.unit.seconds=seconds
text.unit.none=
text.unit.items=items
text.category.general=General
text.category.power=Power
text.category.liquids=Liquids
text.category.items=Items
text.category.crafting=Crafting
text.category.shooting=Shooting
setting.multithread.name=Multithreading
setting.minimap.name=Show Minimap
text.keybind.title=Rebind Keys
keybind.block_info.name=block_info
keybind.chat.name=chat
keybind.player_list.name=player_list
keybind.console.name=console
mode.text.help.title=Description of modes
mode.waves.description=the normal mode. limited resources and automatic incoming waves.
mode.sandbox.description=infinite resources and no timer for waves.
mode.freebuild.description=limited resources and no timer for waves.
content.item.name=Items
content.liquid.name=Liquids
content.unit-type.name=Units
content.recipe.name=Blocks
item.stone.description=A common raw material. Used for separating and refining into other materials, or melting into lava.
item.tungsten.name=Tungsten
item.tungsten.description=A common, but very useful structure material. Used in drills and heat-resistant blocks such as generators and smelteries.
item.lead.name=Lead
item.lead.description=A basic starter material. Used extensively in electronics and liquid transportation blocks.
item.coal.description=A common and readily available fuel.
item.carbide.name=Carbide
item.carbide.description=A tough alloy made with tungsten and carbon. Used in advanced transportation blocks and high-tier drills.
item.titanium.description=A rare super-light metal used extensively in liquid transportation, drills and aircraft.
item.thorium.description=A dense, radioactive metal used as structural support and nuclear fuel.
item.silicon.name=Silicon
item.silcion.description=An extremely useful semiconductor, with applications in solar panels and many complex electronics.
item.plastanium.name=Plastanium
item.plastanium.description=A light, ductile material used in advanced aircraft and fragmentation ammunition.
item.phase-matter.name=Phase Matter
item.surge-alloy.name=Surge Alloy
item.biomatter.name=Biomatter
item.biomatter.description=A clump of organic mush; used for conversion into oil or as a basic fuel.
item.sand.description=A common material that is used extensively in smelting, both in alloying and as a flux.
item.blast-compound.name=Blast Compound
item.blast-compound.description=A volatile compound used in bombs and explosives. While it can burned as fuel, this is not advised.
item.pyratite.name=Pyratite
item.pyratite.description=An extremely flammable substance used in incendiary weapons.
liquid.cryofluid.name=Cryofluid
text.item.explosiveness=[LIGHT_GRAY]Explosiveness: {0}
text.item.flammability=[LIGHT_GRAY]Flammability: {0}
text.item.radioactivity=[LIGHT_GRAY]Radioactivity: {0}
text.item.fluxiness=[LIGHT_GRAY]Flux Power: {0}
text.item.hardness=[LIGHT_GRAY]Hardness: {0}
text.liquid.heatcapacity=[LIGHT_GRAY]Heat Capacity: {0}
text.liquid.viscosity=[LIGHT_GRAY]Viscosity: {0}
text.liquid.temperature=[LIGHT_GRAY]Temperature: {0}
block.tungsten-wall.name=Tungsten Wall
block.tungsten-wall-large.name=Large Tungsten Wall
block.carbide-wall.name=Carbide Wall
block.carbide-wall-large.name=Large Carbide Wall
block.thorium-wall.name=Thorium Wall
block.thorium-wall-large.name=Large Thorium Wall
block.duo.name=Duo
block.scorch.name=Scorch
block.hail.name=Hail
block.lancer.name=Lancer
block.titanium-conveyor.name=Titanium Conveyor
block.splitter.name=Splitter
block.splitter.description=Outputs items into two opposite directions immediately after they are recieved.
block.router.description=Splits items into all 4 directions. Can store items as a buffer.
block.distributor.name=Distributor
block.distributor.description=A splitter that can split items into 8 directions.
block.sorter.description=Sorts items. If an item matches the selection, it is allowed to pass. Otherwise, the item is outputted to the left and right.
block.overflow-gate.name=Overflow Gate
block.overflow-gate.description=A combination splitter and router that only outputs to the left and right if the front path is blocked.
block.bridgeconveyor.name=Bridge Conveyor
block.bridgeconveyor.description=A conveyor that can go over other blocks, for up to two total blocks.
block.arc-smelter.name=Arc Smelter
block.silicon-smelter.name=Silicon Smelter
block.phase-weaver.name=Phase Weaver
block.pulverizer.name=Pulverizer
block.cryofluidmixer.name=Cryofluid Mixer
block.melter.name=Melter
block.incinerator.name=Incinerator
block.biomattercompressor.name=Biomatter Compressor
block.separator.name=Separator
block.centrifuge.name=Centrifuge
block.power-node.name=Power Node
block.power-node-large.name=Large Power Node
block.battery.name=Battery
block.battery-large.name=Large Battery
block.combustion-generator.name=Combustion Generator
block.turbine-generator.name=Turbine Generator
block.tungsten-drill.name=Tungsten Drill
block.carbide-drill.name=Carbide Drill
block.laser-drill.name=Laser Drill
block.water-extractor.name=Water Extractor
block.cultivator.name=Cultivator
block.dart-ship-factory.name=Dart Ship Factory
block.delta-mech-factory.name=Delta Mech Factory
block.dronefactory.name=Drone Factory
block.repairpoint.name=Repair Point
block.resupplypoint.name=Resupply Point
block.liquidtank.name=Liquid Tank
block.bridgeconduit.name=Bridge Conduit
block.mechanical-pump.name=Mechanical Pump
block.itemsource.name=Item Source
block.itemvoid.name=Item Void
block.liquidsource.name=Liquid Source
block.powervoid.name=Power Void
block.powerinfinite.name=Power Infinite
block.unloader.name=Unloader
block.sortedunloader.name=Sorted Unloader
block.vault.name=Vault
block.wave.name=Wave
block.swarmer.name=Swarmer
block.salvo.name=Salvo
block.ripple.name=Ripple
block.phase-conveyor.name=Phase Conveyor
block.bridge-conveyor.name=Bridge Conveyor
block.plastanium-compressor.name=Plastanium Compressor
block.pyratite-mixer.name=Pyratite Mixer
block.blast-mixer.name=Blast Mixer
block.solidifer.name=Solidifer
block.solar-panel.name=Solar Panel
block.solar-panel-large.name=Large Solar Panel
block.oil-extractor.name=Oil Extractor
block.javelin-ship-factory.name=Javelin Ship factory
block.drone-factory.name=Drone Factory
block.fabricator-factory.name=Fabricator Factory
block.repair-point.name=Repair Point
block.resupply-point.name=Resupply Point
block.pulse-conduit.name=Pulse Conduit
block.phase-conduit.name=Phase Conduit
block.liquid-router.name=Liquid Router
block.liquid-tank.name=Liquid Tank
block.liquid-junction.name=Liquid Junction
block.bridge-conduit.name=Bridge Conduit
block.rotary-pump.name=Rotary Pump
block.nuclear-reactor.name=Nuclear Reactor
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+494 -488
View File
@@ -1,488 +1,494 @@
text.about = Stworzony przez [ROYAL] Anuken. []\nPierwotnie wpis w [orange] GDL [] MM Jam.\n\nNapisy:\n- SFX wykonane z pomocą [YELLOW] bfxr []\n- Muzyka wykonana przez [GREEN] RoccoW [] / znaleziona na [lime] FreeMusicArchive.org []\n\nSpecjalne podziękowania dla:\n- [coral] MitchellFJN []: obszerne testowanie i feedback\n- [niebo] Luxray5474 []: prace związane z wiki, pomoc z kodem\n- Wszystkich beta testerów na itch.io i Google Play\n
text.discord = Odwiedź nasz serwer Discord
text.gameover = Rdzeń został zniszczony.
text.highscore = [YELLOW] Nowy rekord!
text.lasted = Wytrwałeś do fali
text.level.highscore = Rekord: [accent]{0}
text.level.delete.title = Potwierdź kasowanie
text.level.delete = Czy na pewno chcesz usunąć mapę \"[orange]{0}\"?
text.level.select = Wybrany poziom
text.level.mode = Tryb gry:
text.savegame = Zapisz Grę
text.loadgame = Wczytaj grę
text.joingame = Gra wieloosobowa
text.quit = Wyjdź
text.about.button = O grze
text.name = Nazwa:
text.public = Publiczny
text.players = {0} graczy online
text.server.player.host = {0} (host)
text.players.single = {0} gracz online
text.server.mismatch = Błąd pakietu: możliwa niezgodność wersji klienta/serwera.\nUpewnij się, że Ty i host macie najnowszą wersję Mindustry!
text.server.closing = [accent] Zamykanie serwera ...
text.server.kicked.kick = Zostałeś wyrzucony z serwera!
text.server.kicked.invalidPassword = Nieprawidłowe hasło!
text.server.kicked.clientOutdated = Nieaktualna gra! Zaktualizują ją!
text.server.kicked.serverOutdated = Nieaktualna gra! Zaktualizują ją!
text.server.connected = {0} dołączył do gry .
text.server.disconnected = {0} został rozłączony.
text.nohost = Nie można hostować serwera na mapie niestandardowej!
text.hostserver = Serwer hosta
text.host = Host
text.hosting = [accent] Otwieranie serwera ...
text.hosts.refresh = Odśwież
text.hosts.discovering = Wyszukiwanie gier w sieci LAN
text.server.refreshing = Odświeżanie serwera
text.hosts.none = [lightgray] Brak serwerów w sieci LAN!
text.host.invalid = [scarlet] Nie można połączyć się z hostem.
text.server.friendlyfire = Bratobójczy ogień
text.server.add = Dodaj serwer
text.server.delete = Czy na pewno chcesz usunąć ten serwer?
text.server.hostname = Host: {0}
text.server.edit = Edytuj serwer
text.joingame.byip = Dołącz przez IP...
text.joingame.title = Dołącz do gry
text.joingame.ip = IP:
text.disconnect = Rozłączony.
text.connecting = [accent]Łączenie ...
text.connecting.data = [accent]Ładowanie danych świata...
text.connectfail = [crimson]Nie można połączyć się z serwerem: [orange] {0}
text.server.port = Port:
text.server.addressinuse = Adres jest już w użyciu!
text.server.invalidport = Nieprawidłowy numer portu.
text.server.error = [crimson] Błąd hostowania serwera: [orange] {0}
text.tutorial.back = < Cofnij
text.tutorial.next = Dalej >
text.save.new = Nowy zapis
text.save.overwrite = Czy na pewno chcesz nadpisać zapis gry?
text.overwrite = Nadpisz
text.save.none = Nie znaleziono zapisów gry!
text.saveload = [akcent]Zapisywanie...
text.savefail = Nie udało się zapisać gry!
text.save.delete.confirm = Czy na pewno chcesz usunąć ten zapis gry?
text.save.delete = Usuń
text.save.export = Eksportuj
text.save.import.invalid = [orange]Zapis gry jest niepoprawny!
text.save.import.fail = [crimson]Nie udało się zaimportować zapisu: [orange] {0}
text.save.export.fail = [crimson]Nie można wyeksportować zapisu: [orange] {0}
text.save.import = Importuj
text.save.newslot = Zapisz nazwę:
text.save.rename = Zmień nazwę
text.save.rename.text = Zmień nazwę
text.selectslot = Wybierz zapis.
text.slot = [accent]Slot {0}
text.save.corrupted = [orange]Zapis gry jest uszkodzony lub nieprawidłowy!
text.empty = <pusto>
text.on = Włączone
text.off = Wyłączone
text.save.autosave = Zapisywanie automatyczne
text.save.map = Mapa: {0}
text.save.wave = Fala: {0}
text.save.date = Ostatnio zapisano: {0}
text.confirm = Potwierdź
text.delete = Usuń
text.ok = Ok
text.open = Otwórz
text.cancel = Anuluj
text.openlink = Otwórz link
text.back = Wróć
text.quit.confirm = Czy na pewno chcesz wyjść?
text.loading = [accent]Ładowanie ...
text.wave = [orange]Fala {0}
text.wave.waiting = Fala w {0}
text.waiting = Oczekiwanie...
text.enemies = {0} wrogów
text.enemies.single = {0} wróg
text.loadimage = Załaduj obraz
text.saveimage = Zapisz obraz
text.editor.badsize = [orange]Nieprawidłowe wymiary obrazu![]\nWymiary poprawne: {0}
text.editor.errorimageload = Błąd podczas ładowania pliku obrazu: [orange]{0}
text.editor.errorimagesave = Błąd podczas zapisywania pliku obrazu: [orange]{0}
text.editor.generate = Generuj
text.editor.resize = Zmień rozmiar
text.editor.loadmap = Załaduj mapę
text.editor.savemap = Zapisz mapę
text.editor.loadimage = Załaduj obraz
text.editor.saveimage = Zapisz obraz
text.editor.unsaved = [scarlet]Masz niezapisane zmiany![]\nCzy na pewno chcesz wyjść?
text.editor.brushsize = Rozmiar pędzla: {0}
text.editor.noplayerspawn = Ta mapa nie ma ustawionego spawnu gracza!
text.editor.manyplayerspawns = Mapy nie mogą mieć więcej niż jeden punkt spawnu gracza!
text.editor.manyenemyspawns = Nie może mieć więcej niż {0} punktów spawnu wroga!
text.editor.resizemap = Zmień rozmiar mapy
text.editor.resizebig = [scarlet]Uwaga![]\nMapy większe niż 256 jednostek mogą przycinać i być niestabilne.
text.editor.mapname = Nazwa mapy:
text.editor.overwrite = [accent]Uwaga!\nSpowoduje to nadpisanie istniejącej mapy.
text.editor.failoverwrite = [crimson]Nie można nadpisać mapy podstawowej!
text.editor.selectmap = Wybierz mapę do załadowania:
text.width = Szerokość:
text.height = Wysokość:
text.randomize = Wylosuj
text.apply = Zastosuj
text.update = Zaktualizuj
text.menu = Menu
text.play = Graj
text.load = Wczytaj
text.save = Zapisz
text.language.restart = Uruchom grę ponownie aby ustawiony język zaczął funkcjonować.
text.settings.language = Język
text.settings = Ustawienia
text.tutorial = Poradnik
text.editor = Edytor
text.mapeditor = Edytor map
text.donate = Wspomóż nas
text.settings.reset = Przywróć domyślne
text.settings.controls = Sterowanie
text.settings.game = Gra
text.settings.sound = Dźwięk
text.settings.graphics = Grafika
text.upgrades = Ulepszenia
text.purchased = [LIME]Stworzono!
text.weapons = Bronie
text.paused = Wstrzymano
text.respawn = Odrodzenie za
text.info.title = [accent]Informacje
text.error.title = [crimson]Wystąpił błąd
text.error.crashmessage = [SCARLET]Wystąpił nieoczekiwany błąd, który spowodowałby awarię.[]\nProszę, powiadom dewelopera gry o tym błędzie, pisząc jak do niego doszło: [ORANGE]anukendev@gmail.com[]
text.error.crashtitle = Wystąpił błąd
text.mode.break = Tryb przerw: {0}
text.mode.place = Tryb układania: {0}
placemode.hold.name = linia
placemode.areadelete.name = obszar
placemode.touchdelete.name = Dotyk
placemode.holddelete.name = Przytrzymać
placemode.none.name = żaden
placemode.touch.name = Dotyk
placemode.cursor.name = kursor
text.blocks.extrainfo = [accent]Dodatkowe informacje o bloku:
text.blocks.blockinfo = Informacje o bloku
text.blocks.powercapacity = Moc znamionowa
text.blocks.powershot = moc / strzał
text.blocks.powersecond = moc / sekunda
text.blocks.powerdraindamage = siła ataku / obrażenia
text.blocks.shieldradius = Promień osłony
text.blocks.itemspeedsecond = prędkość ​​/ sekundy
text.blocks.range = Zakres
text.blocks.size = Rozmiar
text.blocks.powerliquid = moc / ciecz
text.blocks.maxliquidsecond = maksymalna ilość cieczy / sekunda
text.blocks.liquidcapacity = Pojemność cieczy
text.blocks.liquidsecond = ciecz / sekunda
text.blocks.damageshot = obrażenia / strzał
text.blocks.ammocapacity = Pojemność amunicji
text.blocks.ammo = Amunicja:
text.blocks.ammoitem = amunicja / przedmiot
text.blocks.maxitemssecond = Maksymalna liczba przedmiotów / Sekunda
text.blocks.powerrange = Zakres mocy
text.blocks.lasertilerange = Zasięg lasera
text.blocks.capacity = Wydajność
text.blocks.itemcapacity = Pojemność przedmiotów
text.blocks.maxpowergenerationsecond = maksymalne generowanie energii / sekunda
text.blocks.powergenerationsecond = wytwarzanie energii / sekunda
text.blocks.generationsecondsitem = sekunda / przedmiot
text.blocks.input = Wkład
text.blocks.inputliquid = Potrzebna ciecz
text.blocks.inputitem = Potrzebne przedmioty
text.blocks.output = Wyjście
text.blocks.secondsitem = sekundy / przedmiot
text.blocks.maxpowertransfersecond = maksymalny transfer mocy / sekundę
text.blocks.explosive = Wysoce wybuchowy!
text.blocks.repairssecond = naprawa / sekunda
text.blocks.health = Zdrowie
text.blocks.inaccuracy = Niedokładność
text.blocks.shots = Strzały
text.blocks.shotssecond = Strzały / Sekunda
text.blocks.fuel = Paliwo
text.blocks.fuelduration = Wydajność paliwa
text.blocks.maxoutputsecond = maksymalne wyjście / sekunda
text.blocks.inputcapacity = Pojemność wejściowa
text.blocks.outputcapacity = Wydajność wyjściowa
text.blocks.poweritem = moc / przedmiot
text.placemode = Tryb miejsca
text.breakmode = Tryb przerwania
text.health = Zdrowie:
setting.difficulty.easy = łatwy
setting.difficulty.normal = normalny
setting.difficulty.hard = trudny
setting.difficulty.insane = szalony
setting.difficulty.purge = Czystka
setting.difficulty.name = Poziom trudności
setting.screenshake.name = Trzęsienie się ekranu
setting.smoothcam.name = Płynna kamera
setting.indicators.name = Wskaźniki wroga
setting.effects.name = Wyświetlanie efektów
setting.sensitivity.name = Czułość kontrolera
setting.saveinterval.name = Interwał automatycznego zapisywania
setting.seconds = Sekundy
setting.fps.name = Widoczny licznik FPS
setting.vsync.name = Synchronizacja pionowa
setting.lasers.name = Pokaż lasery zasilające
setting.healthbars.name = Pokaż paski zdrowia jednostki
setting.pixelate.name = Rozpikselizowany obraz
setting.musicvol.name = Głośność muzyki
setting.mutemusic.name = Wycisz muzykę
setting.sfxvol.name = Głośność dźwięków
setting.mutesound.name = Wycisz dźwięki
map.maze.name = labirynt
map.fortress.name = twierdza
map.sinkhole.name = wgłębienie
map.caves.name = jaskinie
map.volcano.name = wulkan
map.caldera.name = kaldera
map.scorch.name = opalacz
map.desert.name = pustynia
map.island.name = wyspa
map.grassland.name = łąka
map.tundra.name = tundra
map.spiral.name = spirala
map.tutorial.name = Poradnik
tutorial.intro.text = [yellow]Witamy w poradniku do gry.[]\nAby rozpocząć, naciśnij \"Dalej\".
tutorial.moveDesktop.text = Aby się poruszać, użyj klawiszy [orange]W A S[] oraz [orange]D[]. Przytrzymaj [orange]shift[], aby przyśpieszyć.\nPrzytrzymując [orange]ctrl[] podczas kręcenia [orange]rolką myszy[] możesz zmieniać poziom przybliżenia mapy.
tutorial.shoot.text = Do celowania używasz kursora myszy.\n[orange]Lewy przycisk myszy[] służy do strzelania. Poćwicz na [yellow]celu[].
tutorial.moveAndroid.text = Aby przesunąć widok, przeciągnij jednym palcem po ekranie. Ściśnij i przeciągnij, aby powiększyć lub pomniejszyć.
tutorial.placeSelect.text = Wybierz [yellow]przenośnik[] z menu blokowego w prawym dolnym rogu.
tutorial.placeConveyorDesktop.text = Użyj [orange]rolki myszy[] aby obrócić przenośnik [orange]do przodu[], a następnie umieść go w [yellow]oznaczonym miejscu[] za pomocą [orange]lewego przycisku myszy[].
tutorial.placeConveyorAndroid.text = Użyj [orange]przycisk obracania[], aby obrócić przenośnik [orange]do przodu[]. Jednym palcem przeciągnij go na [yellow]wskazaną pozycję[], a następnie umieść go za pomocą [orange]znacznika wyboru[].
tutorial.placeConveyorAndroidInfo.text = Możesz też nacisnąć ikonę celownika w lewym dolnym rogu, aby przełączyć na [pomarańczowy] [[tryb dotykowy] [] i umieścić bloki, dotykając ekranu. W trybie dotykowym bloki można obracać strzałką w lewym dolnym rogu. Naciśnij [żółty] następny [], aby go wypróbować.
tutorial.placeDrill.text = Teraz wybierz i umieść [yellow]wiertło do kamienia[] w oznaczonym miejscu.
tutorial.blockInfo.text = Jeśli chcesz się dowiedzieć więcej na temat wybranego bloku, kliknij [orange]znak zapytania[] w prawym górnym rogu, aby przeczytać jego opis.
tutorial.deselectDesktop.text = Możesz anulować wybór bloku za pomocą [orange]prawego przycisku myszy[].
tutorial.deselectAndroid.text = Możesz odznaczyć blok, naciskając przycisk [orange]X[].
tutorial.drillPlaced.text = Wiertło będzie teraz produkować [yellow]kamień[] i podawać go na przenośnik, który przeniesie go do [yellow]rdzenia[]
tutorial.drillInfo.text = Różne rudy wymagają różnych wierteł. Kamień wymaga wiertła do kamieniu, żelazo wymaga wiertła do żelaza, itd.
tutorial.drillPlaced2.text = Przeniesienie przedmiotów do rdzenia powoduje umieszczenie ich w [yellow]inwentarzu przedmiotów[] w lewym górnym rogu. Stawianie bloków te przedmioty zużywa.
tutorial.moreDrills.text = Możesz połączyć wiertła i przenośników w przedstawiony sposób:
tutorial.deleteBlock.text = Możesz usuwać bloki, klikając [orange]prawy przycisk myszy[] na bloku, który chcesz usunąć.\nSpróbuj usunąć [yellow]oznaczony[] przenośnik.
tutorial.deleteBlockAndroid.text = Możesz usuwać bloki za pomocą [orange]krzyżyka[] w [orange]menu przerywania[] w lewym dolnym rogu i stukając w blok.\nSpróbuj usunąć [yellow]oznaczony[] przenośnik.
tutorial.placeTurret.text = Teraz wybierz i umieść [yellow]działko[] w [yellow]zaznaczonym miejscu[].
tutorial.placedTurretAmmo.text = Działko przyjmie teraz [yellow]amunicję[] z przenośnika. Możesz zobaczyć, ile ma amunicji, najeżdżając na działko kursorem i sprawdzając [green]zielony pasek[].
tutorial.turretExplanation.text = Wieżyczki będą strzelać automatycznie do najbliższego wroga w zasięgu, o ile będą miały wystarczającą ilość amunicji.
tutorial.waves.text = Co każde [yellow]60[] sekund, fala [coral]wrogów[] pojawi się w określonym miejscu na mapie i spróbuje zniszczyć rdzeń.
tutorial.coreDestruction.text = Twoim celem jest [yellow]obrona rdzenia[]. Zniszczenie rdzenia jest równoznaczne z [coral]przegraną[].
tutorial.pausingDesktop.text = Jeśli chcesz zrobić przerwę, naciśnij [orange]spację[] lub [orange]przycisk pauzy[] w lewym górnym rogu. Nadal możesz wybierać i wstawiać klocki podczas pauzy, ale nie możesz niszczyć i strzelać.
tutorial.pausingAndroid.text = Jeśli chcesz zrobić przerwę, naciśnij [orange]przycisk pauzy[]. Nadal możesz stawiać i niszczyć bloki.
tutorial.purchaseWeapons.text = Możesz kupić nowe [żółte] bronie [] dla swojego mecha, otwierając menu aktualizacji w lewym dolnym rogu.
tutorial.switchWeapons.text = Zmień broń, klikając jej ikonę w lewym dolnym rogu lub używając cyfr [orange][1-9[].
tutorial.spawnWave.text = Fala wrogów nadchodzi! Zniszcz ich.
tutorial.pumpDesc.text = W późniejszych falach może być konieczne użycie [yellow]pompy[] do rozprowadzania cieczy dla generatorów lub ekstraktorów.
tutorial.pumpPlace.text = Pompy działają podobnie do wierteł, z tym wyjątkiem, że wytwarzają ciecze zamiast ród.\nSpróbuj umieścić pompę na [yellow]oleju[].
tutorial.conduitUse.text = Teraz umieść [orange]rurę[] wychodzącą od pompy.
tutorial.conduitUse2.text = I tak jeszcze jedną...
tutorial.conduitUse3.text = I jeszcze jedeną...
tutorial.generator.text = Teraz umieść [orange]generator spalinowy[] na końcu kanału.
tutorial.generatorExplain.text = Generator ten będzie teraz wytwarzać [yellow]energię[] z oleju.
tutorial.lasers.text = Energia jest dystrybuowana za pomocą [yellow]przekaźników[]. Umieść takowy przekaźnik na [yellow]wskazanej pozycji[].
tutorial.laserExplain.text = Generator przeniesie teraz moc do przekaźnika. Wiązka [orange]nieprzeźroczysta[] oznacza, że ​​aktualnie transmituje moc. Wiązka [yellow]przeźroczysta[] wskazuje na brak przekazywanej energii.
tutorial.laserMore.text = Możesz sprawdzić ile energii przechowuje blok najeżdżając na niego kursorem i sprawdzając [yellow]żółty pasek[].
tutorial.healingTurret.text = Energia może być używany do zasilania [lime]wież naprawczych[]. Umieść takową [yellow]tutaj[].
tutorial.healingTurretExplain.text = Dopóki dostarczana jest do niej energia będzie [lime]naprawiać pobliskie bloki[]. Podczas gry ustawiłeś ją niedaleko swojej bazy tak szybko, jak to tylko możliwe!
tutorial.smeltery.text = Wiele bloków wymaga do pracy [orange]stali[], którą można wytwarzać w [orange]hucie[]. A skoro tak, to postaw ją teraz.
tutorial.smelterySetup.text = Huta wytworzy teraz z żelaza [orange]stal[], wykorzystując węgiel jako paliwo.
tutorial.tunnelExplain.text = Zwróć też uwagę, że przedmioty przechodzą przez [orange]tunel[] i wynurzają się po drugiej stronie, przechodząc przez kamienny blok. Pamiętaj, że tunele mogą przechodzić tylko do 2 bloków.
tutorial.end.text = I na tym poradnik się kończy!\nPozostaje tylko życzyć Ci [orange]powodzenia[]!
keybind.move_x.name = Poruszanie w poziomie
keybind.move_y.name = Poruszanie w pionie
keybind.select.name = Wybieranie
keybind.break.name = Niszczenie
keybind.shoot.name = Strzelanie
keybind.zoom_hold.name = Inicjator przybliżania
keybind.zoom.name = Przybliżanie
keybind.menu.name = menu
keybind.pause.name = pauza
keybind.dash.name = przyśpieszenie
keybind.rotate_alt.name = Obracanie (1)
keybind.rotate.name = Obracanie (2)
keybind.weapon_1.name = Broń 1
keybind.weapon_2.name = Broń 2
keybind.weapon_3.name = Broń 3
keybind.weapon_4.name = Broń 4
keybind.weapon_5.name = Broń 5
keybind.weapon_6.name = Broń 6
mode.waves.name = Fale
mode.sandbox.name = sandbox
mode.freebuild.name = budowanie
upgrade.standard.name = Standardowy
upgrade.standard.description = Standardowy mech.
upgrade.blaster.name = blaster
upgrade.blaster.description = Wystrzeliwuje powolną, słabą kulę.
upgrade.triblaster.name = triblaster
upgrade.triblaster.description = Strzela 3 pociskami w rozprzestrzenianiu.
upgrade.clustergun.name = clustergun
upgrade.clustergun.description = Wystrzeliwuje w różnych kierunkach kilka granatów.
upgrade.beam.name = Działko laserowe
upgrade.beam.description = Strzela laserem o dalekim zasięgu.
upgrade.vulcan.name = wulkan
upgrade.vulcan.description = Wystrzeliwuje grad szybkich pocisków.
upgrade.shockgun.name = Działko elektryczne
upgrade.shockgun.description = Wystrzeliwuje niszczycielski podmuch naładowanych odłamków.
item.stone.name = kamień
item.iron.name = żelazo
item.coal.name = węgiel
item.steel.name = stal
item.titanium.name = tytan
item.dirium.name = dirium
item.thorium.name = uran
item.sand.name = piasek
liquid.water.name = woda
liquid.plasma.name = plazma
liquid.lava.name = lawa
liquid.oil.name = olej
block.weaponfactory.name = fabryka broni
block.air.name = Powietrze.
block.blockpart.name = Kawałek bloku
block.deepwater.name = głęboka woda
block.water.name = woda
block.lava.name = lawa
block.oil.name = olej
block.stone.name = kamień
block.blackstone.name = czarny kamień
block.iron.name = żelazo
block.coal.name = węgiel
block.titanium.name = tytan
block.thorium.name = uran
block.dirt.name = ziemia
block.sand.name = piasek
block.ice.name = lód
block.snow.name = śnieg
block.grass.name = trawa
block.sandblock.name = blok z piasku
block.snowblock.name = blok ze śniegu
block.stoneblock.name = blok z kamienia
block.blackstoneblock.name = blok z czarnego kamienia
block.grassblock.name = blok z trawy
block.mossblock.name = porośnięty blok
block.shrub.name = krzew
block.rock.name = kamyk
block.icerock.name = kamyk lodowy
block.blackrock.name = czarny kamyk
block.dirtblock.name = Brudny blok
block.stonewall.name = Kamienna ściana
block.stonewall.fulldescription = Tani blok obronny. Przydatny do ochrony rdzenia i wież w pierwszych kilku falach.
block.ironwall.name = Żelazna ściana
block.ironwall.fulldescription = Podstawowy blok obronny. Zapewnia ochronę przed wrogami.
block.steelwall.name = stalowa ściana
block.steelwall.fulldescription = Standardowy blok obronny. odpowiednia ochrona przed wrogami.
block.titaniumwall.name = tytanowa ściana
block.titaniumwall.fulldescription = Silny blok obronny. Zapewnia ochronę przed wrogami.
block.duriumwall.name = ściana z dirium
block.duriumwall.fulldescription = Bardzo silny blok obronny. Zapewnia ochronę przed wrogami.
block.compositewall.name = ściana kompozytowa
block.steelwall-large.name = duża stalowa ściana
block.steelwall-large.fulldescription = Standardowy blok obronny. Rozpiętość wielu płytek.
block.titaniumwall-large.name = duża tytanowa ściana
block.titaniumwall-large.fulldescription = Silny blok obronny. Rozpiętość wielu płytek.
block.duriumwall-large.name = duża ściana z dirium
block.duriumwall-large.fulldescription = Bardzo silny blok obronny. Rozpiętość wielu płytek.
block.titaniumshieldwall.name = Ściana z polem obronnym
block.titaniumshieldwall.fulldescription = Silny blok obronny z dodatkową wbudowaną tarczą. Wymaga zasilania. Używa energii do pochłaniania pocisków wroga. W celu dostarczenia zasilania zaleca się stosowanie wzmacniaczy energii.
block.repairturret.name = Wieża naprawcza
block.repairturret.fulldescription = Naprawia pobliskie uszkodzone bloki w niedużej prędkości. Wykorzystuje niewielkie ilości energii.
block.megarepairturret.name = Wieża naprawcza II
block.megarepairturret.fulldescription = Naprawia pobliskie uszkodzone bloki z przyzwoitą prędkośą. Do działania wykorzystuje energię.
block.shieldgenerator.name = Generator tarczy
block.shieldgenerator.fulldescription = Zaawansowany blok obronny. Osłania wszystkie bloki w promieniu przed atakiem wroga. Zużywa energię z niewielką prędkością gdy jest w stanie bezczynności, ale z kolei gdy jest w użyciu, energię pobiera bardzo szybko.
block.door.name = drzwi
block.door.fulldescription = Blok, który można otworzyć i zamknąć poprzez dotknięcie
block.door-large.name = duże drzwi
block.door-large.fulldescription = Blok, który można otworzyć i zamknąć poprzez dotknięcie
block.conduit.name = Rura
block.conduit.fulldescription = Podstawowy blok transportu cieczy. Działa jak przenośnik, tylko że z płynami. Najlepiej stosować z pompami bądź razem innymi rurami.\nMoże być używany jako pomost nad płynami dla wrogów i graczy.
block.pulseconduit.name = Rura impulsowa
block.pulseconduit.fulldescription = Zaawansowany blok transportu cieczy. Transportuje ciecze szybciej i przechowuje więcej niż rury standardowe.
block.liquidrouter.name = Rozdzielacz płynów
block.liquidrouter.fulldescription = Działa podobnie do zwykłego rozdzielacza. Akceptuje wejście cieczy z jednej strony i przekazuje ją na pozostałe strony. Przydatny do rozdzielania cieczy z jednej rury do wielu.
block.conveyor.name = Przenośnik
block.conveyor.fulldescription = Podstawowy blok transportu przedmiotów. Przenosi przedmioty do przodu i automatycznie umieszcza je w blokach. Może być używany jako pomost nad płynami dla wrogów i graczy.
block.steelconveyor.name = Przenośnik stalowy
block.steelconveyor.fulldescription = Zaawansowany blok transportu przedmiotów. Przenosi elementy szybciej niż standardowe przenośniki.
block.poweredconveyor.name = przenośnik impulsowy
block.poweredconveyor.fulldescription = Najszybszy blok transportowy przedmiotów.
block.router.name = Rozdzielacz
block.router.fulldescription = Przyjmuje przedmioty z jednego kierunku i przekazuje je w 3 innych kierunkach. Może również przechowywać pewną liczbę przedmiotów. Przydatny do dzielenia materiałów z jednego wiertła na wiele dział.
block.junction.name = węzeł
block.junction.fulldescription = Działa jako pomost dla dwóch skrzyżowanych przenośników taśmowych. Przydatny w sytuacjach, gdy dwa różne przenośniki przenoszą różne materiały do ​​różnych lokalizacji.
block.conveyortunnel.name = tunel przenośnikowy
block.conveyortunnel.fulldescription = Transportuje przedmiot pod blokami. Aby użyć, umieść jeden tunel prowadzący do bloku, który ma zostać tunelowany, i jeden po drugiej stronie. Upewnij się, że oba tunele są skierowane w przeciwnych kierunkach, czyli w wejście do bloku podającego, a wyjście do bloku odbierającego.
block.liquidjunction.name = Węzeł dla płynów
block.liquidjunction.fulldescription = Skrzyżowanie dla rurociągów. Przydatne w sytuacji, w której transportujemy różne ciecze w rurach, które muszą się przeciąć.
block.liquiditemjunction.name = Węzeł rur i przenośników
block.liquiditemjunction.fulldescription = Skrzyżowanie przenośników taśmowych oraz rur.
block.powerbooster.name = Wzmacniacz energii
block.powerbooster.fulldescription = Dystrybuuje moc do wszystkich bloków w swoim promieniu.
block.powerlaser.name = Przekaźnik
block.powerlaser.fulldescription = Tworzy laser, który przesyła moc do bloku przed nim. Nie generuje energii. Najlepiej stosować z generatorami lub innymi przekaźnikami.
block.powerlaserrouter.name = Duży rozdzielacz energii
block.powerlaserrouter.fulldescription = Przekaźnik, który dystrybuuje energię w trzech kierunkach jednocześnie. Przydatne w sytuacjach, w których wymagane jest zasilanie wielu bloków z jednego generatora.
block.powerlasercorner.name = Rozdzielacz energii
block.powerlasercorner.fulldescription = Przekaźnik, który dystrybuuje energię w dwóch kierunkach jednocześnie. Przydatny w sytuacjach, gdy wymagane jest zasilanie wielu bloków z jednego generatora, a router jest nieprecyzyjny.
block.teleporter.name = teleporter
block.teleporter.fulldescription = Zaawansowany blok transportu przedmiotów. Teleporty przenoszą przedmioty do innych teleportów tego samego koloru. Jeżeli nie istnieją teleporty z tym samym kolorem, to nie niczego nigdzie nie przenosi. Jeśli istnieje wiele teleportów tego samego koloru, wybierany jest losowy. Zużywa energię. Stuknij aby zmienić kolor.
block.sorter.name = Sortownik
block.sorter.fulldescription = Sortuje przedmioty według rodzaju materiału. Materiał do zaakceptowania jest oznaczony w bloku. Wszystkie pasujące przedmioty są wysyłane do przodu, wszystko inne jest wyprowadzane na lewo i na prawo.
block.core.name = Rdzeń
block.pump.name = pompa
block.pump.fulldescription = Pompuje ciecze z bloku źródłowego - zwykle wody, lawy lub oleju. Wyprowadza ciecz do pobliskich rur.
block.fluxpump.name = pompa strumieniowa
block.fluxpump.fulldescription = Zaawansowana wersja pompy. Przechowuje więcej cieczy i szybciej pompuje.
block.smelter.name = huta
block.smelter.fulldescription = Niezbędny blok rzemieślniczy. Po wprowadzeniu 1 żelaza i 1 węgla jako paliwa, wytwarza 1 stal. Zaleca się wprowadzanie żelaza i węgla na różne pasy, aby zapobiec zatkaniu.
block.crucible.name = tygiel
block.crucible.fulldescription = Zaawansowany blok rzemieślniczy. Po wprowadzeniu 1 tytanu, 1 stali i 1 węgla jako paliwa, otrzymuje 1 dirium. Zaleca się wprowadzanie węgla, stali i tytanu z różnych taśm, aby zapobiec zatkaniu.
block.coalpurifier.name = ekstraktor węgla
block.coalpurifier.fulldescription = Wyprowadza węgiel, gdy jest dostarczana duża ilością wody i kamienia.
block.titaniumpurifier.name = ekstraktor tytanu
block.titaniumpurifier.fulldescription = Wyprowadza tytan, gdy jest dostarczana duża ilości wody i żelaza.
block.oilrefinery.name = Rafineria ropy
block.oilrefinery.fulldescription = Rafinuje duże ilości oleju do postaci węgla. Przydatne do napędzania działek napędzanych węglem, gry nie ma w pobliżu wystarcząjacej ilości rud węgla.
block.stoneformer.name = Wytwarzacz kamienia
block.stoneformer.fulldescription = Schładza lawę do postaci kamień. Przydatny do produkcji ogromnych ilości kamienia do oczyszczania węgla.
block.lavasmelter.name = Huta lawowa
block.lavasmelter.fulldescription = Używa lawy, by przekształcić żelazo w stal. Alternatywa dla zwykłych hut. Przydatny w sytuacjach, gdy brakuje węgla.
block.stonedrill.name = wiertło do kamienia
block.stonedrill.fulldescription = Niezbędne wiertło. Po umieszczeniu na kamiennym podłożu, powoli i w nieskończoność wydobywa kamień.
block.irondrill.name = wiertło do żelaza
block.irondrill.fulldescription = Po umieszczeniu na rudzie żelaza, powoli i w nieskończoność wydobywa żelazo.
block.coaldrill.name = wiertło do węgla
block.coaldrill.fulldescription = Po umieszczeniu na rudzie węgla, powoli i w nieskończoność wydobywa węgiel.
block.thoriumdrill.name = wiertło do uranu
block.thoriumdrill.fulldescription = Wiertło zaawansowane. Po umieszczeniu na rudzie uranu, wydobywa uran w wolnym tempie przez czas nieokreślony.
block.titaniumdrill.name = wiertło do tytanu
block.titaniumdrill.fulldescription = Wiertło zaawansowane. Po umieszczeniu na rudzie tytanu, wydobywa tytan w wolnym tempie przez czas nieokreślony.
block.omnidrill.name = omnidril
block.omnidrill.fulldescription = Wiertło wielofunkcyjne. W szybkim tempie wydobywa każdą rudę.
block.coalgenerator.name = generator na węgiel
block.coalgenerator.fulldescription = Niezbędny generator. Generuje energię z węgla na wszystkie strony.
block.thermalgenerator.name = generator termiczny
block.thermalgenerator.fulldescription = Generuje energię z lawy. Generuje energię z węgla na wszystkie strony.
block.combustiongenerator.name = generator spalinowy
block.combustiongenerator.fulldescription = Generuje moc z oleju. Generuje energię z węgla na wszystkie strony.
block.rtgenerator.name = Generator RTG
block.rtgenerator.fulldescription = Generuje niewielkie ilości energii z rozpadu promieniotwórczego uranu. Generuje energię z węgla na wszystkie strony.
block.nuclearreactor.name = reaktor jądrowy
block.nuclearreactor.fulldescription = Zaawansowana wersja generatora RTG i zarazem najlepsze źródło energii. Generuje ją z uranu. Wymaga stałego chłodzenia wodą. Wybucha niemal natychmiast w momencie, gdy dostarczona zostanie niewystarczająca ilość płynu chłodzącego.
block.turret.name = działko
block.turret.fulldescription = Podstawowa, nieduża wieżyczka. Używa kamienia jako amunicji. Ma nieco większy zasięg niż działko podwójne.
block.doubleturret.name = działko podwójne
block.doubleturret.fulldescription = Nieco mocniejsza wersja działka. Używa kamienia jako amunicji. Znacznie więcej obrażeń, ale ma mniejszy zasięg. Wystrzeliwuje dwie kule.
block.machineturret.name = działko szybkostrzelne
block.machineturret.fulldescription = Standardowa, wszechstronna wieża. Używa żelaza jako amunicji. Strzela dość szybko i ma przyzwoite uszkodzenia.
block.shotgunturret.name = działko odłamkowe
block.shotgunturret.fulldescription = Standardowa wieża. Używa żelaza do amunicji. Wystrzeliwuje 7 pocisków. Niższy zasięg, ale większe obrażenia niż działko szybkostrzelne.
block.flameturret.name = miotacz ognia
block.flameturret.fulldescription = Zaawansowana wieżyczka bliskiego zasięgu. Używa węgla jako amunicji. Ma bardzo niski zasięg, ale bardzo duże obrażenia. Dobra na krótkie dystanse. Zalecana do stosowania za ścianami.
block.sniperturret.name = karabin
block.sniperturret.fulldescription = Zaawansowana wieżyczka dalekiego zasięgu. Używa stali jako amunicji. Ma bardzo duże obrażenia, ale niski współczynnik ognia. Kosztowne w użyciu, ale można je umieścić z dala od linii wroga ze względu na jego zasięg.
block.mortarturret.name = Miotacz odłamków
block.mortarturret.fulldescription = Zaawansowana, bardzo dokładne działko rozpryskowe. Używa węgla jako amunicji. Wystrzeliwuje grad eksplodujących pocisków. Przydatny dla dużych hord wrogów.
block.laserturret.name = działo laserowe
block.laserturret.fulldescription = Zaawansowana wieża z jednym celem. Używa energii. Dobra wieża o średnim zasięgu. Atakuje tylko 1 cel i nigdy nie pudłuje.
block.waveturret.name = Działo Tesli
block.waveturret.fulldescription = Zaawansowana wieża celującai. Używa mocy. Średni zasięg. Nigdy nie trafia. Stosuje niskie obrażenia, ale może trafić wielu wrogów jednocześnie z oświetleniem łańcuszkiem.
block.plasmaturret.name = Działo plazmowe
block.plasmaturret.fulldescription = Wysoce zaawansowana wersja miotacza ognia. Używa węgla jako amunicji. Zadaje bardzo duże obrażenia i posiada średni zasięg.
block.chainturret.name = Działo uranowe
block.chainturret.fulldescription = Najlepsze działo szybkiego ognia. Używa uranu jako amunicji. Wystrzeliwuje duże spirale z dużą szybkością. Posiada średni zasięg.
block.titancannon.name = Potężne działo uranowe
block.titancannon.fulldescription = Najlepsze działo dalekiego zasięgu. Używa uranu jako amunicji. Wystrzeliwuje duże pociski z odłamkami. Ma średnią szybkostrzelność i duży promień rażenia.
block.playerspawn.name = Spawn gracza
block.enemyspawn.name = Spawn wroga
text.about=Stworzony przez [ROYAL] Anuken. []\nPierwotnie wpis w [orange] GDL [] MM Jam.\n\nNapisy:\n- SFX wykonane z pomocą [YELLOW] bfxr []\n- Muzyka wykonana przez [GREEN] RoccoW [] / znaleziona na [lime] FreeMusicArchive.org []\n\nSpecjalne podziękowania dla:\n- [coral] MitchellFJN []: obszerne testowanie i feedback\n- [niebo] Luxray5474 []: prace związane z wiki, pomoc z kodem\n- Wszystkich beta testerów na itch.io i Google Play\n
text.discord=Odwiedź nasz serwer Discord
text.gameover=Rdzeń został zniszczony.
text.highscore=[YELLOW] Nowy rekord!
text.lasted=Wytrwałeś do fali
text.level.highscore=Rekord: [accent]{0}
text.level.delete.title=Potwierdź kasowanie
text.level.select=Wybrany poziom
text.level.mode=Tryb gry:
text.savegame=Zapisz Grę
text.loadgame=Wczytaj grę
text.joingame=Gra wieloosobowa
text.quit=Wyjdź
text.about.button=O grze
text.name=Nazwa:
text.players={0} graczy online
text.players.single={0} gracz online
text.server.mismatch=Błąd pakietu: możliwa niezgodność wersji klienta/serwera.\nUpewnij się, że Ty i host macie najnowszą wersję Mindustry!
text.server.closing=[accent] Zamykanie serwera ...
text.server.kicked.kick=Zostałeś wyrzucony z serwera!
text.server.kicked.invalidPassword=Nieprawidłowe hasło!
text.server.kicked.clientOutdated=Nieaktualna gra! Zaktualizują ją!
text.server.kicked.serverOutdated=Nieaktualna gra! Zaktualizują ją!
text.server.connected={0} dołączył do gry .
text.server.disconnected={0} został rozłączony.
text.nohost=Nie można hostować serwera na mapie niestandardowej!
text.hostserver=Serwer hosta
text.host=Host
text.hosting=[accent] Otwieranie serwera ...
text.hosts.refresh=Odśwież
text.hosts.discovering=Wyszukiwanie gier w sieci LAN
text.server.refreshing=Odświeżanie serwera
text.hosts.none=[lightgray] Brak serwerów w sieci LAN!
text.host.invalid=[scarlet] Nie można połączyć się z hostem.
text.server.friendlyfire=Bratobójczy ogień
text.server.add=Dodaj serwer
text.server.delete=Czy na pewno chcesz usunąć ten serwer?
text.server.hostname=Host: {0}
text.server.edit=Edytuj serwer
text.joingame.title=Dołącz do gry
text.joingame.ip=IP:
text.disconnect=Rozłączony.
text.connecting=[accent]Łączenie ...
text.connecting.data=[accent]Ładowanie danych świata...
text.connectfail=[crimson]Nie można połączyć się z serwerem: [orange] {0}
text.server.port=Port:
text.server.addressinuse=Adres jest już w użyciu!
text.server.invalidport=Nieprawidłowy numer portu.
text.server.error=[crimson] Błąd hostowania serwera: [orange] {0}
text.save.new=Nowy zapis
text.save.overwrite=Czy na pewno chcesz nadpisać zapis gry?
text.overwrite=Nadpisz
text.save.none=Nie znaleziono zapisów gry!
text.saveload=[akcent]Zapisywanie...
text.savefail=Nie udało się zapisać gry!
text.save.delete.confirm=Czy na pewno chcesz usunąć ten zapis gry?
text.save.delete=Usuń
text.save.export=Eksportuj
text.save.import.invalid=[orange]Zapis gry jest niepoprawny!
text.save.import.fail=[crimson]Nie udało się zaimportować zapisu: [orange] {0}
text.save.export.fail=[crimson]Nie można wyeksportować zapisu: [orange] {0}
text.save.import=Importuj
text.save.newslot=Zapisz nazwę:
text.save.rename=Zmień nazwę
text.save.rename.text=Zmień nazwę
text.selectslot=Wybierz zapis.
text.slot=[accent]Slot {0}
text.save.corrupted=[orange]Zapis gry jest uszkodzony lub nieprawidłowy!
text.empty=<pusto>
text.on=Włączone
text.off=Wyłączone
text.save.autosave=Zapisywanie automatyczne
text.save.map=Mapa: {0}
text.save.wave=Fala: {0}
text.save.date=Ostatnio zapisano: {0}
text.confirm=Potwierdź
text.delete=Usuń
text.ok=Ok
text.open=Otwórz
text.cancel=Anuluj
text.openlink=Otwórz link
text.back=Wróć
text.quit.confirm=Czy na pewno chcesz wyjść?
text.loading=[accent]Ładowanie ...
text.wave=[orange]Fala {0}
text.wave.waiting=Fala w {0}
text.waiting=Oczekiwanie...
text.enemies={0} wrogów
text.enemies.single={0} wróg
text.loadimage=Załaduj obraz
text.saveimage=Zapisz obraz
text.editor.badsize=[orange]Nieprawidłowe wymiary obrazu![]\nWymiary poprawne: {0}
text.editor.errorimageload=Błąd podczas ładowania pliku obrazu: [orange]{0}
text.editor.errorimagesave=Błąd podczas zapisywania pliku obrazu: [orange]{0}
text.editor.generate=Generuj
text.editor.resize=Zmień rozmiar
text.editor.loadmap=Załaduj mapę
text.editor.savemap=Zapisz mapę
text.editor.loadimage=Załaduj obraz
text.editor.saveimage=Zapisz obraz
text.editor.unsaved=[scarlet]Masz niezapisane zmiany![]\nCzy na pewno chcesz wyjść?
text.editor.resizemap=Zmień rozmiar mapy
text.editor.mapname=Nazwa mapy:
text.editor.overwrite=[accent]Uwaga!\nSpowoduje to nadpisanie istniejącej mapy.
text.editor.selectmap=Wybierz mapę do załadowania:
text.width=Szerokość:
text.height=Wysokość:
text.menu=Menu
text.play=Graj
text.load=Wczytaj
text.save=Zapisz
text.language.restart=Uruchom grę ponownie aby ustawiony język zaczął funkcjonować.
text.settings.language=Język
text.settings=Ustawienia
text.tutorial=Poradnik
text.editor=Edytor
text.mapeditor=Edytor map
text.donate=Wspomóż nas
text.settings.reset=Przywróć domyślne
text.settings.controls=Sterowanie
text.settings.game=Gra
text.settings.sound=Dźwięk
text.settings.graphics=Grafika
text.upgrades=Ulepszenia
text.purchased=[LIME]Stworzono!
text.weapons=Bronie
text.paused=Wstrzymano
text.info.title=[accent]Informacje
text.error.title=[crimson]Wystąpił błąd
text.error.crashtitle=Wystąpił błąd
text.blocks.blockinfo=Informacje o bloku
text.blocks.powercapacity=Moc znamionowa
text.blocks.powershot=moc / strzał
text.blocks.size=Rozmiar
text.blocks.liquidcapacity=Pojemność cieczy
text.blocks.maxitemssecond=Maksymalna liczba przedmiotów / Sekunda
text.blocks.powerrange=Zakres mocy
text.blocks.itemcapacity=Pojemność przedmiotów
text.blocks.inputliquid=Potrzebna ciecz
text.blocks.inputitem=Potrzebne przedmioty
text.blocks.explosive=Wysoce wybuchowy!
text.blocks.health=Zdrowie
text.blocks.inaccuracy=Niedokładność
text.blocks.shots=Strzały
text.blocks.inputcapacity=Pojemność wejściowa
text.blocks.outputcapacity=Wydajność wyjściowa
setting.difficulty.easy=łatwy
setting.difficulty.normal=normalny
setting.difficulty.hard=trudny
setting.difficulty.insane=szalony
setting.difficulty.purge=Czystka
setting.difficulty.name=Poziom trudności
setting.screenshake.name=Trzęsienie się ekranu
setting.indicators.name=Wskaźniki wroga
setting.effects.name=Wyświetlanie efektów
setting.sensitivity.name=Czułość kontrolera
setting.saveinterval.name=Interwał automatycznego zapisywania
setting.seconds=Sekundy
setting.fps.name=Widoczny licznik FPS
setting.vsync.name=Synchronizacja pionowa
setting.lasers.name=Pokaż lasery zasilające
setting.healthbars.name=Pokaż paski zdrowia jednostki
setting.musicvol.name=Głośność muzyki
setting.mutemusic.name=Wycisz muzykę
setting.sfxvol.name=Głośność dźwięków
setting.mutesound.name=Wycisz dźwięki
map.maze.name=labirynt
map.fortress.name=twierdza
map.sinkhole.name=wgłębienie
map.caves.name=jaskinie
map.volcano.name=wulkan
map.caldera.name=kaldera
map.scorch.name=opalacz
map.desert.name=pustynia
map.island.name=wyspa
map.grassland.name=łąka
map.tundra.name=tundra
map.spiral.name=spirala
map.tutorial.name=Poradnik
keybind.move_x.name=Poruszanie w poziomie
keybind.move_y.name=Poruszanie w pionie
keybind.select.name=Wybieranie
keybind.break.name=Niszczenie
keybind.shoot.name=Strzelanie
keybind.zoom_hold.name=Inicjator przybliżania
keybind.zoom.name=Przybliżanie
keybind.menu.name=menu
keybind.pause.name=pauza
keybind.dash.name=przyśpieszenie
keybind.rotate_alt.name=Obracanie (1)
keybind.rotate.name=Obracanie (2)
mode.waves.name=Fale
mode.sandbox.name=sandbox
mode.freebuild.name=budowanie
item.stone.name=kamień
item.coal.name=węgiel
item.titanium.name=tytan
item.thorium.name=uran
item.sand.name=piasek
liquid.water.name=woda
liquid.lava.name=lawa
liquid.oil.name=olej
block.door.name=drzwi
block.door-large.name=duże drzwi
block.conduit.name=Rura
block.pulseconduit.name=Rura impulsowa
block.liquidrouter.name=Rozdzielacz płynów
block.conveyor.name=Przenośnik
block.router.name=Rozdzielacz
block.junction.name=węzeł
block.liquidjunction.name=Węzeł dla płynów
block.sorter.name=Sortownik
block.smelter.name=huta
text.credits=Credits
text.link.discord.description=the official Mindustry discord chatroom
text.link.github.description=Game source code
text.link.dev-builds.description=Unstable development builds
text.link.trello.description=Official trello board for planned features
text.link.itch.io.description=itch.io page with PC downloads and web version
text.link.google-play.description=Google Play store listing
text.link.wiki.description=official Mindustry wiki
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard.
text.editor.web=The web version does not support the editor!\nDownload the game to use it.
text.web.unsupported=The web version does not support this feature! Download the game to use it.
text.multiplayer.web=This version of the game does not support multiplayer!\nTo play multiplayer from your browser, use the "multiplayer web version" link at the itch.io page.
text.host.web=The web version does not support hosting games! Download the game to use this feature.
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
text.construction.title=Block Construction Guide
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
text.deconstruction.title=Block Deconstruction Guide
text.deconstruction=You've just selected [accent]block deconstruction mode[].\n\nTo begin breaking, simply tap a block near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin de-constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Remove blocks in an area[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel deconstruction or selection[] by pressing the X at the bottom left.
text.showagain=Don't show again next session
text.unlocks=Unlocks
text.addplayers=Add/Remove Players
text.newgame=New Game
text.maps=Maps
text.maps.none=[LIGHT_GRAY]No maps found!
text.unlocked=New Block Unlocked!
text.unlocked.plural=New Blocks Unlocked!
text.server.kicked.fastShoot=You are shooting too quickly.
text.server.kicked.banned=You are banned on this server.
text.server.kicked.recentKick=You have been kicked recently.\nWait before connecting again.
text.server.kicked.nameInUse=There is someone with that name\nalready on this server.
text.server.kicked.nameEmpty=Your name must contain at least one character or number.
text.server.kicked.idInUse=You are already on this server! Connecting with two accounts is not permitted.
text.server.kicked.customClient=This server does not support custom builds. Download an official version.
text.host.info=The [accent]host[] button hosts a server on ports [scarlet]6567[] and [scarlet]6568.[]\nAnybody on the same [LIGHT_GRAY]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[LIGHT_GRAY]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings.
text.join.info=Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[LIGHT_GRAY]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP.
text.trace=Trace Player
text.trace.playername=Player name: [accent]{0}
text.trace.ip=IP: [accent]{0}
text.trace.id=Unique ID: [accent]{0}
text.trace.android=Android Client: [accent]{0}
text.trace.modclient=Custom Client: [accent]{0}
text.trace.totalblocksbroken=Total blocks broken: [accent]{0}
text.trace.structureblocksbroken=Structure blocks broken: [accent]{0}
text.trace.lastblockbroken=Last block broken: [accent]{0}
text.trace.totalblocksplaced=Total blocks placed: [accent]{0}
text.trace.lastblockplaced=Last block placed: [accent]{0}
text.invalidid=Invalid client ID! Submit a bug report.
text.server.bans=Bans
text.server.bans.none=No banned players found!
text.server.admins=Admins
text.server.admins.none=No admins found!
text.server.outdated=[crimson]Outdated Server![]
text.server.outdated.client=[crimson]Outdated Client![]
text.server.version=[lightgray]Version: {0}
text.server.custombuild=[yellow]Custom Build
text.confirmban=Are you sure you want to ban this player?
text.confirmunban=Are you sure you want to unban this player?
text.confirmadmin=Are you sure you want to make this player an admin?
text.confirmunadmin=Are you sure you want to remove admin status from this player?
text.disconnect.data=Failed to load world data!
text.save.difficulty=Difficulty: {0}
text.copylink=Copy Link
text.changelog.title=Changelog
text.changelog.loading=Getting changelog...
text.changelog.error.android=[orange]Note that the changelog sometimes does not work on Android 4.4 and below!\nThis is due to an internal Android bug.
text.changelog.error.ios=[orange]The changelog is currently not supported in iOS.
text.changelog.error=[scarlet]Error getting changelog!\nCheck your internet connection.
text.changelog.current=[yellow][[Current version]
text.changelog.latest=[orange][[Latest version]
text.saving=[accent]Saving...
text.unknown=Unknown
text.custom=Custom
text.builtin=Built-In
text.map.delete.confirm=Are you sure you want to delete this map? This action cannot be undone!
text.map.random=[accent]Random Map
text.map.nospawn=This map does not have any cores for the player to spawn in! Add a [ROYAL]blue[] core to this map in the editor.
text.editor.slope=\\
text.editor.openin=Open In Editor
text.editor.oregen=Ore Generation
text.editor.oregen.info=Ore Generation:
text.editor.mapinfo=Map Info
text.editor.author=Author:
text.editor.description=Description:
text.editor.name=Name:
text.editor.teams=Teams
text.editor.elevation=Elevation
text.editor.saved=Saved!
text.editor.save.noname=Your map does not have a name! Set one in the 'map info' menu.
text.editor.save.overwrite=Your map overwrites a built-in map! Pick a different name in the 'map info' menu.
text.editor.import.exists=[scarlet]Unable to import:[] a built-in map named '{0}' already exists!
text.editor.import=Import...
text.editor.importmap=Import Map
text.editor.importmap.description=Import an already existing map
text.editor.importfile=Import File
text.editor.importfile.description=Import an external map file
text.editor.importimage=Import Terrain Image
text.editor.importimage.description=Import an external map image file
text.editor.export=Export...
text.editor.exportfile=Export File
text.editor.exportfile.description=Export a map file
text.editor.exportimage=Export Terrain Image
text.editor.exportimage.description=Export a map image file
text.editor.overwrite.confirm=[scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?
text.fps=FPS: {0}
text.tps=TPS: {0}
text.ping=Ping: {0}ms
text.settings.rebind=Rebind
text.yes=Yes
text.no=No
text.blocks.targetsair=Targets Air
text.blocks.itemspeed=Units Moved
text.blocks.shootrange=Range
text.blocks.poweruse=Power Use
text.blocks.inputitemcapacity=Input Item Capacity
text.blocks.outputitemcapacity=Input Item Capacity
text.blocks.maxpowergeneration=Max Power Generation
text.blocks.powertransferspeed=Power Transfer
text.blocks.craftspeed=Production Speed
text.blocks.inputliquidaux=Aux Liquid
text.blocks.inputitems=Input Items
text.blocks.outputitem=Output Item
text.blocks.drilltier=Drillables
text.blocks.drillspeed=Base Drill Speed
text.blocks.liquidoutput=Liquid Output
text.blocks.liquiduse=Liquid Use
text.blocks.coolant=Coolant
text.blocks.coolantuse=Coolant Use
text.blocks.inputliquidfuel=Fuel Liquid
text.blocks.liquidfueluse=Liquid Fuel Use
text.blocks.reload=Reload
text.blocks.inputfuel=Fuel
text.blocks.fuelburntime=Fuel Burn Time
text.unit.blocks=blocks
text.unit.powersecond=power units/second
text.unit.liquidsecond=liquid units/second
text.unit.itemssecond=items/second
text.unit.pixelssecond=pixels/second
text.unit.liquidunits=liquid units
text.unit.powerunits=power units
text.unit.degrees=degrees
text.unit.seconds=seconds
text.unit.none=
text.unit.items=items
text.category.general=General
text.category.power=Power
text.category.liquids=Liquids
text.category.items=Items
text.category.crafting=Crafting
text.category.shooting=Shooting
setting.fullscreen.name=Fullscreen
setting.multithread.name=Multithreading
setting.minimap.name=Show Minimap
text.keybind.title=Rebind Keys
keybind.block_info.name=block_info
keybind.chat.name=chat
keybind.player_list.name=player_list
keybind.console.name=console
mode.text.help.title=Description of modes
mode.waves.description=the normal mode. limited resources and automatic incoming waves.
mode.sandbox.description=infinite resources and no timer for waves.
mode.freebuild.description=limited resources and no timer for waves.
content.item.name=Items
content.liquid.name=Liquids
content.unit-type.name=Units
content.recipe.name=Blocks
item.stone.description=A common raw material. Used for separating and refining into other materials, or melting into lava.
item.tungsten.name=Tungsten
item.tungsten.description=A common, but very useful structure material. Used in drills and heat-resistant blocks such as generators and smelteries.
item.lead.name=Lead
item.lead.description=A basic starter material. Used extensively in electronics and liquid transportation blocks.
item.coal.description=A common and readily available fuel.
item.carbide.name=Carbide
item.carbide.description=A tough alloy made with tungsten and carbon. Used in advanced transportation blocks and high-tier drills.
item.titanium.description=A rare super-light metal used extensively in liquid transportation, drills and aircraft.
item.thorium.description=A dense, radioactive metal used as structural support and nuclear fuel.
item.silicon.name=Silicon
item.silcion.description=An extremely useful semiconductor, with applications in solar panels and many complex electronics.
item.plastanium.name=Plastanium
item.plastanium.description=A light, ductile material used in advanced aircraft and fragmentation ammunition.
item.phase-matter.name=Phase Matter
item.surge-alloy.name=Surge Alloy
item.biomatter.name=Biomatter
item.biomatter.description=A clump of organic mush; used for conversion into oil or as a basic fuel.
item.sand.description=A common material that is used extensively in smelting, both in alloying and as a flux.
item.blast-compound.name=Blast Compound
item.blast-compound.description=A volatile compound used in bombs and explosives. While it can burned as fuel, this is not advised.
item.pyratite.name=Pyratite
item.pyratite.description=An extremely flammable substance used in incendiary weapons.
liquid.cryofluid.name=Cryofluid
text.item.explosiveness=[LIGHT_GRAY]Explosiveness: {0}
text.item.flammability=[LIGHT_GRAY]Flammability: {0}
text.item.radioactivity=[LIGHT_GRAY]Radioactivity: {0}
text.item.fluxiness=[LIGHT_GRAY]Flux Power: {0}
text.item.hardness=[LIGHT_GRAY]Hardness: {0}
text.liquid.heatcapacity=[LIGHT_GRAY]Heat Capacity: {0}
text.liquid.viscosity=[LIGHT_GRAY]Viscosity: {0}
text.liquid.temperature=[LIGHT_GRAY]Temperature: {0}
block.tungsten-wall.name=Tungsten Wall
block.tungsten-wall-large.name=Large Tungsten Wall
block.carbide-wall.name=Carbide Wall
block.carbide-wall-large.name=Large Carbide Wall
block.thorium-wall.name=Thorium Wall
block.thorium-wall-large.name=Large Thorium Wall
block.duo.name=Duo
block.scorch.name=Scorch
block.hail.name=Hail
block.lancer.name=Lancer
block.titanium-conveyor.name=Titanium Conveyor
block.splitter.name=Splitter
block.splitter.description=Outputs items into two opposite directions immediately after they are recieved.
block.router.description=Splits items into all 4 directions. Can store items as a buffer.
block.distributor.name=Distributor
block.distributor.description=A splitter that can split items into 8 directions.
block.sorter.description=Sorts items. If an item matches the selection, it is allowed to pass. Otherwise, the item is outputted to the left and right.
block.overflow-gate.name=Overflow Gate
block.overflow-gate.description=A combination splitter and router that only outputs to the left and right if the front path is blocked.
block.bridgeconveyor.name=Bridge Conveyor
block.bridgeconveyor.description=A conveyor that can go over other blocks, for up to two total blocks.
block.arc-smelter.name=Arc Smelter
block.silicon-smelter.name=Silicon Smelter
block.phase-weaver.name=Phase Weaver
block.pulverizer.name=Pulverizer
block.cryofluidmixer.name=Cryofluid Mixer
block.melter.name=Melter
block.incinerator.name=Incinerator
block.biomattercompressor.name=Biomatter Compressor
block.separator.name=Separator
block.centrifuge.name=Centrifuge
block.power-node.name=Power Node
block.power-node-large.name=Large Power Node
block.battery.name=Battery
block.battery-large.name=Large Battery
block.combustion-generator.name=Combustion Generator
block.turbine-generator.name=Turbine Generator
block.tungsten-drill.name=Tungsten Drill
block.carbide-drill.name=Carbide Drill
block.laser-drill.name=Laser Drill
block.water-extractor.name=Water Extractor
block.cultivator.name=Cultivator
block.dart-ship-factory.name=Dart Ship Factory
block.delta-mech-factory.name=Delta Mech Factory
block.dronefactory.name=Drone Factory
block.repairpoint.name=Repair Point
block.resupplypoint.name=Resupply Point
block.liquidtank.name=Liquid Tank
block.bridgeconduit.name=Bridge Conduit
block.mechanical-pump.name=Mechanical Pump
block.itemsource.name=Item Source
block.itemvoid.name=Item Void
block.liquidsource.name=Liquid Source
block.powervoid.name=Power Void
block.powerinfinite.name=Power Infinite
block.unloader.name=Unloader
block.sortedunloader.name=Sorted Unloader
block.vault.name=Vault
block.wave.name=Wave
block.swarmer.name=Swarmer
block.salvo.name=Salvo
block.ripple.name=Ripple
block.phase-conveyor.name=Phase Conveyor
block.bridge-conveyor.name=Bridge Conveyor
block.plastanium-compressor.name=Plastanium Compressor
block.pyratite-mixer.name=Pyratite Mixer
block.blast-mixer.name=Blast Mixer
block.solidifer.name=Solidifer
block.solar-panel.name=Solar Panel
block.solar-panel-large.name=Large Solar Panel
block.oil-extractor.name=Oil Extractor
block.javelin-ship-factory.name=Javelin Ship factory
block.drone-factory.name=Drone Factory
block.fabricator-factory.name=Fabricator Factory
block.repair-point.name=Repair Point
block.resupply-point.name=Resupply Point
block.pulse-conduit.name=Pulse Conduit
block.phase-conduit.name=Phase Conduit
block.liquid-router.name=Liquid Router
block.liquid-tank.name=Liquid Tank
block.liquid-junction.name=Liquid Junction
block.bridge-conduit.name=Bridge Conduit
block.rotary-pump.name=Rotary Pump
block.nuclear-reactor.name=Nuclear Reactor
+344 -321
View File
@@ -3,9 +3,8 @@ text.discord=Junte-se ao Discord do Mindustry! (Lá nós falamos em inglês)
text.gameover=O núcleo foi destruído.
text.highscore=[YELLOW]Novo recorde!
text.lasted=Você durou até a horda
text.level.highscore= Melhor\npontuação: [accent] {0}
text.level.highscore=Melhor\npontuação: [accent] {0}
text.level.delete.title=Confirmar exclusão
text.level.delete=Você tem certeza que quer excluir\no mapa "[orange]{0}"?
text.level.select=Seleção de Fase
text.level.mode=Modo de Jogo:
text.savegame=Salvar Jogo
@@ -33,7 +32,6 @@ text.loading=[accent]Carregando...
text.wave=[orange]Horda {0}
text.wave.waiting=Horda em {0}
text.waiting=Aguardando...
text.countdown=Horda em {0}
text.enemies={0} Inimigos restantes
text.enemies.single={0} Inimigo restante
text.loadimage=Carregar\nImagem
@@ -48,21 +46,12 @@ text.editor.savemap=Salvar\n Mapa
text.editor.loadimage=Carregar\n Imagem
text.editor.saveimage=Salvar\nImagem
text.editor.unsaved=[scarlet]Você tem alterações não salvas![]\nTem certeza que quer sair?
text.editor.brushsize=Tamanho do pincel: {0}
text.editor.noplayerspawn=Este mapa não tem ponto de spawn para o jogador!
text.editor.manyplayerspawns=Mapas não podem ter mais de um\nponto de spawn para jogador!
text.editor.manyenemyspawns=Não pode haver mais de\n{0} pontos de spawn para inimigos!
text.editor.resizemap=Redimensionar Mapa
text.editor.resizebig=[scarlet]Aviso!\n[]Mapas maiores que 256 unidades podem ser 'lentos' e instáveis
text.editor.mapname=Nome do Mapa:
text.editor.overwrite=[accent]Aviso!\nIsso sobrescreve um mapa existente.
text.editor.failoverwrite=[crimson]Não é possível salvar sobre o mapa padrão!
text.editor.selectmap=Selecione uma mapa para carregar:
text.width=Largura:
text.height=Altura:
text.randomize=Aleatório
text.apply=Aplicar
text.update=Atualizar
text.menu=Menu
text.play=Jogar
text.load=Carregar
@@ -81,58 +70,27 @@ text.upgrades=Melhorias
text.purchased=[LIME]Comprado!
text.weapons=Arsenal
text.paused=Pausado
text.respawn=Reaparecendo em
text.error.title=[crimson]Um erro ocorreu
text.error.crashmessage=[SCARLET]Um erro inesperado aconteceu, que pode ter causado o jogo a fechar. []Por favor, informe as exatas circunstâncias em que o erro ocorreu ao desenvolvidor:\n[ORANGE]anukendev@gmail.com[]
text.error.crashtitle=Um erro ocorreu.
text.blocks.extrainfo=[accent]Informação extra:
text.blocks.blockinfo=Informação do Bloco
text.blocks.powercapacity=Capacidade de Energia
text.blocks.powershot=Energia/tiro
text.blocks.powersecond=Energia/segundo
text.blocks.powerdraindamage=Energia/dano
text.blocks.shieldradius=Raio do Escudo
text.blocks.itemspeedsecond=Itens/segundo
text.blocks.range=Alcance
text.blocks.size=Tamanho
text.blocks.powerliquid=Energia/Líquido
text.blocks.maxliquidsecond=Entrada Máx. Líquido/segundo
text.blocks.liquidcapacity=Capacidade de Líquido
text.blocks.liquidsecond=Líquido/segundo
text.blocks.damageshot=Dano/tiro
text.blocks.ammocapacity=Munição Máxima
text.blocks.ammo=Munição
text.blocks.ammoitem=Munição/item
text.blocks.maxitemssecond=Máximo de itens/segundo
text.blocks.powerrange=Alcance da Energia
text.blocks.lasertilerange=Alcance do Laser (em células)
text.blocks.capacity=Capacidade
text.blocks.itemcapacity=Capacidade de Itens
text.blocks.powergenerationsecond=Geração de Energia/segundo
text.blocks.generationsecondsitem=Tempo de geração/item
text.blocks.input=Entrada
text.blocks.inputliquid=Líquido de entrada
text.blocks.inputitem=Item de entrada
text.blocks.output=Saída
text.blocks.secondsitem=Segundos/item
text.blocks.maxpowertransfersecond=Transferência máxima de Energia/segundo
text.blocks.explosive=Altamente Explosivo!
text.blocks.repairssecond=Reparo/segundo
text.blocks.health=Saúde
text.blocks.inaccuracy=Imprecisão
text.blocks.shots=Tiros
text.blocks.shotssecond=Taxa de tiro
text.placemode=Modo construção
text.breakmode=Modo remoção
text.health=Saúde
setting.difficulty.easy=Fácil
setting.difficulty.normal=Normal
setting.difficulty.hard=Difícil
setting.difficulty.name=Dificuldade
setting.screenshake.name=Balanço da Tela
#Tremor da tela?
setting.smoothcam.name=Câmera suave
#Suavizar Câmera?
setting.indicators.name=Indicadores de Inimigos
setting.effects.name=Particulas
setting.sensitivity.name=Sensibilidade do Controle
@@ -140,7 +98,6 @@ setting.fps.name=Mostrar FPS
setting.vsync.name=VSync
setting.lasers.name=Mostrar lasers
setting.healthbars.name=Mostrar barra de saúde de entidades
setting.pixelate.name=Pixelar Tela
setting.musicvol.name=Volume da Música
setting.mutemusic.name=Desligar Musica
setting.sfxvol.name=Volume de Efeitos
@@ -158,54 +115,10 @@ map.grassland.name=grassland
map.tundra.name=tundra
map.spiral.name=spiral
map.tutorial.name=tutorial
tutorial.intro.text=[yellow]Bem-vindo ao tutorial.[] Para começar aperte 'próximo'.
tutorial.moveDesktop.text=Para mover, use as teclas [orange][[WASD][]. Segure [orange]shift[] para mover rápido. Segure [orange]CTRL[] enquanto usa a [orange]roda do mouse[] para aumentar ou diminuir o zoom.
tutorial.shootInternal.text=Use o mouse para mirar, segure [orange]botão esquerdo do mouse[] para atirar. Tente praticar no [yellow]alvo[].
tutorial.moveAndroid.text=Para arrastar a visão, passe um dedo pela tela. Pince com os dedos para aumentar ou diminuir o zoom.
tutorial.placeSelect.text=Tente selecionar uma [yellow]esteira[] do menu de blocos no canto inferior direito.
tutorial.placeConveyorDesktop.text=Use a [orange][[roda do mouse][] para girar a esteira até que aponte [orange]para frente[], então coloque-a no [yellow]local marcado[] usando o [orange][[botão esquerdo do mouse][].
tutorial.placeConveyorAndroid.text=Use o [orange][[botão de girar][] para girar a esteira para que aponte [orange]para frente[], arraste-a para a posição e então coloque-a na [yellow]posição marcada[] usando o [orange][[botão de confirmação][].
tutorial.placeConveyorAndroidInfo.text=Você também pode apertar no ícone com uma cruz no canto inferior esquerdo para alterar para o [orange][[modo de toque][], e colocar blocos apertando na tela. No modo de toque, blocos podem ser girados com a seta no canto inferior esquerdo. Aperte [yellow]próximo[] para tentar.
tutorial.placeDrill.text=Agora selecione e coloque uma [yellow]broca de pedra[] no local marcado.
tutorial.blockInfo.text=Se quiser saber mais sobre os blocos, você pode apertar o [orange]símbolo de interrogação[] no canto superior direito para ler mais.
tutorial.deselectDesktop.text=Você pode cancelar a seleção de um bloco usando o [orange][botão direito do mouse[].
tutorial.deselectAndroid.text=ocê pode cancelar a seleção de um bloco apertando o botão [orange]X[].
tutorial.drillPlaced.text=A broca produzirá [yellow]pedra[], direcionando o produzido para a esteira a qual moverá a pedra para o [yellow]núcleo[].
tutorial.drillInfo.text=Minérios diferentes precisam de diferentes brocas. Pedra precisam de brocas de pedra, Ferro de brocas de ferro, etc.
tutorial.drillPlaced2.text=Itens movidos para o núcleo são colocados em seu [yellow]inventário[], no canto superior esquerdo. Colocar blocos gasta os recursos do inventário.
tutorial.moreDrills.text=Você pode conectar várias brocas e esteiras, veja.
tutorial.deleteBlock.text=Você pode excluir blocos clickando com o [orange]botão direito do mouse[] no bloco que quiser destruir. Tente excluir esta esteira.
tutorial.deleteBlockAndroid.text=Você pode excluir blocos [orange]apertando na cruz[] no [orange]menu modo de quebra[] no canto inferior esquerdo e então apertando no bloco desejado. Tente excluir esta esteira.
tutorial.placeTurret.text=Agora, selecione e construa uma [yellow]torre[] no [yellow]local marcado[].
tutorial.placedTurretAmmo.text=Esta torre aceitará [yellow]munição[] da esteira. Você pode ver quanta munição elas tem passando o mouse sobre elas e verificando a [green]barra verde[].
tutorial.turretExplanation.text=As torres irão atirar no inimigo mais próximo que estiver ao alcance, contanto que tenham munição suficiente.
tutorial.waves.text=A cada [yellow]60[] segundos, uma horda de [coral]inimigos[] irá aparecer em locais específicos e tentará destruir o núcleo.
tutorial.coreDestruction.text=Seu objetivo é [yellow]defender o núcleo[]. Se o núcleo for destruído, vecê [coral]perde o jogo[].
tutorial.pausingDesktop.text=Se você precisar parar por alguns instantes, aperte o [orange]botão de pausa[] no canto superior esquerdo ou [orange]barra de espaço[] para pausar o jogo. Você pode colocar blocos enquanto o jogo esta pausado, porém não poderá se mover ou atirar.
tutorial.pausingAndroid.text=Se você precisar parar por alguns instantes, aperte o [orange]botão de pausa[] no canto superior esquerdo ou [orange]barra de espaço[] para pausar o jogo. Você pode colocar blocos enquanto o jogo esta pausado.
tutorial.purchaseWeapons.text=Você pode comprar novas [yellow]armas[] para seu mecha, basta abrir o menu de melhorias no canto inferior esquerdo.
tutorial.switchWeapons.text=Alterne entre suas armas clickando em seu ícone ou usando as teclas numéricas [orange][[1-9][].
tutorial.spawnWave.text=Uma horda esta vindo. Destrúa-os.
tutorial.pumpDesc.text=Em hordas mais avançadas, você talvez precise de [yellow]bombas[] para distribuir líquidos para geradores ou extratores.
tutorial.pumpPlace.text=Bombas trabalham de forma semelhante às brocas, porém elas produzem líquidos ao envés de minérios. Tente colocar uma bomba na [yellow]célula de petróleo designada[].
tutorial.conduitUse.text=Agora coloque um [orange]cano[] levando para longe da bomba.
tutorial.conduitUse2.text=E mais alguns...
tutorial.conduitUse3.text=E mais alguns...
tutorial.generator.text=Agora coloque um [orange]gerador a combustão[] no final do cano.
tutorial.generatorExplain.text=Este gerador irá produzir [yellow]energia[] do petróleo.
tutorial.lasers.text=Energia é distribuida usando [yellow]lasers[]. Gire e coloque um aqui.
tutorial.laserExplain.text=O gerador irá mover energia para o bloco do laser. Um feixe [yellow]opaco[] significa que a energia está sendo transmitida, e um feixe [yellow]transparente[] significa que não.
tutorial.laserMore.text=Você pode verificar quanta energia um bloco tem ao passar o mouse sobre eles e verificando a [yellow]barra amarela[] no topo.
tutorial.healingTurret.text=Este laser pode ser usado para energizar uma [lime]torre de reparo[]. Coloque uma aqui.
tutorial.healingTurretExplain.text=Enquanto tiver energia, esta torre irá [lime]reparar blocos próximos.[] Quando jogar, tenha certeza de construir uma dessas próximas do núcleo o mais rápido possível!
tutorial.smeltery.text=Muitos blocos precisam de [orange]aço[] para serem construídos, o que requer uma [orange]fundidora[] para ser feito. Coloque uma aqui.
tutorial.smelterySetup.text=Esta fundidora irá produzir [orange]aço[] quando receber carvão e ferro.
tutorial.end.text=E este é o fim do Tutorial! Boa Sorte!
keybind.move_x.name=move_x
keybind.move_y.name=move_y
keybind.select.name=selecionar
keybind.break.name=quebrar
keybind.shootInternal.name=atirar
keybind.zoom_hold.name=segurar_zoom
keybind.zoom.name=zoom
keybind.menu.name=menu
@@ -213,259 +126,369 @@ keybind.pause.name=pausar
keybind.dash.name=Correr
keybind.rotate_alt.name=girar_alt*
keybind.rotate.name=girar
keybind.weapon_1.name=Arma 1
keybind.weapon_2.name=Arma 2
keybind.weapon_3.name=Arma 3
keybind.weapon_4.name=Arma 4
keybind.weapon_5.name=Arma 5
keybind.weapon_6.name=Arma 6
mode.waves.name=hordas
mode.sandbox.name=sandbox
#CAIXINHA DE AREIA
mode.freebuild.name=construção \nlivre
weapon.blaster.name=Blaster
weapon.blaster.description=Atira um projétil lento e fraco.
weapon.triblaster.name=Blaster Triplo
weapon.triblaster.description=Atira 3 balas que se espalham.
weapon.multigun.name=Escopeta
weapon.multigun.description=Atira balas com baixa precisão e uma\n alta taxa de disparo.
weapon.flamer.name=Lança-Chamas
weapon.railgun.name=Rifle Sniper
weapon.flamer.description=É um lança-chamas. O que mais ele faria?
weapon.railgun.description=Atira um projétil de longo alcance.
weapon.mortar.name=Morteiro
weapon.mortar.description=Atira um projétil lento, porém devastador.
item.stone.name=Pedra
item.iron.name=Ferro
item.coal.name=Carvão
item.steel.name=Aço
item.titanium.name=Titânio
item.dirium.name=Dírio
item.thorium.name=Urânio
liquid.water.name=Água
liquid.plasma.name=Plasma
liquid.lava.name=Lava
liquid.oil.name=Petróleo
block.air.name=Ar
block.blockpart.name=blockpart
#que?
block.deepwater.name=Água Profunda
block.water.name=Água
block.lava.name=Lava
block.oil.name=Petróleo
block.stone.name=Pedra
block.blackstone.name=Pedra Escura
block.iron.name=Ferro
block.coal.name=Carvão
block.titanium.name=Titânio
block.thorium.name=Urânio
block.dirt.name=Terra
block.sand.name=Areia
block.ice.name=Gelo
block.snow.name=Neve
block.grass.name=Grama
block.sandblock.name=Bloco de Areia
block.snowblock.name=Bloco de Neve
block.stoneblock.name=Rocha
block.blackstoneblock.name=Rocha Escura
block.grassblock.name=Bloco de Grama
block.mossblock.name=Musgo
block.shrub.name=Arbusto
block.rock.name=Rocha
block.icerock.name=Rocha de Gelo
block.blackrock.name=Rocha Escura
block.dirtblock.name=Bloco de Terra
block.stonewall.name=Parede de Pedra
block.stonewall.fulldescription=Um bloco defensivo barato. Útil para proteger o núcleo e torres nas primeiras hordas.
block.ironwall.name=Parede de Ferro
block.ironwall.fulldescription=Um bloco defensivo básico. Fornece proteção contra inimigos.
block.steelwall.name=Parede de aço
block.steelwall.fulldescription=Um bloco defensivo padrão. Fornece proteção contra inimigos.
block.titaniumwall.name=Parede de Titânio
block.titaniumwall.fulldescription=Um bloco defensivo forte. Fornece proteção contra inimigos.
block.duriumwall.name=Parede de Dírio
block.duriumwall.fulldescription=Um bloco defensivo muito forte. Fornece proteção contra inimigos.
block.compositewall.name=Parede de Composto
block.compositewall.fulldescription= Um bloco defensivo extremamente forte. Fornece a melhor proteção contra inimigos.
block.steelwall-large.name=Parede Grande de Aço
block.steelwall-large.fulldescription=Um bloco defensivo padrão. Ocupa multiplas células.
block.titaniumwall-large.name=Parede Grande de Titânio
block.titaniumwall-large.fulldescription=Um bloco defensivo forte. Ocupa multiplas células.
block.duriumwall-large.name=Parede Grande de Dírio
block.duriumwall-large.fulldescription=Um bloco defensivo muito forte. Ocupa multiplas células.
block.titaniumshieldwall.name=Parede com Escudo
block.titaniumshieldwall.fulldescription=Um bloco defensivo forte, com um escudo de energia imbutido. Usa energia passivamente e para absorver projéteis inimigos. É recomendado usar distribuidores de energia para abastecer este bloco.
#A strong defensive block, with an extra built-in shield. Requires power. Uses energy to absorb enemy bullets. It is recommended to use power boosters to provide energy to this block.
block.repairturret.name=Torre de Reparo
block.repairturret.fulldescription=Lentamente repara blocos danificados dentro do seu alcance. Consome um pouco de energia.
#Repairs nearby damaged blocks in range at a slow rate. Uses small amounts of power.
block.repairturret.description=[powerinfo]Consome Energia.[white]\nRepara blocos próximos.
block.megarepairturret.name=Torre de Reparo II
block.megarepairturret.fulldescription=Repara blocos danificados dentro do seu alcance. Consome um pouco de energia.
block.megarepairturret.description=[powerinfo]Consome Energia.[white]\nRepara blocos próximos.
block.shieldgenerator.name=Gerador de Escudo
block.shieldgenerator.fulldescription= Um bloco defensivo avançado. Protege todos os blocos em um raio. Lentamente usa energia quando parado, mas rapidamente drena em contato com projéteis.
#An advanced defensive block. Shields all the blocks in a radius from attack. Uses power at a slow rate when idle, but drains energy quickly on bullet contact.
block.door.name=Porta
block.door.fulldescription=Um bloco que pode ser aberto e fechado ao tocar nele.
block.door.description=Abre e Fecha.\n[interact]Toque para alternar o estado.
block.door-large.name=Porta Grande
block.door-large.fulldescription=Um bloco que pode ser aberto e fechado ao tocar nele.
block.door-large.description=Abre e Fecha.\n[interact]Toque para alternar o estado.
block.conduit.name=Cano
block.conduit.fulldescription=Bloco de transporte de líquido básico. Funciona como uma esteira, mas com líquidos. Pode ser usado como uma ponte para inimigos e jogadores.
#Basic liquid transport block. Works like a conveyor, but with liquids. Best used with pumps or other conduits. Can be used as a bridge over liquids for enemies and players.
block.pulseconduit.name=Cano de impulso
block.pulseconduit.fulldescription=Bloco de transporte de líquido avançado. Transporta líquidos mais rapidamente e armazena mais que canos normais.
#Advanced liquid transport block. Transports liquids faster and stores more than standard conduits.
block.liquidrouter.name=Roteador de líquido
block.liquidrouter.fulldescription=Aceita líquido de uma direção e o redireciona para as outras 3 direções. Útil para dividir o líquido entre vários canos.
#Works similarly to a router. Accepts liquid input from one side and outputs it to the other sides. Useful for splitting liquid from a single conduit into multiple other conduits.
block.liquidrouter.description=Divide líquidos em 3 direções.
block.conveyor.name=Esteira
block.conveyor.fulldescription=Bloco de transporte básico. Movimenta itens para frente e automaticamente os deposita em torres ou blocos de fabricação. Pode ser girado. Pode ser usado como uma ponte para inimigos e jogadores.
#Basic item transport block. Moves items forward and automatically deposits them into turrets or crafters. Rotatable. Can be used as a bridge over liquids for enemies and players.
block.steelconveyor.name=Esteira de aço
block.steelconveyor.fulldescription=Bloco de transporte avançado. Movimenta itens mais rapidamente que esteiras normais.
#Advanced item transport block. Moves items faster than standard conveyors.
block.poweredconveyor.name=Esteira de Impulso
block.poweredconveyor.fulldescription=O Bloco supremo de transporte. Movimenta itens mais rapidamente que esteiras de aço.
#The ultimate item transport block. Moves items faster than carbide conveyors.
block.router.name=Roteador
block.router.fulldescription=Aceita itens de uma direção e os redireciona para as outras 3 direções. Pode guardar uma certa quantidade de itens. Útil para dividir materiais entre várias torres.
block.router.description=Divide materiais em 3 direções.
block.junction.name=Junção
block.junction.fulldescription=Funciona como uma ponte para 2 linhas de esteiras que se cruzam. Útil em situações onde duas esteiras carregam diferentes materiais para diferentes locais.
block.junction.description=Funciona como uma junção para as esteiras.
block.conveyortunnel.name=Túnel de esteira
block.conveyortunnel.fulldescription=Transporta itens por baixo de blocos. Para usar coloque um túnel apontado para o bloco que deseja passar por baixo, e outro apontado para o primeiro túnel.
block.conveyortunnel.description=Transporta intes por baixo de blocos.
block.liquidjunction.name=Junção de líquido
block.liquidjunction.fulldescription=Funciona como uma ponte para 2 canos que se cruzam. Útil em situações onde 2 canos diferentes carregam diferentes líquidos para diferentes locais.
block.liquiditemjunction.name=liquid-item junction
block.liquiditemjunction.fulldescription=Acts as a bridge for crossing conduits and conveyors.
block.liquiditemjunction.description=Serves as a junction for items and liquids.
block.powerbooster.name=Distribuidor de energia
block.powerbooster.fulldescription=Distribui energia para todos os blocos dentro de seu raio.
block.powerbooster.description=Distribui energia em um raio.
block.powerlaser.name=Laser
#Laser de energia?
block.powerlaser.fulldescription=Cria um laser que transmite energia para o bloco à sua frente. Melhor usado com geradores ou outros lasers. Não gera energia.
block.powerlaser.description=Transmite energia.
block.powerlaserrouter.name=laser duplo
block.powerlaserrouter.fulldescription=Divide a entrada de energia em 3 lasers. Útil em situações onde é necessário conectar muitos blocos a partir de um gerador.
block.powerlaserrouter.description=Divide a entrada de energia em 3 lasers.
block.powerlasercorner.name=laser triplo
#*Essa nomeação ficou escrota
block.powerlasercorner.fulldescription=Laser que distribui energia para duas direções ao mesmo tempo. Útil em situações onde é necessário conectar muitos blocos a partir de um gerador.
block.powerlasercorner.description=Divide a entrada de energia em 2 lasers.
block.teleporter.name=Teleportador
block.teleporter.fulldescription=Bloco avançado de transporte de itens. Teleportadores transferem itens para outros teleportadores da mesma cor. Não faz nada se não houverem outros da mesma cor. Se houverem múltiplos da mesma cor, um aleatório será selecionado. Toque nas flechas para mudar de cor.
block.teleporter.description=[interact]Tap block to config[]
block.sorter.name=Ordenador
block.sorter.fulldescription=Separa itens pelo tipo de material. O material a ser aceito é indicado pela cor do bloco. Todos os itens que correspondem ao material a ser separado são direcionados para frente, todo o resto é direcionado para os lados.
block.sorter.description=[interact]Aperte no bloco para configurar[]
block.core.name=núcleo
block.pump.name=bomba
block.pump.fulldescription=Bombeia líquidos de um bloco, geralmente água, lava ou petróleo. Os líquidos são bombeados para canos próximos.
block.pump.description=Bombeia líquidos para canos próximos.
block.fluxpump.name=Bomba de fluxo
block.fluxpump.fulldescription=Uma versão avançada da bomba comum. Guarda mais líquido e bombeia mais rápido.
block.fluxpump.description=Bombeia líquidos para canos próximos.
block.smelter.name=Fornalha
block.smelter.fulldescription=O bloco de produção essencial. Quando recebe 1 carvão e\n1 ferro produz 1 aço
block.smelter.description=Converte carvão + ferro em aço.
block.crucible.name=Usina de fundição
block.crucible.fulldescription=Um bloco de produção avançado. Quando recebe 1 titânio e 1 aço produz 1 dírio.
block.crucible.description=Converte aço + titânio em dírio.
block.coalpurifier.name=Extrator de carvão
block.coalpurifier.fulldescription=Um bloco extrator básico. Produz carvão quando fornecido com grandes quantidades de água e pedra.
block.coalpurifier.description=Converte pedra + água em carvão.
block.titaniumpurifier.name=Extrator de titânio
block.titaniumpurifier.fulldescription=Um bloco extrator padrão. Produz titânio quando fornecido com grandes quantidas de água e ferro.
block.titaniumpurifier.description=Converte água e ferro em titânio.
block.oilrefinery.name=Refinaria de Petróleo
block.oilrefinery.fulldescription=Refina grande quantidades de petróleo para produzir carvão. Útil para abastecer torres que utilizam carvão quando jazidas de carvão são escassas.
block.oilrefinery.description=Converte petróleo em carvão.
block.stoneformer.name=Formador de Pedra
block.stoneformer.fulldescription=Solidifica lava para formar pedra. Útil para produzir grandes quantidades de pedra para extratores de carvão.
block.stoneformer.description=Converte lava em pedra.
block.lavasmelter.name=Fornalha à Lava
block.lavasmelter.fulldescription=Usa lava para converter ferro em aço. Uma alternativa para a fundidora. Útil em situações onde não há carvão por perto.
block.lavasmelter.description=Converte ferro + lava em aço.
block.stonedrill.name=Broca de pedra
block.stonedrill.fulldescription=A broca essencial. Quando colocada em uma jazida de pedra gera pedra indefinidamente.
block.stonedrill.description=Gera 1 pedra a cada 4 segundos.
#Mines 1 stone every 4 seconds.
block.irondrill.name=Broca de Ferro
block.irondrill.fulldescription=Uma broca básica. Quando colocada sobre uma jazida de ferro, lentamente gera ferro.
#A basic drill. When placed on tungsten ore tiles, outputs tungsten at a slow pace indefinitely.
block.irondrill.description=Gera 1 ferro a cada 5 segundos.
block.coaldrill.name=Broca de Carvão
block.coaldrill.fulldescription=Uma broca básica. Quando colocada sobre uma jazida de carvão, lentamente gera carvão.
block.coaldrill.description=Gera 1 carvão a cada 5 segundos.
block.thoriumdrill.name=Broca de Urânio
block.thoriumdrill.fulldescription=Uma broca avançada. Quando colocada sobre uma jazida de urânio, lentamente gera urânio.
block.thoriumdrill.description=Gera 1 Urânio a cada 7 segundos.
block.titaniumdrill.name=Broca de Titânio
block.titaniumdrill.fulldescription=Uma broca avançada. Quando colocada sobre uma jazida de titânio, lentamente gera titânio.
block.titaniumdrill.description=Gera 1 Titânio a cada 5 segundos.
block.omnidrill.name=Omnibroca
block.omnidrill.fulldescription=A broca suprema. Rapidamente extrai qualquer minério em que é colocada.
#The ultimate drill. Will mine any ore it is placed on at a rapid pace.
block.omnidrill.description=Gera 1 de qualquer recurso a cada 3 segundos.
block.coalgenerator.name=Gerador à Carvão
#Crase ou não?
block.coalgenerator.fulldescription=O gerador essencial. Gera energia a partir de carvão. Distribui energia em forma de laser para os 4 lados.
block.coalgenerator.description=Gera energia a partir de carvão.
block.thermalgenerator.name=Gerador Térmico
block.thermalgenerator.fulldescription=Gera energia a partir de lava. Distribui energia em forma de laser para os 4 lados.
block.thermalgenerator.description=Gera energia a partir de lava.
block.combustiongenerator.name=Gerador à Combustão
block.combustiongenerator.fulldescription=Gera energia a partir de petróleo. Distribui energia em forma de laser para os 4 lados.
block.combustiongenerator.description=Gera energia a partir de petróleo.
block.rtgenerator.name=Gerador RTG
block.rtgenerator.fulldescription=Gera pouca quantidade de energia a partir do decaimento radioativo do urânio. Distribui energia em forma de laser para os 4 lados.
block.rtgenerator.description=Gera energia a partir de Urânio.
block.nuclearreactor.name=Reator Nuclear
block.nuclearreactor.fulldescription=Uma versão avançada do gerador RTG. Gera energia a partir de Urânio. Requer constante resfriamento à água. Altamente volátil; explodirá violentamente se não for suprido com quantiddades suficientes de água.
block.turret.name=Torre Comum
block.turret.fulldescription=Uma torre básica e barata. Usa pedra como munição. Tem alcance um pouco maior que a torre dupla.
block.turret.description=[turretinfo]Munição: pedra
block.doubleturret.name=Torre Dupla
block.doubleturret.fulldescription=Uma versão um pouco mais poderosa do que a torre comum. Usa pedra como munição. Causa um dano maior, porém tem menor alcance. Atira dois projéteis.
block.doubleturret.description=[turretinfo]Munição: pedra
block.machineturret.name=Torre Automática
block.machineturret.fulldescription=Uma torre padrão completa. Usa ferro como munição. Tem alta taxa de disparo e dano decente.
block.machineturret.description=[turretinfo]Munição: ferro
block.shotgunturret.name=Torre Splitter
#Splitter turret
block.shotgunturret.fulldescription=Uma torre padrão. Usa ferro como munição. Atira 7 balas em forma de cone. Pouco alcance, porém maior dano do que a Torre Dupla.
block.shotgunturret.description=[turretinfo]Munição: ferro
block.flameturret.name=Torre lança-\nchamas
block.flameturret.fulldescription=Torre avançada de baixo alcance. Usa carvão. Pouco alcance mas alto dano. Boa para trechos estreitos. Recomenda-se usá-la atŕas de paredes.
block.flameturret.description=[turretinfo]Munição: carvão
block.sniperturret.name=Torre Sniper
#Torre Railgun?
block.sniperturret.fulldescription=Torre avançada de longo alcance. Usa aço como munição. Dano altíssimo, porém baixa taxa de disparo. Cara para usar, porém pode ser colocada longe das linhas inimigas dado seu alcance.
block.sniperturret.description=[turretinfo]Munição: aço
block.mortarturret.name=Torre Flak
block.mortarturret.fulldescription=Torre avançada de dano em área. Usa carvão. Taxa de disparo e balas lentas, mas alto dano em alvo único ou distribuído.
block.mortarturret.description=[turretinfo]Munição: carvão
block.laserturret.name=Torre laser
block.laserturret.fulldescription=Torre de alvo único avançada. Usa energia. Boa torre de alcance médio e uso geral. Alvo único apenas. Nunca erra.
block.laserturret.description=[turretinfo]Usa Energia
block.waveturret.name=Torre Tesla
block.waveturret.fulldescription=Torre de múltiplos alvos avançada. Usa Energia. Alcance médio. Nunca erra. Dano médio-baixo, porém pode acertar vários inimigos simultaneamente com raios conectados.
block.waveturret.description=[turretinfo]Usa Energia
block.plasmaturret.name=Torre de Plasma
block.plasmaturret.fulldescription=Versão altamente avançada da Torre lança-chamas. Usa carvão. Dano altíssimo e alcance médio-baixo.
block.plasmaturret.description=[turretinfo]Munição: carvão
block.chainturret.name=Canhão automático
block.chainturret.fulldescription=A torre de tiro rápido mais avançada. Usa Urânio como munição. Atira grandes projéteis rapidamente. Alcance médio. Ocupa várias células. Extremamente resistente.
block.chainturret.description=[turretinfo]Munição: Urânio
block.titancannon.name=Canhão Titã
block.titancannon.fulldescription=A torre de longo alcance mais avançada. Usa Urânio como munição. Atira várias balas de dano em área à uma taxa de disparo média. Alto alcance. Ocupa várias células. Extremamente resistente.
block.titancannon.description=[turretinfo]Munição: Urânio
block.playerspawn.name=playerspawn
block.enemyspawn.name=enemyspawn
text.credits=Credits
text.link.discord.description=the official Mindustry discord chatroom
text.link.github.description=Game source code
text.link.dev-builds.description=Unstable development builds
text.link.trello.description=Official trello board for planned features
text.link.itch.io.description=itch.io page with PC downloads and web version
text.link.google-play.description=Google Play store listing
text.link.wiki.description=official Mindustry wiki
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard.
text.editor.web=The web version does not support the editor!\nDownload the game to use it.
text.web.unsupported=The web version does not support this feature! Download the game to use it.
text.multiplayer.web=This version of the game does not support multiplayer!\nTo play multiplayer from your browser, use the "multiplayer web version" link at the itch.io page.
text.host.web=The web version does not support hosting games! Download the game to use this feature.
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
text.construction.title=Block Construction Guide
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
text.deconstruction.title=Block Deconstruction Guide
text.deconstruction=You've just selected [accent]block deconstruction mode[].\n\nTo begin breaking, simply tap a block near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin de-constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Remove blocks in an area[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel deconstruction or selection[] by pressing the X at the bottom left.
text.showagain=Don't show again next session
text.unlocks=Unlocks
text.joingame=Join Game
text.addplayers=Add/Remove Players
text.newgame=New Game
text.maps=Maps
text.maps.none=[LIGHT_GRAY]No maps found!
text.about.button=About
text.name=Name:
text.unlocked=New Block Unlocked!
text.unlocked.plural=New Blocks Unlocked!
text.players={0} players online
text.players.single={0} player online
text.server.mismatch=Packet error: possible client/server version mismatch.\nMake sure you and the host have the\nlatest version of Mindustry!
text.server.closing=[accent]Closing server...
text.server.kicked.kick=You have been kicked from the server!
text.server.kicked.fastShoot=You are shooting too quickly.
text.server.kicked.invalidPassword=Invalid password!
text.server.kicked.clientOutdated=Outdated client! Update your game!
text.server.kicked.serverOutdated=Outdated server! Ask the host to update!
text.server.kicked.banned=You are banned on this server.
text.server.kicked.recentKick=You have been kicked recently.\nWait before connecting again.
text.server.kicked.nameInUse=There is someone with that name\nalready on this server.
text.server.kicked.nameEmpty=Your name must contain at least one character or number.
text.server.kicked.idInUse=You are already on this server! Connecting with two accounts is not permitted.
text.server.kicked.customClient=This server does not support custom builds. Download an official version.
text.server.connected={0} has joined.
text.server.disconnected={0} has disconnected.
text.nohost=Can't host server on a custom map!
text.host.info=The [accent]host[] button hosts a server on ports [scarlet]6567[] and [scarlet]6568.[]\nAnybody on the same [LIGHT_GRAY]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[LIGHT_GRAY]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings.
text.join.info=Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[LIGHT_GRAY]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP.
text.hostserver=Host Server
text.host=Host
text.hosting=[accent]Opening server...
text.hosts.refresh=Refresh
text.hosts.discovering=Discovering LAN games
text.server.refreshing=Refreshing server
text.hosts.none=[lightgray]No LAN games found!
text.host.invalid=[scarlet]Can't connect to host.
text.server.friendlyfire=Friendly Fire
text.trace=Trace Player
text.trace.playername=Player name: [accent]{0}
text.trace.ip=IP: [accent]{0}
text.trace.id=Unique ID: [accent]{0}
text.trace.android=Android Client: [accent]{0}
text.trace.modclient=Custom Client: [accent]{0}
text.trace.totalblocksbroken=Total blocks broken: [accent]{0}
text.trace.structureblocksbroken=Structure blocks broken: [accent]{0}
text.trace.lastblockbroken=Last block broken: [accent]{0}
text.trace.totalblocksplaced=Total blocks placed: [accent]{0}
text.trace.lastblockplaced=Last block placed: [accent]{0}
text.invalidid=Invalid client ID! Submit a bug report.
text.server.bans=Bans
text.server.bans.none=No banned players found!
text.server.admins=Admins
text.server.admins.none=No admins found!
text.server.add=Add Server
text.server.delete=Are you sure you want to delete this server?
text.server.hostname=Host: {0}
text.server.edit=Edit Server
text.server.outdated=[crimson]Outdated Server![]
text.server.outdated.client=[crimson]Outdated Client![]
text.server.version=[lightgray]Version: {0}
text.server.custombuild=[yellow]Custom Build
text.confirmban=Are you sure you want to ban this player?
text.confirmunban=Are you sure you want to unban this player?
text.confirmadmin=Are you sure you want to make this player an admin?
text.confirmunadmin=Are you sure you want to remove admin status from this player?
text.joingame.title=Join Game
text.joingame.ip=IP:
text.disconnect=Disconnected.
text.disconnect.data=Failed to load world data!
text.connecting=[accent]Connecting...
text.connecting.data=[accent]Loading world data...
text.connectfail=[crimson]Failed to connect to server: [orange]{0}
text.server.port=Port:
text.server.addressinuse=Address already in use!
text.server.invalidport=Invalid port number!
text.server.error=[crimson]Error hosting server: [orange]{0}
text.save.new=New Save
text.save.none=No saves found!
text.save.delete.confirm=Are you sure you want to delete this save?
text.save.delete=Delete
text.save.export=Export Save
text.save.import.invalid=[orange]This save is invalid!
text.save.import.fail=[crimson]Failed to import save: [orange]{0}
text.save.export.fail=[crimson]Failed to export save: [orange]{0}
text.save.import=Import Save
text.save.newslot=Save name:
text.save.rename=Rename
text.save.rename.text=New name:
text.on=On
text.off=Off
text.save.autosave=Autosave: {0}
text.save.map=Map: {0}
text.save.difficulty=Difficulty: {0}
text.copylink=Copy Link
text.changelog.title=Changelog
text.changelog.loading=Getting changelog...
text.changelog.error.android=[orange]Note that the changelog sometimes does not work on Android 4.4 and below!\nThis is due to an internal Android bug.
text.changelog.error.ios=[orange]The changelog is currently not supported in iOS.
text.changelog.error=[scarlet]Error getting changelog!\nCheck your internet connection.
text.changelog.current=[yellow][[Current version]
text.changelog.latest=[orange][[Latest version]
text.saving=[accent]Saving...
text.unknown=Unknown
text.custom=Custom
text.builtin=Built-In
text.map.delete.confirm=Are you sure you want to delete this map? This action cannot be undone!
text.map.random=[accent]Random Map
text.map.nospawn=This map does not have any cores for the player to spawn in! Add a [ROYAL]blue[] core to this map in the editor.
text.editor.slope=\\
text.editor.openin=Open In Editor
text.editor.oregen=Ore Generation
text.editor.oregen.info=Ore Generation:
text.editor.mapinfo=Map Info
text.editor.author=Author:
text.editor.description=Description:
text.editor.name=Name:
text.editor.teams=Teams
text.editor.elevation=Elevation
text.editor.saved=Saved!
text.editor.save.noname=Your map does not have a name! Set one in the 'map info' menu.
text.editor.save.overwrite=Your map overwrites a built-in map! Pick a different name in the 'map info' menu.
text.editor.import.exists=[scarlet]Unable to import:[] a built-in map named '{0}' already exists!
text.editor.import=Import...
text.editor.importmap=Import Map
text.editor.importmap.description=Import an already existing map
text.editor.importfile=Import File
text.editor.importfile.description=Import an external map file
text.editor.importimage=Import Terrain Image
text.editor.importimage.description=Import an external map image file
text.editor.export=Export...
text.editor.exportfile=Export File
text.editor.exportfile.description=Export a map file
text.editor.exportimage=Export Terrain Image
text.editor.exportimage.description=Export a map image file
text.editor.overwrite.confirm=[scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?
text.fps=FPS: {0}
text.tps=TPS: {0}
text.ping=Ping: {0}ms
text.language.restart=Please restart your game for the language settings to take effect.
text.settings.language=Language
text.settings.rebind=Rebind
text.yes=Yes
text.no=No
text.info.title=[accent]Info
text.blocks.targetsair=Targets Air
text.blocks.itemspeed=Units Moved
text.blocks.shootrange=Range
text.blocks.poweruse=Power Use
text.blocks.inputitemcapacity=Input Item Capacity
text.blocks.outputitemcapacity=Input Item Capacity
text.blocks.maxpowergeneration=Max Power Generation
text.blocks.powertransferspeed=Power Transfer
text.blocks.craftspeed=Production Speed
text.blocks.inputliquidaux=Aux Liquid
text.blocks.inputitems=Input Items
text.blocks.outputitem=Output Item
text.blocks.drilltier=Drillables
text.blocks.drillspeed=Base Drill Speed
text.blocks.liquidoutput=Liquid Output
text.blocks.liquiduse=Liquid Use
text.blocks.coolant=Coolant
text.blocks.coolantuse=Coolant Use
text.blocks.inputliquidfuel=Fuel Liquid
text.blocks.liquidfueluse=Liquid Fuel Use
text.blocks.reload=Reload
text.blocks.inputfuel=Fuel
text.blocks.fuelburntime=Fuel Burn Time
text.blocks.inputcapacity=Input capacity
text.blocks.outputcapacity=Output capacity
text.unit.blocks=blocks
text.unit.powersecond=power units/second
text.unit.liquidsecond=liquid units/second
text.unit.itemssecond=items/second
text.unit.pixelssecond=pixels/second
text.unit.liquidunits=liquid units
text.unit.powerunits=power units
text.unit.degrees=degrees
text.unit.seconds=seconds
text.unit.none=
text.unit.items=items
text.category.general=General
text.category.power=Power
text.category.liquids=Liquids
text.category.items=Items
text.category.crafting=Crafting
text.category.shooting=Shooting
setting.difficulty.insane=insane
setting.difficulty.purge=purge
setting.saveinterval.name=Autosave Interval
setting.seconds={0} Seconds
setting.fullscreen.name=Fullscreen
setting.multithread.name=Multithreading
setting.minimap.name=Show Minimap
text.keybind.title=Rebind Keys
keybind.shoot.name=shoot
keybind.block_info.name=block_info
keybind.chat.name=chat
keybind.player_list.name=player_list
keybind.console.name=console
mode.text.help.title=Description of modes
mode.waves.description=the normal mode. limited resources and automatic incoming waves.
mode.sandbox.description=infinite resources and no timer for waves.
mode.freebuild.description=limited resources and no timer for waves.
content.item.name=Items
content.liquid.name=Liquids
content.unit-type.name=Units
content.recipe.name=Blocks
item.stone.description=A common raw material. Used for separating and refining into other materials, or melting into lava.
item.tungsten.name=Tungsten
item.tungsten.description=A common, but very useful structure material. Used in drills and heat-resistant blocks such as generators and smelteries.
item.lead.name=Lead
item.lead.description=A basic starter material. Used extensively in electronics and liquid transportation blocks.
item.coal.description=A common and readily available fuel.
item.carbide.name=Carbide
item.carbide.description=A tough alloy made with tungsten and carbon. Used in advanced transportation blocks and high-tier drills.
item.titanium.description=A rare super-light metal used extensively in liquid transportation, drills and aircraft.
item.thorium.description=A dense, radioactive metal used as structural support and nuclear fuel.
item.silicon.name=Silicon
item.silcion.description=An extremely useful semiconductor, with applications in solar panels and many complex electronics.
item.plastanium.name=Plastanium
item.plastanium.description=A light, ductile material used in advanced aircraft and fragmentation ammunition.
item.phase-matter.name=Phase Matter
item.surge-alloy.name=Surge Alloy
item.biomatter.name=Biomatter
item.biomatter.description=A clump of organic mush; used for conversion into oil or as a basic fuel.
item.sand.name=Sand
item.sand.description=A common material that is used extensively in smelting, both in alloying and as a flux.
item.blast-compound.name=Blast Compound
item.blast-compound.description=A volatile compound used in bombs and explosives. While it can burned as fuel, this is not advised.
item.pyratite.name=Pyratite
item.pyratite.description=An extremely flammable substance used in incendiary weapons.
liquid.cryofluid.name=Cryofluid
text.item.explosiveness=[LIGHT_GRAY]Explosiveness: {0}
text.item.flammability=[LIGHT_GRAY]Flammability: {0}
text.item.radioactivity=[LIGHT_GRAY]Radioactivity: {0}
text.item.fluxiness=[LIGHT_GRAY]Flux Power: {0}
text.item.hardness=[LIGHT_GRAY]Hardness: {0}
text.liquid.heatcapacity=[LIGHT_GRAY]Heat Capacity: {0}
text.liquid.viscosity=[LIGHT_GRAY]Viscosity: {0}
text.liquid.temperature=[LIGHT_GRAY]Temperature: {0}
block.tungsten-wall.name=Tungsten Wall
block.tungsten-wall-large.name=Large Tungsten Wall
block.carbide-wall.name=Carbide Wall
block.carbide-wall-large.name=Large Carbide Wall
block.thorium-wall.name=Thorium Wall
block.thorium-wall-large.name=Large Thorium Wall
block.duo.name=Duo
block.scorch.name=Scorch
block.hail.name=Hail
block.lancer.name=Lancer
block.titanium-conveyor.name=Titanium Conveyor
block.splitter.name=Splitter
block.splitter.description=Outputs items into two opposite directions immediately after they are recieved.
block.distributor.name=Distributor
block.distributor.description=A splitter that can split items into 8 directions.
block.overflow-gate.name=Overflow Gate
block.overflow-gate.description=A combination splitter and router that only outputs to the left and right if the front path is blocked.
block.bridgeconveyor.name=Bridge Conveyor
block.bridgeconveyor.description=A conveyor that can go over other blocks, for up to two total blocks.
block.arc-smelter.name=Arc Smelter
block.silicon-smelter.name=Silicon Smelter
block.phase-weaver.name=Phase Weaver
block.pulverizer.name=Pulverizer
block.cryofluidmixer.name=Cryofluid Mixer
block.melter.name=Melter
block.incinerator.name=Incinerator
block.biomattercompressor.name=Biomatter Compressor
block.separator.name=Separator
block.centrifuge.name=Centrifuge
block.power-node.name=Power Node
block.power-node-large.name=Large Power Node
block.battery.name=Battery
block.battery-large.name=Large Battery
block.combustion-generator.name=Combustion Generator
block.turbine-generator.name=Turbine Generator
block.tungsten-drill.name=Tungsten Drill
block.carbide-drill.name=Carbide Drill
block.laser-drill.name=Laser Drill
block.water-extractor.name=Water Extractor
block.cultivator.name=Cultivator
block.dart-ship-factory.name=Dart Ship Factory
block.delta-mech-factory.name=Delta Mech Factory
block.dronefactory.name=Drone Factory
block.repairpoint.name=Repair Point
block.resupplypoint.name=Resupply Point
block.liquidtank.name=Liquid Tank
block.bridgeconduit.name=Bridge Conduit
block.mechanical-pump.name=Mechanical Pump
block.itemsource.name=Item Source
block.itemvoid.name=Item Void
block.liquidsource.name=Liquid Source
block.powervoid.name=Power Void
block.powerinfinite.name=Power Infinite
block.unloader.name=Unloader
block.sortedunloader.name=Sorted Unloader
block.vault.name=Vault
block.wave.name=Wave
block.swarmer.name=Swarmer
block.salvo.name=Salvo
block.ripple.name=Ripple
block.phase-conveyor.name=Phase Conveyor
block.bridge-conveyor.name=Bridge Conveyor
block.plastanium-compressor.name=Plastanium Compressor
block.pyratite-mixer.name=Pyratite Mixer
block.blast-mixer.name=Blast Mixer
block.solidifer.name=Solidifer
block.solar-panel.name=Solar Panel
block.solar-panel-large.name=Large Solar Panel
block.oil-extractor.name=Oil Extractor
block.javelin-ship-factory.name=Javelin Ship factory
block.drone-factory.name=Drone Factory
block.fabricator-factory.name=Fabricator Factory
block.repair-point.name=Repair Point
block.resupply-point.name=Resupply Point
block.pulse-conduit.name=Pulse Conduit
block.phase-conduit.name=Phase Conduit
block.liquid-router.name=Liquid Router
block.liquid-tank.name=Liquid Tank
block.liquid-junction.name=Liquid Junction
block.bridge-conduit.name=Bridge Conduit
block.rotary-pump.name=Rotary Pump
block.nuclear-reactor.name=Nuclear Reactor
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+493 -499
View File
@@ -1,500 +1,494 @@
text.about = Створено [ROYAL] Anuken. []\nСпочатку запис у [orange] GDL [] MM Jam.\nТворці:\n- SFX зроблено з [YELLOW] bfxr []\n- Музика зроблена [GREEN] RoccoW [] / Знайдено на [lime] FreeMusicArchive.org [] \nОсоблива подяка:\n- [coral] MitchellFJN []: екстенсивне тестування та відгуки\n- [sky] Luxray5474 []: робота з вікі, вклади коду\n- Всі бета-тестери на itch.io та Google Play\n
text.discord = Приєднуйтесь до нашого Discord!
text.changes = [SCARLET] Увага! \n[] Деякі важливі механіки гри були змінені.\n- [accent] Телепорти [] тепер використовують електроенергію. \n- [accent] Домінна піч [] та [accent] Тиглі [] тепер мають ліміт. \n- [accent] Тиглі [] зараз вимагають вугілля як паливо.
text.gameover = Ядро було зруйновано.
text.highscore = [YELLOW] Новий рекорд!
text.lasted = Ви тримались до хвилі
text.level.highscore = Рекорд: [accent] {0}
text.level.delete.title = Підтвердьте видалення
text.level.delete = Ви впевнені, що хочете видалити карту \"[orange] {0} \"?
text.level.select = Вибір рівня
text.level.mode = Ігровий режим
text.savegame = Зберегти гру
text.loadgame = Завантажити гру
text.joingame = Приєднатися\nдо гри
text.about=Створено [ROYAL] Anuken. []\nСпочатку запис у [orange] GDL [] MM Jam.\nТворці:\n- SFX зроблено з [YELLOW] bfxr []\n- Музика зроблена [GREEN] RoccoW [] / Знайдено на [lime] FreeMusicArchive.org [] \nОсоблива подяка:\n- [coral] MitchellFJN []: екстенсивне тестування та відгуки\n- [sky] Luxray5474 []: робота з вікі, вклади коду\n- Всі бета-тестери на itch.io та Google Play\n
text.discord=Приєднуйтесь до нашого Discord!
text.gameover=Ядро було зруйновано.
text.highscore=[YELLOW] Новий рекорд!
text.lasted=Ви тримались до хвилі
text.level.highscore=Рекорд: [accent] {0}
text.level.delete.title=Підтвердьте видалення
text.level.select=Вибір рівня
text.level.mode=Ігровий режим
text.savegame=Зберегти гру
text.loadgame=Завантажити гру
text.joingame=Приєднатися\nдо гри
text.newgame=Нова гра
text.quit = Вийти
text.about.button = Про
text.name = Назва:
text.public = Публічний
text.players = {0} гравців онлайн
text.server.player.host = {0} (host)
text.players.single = {0} гравців онлайн
text.server.mismatch = Пакетна помилка: невідповідність версії версії клієнта / сервера. Переконайтеся, що ви та хост мають останню версію Mindustry!
text.server.closing = [accent] Закриття сервера ...
text.server.kicked.kick = Ви були вигнані з сервера!
text.server.kicked.invalidPassword = Невірний пароль!
text.server.kicked.clientOutdated = Застарілий клієнт! Оновіть свою гру!
text.server.kicked.serverOutdated = Застарілий сервер! Попросіть хост оновити!
text.server.connected = {0} приєднався.
text.server.disconnected = {0} від'єднано.
text.nohost = Неможливо розмістити сервер на власній карті!
text.hostserver = Хост-сервер
text.host = Хост
text.hosting = [accent] Відкриття сервера ...
text.hosts.refresh = Оновити
text.hosts.discovering = Знайомство з мережевими іграми
text.server.refreshing = Оновити сервери
text.hosts.none = [lightgray] Ніяких ігор у мережі не знайдено!
text.host.invalid = [scarlet] Неможливо підключитися до хосту.
text.server.friendlyfire = Дружній вогонь
text.server.add = Додати сервер
text.server.delete = Ви впевнені, що хочете видалити цей сервер?
text.server.hostname = Хост: {0}
text.server.edit = Редагувати сервер
text.joingame.byip = [] Приєднатися по IP ...[]
text.joingame.title = Приєднатися до гри
text.joingame.ip = IP
text.disconnect = Роз'єднано
text.connecting = [accent] Підключення ...
text.connecting.data = [accent] Завантаження світових даних ...
text.connectfail = [crimson] Не вдалося підключитися до сервера: [orange] {0}
text.server.port = Порт
text.server.addressinuse = Адреса вже використовується!
text.server.invalidport = Недійсний номер порту.
text.server.error = [crimson] Помилка хостингу сервера: [orange] {0}
text.tutorial.back = < Попер.
text.tutorial.next = Далі >
text.save.new = Нове збереження
text.save.overwrite = Ви впевнені, що хочете перезаписати цей слот для збереження?
text.overwrite = Перезаписати
text.save.none = Не знайдено жодних збережень!
text.saveload = [accent] Збереження ...
text.savefail = Не вдалося зберегти гру!
text.save.delete.confirm = Ви впевнені, що хочете видалити це збереження?
text.save.delete = Видалити
text.save.export = Експорт збереження
text.save.import.invalid = [orange] Це збереження недійсне!
text.save.import.fail = [crimson] Не вдалося імпортувати збереження: [orange] {0}
text.save.export.fail = [crimson] Не вдалося експортувати збереження: [orange] {0}
text.save.import = Імпортувати збереження
text.save.newslot = Назва збереження:
text.save.rename = Переіменувати
text.save.rename.text = Нова назва:
text.selectslot = Виберіть збереження.
text.slot = [accent] слот {0}
text.save.corrupted = [orange] Збережений файл пошкоджений або він невірний!
text.empty = <порожньо>
text.on = Увімкнути
text.off = Вимкнути
text.save.autosave = Автозбереження: {0}
text.save.map = Карта
text.save.wave = Хвиля {0}
text.save.difficulty = Складність
text.save.date = Останнє збережено: {0}
text.confirm = Підтвердити
text.delete = Видалити
text.ok = ОК
text.open = Відкрити
text.cancel = Скасувати
text.openlink = Відкрити посилання
text.back = Назад
text.quit.confirm = Ти впевнений що хочеш піти?
text.loading = [accent] Завантаження ...
text.wave = [orange] хвиля {0}
text.wave.waiting = Хвиля через {0}
text.waiting = Очікування…
text.enemies = {0} Вороги
text.enemies.single = Противник
text.loadimage = Завантажити зображення
text.saveimage = Зберегти зображення
text.oregen = Генерація руд
text.editor.badsize = [orange] Недійсні розміри зображення! [] Дійсні розміри карти: {0}
text.editor.errorimageload = Помилка завантаження файлу зображень: [orange] {0}
text.editor.errorimagesave = Помилка збереження файлу зображення: [orange] {0}
text.editor.generate = Генератор
text.editor.resize = Змінити розмір
text.editor.loadmap = // Завантажити карту
text.editor.savemap = Зберегти карту
text.editor.loadimage = Завантажити зображення
text.editor.saveimage = Зберегти зображення
text.editor.unsaved = [scarlet] У вас є незбережені зміни! [] Ви впевнені, що хочете вийти?
text.editor.brushsize = Розмір пензля: {0}
text.editor.noplayerspawn = Ця карта не має ігрового поля для гравця!
text.editor.manyplayerspawns = Карти не можуть мати більше одного ігрового поля для гравців!
text.editor.manyenemyspawns = Не може бути більше ніж {0} ворожих точок!
text.editor.resizemap = Змінити розмір карти
text.editor.resizebig = [scarlet] Попередження! [] Карти, розмір яких перевищує 256 одиниць, можуть виснути і можуть бути нестабільними.
text.editor.mapname = Назва карти:
text.editor.overwrite = [accent] Попередження! Це перезаписує існуючу карту.
text.editor.failoverwrite = [crimson] Неможливо перезаписати карту за замовчуванням!
text.editor.selectmap = Виберіть карту для завантаження:
text.width = Ширина
text.height = Висота
text.randomize = Рандомізувати
text.apply = Застосувати
text.update = Оновити
text.menu = Меню
text.play = Відтворити
text.load = Завантаження
text.save = Зберегти
text.language.restart = Будь ласка, перезапустіть свою гру, щоб налаштування мови набули чинності.
text.settings.language = Мова
text.settings = Налаштування
text.tutorial = Навчальний\nпосібник
text.editor = Редактор
text.mapeditor = Редактор карт
text.donate = Підтримати проект
text.settings.reset = Скинути до стандартних
text.settings.controls = Елементи управління
text.settings.game = Гра
text.settings.sound = Звук
text.settings.graphics = Графіка
text.upgrades = Оновлення
text.purchased = [LIME] Створено!
text.weapons = Зброя
text.paused = Пауза
text.respawn = Відновлення за
text.info.title = [accent] інформація
text.error.title = [crimson] Виникла помилка
text.error.crashmessage = [SCARLET] Виникла несподівана помилка, що призвела до збою. [] Будь ласка, повідомте про конкретні обставини, розробнику: [ORANGE] anukendev@gmail.com []
text.error.crashtitle = Виникла помилка
text.mode.break = Режим зносу: {0}
text.mode.place = Режим будівництва: {0}
placemode.hold.name = Лінія
placemode.areadelete.name = Площа
placemode.touchdelete.name = Дотик
placemode.holddelete.name = Утримування.
placemode.none.name = (None)
placemode.touch.name = Дотик
placemode.cursor.name = курсор
text.blocks.extrainfo = [accent] додатковий інформаційний блок:
text.blocks.blockinfo = Блокування інформації
text.blocks.powercapacity = Потужність
text.blocks.powershot = Потужність / постріл
text.blocks.powersecond = Потужність / секунда
text.blocks.powerdraindamage = Потужність дренажу / пошкодження
text.blocks.shieldradius = Радіус щита
text.blocks.itemspeedsecond = Швидкість / секунда
text.blocks.range = Радіус
text.blocks.size = Розмір
text.blocks.powerliquid = Потужність / Рідина
text.blocks.maxliquidsecond = Макс. Рідина / секунда
text.blocks.liquidcapacity = Ємкість рідини
text.blocks.liquidsecond = Рідина / секунда
text.blocks.damageshot = Пошкодження / постріл
text.blocks.ammocapacity = Місткість боєприпасів
text.blocks.ammo = Набої
text.blocks.ammoitem = Боєприпаси / предмет
text.blocks.maxitemssecond = Макс. Елементи / секунду
text.blocks.powerrange = Радіус потужності
text.blocks.lasertilerange = Радіус лазерних плиток
text.blocks.capacity = Ємкість
text.blocks.itemcapacity = Ємкість предмету
text.blocks.maxpowergenerationsecond = Максимальна потужність / секунда
text.blocks.powergenerationsecond = Потужність / секунда
text.blocks.generationsecondsitem = Генерація за секунду / предмет
text.blocks.input = Ввід
text.blocks.inputliquid = Ввід речовини
text.blocks.inputitem = Вхідний матеріал
text.blocks.output = Вивід
text.blocks.secondsitem = Секунда / предмет
text.blocks.maxpowertransfersecond = Максимальна передача потужності / секунда
text.blocks.explosive = Вибухонебезпечний!
text.blocks.repairssecond = Ремонт / секунда
text.blocks.health = Здоров'я
text.blocks.inaccuracy = Неточність
text.blocks.shots = Постріли
text.blocks.shotssecond = Постріли / секунду
text.blocks.fuel = Паливо:
text.blocks.fuelduration = Тривалість палива
text.blocks.maxoutputsecond = Макс. Вихід / секунду
text.blocks.inputcapacity = Вхідна ємність
text.blocks.outputcapacity = Випускна ємність
text.blocks.poweritem = Потужність / виріб
text.placemode = Місцевий режим
text.breakmode = Перерваний режим
text.health = Здоров'я
setting.difficulty.easy = Легкий
setting.difficulty.normal = Нормальний
setting.difficulty.hard = Важкий
setting.difficulty.insane = Божевільний
setting.difficulty.purge = Очистити
setting.difficulty.name = Складність
setting.screenshake.name = Тряска екрана
setting.smoothcam.name = Гладка камера
setting.indicators.name = Індикатори ворога
setting.effects.name = Ефекти відображення
setting.sensitivity.name = Чутливість контролера
setting.saveinterval.name = Інтервал автозбереження
setting.seconds = {0} секунд
setting.fullscreen.name = Повноекранний
setting.multithread.name = Багатопотоковий [scarlet] (нестабільний!)
setting.fps.name = Показати FPS
setting.vsync.name = VSunc
setting.lasers.name = Показати енергетичні лазери
setting.healthbars.name = Показати здоров'я
setting.pixelate.name = Пікселяція екрану
setting.musicvol.name = Гучність музики
setting.mutemusic.name = Вимкнути музику
setting.sfxvol.name = Гучність ефектів
setting.mutesound.name = Вимкнути звук
map.maze.name = Лабіринт
map.fortress.name = Фортеця
map.sinkhole.name = Свердловина
map.caves.name = Печери
map.volcano.name = Вулкан
map.caldera.name = Кальдера
map.scorch.name = Мертва земля
map.desert.name = Пустеля
map.island.name = Острів
map.grassland.name = Пасовища
map.tundra.name = Тундра
map.spiral.name = Спіраль
map.tutorial.name = Навчання
tutorial.intro.text = [yellow] Ласкаво просимо до підручника. [] Для початку натисніть \"далі\".
tutorial.moveDesktop.text = Для переміщення використовуйте клавіші [orange] ​​[[WASD] []. Утримуйте [orange] SHIFT[], для прискорення. Утримуйте [orange] CTRL [], використовуючи [orange] колесо прокручування [] для збільшення або зменшення.
tutorial.shoot.text = Використовуйте мишу, щоб націлитись, утримуйте [orange] ліву кнопку миші [], щоб стріляти. Попрактикуйтесь на [yellow] мішені [].
tutorial.moveAndroid.text = Щоб перетягнути панораму, перетягніть один палець по екрану. Використовуйте два пальця, щоб збільшити чи зменшити маштаб.
tutorial.placeSelect.text = Спробуйте вибрати [yellow] конвеєр [] у меню блоку внизу справа.
tutorial.placeConveyorDesktop.text = Використовуйте [orange] [[колесико миші] [], щоб повернути конвеєр [orange] вперед [], а потім помістіть його в [yellow] позначене місце [], використовуючи [orange] [[ліву кнопку миші] [].
tutorial.placeConveyorAndroid.text = Використовуйте [orange] [[кнопку оберту] [], щоб обернути конвеєр [оранжевий] вперед [], перетягуйте його одним пальцем, а потім помістіть його в [yellow] позначене місце [], використовуючи [orange] [[галочка][].
tutorial.placeConveyorAndroidInfo.text = Крім того, ви можете натиснути піктограму перехрестя внизу ліворуч, щоб переключитися на [orange] [[сенсорний режим]] [], і помістити блоки, натиснувши на екран. У сенсорному режимі блоки можна повертати зі стрілкою внизу ліворуч. Натисніть [yellow] наступний [], щоб спробувати.
tutorial.placeDrill.text = Тепер виберіть та розмістіть [yellow] кам'яне свердло [] у зазначеному місці.
tutorial.blockInfo.text = Якщо ви хочете дізнатись більше про блок, ви можете торкнутися [orange] знак питання [] у верхньому правому куті, щоб прочитати його опис.
tutorial.deselectDesktop.text = Ви можете вимкнути блок, використовуючи [orange] [[клацання правою кнопкою миші] [].
tutorial.deselectAndroid.text = Ви можете скасувати вибір блоку, натиснувши кнопку [orange] X [].
tutorial.drillPlaced.text = Дриль тепер видобуває [yellow] камінь, [] та виведе його на конвеєр, а потім переміщає його в [yellow] ядро [].
tutorial.drillInfo.text = Різні руди потребують різних дрилі. Камінь вимагає кам'яні свердла, залізо вимагає залізні свердла та ін
tutorial.drillPlaced2.text = Переміщення елементів у ядро ​​вказує їх у ваш [yellow] предметний інвентар [] у верхньому лівому куті. Розміщення блоків використовує предмети з вашого інвентарю.
tutorial.moreDrills.text = Ви можете пов'язати багато свердлів і конвеєрів разом в одну гілку конвеєра.
tutorial.deleteBlock.text = Ви можете видалити блоки, натиснувши правою клавішею [orange] правою кнопкою миші [] по блоці, який ви хочете видалити. Спробуйте видалити цей конвеєр.
tutorial.deleteBlockAndroid.text = Ви можете видалити блоки за допомогою [orange], перехрестя [] в меню [mode] зламу [orange] у нижньому лівому куті та натиснувши на блок. Спробуйте видалити цей конвеєр.
tutorial.placeTurret.text = Тепер виділіть та розмістіть [yellow] турель [] у [yellow] позначеному місці [].
tutorial.placedTurretAmmo.text = Ця турель тепер приймає [yellow] боєприпас [] з конвеєра. Ви можете побачити, скільки боєприпасів вона має, натискаючи на неї і перевіряючи [green] зелену полоску [].
tutorial.turretExplanation.text = Турелі будуть автоматично стріляти у найближчого ворога, якщо вони мають достатню кількість боєприпасів.
tutorial.waves.text = Кожні [yellow] 60 [] секунд, хвиля [coral] ворогів [] буде виникати в певних місцях і намагатися знищити ядро.
tutorial.coreDestruction.text = Ваша мета полягає в тому, щоб [yellow] захищати ядро []. Якщо ядро ​​знищено, ви [coral] програєте[].
tutorial.pausingDesktop.text = Якщо вам коли-небудь потрібно зробити перерву, натисніть кнопку [orange] паузи [] у верхньому лівому куті або на кнопку [orange] пропуск [], щоб призупинити гру. Ви можете вибрати і розмістити блоки під час призупинення, але не можете переміщатися чи стріляти.
tutorial.pausingAndroid.text = Якщо вам коли-небудь потрібно зробити перерву, натисніть кнопку [orange] пауза [] у верхньому лівому куті, щоб призупинити гру. Ти можеш ще знищувати та будувати блоки під час призупинення.
tutorial.purchaseWeapons.text = Ви можете придбати нову [yellow] зброю [] для вашого механізму, відкривши меню оновлення в лівому нижньому кутку.
tutorial.switchWeapons.text = Перемикати зброю будь-яким натисканням його піктограми внизу ліворуч або за допомогою цифр [orange] [[1-9] [].
tutorial.spawnWave.text = Ось хвиля зараз. Знищи їх
tutorial.pumpDesc.text = У пізніших хвилях, можливо, доведеться використовувати [yellow] насоси [] для розподілу рідин для генераторів або екстракторів.
tutorial.pumpPlace.text = Насоси працюють аналогічно свердлам, за винятком того, що вони виробляють рідини замість предметів. Спробуйте встановити насос на [yellow] призначене мастило [].
tutorial.conduitUse.text = Тепер покладіть [orange] трубопровід [], віддаляючись від насоса.
tutorial.conduitUse2.text = І ще кілька ...
tutorial.conduitUse3.text = І ще кілька ...
tutorial.generator.text = Тепер, помістіть блок [orange] ​​базовий генератор енергії [] в кінці каналу.
tutorial.generatorExplain.text = Цей генератор тепер створить [yellow] енергію [] від масла.
tutorial.lasers.text = Потужність розподіляється за допомогою [yellow] лазерів потужності []. Поверніть і помістіть його тут.
tutorial.laserExplain.text = Тепер генератор переведе енергію в лазерний блок. Промінь [yellow] непрозорий [] означає, що в даний час він передає потужність, а промінь [yellow] прозорий [] означає, що це не так.
tutorial.laserMore.text = Ви можете перевірити, скільки енергії в блоку, наведіть курсор миші на нього і перевірте [yellow] жовту стрічку [] у верхній частині екрана.
tutorial.healingTurret.text = Цей лазер може бути використаний для живлення турелі для ремонту [lime] []. Помістіть одну тут.
tutorial.healingTurretExplain.text = Поки вона має енергію, ця турель може [lime] відремонтувати блоки. [] Під час гри постарайтеся збудувати одну таку чим швидше!
tutorial.smeltery.text = Для багатьох блоків потрібна [orange] сталь [], для цього потрібна[orange] доминна піч [] . Місце тут.
tutorial.smelterySetup.text = Ця піч буде тепер виробляти [orange] сталь [] із вхідного заліза, використовуючи вугілля як паливо.
tutorial.tunnelExplain.text = Також зауважте, що елементи проходять через [yellow] тунельний блок [] і з'являються з іншого боку, проходячи через кам'яний блок. Майте на увазі, що тунелі можуть проходити лише до 2 блоків.
tutorial.end.text = Ви завершили підручник! Удачі!
text.keybind.title = Ключ перемотки
keybind.move_x.name = move_x
keybind.move_y.name = move_y
keybind.select.name = Вибрати
keybind.break.name = {0}break{/0}{1}; {/1}
keybind.shoot.name = Постріл
keybind.zoom_hold.name = zoom_hold
keybind.zoom.name = Збільшити
keybind.block_info.name = Інформація про блок
keybind.menu.name = Меню
keybind.pause.name = Пауза
keybind.dash.name = Тире
keybind.chat.name = Чат
keybind.player_list.name = Список гравців
keybind.console.name = // Консоль 1
keybind.rotate_alt.name = rotate_alt
keybind.rotate.name = Повернути
keybind.weapon_1.name = Зброя!
keybind.weapon_2.name = Зброя!
keybind.weapon_3.name = Зброя!
keybind.weapon_4.name = Зброя!
keybind.weapon_5.name = Зброя!
keybind.weapon_6.name = Зброя!
mode.waves.name = Хвилі
mode.sandbox.name = Пісочниця
mode.freebuild.name = Вільний режим
upgrade.standard.name = Стандартний
upgrade.standard.description = Стандартний механ.
upgrade.blaster.name = Бластер
upgrade.blaster.description = Стріляє повільно, слабкі кулі.
upgrade.triblaster.name = Трипластер
upgrade.triblaster.description = Вистрілює 3 кулі в розповсюдженні.
upgrade.clustergun.name = Касетна гармата
upgrade.clustergun.description = Вистрілює неточними вибуховими гранатами.
upgrade.beam.name = Пушечна гармата
upgrade.beam.description = Вистрілює далекобійним,пробірний лазерний промінь.
upgrade.vulcan.name = Вулкан
upgrade.vulcan.description = Вистрілює шквал швидких куль.
upgrade.shockgun.name = Шок-пушка
upgrade.shockgun.description = Стріляє руйнівним вибухом заряженої шрапнелі.
item.stone.name = Камінь
item.iron.name = Залізо
item.coal.name = Вугівалля
item.steel.name = Сталь
item.titanium.name = Титан
item.dirium.name = Дириум
item.thorium.name = Уран
item.sand.name = Пісок
liquid.water.name = Вода
liquid.plasma.name = Плазма
liquid.lava.name = Лава
liquid.oil.name = Нафта
block.weaponfactory.name = Фабрика зброї
block.weaponfactory.fulldescription = Використовується для створення зброї для гравця mech. Натисніть, щоб використати. Автоматично приймає ресурси з основного ядра.
block.air.name = Повітря
block.blockpart.name = Блокчастина
block.deepwater.name = Глибока вода
block.water.name = Вода
block.lava.name = Лава
block.oil.name = Нафта
block.stone.name = Камінь
block.blackstone.name = Чорний камінь
block.iron.name = Залізо
block.coal.name = Вугілля
block.titanium.name = Титан
block.thorium.name = Уран
block.dirt.name = Бруд
block.sand.name = Пісок
block.ice.name = Лід
block.snow.name = Сніг
block.grass.name = Трава
block.sandblock.name = Блок піску
block.snowblock.name = Блок снігу
block.stoneblock.name = Блок камню
block.blackstoneblock.name = Блок чорного камню
block.grassblock.name = Блок бруду
block.mossblock.name = Моссблок
block.shrub.name = Чагарник
block.rock.name = Камень
block.icerock.name = Ледяний камень
block.blackrock.name = Чорний камінь
block.dirtblock.name = Блок землі
block.stonewall.name = Кам'яна стіна
block.stonewall.fulldescription = Недорогий захисний блок. Корисно для захисту ядра та турелі в перші кілька хвиль.
block.ironwall.name = Залізна стіна
block.ironwall.fulldescription = Основний захисний блок. Забезпечує захист від ворогів.
block.steelwall.name = Сталева стіна
block.steelwall.fulldescription = Стандартний захисний блок. адекватний захист від ворогів.
block.titaniumwall.name = Титанова стіна
block.titaniumwall.fulldescription = Сильний захисний блок. Забезпечує захист від ворогів.
block.duriumwall.name = Діріумова стіна
block.duriumwall.fulldescription = Дуже сильний захисний блок. Забезпечує захист від ворогів.
block.compositewall.name = Композитна стіна
block.steelwall-large.name = Велика сталева стіна
block.steelwall-large.fulldescription = Стандартний захисний блок. Поєднує в собі кілька блоків.
block.titaniumwall-large.name = Велика титанова стіна
block.titaniumwall-large.fulldescription = Сильний захисний блок. Поєднує в собі кілька блоків.
block.duriumwall-large.name = Велика дирмітова стіна
block.duriumwall-large.fulldescription = Дуже сильний захисний блок.Поєднує в собі кілька блоків.
block.titaniumshieldwall.name = Стіна з щитом
block.titaniumshieldwall.fulldescription = Сильний захисний блок з додатковим вбудованим щитом. Потрібна енергія. Використовує енергію для поглинання ворожих куль. Рекомендується використовувати силові пристосування для забезпечення енергії цього блоку.
block.repairturret.name = Ремонтна турель
block.repairturret.fulldescription = Ремонтує недалекі пошкодженні блоки.Повільний темп. Використовує невелику кількість енергії.
block.megarepairturret.name = Ремонтна турель II
block.megarepairturret.fulldescription = Ремонтує недалекі пошкодженні блоки.Збільшений радіус та швидший темп ремонту . Використовує багато енергії.
block.shieldgenerator.name = Генератор щиту
block.shieldgenerator.fulldescription = Передовий захисний блок. Захищає всі блоки в радіусі від нападу. Не вкористовує енергію при бездіяльності, але швидко витрачає енергію на захист від куль.
block.door.name = Двері
block.door.fulldescription = Блок, який можна відкрити та закрити, торкнувшись його.
block.door-large.name = Великі двері
block.door-large.fulldescription = Блок, який можна відкрити та закрити, торкнувшись його.
block.conduit.name = Трубопровід
block.conduit.fulldescription = Основний транспортний блок. Працює як конвеєр, але з рідинами. Найкраще використовується з насосами або іншими трубопроводами. Може використовуватися як міст через рідини для ворогів та гравців.
block.pulseconduit.name = Імпульсний канал
block.pulseconduit.fulldescription = Покращенний блок перевезення рідин. Транспортує рідини швидше і зберігає більше стандартних каналів.
block.liquidrouter.name = маршрутизатор для рідини
block.liquidrouter.fulldescription = Працює аналогічно маршрутизатору. Приймає рідину ввід з одного боку і виводить його на інші сторони. Корисний для розщеплення рідини з одного каналу на кілька інших трубопроводів.
block.conveyor.name = Конвеєр
block.conveyor.fulldescription = Базовий транспортний блок. Переміщує предмети вперед і автоматично вкладає їх у турелі або ремісники. Поворотний Може використовуватися як міст через рідину для ворогів та гравців.
block.steelconveyor.name = Сталевий конвеєр
block.steelconveyor.fulldescription = Розширений блок транспортування предметів. Переміщення елементів швидше, ніж стандартні конвеєри.
block.poweredconveyor.name = Імпульсний конвеєр
block.poweredconveyor.fulldescription = Кінцевий транспортний блок. Переміщення елементів швидше, ніж сталеві конвеєри.
block.router.name = Маршрутизатор
block.router.fulldescription = Приймає елементи з одного напрямку і виводить їх на 3 інших напрямках. Можна також зберігати певну кількість предметів. Використовується для розщеплення матеріалів з одного свердла на декілька башточок.
block.junction.name = Міст
block.junction.fulldescription = Виступає як міст для двох перехресних конвеєрних стрічок. Корисне у ситуаціях з двома різними конвеєрами, що несуть різні матеріали в різних місцях.
block.conveyortunnel.name = Конвеєрний тунель
block.conveyortunnel.fulldescription = Транспортує предмети під блоками. Щоб використати, помістіть один тунель, що веде у блок, щоб бути підсвіченим, а один - з іншого боку. Переконайтеся, що обидва тунелі стикаються з протилежними напрямками, тобто до блоків, які вони вводять або виводять.
block.liquidjunction.name = Міст для рідини
block.liquidjunction.fulldescription = Діє як міст для двох перехресних трубопроводів. Корисно в ситуаціях з двома різними трубами, що несуть різні рідини в різних місцях.
block.liquiditemjunction.name = Перехрестя рідкого пункту
block.liquiditemjunction.fulldescription = Виступає як міст для перетину трубопроводів і конвеєрів.
block.powerbooster.name = Підсилювач потужності
block.powerbooster.fulldescription = Поширює енергію на всі блоки в межах його радіуса.
block.powerlaser.name = Енергетичний лазер
block.powerlaser.fulldescription = Створює лазер, який передає енергію блоку перед ним. Не створює жодної сили сама. Найкраще використовується з генераторами або іншими лазерами.
block.powerlaserrouter.name = Лазерний маршрутизатор
block.powerlaserrouter.fulldescription = Лазер, який розподіляє енергію у три напрямки одночасно. Корисно в ситуаціях, коли потрібно живити кілька блоків від одного генератора.
block.powerlasercorner.name = Лазерний кут
block.powerlasercorner.fulldescription = Лазер, який розподіляє енергію одночасно на два напрямки. Корисно в ситуаціях, коли потрібно живити кілька блоків від одного генератора, а маршрутизатор неточний.
block.teleporter.name = Телепорт
block.teleporter.fulldescription = Продвинутий блок транспортування предметів.Щоб телепортувати предмети з одного місця в інше потрібно збудувати 2 телепорти і назначити на них одинаковий колір. Використовує енергію. Натисніть, щоб змінити колір.
block.sorter.name = Сортувальник
block.sorter.fulldescription = Сортує предмети за типом матеріалу. Матеріал для прийняття позначається кольором у блоці. Всі елементи, що відповідають матеріалу сортування, виводяться вперед, а все інше виводить ліворуч і праворуч.
block.core.name = Ядро
block.pump.name = Насос
block.pump.fulldescription = Насоси рідини з вихідного блоку - зазвичай вода, лава чи олія. Виводить рідину в сусідні трубопроводи.
block.fluxpump.name = Флюсовий насос
block.fluxpump.fulldescription = Розширений варіант насоса. Зберігає більше рідини та перекачує швидше.
block.smelter.name = Плавильня
block.smelter.fulldescription = Основний ремісничий блок. Коли вводиться 1 залізо та 1 вугілля в якості палива, виводить одну сталь. Рекомендується вводити залізо та вугілля на різних поясах, щоб запобігти засміченню.
block.crucible.name = Тигель
block.crucible.fulldescription = Розширений блок обробки. При введенні 1 титану, 1 сталі та 1 вугілля в якості пального, виводить один дирний. Рекомендується вводити вугілля, сталь та титан на різних поясах, щоб запобігти засміченню.
block.coalpurifier.name = вугільний екстрактор
block.coalpurifier.fulldescription = Основний екстрактор. Виходить вугілля при постачанні великої кількості води та каменю.
block.titaniumpurifier.name = Титановий екстрактор
block.titaniumpurifier.fulldescription = Стандартний блок екстрактора. Виходить титан при постачанні великої кількості води та заліза.
block.oilrefinery.name = Нафтопереробний завод
block.oilrefinery.fulldescription = Очищує велику кількість нафти і перетворює на вугілля. Корисний для заправки вугільних башточок, коли вугільні родовища є дефіцитними.
block.stoneformer.name = Кам'янний екстрактор
block.stoneformer.fulldescription = Здавлюється рідка лава в камінь. Корисно для виготовлення великої кількості каменю для очищувачів вугілля.
block.lavasmelter.name = Лавовий завод
block.lavasmelter.fulldescription = Використовує лаву для перетворення залізо на сталь. Альтернатива плавильні. Корисно в ситуаціях, коли вугілля є дефіцитним.
block.stonedrill.name = Кам'янна свердловина
block.stonedrill.fulldescription = Основна свердловина.Розміщюється на кам'яній плитці виводить камінь повільними темпами.
block.irondrill.name = Залізна свердловина
block.irondrill.fulldescription = Базова свердловина.Розміщюється на родовищі залізної руди, випускає залізо в повільному темпі.
block.coaldrill.name = Вугільна свердловина
block.coaldrill.fulldescription = Базова свердловина.Розміщюється на родовищі вугільної руди ,видобуває вугілля повільними темпами.
block.thoriumdrill.name = Уранова свердловина
block.thoriumdrill.fulldescription = Продвинута свердловина. Розміщюється на родовищі уранової руди.Видобуток урану відбувається повільними темпами.
block.titaniumdrill.name = Титанова свердловина
block.titaniumdrill.fulldescription = Продвинута свердловина.Розміщюється на родовищі титанової руди, Видобуток титану відбувається повільним темпом.
block.omnidrill.name = Убер свердловина
block.omnidrill.fulldescription = Кінцева свердловина.Дуже швидко видобуває будь-який вид руди.
block.coalgenerator.name = Вугільний генератор
block.coalgenerator.fulldescription = Основний генератор. Генерує енергію з вугілля. Виводиться потужність лазерів на 4 сторони.
block.thermalgenerator.name = Теплогенератор
block.thermalgenerator.fulldescription = Генерує енергію від лави. Виводиться потужність лазерів на 4 сторони.
block.combustiongenerator.name = Генератор горіння
block.combustiongenerator.fulldescription = Генерує енергію з нафти. Виводиться потужність лазерів на 4 сторони.
block.rtgenerator.name = RTG генератор
block.rtgenerator.fulldescription = Генерує невелику кількість енергії з радіоактивного розпаду урану. Виводиться потужність лазерів на 4 сторони.
block.nuclearreactor.name = Ядерний реактор
block.nuclearreactor.fulldescription = Розширений варіант RTG Generator і кінцевий генератор електроенергії. Генерує енергію з урану. Потребує постійного водяного охолодження.Сильно вибухне якщо не буде постачання води у великії кількості
block.turret.name = Турель
block.turret.fulldescription = Базова, дешева турель. Використовує камінь для боєприпасів. Має трохи більше діапазону, ніж подвійна турель.
block.doubleturret.name = Подвійна турель
block.doubleturret.fulldescription = Дещо потужна версія турель. Використовує камінь для боєприпасів. Значно більший урон, але менший діапазон. Вистрілює дві кулі.
block.machineturret.name = Кулеметна турель
block.machineturret.fulldescription = Стандартна всеосяжна турель. Використовує залізо для боєприпасів. Має швидку швидкість пострілу і гідну шкоду.
block.shotgunturret.name = Розріджуюча турель
block.shotgunturret.fulldescription = Стандартна турель. Використовує залізо для боєприпасів. Вистрілює 7 куль навколо себе.Наносить значних ушкоджень,звісно якщо поцілить :)
block.flameturret.name = Вогнемет
block.flameturret.fulldescription = Продвинута турель ближнього діапазону. Використовує вугілля для боєприпасів. Має дуже низький радіус, але дуже високий збиток. Добре для близьких дистанцій. Рекомендується використовувати за стінами.
block.sniperturret.name = Лазерна турель.
block.sniperturret.fulldescription = Продвинута далекобійна турель. Використовує сталь для боєприпасів. Дуже високий збиток, але низький рівень урону. Дорогі для використання, але можуть бути розташовані далеко від ліній ворога через його радіус.
block.mortarturret.name = Флак турель
block.mortarturret.fulldescription = Продвинута,неточна турель. Використовує вугілля для боєприпасів. Стріляє кулями, що вибухають у шрапнеллв. Корисне для великих натовпів ворогів.
block.laserturret.name = Лазерна турель
block.laserturret.fulldescription = Продвинута однопушечна турель. Використовує енергію. Хороша на середніх дистанціях. Ніколи не пропускає.
block.waveturret.name = Тесла
block.waveturret.fulldescription = Передова багатоцільова турель. Використовує енергію. Середній радіус. Ніколи не пропускає. Активно знижує, але може вражати декількох ворогів одночасно з ланцюговим освітленням.
block.plasmaturret.name = Плазмова турель
block.plasmaturret.fulldescription = Дуже продвинута версія Вогнеметної турелі. Використовує вугілля як боєприпаси. Дуже високий урон, від близької до середньої дистанції.
block.chainturret.name = Уранова турель
block.chainturret.fulldescription = Остаточна швидкістна вежа. Використовує уран як боєприпаси. Вистрілює великі кулі при високій швидкості вогню. Середній радіус. Промінь кілька плиток. Надзвичайно жорсткий.
block.titancannon.name = Титанова гармата
block.titancannon.fulldescription = Найбільш далекобійна турель. Використовує уран як боєприпаси. Вистрілює великі снаряди. Далекобійний. Промінь кілька плиток. Надзвичайно жорсткий.
block.playerspawn.name = Спавн Гравця
block.enemyspawn.name = Спавн ворогів
text.quit=Вийти
text.about.button=Про
text.name=Назва:
text.players={0} гравців онлайн
text.players.single={0} гравців онлайн
text.server.mismatch=Пакетна помилка: невідповідність версії версії клієнта / сервера. Переконайтеся, що ви та хост мають останню версію Mindustry!
text.server.closing=[accent] Закриття сервера ...
text.server.kicked.kick=Ви були вигнані з сервера!
text.server.kicked.invalidPassword=Невірний пароль!
text.server.kicked.clientOutdated=Застарілий клієнт! Оновіть свою гру!
text.server.kicked.serverOutdated=Застарілий сервер! Попросіть хост оновити!
text.server.connected={0} приєднався.
text.server.disconnected={0} від'єднано.
text.nohost=Неможливо розмістити сервер на власній карті!
text.hostserver=Хост-сервер
text.host=Хост
text.hosting=[accent] Відкриття сервера ...
text.hosts.refresh=Оновити
text.hosts.discovering=Знайомство з мережевими іграми
text.server.refreshing=Оновити сервери
text.hosts.none=[lightgray] Ніяких ігор у мережі не знайдено!
text.host.invalid=[scarlet] Неможливо підключитися до хосту.
text.server.friendlyfire=Дружній вогонь
text.server.add=Додати сервер
text.server.delete=Ви впевнені, що хочете видалити цей сервер?
text.server.hostname=Хост: {0}
text.server.edit=Редагувати сервер
text.joingame.title=Приєднатися до гри
text.joingame.ip=IP
text.disconnect=Роз'єднано
text.connecting=[accent] Підключення ...
text.connecting.data=[accent] Завантаження світових даних ...
text.connectfail=[crimson] Не вдалося підключитися до сервера: [orange] {0}
text.server.port=Порт
text.server.addressinuse=Адреса вже використовується!
text.server.invalidport=Недійсний номер порту.
text.server.error=[crimson] Помилка хостингу сервера: [orange] {0}
text.save.new=Нове збереження
text.save.overwrite=Ви впевнені, що хочете перезаписати цей слот для збереження?
text.overwrite=Перезаписати
text.save.none=Не знайдено жодних збережень!
text.saveload=[accent] Збереження ...
text.savefail=Не вдалося зберегти гру!
text.save.delete.confirm=Ви впевнені, що хочете видалити це збереження?
text.save.delete=Видалити
text.save.export=Експорт збереження
text.save.import.invalid=[orange] Це збереження недійсне!
text.save.import.fail=[crimson] Не вдалося імпортувати збереження: [orange] {0}
text.save.export.fail=[crimson] Не вдалося експортувати збереження: [orange] {0}
text.save.import=Імпортувати збереження
text.save.newslot=Назва збереження:
text.save.rename=Переіменувати
text.save.rename.text=Нова назва:
text.selectslot=Виберіть збереження.
text.slot=[accent] слот {0}
text.save.corrupted=[orange] Збережений файл пошкоджений або він невірний!
text.empty=<порожньо>
text.on=Увімкнути
text.off=Вимкнути
text.save.autosave=Автозбереження: {0}
text.save.map=Карта
text.save.wave=Хвиля {0}
text.save.difficulty=Складність
text.save.date=Останнє збережено: {0}
text.confirm=Підтвердити
text.delete=Видалити
text.ok=ОК
text.open=Відкрити
text.cancel=Скасувати
text.openlink=Відкрити посилання
text.back=Назад
text.quit.confirm=Ти впевнений що хочеш піти?
text.loading=[accent] Завантаження ...
text.wave=[orange] хвиля {0}
text.wave.waiting=Хвиля через {0}
text.waiting=Очікування…
text.enemies={0} Вороги
text.enemies.single=Противник
text.loadimage=Завантажити зображення
text.saveimage=Зберегти зображення
text.editor.badsize=[orange] Недійсні розміри зображення! [] Дійсні розміри карти: {0}
text.editor.errorimageload=Помилка завантаження файлу зображень: [orange] {0}
text.editor.errorimagesave=Помилка збереження файлу зображення: [orange] {0}
text.editor.generate=Генератор
text.editor.resize=Змінити розмір
text.editor.loadmap=// Завантажити карту
text.editor.savemap=Зберегти карту
text.editor.loadimage=Завантажити зображення
text.editor.saveimage=Зберегти зображення
text.editor.unsaved=[scarlet] У вас є незбережені зміни! [] Ви впевнені, що хочете вийти?
text.editor.resizemap=Змінити розмір карти
text.editor.mapname=Назва карти:
text.editor.overwrite=[accent] Попередження! Це перезаписує існуючу карту.
text.editor.selectmap=Виберіть карту для завантаження:
text.width=Ширина
text.height=Висота
text.menu=Меню
text.play=Відтворити
text.load=Завантаження
text.save=Зберегти
text.language.restart=Будь ласка, перезапустіть свою гру, щоб налаштування мови набули чинності.
text.settings.language=Мова
text.settings=Налаштування
text.tutorial=Навчальний\nпосібник
text.editor=Редактор
text.mapeditor=Редактор карт
text.donate=Підтримати проект
text.settings.reset=Скинути до стандартних
text.settings.controls=Елементи управління
text.settings.game=Гра
text.settings.sound=Звук
text.settings.graphics=Графіка
text.upgrades=Оновлення
text.purchased=[LIME] Створено!
text.weapons=Зброя
text.paused=Пауза
text.info.title=[accent] інформація
text.error.title=[crimson] Виникла помилка
text.error.crashtitle=Виникла помилка
text.blocks.blockinfo=Блокування інформації
text.blocks.powercapacity=Потужність
text.blocks.powershot=Потужність / постріл
text.blocks.size=Розмір
text.blocks.liquidcapacity=Ємкість рідини
text.blocks.maxitemssecond=Макс. Елементи / секунду
text.blocks.powerrange=Радіус потужності
text.blocks.itemcapacity=Ємкість предмету
text.blocks.inputliquid=Ввід речовини
text.blocks.inputitem=Вхідний матеріал
text.blocks.explosive=Вибухонебезпечний!
text.blocks.health=Здоров'я
text.blocks.inaccuracy=Неточність
text.blocks.shots=Постріли
text.blocks.inputcapacity=Вхідна ємність
text.blocks.outputcapacity=Випускна ємність
setting.difficulty.easy=Легкий
setting.difficulty.normal=Нормальний
setting.difficulty.hard=Важкий
setting.difficulty.insane=Божевільний
setting.difficulty.purge=Очистити
setting.difficulty.name=Складність
setting.screenshake.name=Тряска екрана
setting.indicators.name=Індикатори ворога
setting.effects.name=Ефекти відображення
setting.sensitivity.name=Чутливість контролера
setting.saveinterval.name=Інтервал автозбереження
setting.seconds={0} секунд
setting.fullscreen.name=Повноекранний
setting.multithread.name=Багатопотоковий [scarlet] (нестабільний!)
setting.fps.name=Показати FPS
setting.vsync.name=VSunc
setting.lasers.name=Показати енергетичні лазери
setting.healthbars.name=Показати здоров'я
setting.musicvol.name=Гучність музики
setting.mutemusic.name=Вимкнути музику
setting.sfxvol.name=Гучність ефектів
setting.mutesound.name=Вимкнути звук
map.maze.name=Лабіринт
map.fortress.name=Фортеця
map.sinkhole.name=Свердловина
map.caves.name=Печери
map.volcano.name=Вулкан
map.caldera.name=Кальдера
map.scorch.name=Мертва земля
map.desert.name=Пустеля
map.island.name=Острів
map.grassland.name=Пасовища
map.tundra.name=Тундра
map.spiral.name=Спіраль
map.tutorial.name=Навчання
text.keybind.title=Ключ перемотки
keybind.move_x.name=move_x
keybind.move_y.name=move_y
keybind.select.name=Вибрати
keybind.break.name={0}break{/0}{1}; {/1}
keybind.shoot.name=Постріл
keybind.zoom_hold.name=zoom_hold
keybind.zoom.name=Збільшити
keybind.block_info.name=Інформація про блок
keybind.menu.name=Меню
keybind.pause.name=Пауза
keybind.dash.name=Тире
keybind.chat.name=Чат
keybind.player_list.name=Список гравців
keybind.console.name=// Консоль 1
keybind.rotate_alt.name=rotate_alt
keybind.rotate.name=Повернути
mode.waves.name=Хвилі
mode.sandbox.name=Пісочниця
mode.freebuild.name=Вільний режим
item.stone.name=Камінь
item.coal.name=Вугівалля
item.titanium.name=Титан
item.thorium.name=Уран
item.sand.name=Пісок
liquid.water.name=Вода
liquid.lava.name=Лава
liquid.oil.name=Нафта
block.door.name=Двері
block.door-large.name=Великі двері
block.conduit.name=Трубопровід
block.pulseconduit.name=Імпульсний канал
block.liquidrouter.name=маршрутизатор для рідини
block.conveyor.name=Конвеєр
block.router.name=Маршрутизатор
block.junction.name=Міст
block.liquidjunction.name=Міст для рідини
block.sorter.name=Сортувальник
block.smelter.name=Плавильня
text.credits=Credits
text.link.discord.description=the official Mindustry discord chatroom
text.link.github.description=Game source code
text.link.dev-builds.description=Unstable development builds
text.link.trello.description=Official trello board for planned features
text.link.itch.io.description=itch.io page with PC downloads and web version
text.link.google-play.description=Google Play store listing
text.link.wiki.description=official Mindustry wiki
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard.
text.editor.web=The web version does not support the editor!\nDownload the game to use it.
text.web.unsupported=The web version does not support this feature! Download the game to use it.
text.multiplayer.web=This version of the game does not support multiplayer!\nTo play multiplayer from your browser, use the "multiplayer web version" link at the itch.io page.
text.host.web=The web version does not support hosting games! Download the game to use this feature.
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"?
text.construction.title=Block Construction Guide
text.construction=You've just selected [accent]block construction mode[].\n\nTo begin placing, simply tap a valid location near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Shift the selection[] by holding and dragging any block in the selection.\n- [accent]Place blocks in a line[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel construction or selection[] by pressing the X at the bottom left.
text.deconstruction.title=Block Deconstruction Guide
text.deconstruction=You've just selected [accent]block deconstruction mode[].\n\nTo begin breaking, simply tap a block near your ship.\nOnce you have selected some blocks, press the checkbox to confirm, and your ship will begin de-constructing them.\n\n- [accent]Remove blocks[] from your selection by tapping them.\n- [accent]Remove blocks in an area[] by tapping and holding an empty spot, then dragging in a direction.\n- [accent]Cancel deconstruction or selection[] by pressing the X at the bottom left.
text.showagain=Don't show again next session
text.unlocks=Unlocks
text.addplayers=Add/Remove Players
text.maps=Maps
text.maps.none=[LIGHT_GRAY]No maps found!
text.unlocked=New Block Unlocked!
text.unlocked.plural=New Blocks Unlocked!
text.server.kicked.fastShoot=You are shooting too quickly.
text.server.kicked.banned=You are banned on this server.
text.server.kicked.recentKick=You have been kicked recently.\nWait before connecting again.
text.server.kicked.nameInUse=There is someone with that name\nalready on this server.
text.server.kicked.nameEmpty=Your name must contain at least one character or number.
text.server.kicked.idInUse=You are already on this server! Connecting with two accounts is not permitted.
text.server.kicked.customClient=This server does not support custom builds. Download an official version.
text.host.info=The [accent]host[] button hosts a server on ports [scarlet]6567[] and [scarlet]6568.[]\nAnybody on the same [LIGHT_GRAY]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[LIGHT_GRAY]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings.
text.join.info=Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[LIGHT_GRAY]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP.
text.trace=Trace Player
text.trace.playername=Player name: [accent]{0}
text.trace.ip=IP: [accent]{0}
text.trace.id=Unique ID: [accent]{0}
text.trace.android=Android Client: [accent]{0}
text.trace.modclient=Custom Client: [accent]{0}
text.trace.totalblocksbroken=Total blocks broken: [accent]{0}
text.trace.structureblocksbroken=Structure blocks broken: [accent]{0}
text.trace.lastblockbroken=Last block broken: [accent]{0}
text.trace.totalblocksplaced=Total blocks placed: [accent]{0}
text.trace.lastblockplaced=Last block placed: [accent]{0}
text.invalidid=Invalid client ID! Submit a bug report.
text.server.bans=Bans
text.server.bans.none=No banned players found!
text.server.admins=Admins
text.server.admins.none=No admins found!
text.server.outdated=[crimson]Outdated Server![]
text.server.outdated.client=[crimson]Outdated Client![]
text.server.version=[lightgray]Version: {0}
text.server.custombuild=[yellow]Custom Build
text.confirmban=Are you sure you want to ban this player?
text.confirmunban=Are you sure you want to unban this player?
text.confirmadmin=Are you sure you want to make this player an admin?
text.confirmunadmin=Are you sure you want to remove admin status from this player?
text.disconnect.data=Failed to load world data!
text.copylink=Copy Link
text.changelog.title=Changelog
text.changelog.loading=Getting changelog...
text.changelog.error.android=[orange]Note that the changelog sometimes does not work on Android 4.4 and below!\nThis is due to an internal Android bug.
text.changelog.error.ios=[orange]The changelog is currently not supported in iOS.
text.changelog.error=[scarlet]Error getting changelog!\nCheck your internet connection.
text.changelog.current=[yellow][[Current version]
text.changelog.latest=[orange][[Latest version]
text.saving=[accent]Saving...
text.unknown=Unknown
text.custom=Custom
text.builtin=Built-In
text.map.delete.confirm=Are you sure you want to delete this map? This action cannot be undone!
text.map.random=[accent]Random Map
text.map.nospawn=This map does not have any cores for the player to spawn in! Add a [ROYAL]blue[] core to this map in the editor.
text.editor.slope=\\
text.editor.openin=Open In Editor
text.editor.oregen=Ore Generation
text.editor.oregen.info=Ore Generation:
text.editor.mapinfo=Map Info
text.editor.author=Author:
text.editor.description=Description:
text.editor.name=Name:
text.editor.teams=Teams
text.editor.elevation=Elevation
text.editor.saved=Saved!
text.editor.save.noname=Your map does not have a name! Set one in the 'map info' menu.
text.editor.save.overwrite=Your map overwrites a built-in map! Pick a different name in the 'map info' menu.
text.editor.import.exists=[scarlet]Unable to import:[] a built-in map named '{0}' already exists!
text.editor.import=Import...
text.editor.importmap=Import Map
text.editor.importmap.description=Import an already existing map
text.editor.importfile=Import File
text.editor.importfile.description=Import an external map file
text.editor.importimage=Import Terrain Image
text.editor.importimage.description=Import an external map image file
text.editor.export=Export...
text.editor.exportfile=Export File
text.editor.exportfile.description=Export a map file
text.editor.exportimage=Export Terrain Image
text.editor.exportimage.description=Export a map image file
text.editor.overwrite.confirm=[scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?
text.fps=FPS: {0}
text.tps=TPS: {0}
text.ping=Ping: {0}ms
text.settings.rebind=Rebind
text.yes=Yes
text.no=No
text.blocks.targetsair=Targets Air
text.blocks.itemspeed=Units Moved
text.blocks.shootrange=Range
text.blocks.poweruse=Power Use
text.blocks.inputitemcapacity=Input Item Capacity
text.blocks.outputitemcapacity=Input Item Capacity
text.blocks.maxpowergeneration=Max Power Generation
text.blocks.powertransferspeed=Power Transfer
text.blocks.craftspeed=Production Speed
text.blocks.inputliquidaux=Aux Liquid
text.blocks.inputitems=Input Items
text.blocks.outputitem=Output Item
text.blocks.drilltier=Drillables
text.blocks.drillspeed=Base Drill Speed
text.blocks.liquidoutput=Liquid Output
text.blocks.liquiduse=Liquid Use
text.blocks.coolant=Coolant
text.blocks.coolantuse=Coolant Use
text.blocks.inputliquidfuel=Fuel Liquid
text.blocks.liquidfueluse=Liquid Fuel Use
text.blocks.reload=Reload
text.blocks.inputfuel=Fuel
text.blocks.fuelburntime=Fuel Burn Time
text.unit.blocks=blocks
text.unit.powersecond=power units/second
text.unit.liquidsecond=liquid units/second
text.unit.itemssecond=items/second
text.unit.pixelssecond=pixels/second
text.unit.liquidunits=liquid units
text.unit.powerunits=power units
text.unit.degrees=degrees
text.unit.seconds=seconds
text.unit.none=
text.unit.items=items
text.category.general=General
text.category.power=Power
text.category.liquids=Liquids
text.category.items=Items
text.category.crafting=Crafting
text.category.shooting=Shooting
setting.minimap.name=Show Minimap
mode.text.help.title=Description of modes
mode.waves.description=the normal mode. limited resources and automatic incoming waves.
mode.sandbox.description=infinite resources and no timer for waves.
mode.freebuild.description=limited resources and no timer for waves.
content.item.name=Items
content.liquid.name=Liquids
content.unit-type.name=Units
content.recipe.name=Blocks
item.stone.description=A common raw material. Used for separating and refining into other materials, or melting into lava.
item.tungsten.name=Tungsten
item.tungsten.description=A common, but very useful structure material. Used in drills and heat-resistant blocks such as generators and smelteries.
item.lead.name=Lead
item.lead.description=A basic starter material. Used extensively in electronics and liquid transportation blocks.
item.coal.description=A common and readily available fuel.
item.carbide.name=Carbide
item.carbide.description=A tough alloy made with tungsten and carbon. Used in advanced transportation blocks and high-tier drills.
item.titanium.description=A rare super-light metal used extensively in liquid transportation, drills and aircraft.
item.thorium.description=A dense, radioactive metal used as structural support and nuclear fuel.
item.silicon.name=Silicon
item.silcion.description=An extremely useful semiconductor, with applications in solar panels and many complex electronics.
item.plastanium.name=Plastanium
item.plastanium.description=A light, ductile material used in advanced aircraft and fragmentation ammunition.
item.phase-matter.name=Phase Matter
item.surge-alloy.name=Surge Alloy
item.biomatter.name=Biomatter
item.biomatter.description=A clump of organic mush; used for conversion into oil or as a basic fuel.
item.sand.description=A common material that is used extensively in smelting, both in alloying and as a flux.
item.blast-compound.name=Blast Compound
item.blast-compound.description=A volatile compound used in bombs and explosives. While it can burned as fuel, this is not advised.
item.pyratite.name=Pyratite
item.pyratite.description=An extremely flammable substance used in incendiary weapons.
liquid.cryofluid.name=Cryofluid
text.item.explosiveness=[LIGHT_GRAY]Explosiveness: {0}
text.item.flammability=[LIGHT_GRAY]Flammability: {0}
text.item.radioactivity=[LIGHT_GRAY]Radioactivity: {0}
text.item.fluxiness=[LIGHT_GRAY]Flux Power: {0}
text.item.hardness=[LIGHT_GRAY]Hardness: {0}
text.liquid.heatcapacity=[LIGHT_GRAY]Heat Capacity: {0}
text.liquid.viscosity=[LIGHT_GRAY]Viscosity: {0}
text.liquid.temperature=[LIGHT_GRAY]Temperature: {0}
block.tungsten-wall.name=Tungsten Wall
block.tungsten-wall-large.name=Large Tungsten Wall
block.carbide-wall.name=Carbide Wall
block.carbide-wall-large.name=Large Carbide Wall
block.thorium-wall.name=Thorium Wall
block.thorium-wall-large.name=Large Thorium Wall
block.duo.name=Duo
block.scorch.name=Scorch
block.hail.name=Hail
block.lancer.name=Lancer
block.titanium-conveyor.name=Titanium Conveyor
block.splitter.name=Splitter
block.splitter.description=Outputs items into two opposite directions immediately after they are recieved.
block.router.description=Splits items into all 4 directions. Can store items as a buffer.
block.distributor.name=Distributor
block.distributor.description=A splitter that can split items into 8 directions.
block.sorter.description=Sorts items. If an item matches the selection, it is allowed to pass. Otherwise, the item is outputted to the left and right.
block.overflow-gate.name=Overflow Gate
block.overflow-gate.description=A combination splitter and router that only outputs to the left and right if the front path is blocked.
block.bridgeconveyor.name=Bridge Conveyor
block.bridgeconveyor.description=A conveyor that can go over other blocks, for up to two total blocks.
block.arc-smelter.name=Arc Smelter
block.silicon-smelter.name=Silicon Smelter
block.phase-weaver.name=Phase Weaver
block.pulverizer.name=Pulverizer
block.cryofluidmixer.name=Cryofluid Mixer
block.melter.name=Melter
block.incinerator.name=Incinerator
block.biomattercompressor.name=Biomatter Compressor
block.separator.name=Separator
block.centrifuge.name=Centrifuge
block.power-node.name=Power Node
block.power-node-large.name=Large Power Node
block.battery.name=Battery
block.battery-large.name=Large Battery
block.combustion-generator.name=Combustion Generator
block.turbine-generator.name=Turbine Generator
block.tungsten-drill.name=Tungsten Drill
block.carbide-drill.name=Carbide Drill
block.laser-drill.name=Laser Drill
block.water-extractor.name=Water Extractor
block.cultivator.name=Cultivator
block.dart-ship-factory.name=Dart Ship Factory
block.delta-mech-factory.name=Delta Mech Factory
block.dronefactory.name=Drone Factory
block.repairpoint.name=Repair Point
block.resupplypoint.name=Resupply Point
block.liquidtank.name=Liquid Tank
block.bridgeconduit.name=Bridge Conduit
block.mechanical-pump.name=Mechanical Pump
block.itemsource.name=Item Source
block.itemvoid.name=Item Void
block.liquidsource.name=Liquid Source
block.powervoid.name=Power Void
block.powerinfinite.name=Power Infinite
block.unloader.name=Unloader
block.sortedunloader.name=Sorted Unloader
block.vault.name=Vault
block.wave.name=Wave
block.swarmer.name=Swarmer
block.salvo.name=Salvo
block.ripple.name=Ripple
block.phase-conveyor.name=Phase Conveyor
block.bridge-conveyor.name=Bridge Conveyor
block.plastanium-compressor.name=Plastanium Compressor
block.pyratite-mixer.name=Pyratite Mixer
block.blast-mixer.name=Blast Mixer
block.solidifer.name=Solidifer
block.solar-panel.name=Solar Panel
block.solar-panel-large.name=Large Solar Panel
block.oil-extractor.name=Oil Extractor
block.javelin-ship-factory.name=Javelin Ship factory
block.drone-factory.name=Drone Factory
block.fabricator-factory.name=Fabricator Factory
block.repair-point.name=Repair Point
block.resupply-point.name=Resupply Point
block.pulse-conduit.name=Pulse Conduit
block.phase-conduit.name=Phase Conduit
block.liquid-router.name=Liquid Router
block.liquid-tank.name=Liquid Tank
block.liquid-junction.name=Liquid Junction
block.bridge-conduit.name=Bridge Conduit
block.rotary-pump.name=Rotary Pump
block.nuclear-reactor.name=Nuclear Reactor
+9 -22
View File
@@ -3,6 +3,8 @@ precision mediump float;
precision mediump int;
#endif
#define SPACE 1.0
uniform sampler2D u_texture;
uniform vec4 u_color;
@@ -11,30 +13,15 @@ uniform vec2 u_texsize;
varying vec4 v_color;
varying vec2 v_texCoord;
bool id(vec4 v){
return v.a > 0.1;
}
void main() {
vec2 T = v_texCoord.xy;
vec2 v = vec2(1.0/u_texsize.x, 1.0/u_texsize.y);
bool any = false;
vec4 c = texture2D(u_texture, v_texCoord.xy);
float step = 1.0;
vec4 c = texture2D(u_texture, T);
if(texture2D(u_texture, T).a < 0.1 &&
(id(texture2D(u_texture, T + vec2(0, step) * v)) || id(texture2D(u_texture, T + vec2(0, -step) * v)) ||
id(texture2D(u_texture, T + vec2(step, 0) * v)) || id(texture2D(u_texture, T + vec2(-step, 0) * v))))
any = true;
if(any){
gl_FragColor = u_color;
}else{
gl_FragColor = c * v_color;
}
gl_FragColor = mix(c * v_color, u_color,
(1.0-step(0.1, texture2D(u_texture, v_texCoord.xy).a)) *
step(0.1, texture2D(u_texture, v_texCoord.xy + vec2(0, SPACE) * v).a +
texture2D(u_texture, v_texCoord.xy + vec2(0, -SPACE) * v).a +
texture2D(u_texture, v_texCoord.xy + vec2(SPACE, 0) * v).a +
texture2D(u_texture, v_texCoord.xy + vec2(-SPACE, 0) * v).a));
}
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

After

Width:  |  Height:  |  Size: 133 KiB

+2 -4
View File
@@ -4,21 +4,19 @@
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.world.Tile" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.game.Content" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.io.Maps" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.entities.Player" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.entities.units.BaseUnit" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.world.Map" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.game.SpawnGroup" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.core.GameState" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.game.EventType" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.io.SaveFileVersion" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.type.Recipe" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.ucore.entities.impl.EffectEntity" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.net.Packets" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.net.Packet" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.entities.effect" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.entities.bullet.Bullet" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.type.Recipe" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.game.Team" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.net.Streamable" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.world.meta.BlockBar" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.world.mapgen.WorldGenerator" />
<extend-configuration-property name="gdx.reflect.include" value="com.badlogic.gdx.utils.Predicate" />
</module>
@@ -1,6 +1,5 @@
package io.anuke.mindustry;
import com.badlogic.gdx.utils.async.AsyncExecutor;
import io.anuke.mindustry.core.*;
import io.anuke.mindustry.io.BundleLoader;
import io.anuke.ucore.core.Timers;
@@ -10,7 +9,6 @@ import io.anuke.ucore.util.Log;
import static io.anuke.mindustry.Vars.*;
public class Mindustry extends ModuleCore {
private AsyncExecutor exec = new AsyncExecutor(1);
@Override
public void init(){
+1 -1
View File
@@ -168,7 +168,7 @@ public class Vars{
for(EntityGroup<?> group : Entities.getAllGroups()){
group.setRemoveListener(entity -> {
if(entity instanceof SyncTrait && Net.client()){
netClient.addRemovedEntity(((SyncTrait) entity).getID());
netClient.addRemovedEntity((entity).getID());
}
});
}
@@ -7,18 +7,11 @@ import io.anuke.mindustry.type.ContentList;
import io.anuke.mindustry.type.Liquid;
public class Liquids implements ContentList {
public static Liquid none, water, lava, oil, cryofluid;
public static Liquid water, lava, oil, cryofluid;
@Override
public void load() {
none = new Liquid("none", Color.CLEAR){
@Override
public boolean isHidden(){
return true;
}
};
water = new Liquid("water", Color.valueOf("486acd")) {
{
heatCapacity = 0.4f;
@@ -48,8 +41,8 @@ public class Liquids implements ContentList {
cryofluid = new Liquid("cryofluid", Color.SKY) {
{
heatCapacity = 0.75f;
temperature = 0.4f;
heatCapacity = 0.9f;
temperature = 0.25f;
tier = 1;
effect = StatusEffects.freezing;
}
@@ -48,7 +48,7 @@ public class Mechs implements ContentList {
}};
dart = new Mech("dart-ship", true){{
drillPower = -1;
drillPower = 1;
speed = 0.4f;
maxSpeed = 3f;
drag = 0.1f;
@@ -44,11 +44,11 @@ public class Recipes implements ContentList{
//starter lead transporation
new Recipe(distribution, DistributionBlocks.junction, new ItemStack(Items.lead, 2));
new Recipe(distribution, DistributionBlocks.router, new ItemStack(Items.lead, 6));
new Recipe(distribution, DistributionBlocks.splitter, new ItemStack(Items.lead, 6));
//advanced carbide transporation
new Recipe(distribution, DistributionBlocks.splitter, new ItemStack(Items.carbide, 2), new ItemStack(Items.tungsten, 2));
new Recipe(distribution, DistributionBlocks.multiplexer, new ItemStack(Items.carbide, 8), new ItemStack(Items.tungsten, 8));
//new Recipe(distribution, DistributionBlocks.splitter, new ItemStack(Items.carbide, 2), new ItemStack(Items.tungsten, 2));
new Recipe(distribution, DistributionBlocks.distributor, new ItemStack(Items.carbide, 8), new ItemStack(Items.tungsten, 8));
new Recipe(distribution, DistributionBlocks.sorter, new ItemStack(Items.carbide, 4), new ItemStack(Items.tungsten, 4));
new Recipe(distribution, DistributionBlocks.overflowGate, new ItemStack(Items.carbide, 4), new ItemStack(Items.tungsten, 8));
new Recipe(distribution, DistributionBlocks.bridgeConveyor, new ItemStack(Items.carbide, 8), new ItemStack(Items.tungsten, 8));
@@ -145,17 +145,14 @@ public class Blocks extends BlockList implements ContentList{
rock = new Rock("rock") {{
variants = 2;
varyShadow = true;
}};
icerock = new Rock("icerock") {{
variants = 2;
varyShadow = true;
}};
blackrock = new Rock("blackrock") {{
variants = 1;
varyShadow = true;
}};
}
}
@@ -13,52 +13,51 @@ import io.anuke.mindustry.world.blocks.production.*;
public class CraftingBlocks extends BlockList implements ContentList {
public static Block smelter, arcsmelter, siliconsmelter, plastaniumCompressor, phaseWeaver, alloysmelter, alloyfuser,
pyratiteMixer, blastMixer,
cryofluidmixer, melter, separator, centrifuge, biomatterCompressor, pulverizer, oilRefinery, solidifier, incinerator;
cryofluidmixer, melter, separator, centrifuge, biomatterCompressor, pulverizer, solidifier, incinerator;
@Override
public void load() {
smelter = new Smelter("smelter") {{
health = 70;
inputs = new ItemStack[]{new ItemStack(Items.tungsten, 3)};
fuel = Items.coal;
result = Items.carbide;
craftTime = 45f;
burnDuration = 35f;
useFlux = true;
consumes.items(new ItemStack[]{new ItemStack(Items.tungsten, 3)});
consumes.item(Items.coal);
}};
arcsmelter = new PowerSmelter("arc-smelter") {{
health = 90;
craftEffect = BlockFx.smeltsmoke;
inputs = new ItemStack[]{new ItemStack(Items.coal, 1), new ItemStack(Items.tungsten, 2)};
result = Items.carbide;
powerUse = 0.1f;
craftTime = 30f;
size = 2;
useFlux = true;
fluxNeeded = 2;
consumes.items(new ItemStack[]{new ItemStack(Items.coal, 1), new ItemStack(Items.tungsten, 2)});
consumes.power(0.1f);
}};
siliconsmelter = new PowerSmelter("silicon-smelter") {{
health = 90;
craftEffect = BlockFx.smeltsmoke;
inputs = new ItemStack[]{new ItemStack(Items.coal, 1), new ItemStack(Items.sand, 2)};
result = Items.silicon;
powerUse = 0.05f;
craftTime = 40f;
size = 2;
hasLiquids = false;
flameColor = Color.valueOf("ffef99");
consumes.items(new ItemStack[]{new ItemStack(Items.coal, 1), new ItemStack(Items.sand, 2)});
consumes.power(0.05f);
}};
plastaniumCompressor = new PlastaniumCompressor("plastanium-compressor") {{
inputLiquid = Liquids.oil;
inputItem = new ItemStack(Items.titanium, 2);
hasItems = true;
liquidUse = 0.3f;
liquidCapacity = 60f;
powerUse = 0.5f;
craftTime = 80f;
output = Items.plastanium;
itemCapacity = 30;
@@ -67,66 +66,75 @@ public class CraftingBlocks extends BlockList implements ContentList {
hasPower = hasLiquids = true;
craftEffect = BlockFx.formsmoke;
updateEffect = BlockFx.plasticburn;
consumes.liquid(Liquids.oil, 0.3f);
consumes.power(0.4f);
consumes.item(Items.titanium, 2);
}};
phaseWeaver = new PhaseWeaver("phase-weaver") {{
health = 90;
craftEffect = BlockFx.smeltsmoke;
inputs = new ItemStack[]{new ItemStack(Items.thorium, 4), new ItemStack(Items.sand, 10)};
result = Items.phasematter;
powerUse = 0.4f;
craftTime = 120f;
size = 2;
consumes.items(new ItemStack[]{new ItemStack(Items.thorium, 4), new ItemStack(Items.sand, 10)});
consumes.power(0.5f);
}};
alloysmelter = new PowerSmelter("alloy-smelter") {{
health = 90;
craftEffect = BlockFx.smeltsmoke;
inputs = new ItemStack[]{new ItemStack(Items.titanium, 2), new ItemStack(Items.lead, 4), new ItemStack(Items.silicon, 3), new ItemStack(Items.plastanium, 2)};
result = Items.surgealloy;
powerUse = 0.3f;
craftTime = 50f;
size = 2;
useFlux = true;
fluxNeeded = 4;
consumes.power(0.3f);
consumes.items(new ItemStack[]{new ItemStack(Items.titanium, 2), new ItemStack(Items.lead, 4), new ItemStack(Items.silicon, 3), new ItemStack(Items.plastanium, 2)});
}};
alloyfuser = new PowerSmelter("alloy-fuser") {{
health = 90;
craftEffect = BlockFx.smeltsmoke;
inputs = new ItemStack[]{new ItemStack(Items.titanium, 3), new ItemStack(Items.lead, 4), new ItemStack(Items.silicon, 3), new ItemStack(Items.plastanium, 2)};
result = Items.surgealloy;
powerUse = 0.4f;
craftTime = 30f;
size = 3;
useFlux = true;
fluxNeeded = 4;
consumes.items(new ItemStack[]{new ItemStack(Items.titanium, 3), new ItemStack(Items.lead, 4), new ItemStack(Items.silicon, 3), new ItemStack(Items.plastanium, 2)});
consumes.power(0.4f);
}};
cryofluidmixer = new LiquidMixer("cryofluidmixer") {{
health = 200;
inputLiquid = Liquids.water;
outputLiquid = Liquids.cryofluid;
inputItem = Items.titanium;
liquidPerItem = 50f;
itemCapacity = 50;
powerUse = 0.1f;
size = 2;
hasPower = true;
consumes.power(0.1f);
consumes.item(Items.titanium);
consumes.liquid(Liquids.water, 0.3f);
}};
blastMixer = new GenericCrafter("blast-mixer") {{
itemCapacity = 20;
hasItems = true;
hasPower = true;
inputLiquid = Liquids.oil;
liquidUse = 0.05f;
inputItem = new ItemStack(Items.pyratite, 1);
hasLiquids = true;
output = Items.blastCompound;
powerUse = 0.04f;
size = 2;
consumes.liquid(Liquids.oil, 0.05f);
consumes.item(Items.pyratite, 1);
consumes.power(0.04f);
}};
pyratiteMixer = new PowerSmelter("pyratite-mixer") {{
@@ -134,27 +142,27 @@ public class CraftingBlocks extends BlockList implements ContentList {
itemCapacity = 20;
hasItems = true;
hasPower = true;
inputs = new ItemStack[]{new ItemStack(Items.coal, 1), new ItemStack(Items.lead, 2), new ItemStack(Items.sand, 2)};
result = Items.pyratite;
powerUse = 0.02f;
size = 2;
consumes.power(0.02f);
consumes.items(new ItemStack[]{new ItemStack(Items.coal, 1), new ItemStack(Items.lead, 2), new ItemStack(Items.sand, 2)});
}};
melter = new PowerCrafter("melter") {{
health = 200;
outputLiquid = Liquids.lava;
outputLiquidAmount = 0.05f;
input = new ItemStack(Items.stone, 1);
outputLiquidAmount = 0.75f;
itemCapacity = 50;
craftTime = 10f;
powerUse = 0.1f;
hasLiquids = hasPower = true;
consumes.power(0.1f);
consumes.item(Items.stone, 2);
}};
separator = new Separator("separator") {{
liquid = Liquids.water;
item = Items.stone;
results = new Item[]{
null, null, null, null, null, null, null, null, null, null,
Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand,
@@ -164,15 +172,15 @@ public class CraftingBlocks extends BlockList implements ContentList {
Items.coal, Items.coal,
Items.titanium
};
liquidUse = 0.2f;
filterTime = 40f;
itemCapacity = 40;
health = 50;
consumes.item(Items.stone, 2);
consumes.liquid(Liquids.water, 0.3f);
}};
centrifuge = new Separator("centrifuge") {{
liquid = Liquids.water;
item = Items.stone;
results = new Item[]{
null, null, null, null, null, null, null, null, null, null, null, null, null,
Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand,
@@ -184,9 +192,7 @@ public class CraftingBlocks extends BlockList implements ContentList {
Items.thorium,
};
liquidUse = 0.3f;
hasPower = true;
powerUse = 0.2f;
filterTime = 15f;
itemCapacity = 60;
health = 50 * 4;
@@ -195,53 +201,49 @@ public class CraftingBlocks extends BlockList implements ContentList {
spinnerThickness = 1.5f;
spinnerSpeed = 3f;
size = 2;
consumes.item(Items.stone, 2);
consumes.power(0.2f);
consumes.liquid(Liquids.water, 0.5f);
}};
biomatterCompressor = new Compressor("biomattercompressor") {{
input = new ItemStack(Items.biomatter, 1);
liquidCapacity = 60f;
itemCapacity = 50;
powerUse = 0.06f;
craftTime = 25f;
outputLiquid = Liquids.oil;
outputLiquidAmount = 0.1f;
outputLiquidAmount = 0.14f;
size = 2;
health = 320;
hasLiquids = true;
consumes.item(Items.biomatter, 1);
consumes.power(0.06f);
}};
pulverizer = new Pulverizer("pulverizer") {{
inputItem = new ItemStack(Items.stone, 2);
itemCapacity = 40;
powerUse = 0.2f;
output = Items.sand;
health = 80;
craftEffect = BlockFx.pulverize;
craftTime = 60f;
updateEffect = BlockFx.pulverizeSmall;
hasItems = hasPower = true;
}};
oilRefinery = new GenericCrafter("oilrefinery") {{
inputLiquid = Liquids.oil;
powerUse = 0.05f;
liquidUse = 0.1f;
liquidCapacity = 56f;
output = Items.coal;
health = 80;
craftEffect = BlockFx.purifyoil;
hasItems = hasLiquids = hasPower = true;
consumes.item(Items.stone, 2);
consumes.power(0.2f);
}};
solidifier = new GenericCrafter("solidifer") {{
inputLiquid = Liquids.lava;
liquidUse = 1f;
liquidCapacity = 21f;
craftTime = 14;
output = Items.stone;
itemCapacity = 20;
health = 80;
craftEffect = BlockFx.purifystone;
hasLiquids = hasItems = true;
consumes.liquid(Liquids.lava, 1f);
}};
incinerator = new Incinerator("incinerator") {{
@@ -56,7 +56,7 @@ public class DebugBlocks extends BlockList implements ContentList{
@Override
public void update(Tile tile) {
SorterEntity entity = tile.entity();
entity.items.items[entity.sortItem.id] = 1;
entity.items.set(entity.sortItem, 1);
tryDump(tile, entity.sortItem);
}
@@ -79,9 +79,8 @@ public class DebugBlocks extends BlockList implements ContentList{
public void update(Tile tile) {
LiquidSourceEntity entity = tile.entity();
tile.entity.liquids.amount = liquidCapacity;
tile.entity.liquids.liquid = entity.source;
tryDumpLiquid(tile);
tile.entity.liquids.add(entity.source, liquidCapacity);
tryDumpLiquid(tile, entity.source);
}
@Override
@@ -35,11 +35,11 @@ public class DefenseBlocks extends BlockList implements ContentList {
}};
thoriumWall = new Wall("thorium-wall") {{
health = 110 * wallHealthMultiplier;
health = 200 * wallHealthMultiplier;
}};
thoriumWallLarge = new Wall("thorium-wall-large") {{
health = 110 * wallHealthMultiplier*4;
health = 200 * wallHealthMultiplier*4;
size = 2;
}};
@@ -5,7 +5,7 @@ import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.blocks.distribution.*;
public class DistributionBlocks extends BlockList implements ContentList{
public static Block conveyor, titaniumconveyor, router, multiplexer, junction,
public static Block conveyor, titaniumconveyor, distributor, junction,
bridgeConveyor, phaseConveyor, sorter, splitter, overflowGate, massDriver;
@Override
@@ -21,13 +21,6 @@ public class DistributionBlocks extends BlockList implements ContentList{
speed = 0.07f;
}};
router = new Router("router");
multiplexer = new Router("multiplexer") {{
size = 2;
itemCapacity = 80;
}};
junction = new Junction("junction") {{
speed = 26;
capacity = 32;
@@ -46,6 +39,10 @@ public class DistributionBlocks extends BlockList implements ContentList{
splitter = new Splitter("splitter");
distributor = new Splitter("distributor") {{
size = 2;
}};
overflowGate = new OverflowGate("overflow-gate");
massDriver = new MassDriver("mass-driver"){{
@@ -20,15 +20,16 @@ public class LiquidBlocks extends BlockList implements ContentList{
rotaryPump = new Pump("rotary-pump") {{
shadow = "shadow-rounded-2";
pumpAmount = 0.25f;
powerUse = 0.015f;
consumes.power(0.015f);
liquidCapacity = 30f;
hasPower = true;
size = 2;
tier = 1;
}};
thermalPump = new Pump("thermal-pump") {{
pumpAmount = 0.3f;
powerUse = 0.02f;
consumes.power(0.05f);
liquidCapacity = 40f;
size = 2;
tier = 2;
@@ -1,5 +1,6 @@
package io.anuke.mindustry.content.blocks;
import io.anuke.mindustry.content.Liquids;
import io.anuke.mindustry.content.fx.BlockFx;
import io.anuke.mindustry.type.ContentList;
import io.anuke.mindustry.world.Block;
@@ -32,7 +33,7 @@ public class PowerBlocks extends BlockList implements ContentList {
powerCapacity = 40f;
itemDuration = 30f;
powerPerLiquid = 0.7f;
auxLiquidUse = 0.05f;
consumes.liquid(Liquids.water, 0.05f);
size = 2;
}};
@@ -29,17 +29,17 @@ public class ProductionBlocks extends BlockList implements ContentList {
laserdrill = new Drill("laser-drill") {{
drillTime = 180;
size = 2;
powerUse = 0.2f;
hasPower = true;
tier = 4;
updateEffect = BlockFx.pulverizeMedium;
drillEffect = BlockFx.mineBig;
consumes.power(0.2f);
}};
blastdrill = new Drill("blast-drill") {{
drillTime = 120;
size = 3;
powerUse = 0.5f;
drawRim = true;
hasPower = true;
tier = 5;
@@ -48,13 +48,14 @@ public class ProductionBlocks extends BlockList implements ContentList {
drillEffect = BlockFx.mineHuge;
rotateSpeed = 6f;
warmupSpeed = 0.01f;
consumes.power(0.5f);
}};
plasmadrill = new Drill("plasma-drill") {{
heatColor = Color.valueOf("ff461b");
drillTime = 90;
size = 4;
powerUse = 0.7f;
hasLiquids = true;
hasPower = true;
tier = 5;
@@ -64,38 +65,43 @@ public class ProductionBlocks extends BlockList implements ContentList {
updateEffectChance = 0.04f;
drillEffect = BlockFx.mineHuge;
warmupSpeed = 0.005f;
consumes.power(0.7f);
}};
waterextractor = new SolidPump("water-extractor") {{
result = Liquids.water;
powerUse = 0.2f;
pumpAmount = 0.1f;
size = 2;
liquidCapacity = 30f;
rotateSpeed = 1.4f;
consumes.power(0.2f);
}};
oilextractor = new Fracker("oil-extractor") {{
result = Liquids.oil;
inputLiquid = Liquids.water;
updateEffect = BlockFx.pulverize;
liquidCapacity = 50f;
updateEffectChance = 0.05f;
inputLiquidUse = 0.3f;
powerUse = 0.6f;
pumpAmount = 0.06f;
pumpAmount = 0.08f;
size = 3;
liquidCapacity = 30f;
consumes.item(Items.sand);
consumes.power(0.5f);
consumes.liquid(Liquids.water, 0.3f);
}};
cultivator = new Cultivator("cultivator") {{
result = Items.biomatter;
inputLiquid = Liquids.water;
liquidUse = 0.2f;
drillTime = 260;
size = 2;
hasLiquids = true;
hasPower = true;
consumes.power(0.08f);
consumes.liquid(Liquids.water, 0.2f);
}};
}
@@ -19,6 +19,7 @@ public class StorageBlocks extends BlockList implements ContentList {
vault = new Vault("vault") {{
size = 3;
health = 600;
itemCapacity = 2000;
}};
unloader = new Unloader("unloader") {{
@@ -73,10 +73,10 @@ public class TurretBlocks extends BlockList implements ContentList {
health = 360;
drawer = (tile, entity) -> {
Draw.rect(name, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90);
Draw.rect(region, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90);
Draw.color(entity.liquids.liquid.color);
Draw.alpha(entity.liquids.amount / liquidCapacity);
Draw.color(entity.liquids.current().color);
Draw.alpha(entity.liquids.total() / liquidCapacity);
Draw.rect(name + "-liquid", tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90);
Draw.color();
};
@@ -145,7 +145,7 @@ public class TurretBlocks extends BlockList implements ContentList {
ammoUseEffect = ShootFx.shellEjectBig;
drawer = (tile, entity) -> {
Draw.rect(name, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90);
Draw.rect(region, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90);
float offsetx = (int) (Mathf.abscurve(Mathf.curve(entity.reload / reload, 0.3f, 0.2f)) * 3f);
float offsety = -(int) (Mathf.abscurve(Mathf.curve(entity.reload / reload, 0.3f, 0.2f)) * 2f);
@@ -16,19 +16,16 @@ public class UnitBlocks extends BlockList implements ContentList {
type = UnitTypes.drone;
produceTime = 800;
size = 2;
requirements = new ItemStack[]{
new ItemStack(Items.silicon, 30), new ItemStack(Items.lead, 30)
};
consumes.power(0.08f);
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 30), new ItemStack(Items.lead, 30)});
}};
fabricatorFactory = new UnitFactory("fabricator-factory") {{
type = UnitTypes.fabricator;
produceTime = 1600;
size = 2;
powerUse = 0.2f;
requirements = new ItemStack[]{
new ItemStack(Items.silicon, 70), new ItemStack(Items.lead, 80), new ItemStack(Items.titanium, 80)
};
consumes.power(0.2f);
consumes.items(new ItemStack[]{new ItemStack(Items.silicon, 70), new ItemStack(Items.lead, 80), new ItemStack(Items.titanium, 80)});
}};
resupplyPoint = new ResupplyPoint("resupply-point") {{
+8 -11
View File
@@ -20,7 +20,6 @@ import io.anuke.mindustry.input.MobileInput;
import io.anuke.mindustry.io.Map;
import io.anuke.mindustry.io.Saves;
import io.anuke.mindustry.net.Net;
import io.anuke.mindustry.type.Item;
import io.anuke.mindustry.type.Recipe;
import io.anuke.mindustry.ui.dialogs.FloatingDialog;
import io.anuke.ucore.core.*;
@@ -166,12 +165,14 @@ public class Control extends Module{
Player[] old = players;
players = new Player[index + 1];
System.arraycopy(old, 0, players, 0, old.length);
InputHandler[] oldi = inputs;
inputs = new InputHandler[index + 1];
System.arraycopy(oldi, 0, inputs, 0, oldi.length);
}
if(inputs.length != index + 1){
InputHandler[] oldi = inputs;
inputs = new InputHandler[index + 1];
System.arraycopy(oldi, 0, inputs, 0, oldi.length);
}
Player setTo = (index == 0 ? null : players[0]);
Player player = new Player();
@@ -262,11 +263,7 @@ public class Control extends Module{
if(entity == null) return;
for (int i = 0; i < entity.items.items.length; i++) {
if(entity.items.items[i] <= 0) continue;
Item item = Item.getByID(i);
control.database().unlockContent(item);
}
entity.items.forEach((item, amount) -> control.database().unlockContent(item));
if(players[0].inventory.hasItem()){
control.database().unlockContent(players[0].inventory.getItem().item);
@@ -274,7 +271,7 @@ public class Control extends Module{
for(int i = 0 ; i < Recipe.all().size; i ++){
Recipe recipe = Recipe.all().get(i);
if(!recipe.debugOnly && entity.items.hasItems(recipe.requirements, 1.4f)){
if(!recipe.debugOnly && entity.items.has(recipe.requirements, 1.4f)){
if(control.database().unlockContent(recipe)){
ui.hudfrag.showUnlock(recipe);
}
+3 -10
View File
@@ -54,12 +54,12 @@ public class Logic extends Module {
if(debug) {
for (Item item : Item.all()) {
if (item.type == ItemType.material) {
tile.entity.items.addItem(item, 1000);
tile.entity.items.add(item, 1000);
}
}
}else{
tile.entity.items.addItem(Items.tungsten, 50);
tile.entity.items.addItem(Items.lead, 20);
tile.entity.items.add(Items.tungsten, 50);
tile.entity.items.add(Items.lead, 20);
}
}
}
@@ -158,13 +158,6 @@ public class Logic extends Module {
for(EntityGroup group : unitGroups){
if(!group.isEmpty()){
EntityPhysics.collideGroups(bulletGroup, group);
/*
for(EntityGroup other : unitGroups){
if(!other.isEmpty()){
EntityPhysics.collideGroups(group, other);
}
}*/
}
}
@@ -1,5 +1,6 @@
package io.anuke.mindustry.core;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.utils.Base64Coder;
import com.badlogic.gdx.utils.IntSet;
@@ -175,7 +176,7 @@ public class NetClient extends Module {
ui.loadfrag.hide();
ui.join.hide();
Net.setClientLoaded(true);
Call.connectConfirm();
Gdx.app.postRunnable(Call::connectConfirm);
Timers.runTask(40f, Platform.instance::updateRPC);
}
@@ -250,7 +251,7 @@ public class NetClient extends Module {
}
@Remote(variants = Variant.one, priority = PacketPriority.low, unreliable = true)
public static void onSnapshot(byte[] chunk, int snapshotID, short chunkID, short totalLength, int base){
public static void onSnapshot(byte[] chunk, int snapshotID, short chunkID, int totalLength, int base){
if(NetServer.showSnapshotSize) Log.info("Recieved snapshot: len {0} ID {1} chunkID {2} totalLength {3} base {4} client-base {5}", chunk.length, snapshotID, chunkID, totalLength, base, netClient.lastSnapshotBaseID);
//skip snapshot IDs that have already been recieved OR snapshots that are too far in front
@@ -449,7 +449,7 @@ public class NetServer extends Module{
/**Sends a raw byte[] snapshot to a client, splitting up into chunks when needed.*/
private static void sendSplitSnapshot(int userid, byte[] bytes, int snapshotID, int base){
if(bytes.length < maxSnapshotSize){
Call.onSnapshot(userid, bytes, snapshotID, (short)0, (short)bytes.length, base);
Call.onSnapshot(userid, bytes, snapshotID, (short)0, bytes.length, base);
}else{
int remaining = bytes.length;
int offset = 0;
@@ -464,7 +464,7 @@ public class NetServer extends Module{
}else {
toSend = Arrays.copyOfRange(bytes, offset, Math.min(offset + maxSnapshotSize, bytes.length));
}
Call.onSnapshot(userid, toSend, snapshotID, (short)chunkid, (short)bytes.length, base);
Call.onSnapshot(userid, toSend, snapshotID, (short)chunkid, bytes.length, base);
remaining -= used;
offset += used;
@@ -494,14 +494,12 @@ public class NetServer extends Module{
return;
}
String ip = player.con.address;
if(action == AdminAction.wave) {
//no verification is done, so admins can hypothetically spam waves
//not a real issue, because server owners may want to do just that
state.wavetime = 0f;
}else if(action == AdminAction.ban){
netServer.admins.banPlayerIP(ip);
netServer.admins.banPlayerIP(other.con.address);
netServer.kick(other.con.id, KickReason.banned);
Log.info("&lc{0} has banned {1}.", player.name, other.name);
}else if(action == AdminAction.kick){
@@ -4,8 +4,6 @@ import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.utils.Base64Coder;
import io.anuke.mindustry.core.ThreadHandler.ThreadProvider;
import io.anuke.ucore.core.Settings;
import io.anuke.ucore.entities.EntityGroup;
import io.anuke.ucore.entities.trait.Entity;
import io.anuke.ucore.function.Consumer;
import io.anuke.ucore.scene.ui.TextField;
@@ -87,7 +85,6 @@ public abstract class Platform {
@Override public void stop() {}
@Override public void notify(Object object) {}
@Override public void wait(Object object) {}
@Override public <T extends Entity> void switchContainer(EntityGroup<T> group) {}
};
}
+31 -1
View File
@@ -219,12 +219,13 @@ public class Renderer extends RendererModule{
Graphics.endShaders();
}
drawAllTeams(false);
blocks.skipLayer(Layer.turret);
blocks.drawBlocks(Layer.laser);
drawFlyerShadows();
drawAllTeams(true);
drawAndInterpolate(bulletGroup);
@@ -251,6 +252,35 @@ public class Renderer extends RendererModule{
batch.end();
}
private void drawFlyerShadows(){
Graphics.surface(effectSurface, true, false);
float trnsX = 12, trnsY = -13;
Graphics.end();
Core.batch.getTransformMatrix().translate(trnsX, trnsY, 0);
Graphics.begin();
for(EntityGroup<? extends BaseUnit> group : unitGroups){
if(!group.isEmpty()){
drawAndInterpolate(group, unit -> unit.isFlying() && !unit.isDead(), Unit::drawShadow);
}
}
if(!playerGroup.isEmpty()){
drawAndInterpolate(playerGroup, unit -> unit.isFlying() && !unit.isDead(), Unit::drawShadow);
}
Graphics.end();
Core.batch.getTransformMatrix().translate(-trnsX, -trnsY, 0);
Graphics.begin();
//TODO this actually isn't necessary
Draw.color(0, 0, 0, 0.15f);
Graphics.flushSurface();
Draw.color();
}
private void drawAllTeams(boolean flying){
for(Team team : Team.all){
EntityGroup<BaseUnit> group = unitGroups[team.ordinal()];
@@ -1,20 +1,16 @@
package io.anuke.mindustry.core;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Queue;
import com.badlogic.gdx.utils.TimeUtils;
import io.anuke.ucore.core.Timers;
import io.anuke.ucore.entities.Entities;
import io.anuke.ucore.entities.EntityGroup;
import io.anuke.ucore.entities.EntityGroup.ArrayContainer;
import io.anuke.ucore.entities.trait.Entity;
import io.anuke.ucore.util.Log;
import static io.anuke.mindustry.Vars.control;
import static io.anuke.mindustry.Vars.logic;
public class ThreadHandler {
private final Array<Runnable> toRun = new Array<>();
private final Queue<Runnable> toRun = new Queue<>();
private final ThreadProvider impl;
private float delta = 1f;
private float smoothDelta = 1f;
@@ -37,7 +33,7 @@ public class ThreadHandler {
public void run(Runnable r){
if(enabled) {
synchronized (toRun) {
toRun.add(r);
toRun.addLast(r);
}
}else{
r.run();
@@ -55,7 +51,7 @@ public class ThreadHandler {
public void runDelay(Runnable r){
if(enabled) {
synchronized (toRun) {
toRun.add(r);
toRun.addLast(r);
}
}else{
Gdx.app.postRunnable(r);
@@ -89,9 +85,6 @@ public class ThreadHandler {
public void setEnabled(boolean enabled){
if(enabled){
logic.doUpdate = false;
for(EntityGroup<?> group : Entities.getAllGroups()){
impl.switchContainer(group);
}
Timers.runTask(2f, () -> {
impl.start(this::runLogic);
this.enabled = true;
@@ -99,9 +92,6 @@ public class ThreadHandler {
}else{
this.enabled = false;
impl.stop();
for(EntityGroup<?> group : Entities.getAllGroups()){
group.setContainer(new ArrayContainer<>());
}
Timers.runTask(2f, () -> {
logic.doUpdate = true;
});
@@ -113,7 +103,7 @@ public class ThreadHandler {
}
public boolean doInterpolate(){
return enabled && Math.abs(Gdx.graphics.getFramesPerSecond() - getTPS()) > 15;
return enabled && Gdx.graphics.getFramesPerSecond() - getTPS() > 20 && getTPS() < 30;
}
public boolean isOnThread(){
@@ -125,11 +115,17 @@ public class ThreadHandler {
while (true) {
long time = TimeUtils.nanoTime();
synchronized (toRun) {
for(Runnable r : toRun){
r.run();
while(true){
Runnable r;
synchronized (toRun){
if(toRun.size > 0){
r = toRun.removeFirst();
}else{
break;
}
}
toRun.clear();
r.run();
}
logic.doUpdate = true;
@@ -175,6 +171,5 @@ public class ThreadHandler {
void stop();
void wait(Object object) throws InterruptedException;
void notify(Object object);
<T extends Entity> void switchContainer(EntityGroup<T> group);
}
}
+2 -2
View File
@@ -147,7 +147,7 @@ public class UI extends SceneModule{
}
Graphics.end();
Draw.color();
}
@Override
@@ -225,7 +225,7 @@ public class UI extends SceneModule{
public void loadAnd(String text, Callable call){
loadfrag.show(text);
Timers.runTask(6f, () -> {
Timers.runTask(7f, () -> {
call.run();
loadfrag.hide();
});
+29 -2
View File
@@ -10,6 +10,7 @@ import io.anuke.mindustry.content.blocks.Blocks;
import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.game.EventType.TileChangeEvent;
import io.anuke.mindustry.game.EventType.WorldLoadEvent;
import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.io.*;
import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.Tile;
@@ -93,11 +94,11 @@ public class World extends Module{
}
public int width(){
return tiles.length;
return tiles == null ? 0 : tiles.length;
}
public int height(){
return tiles[0].length;
return tiles == null ? 0 : tiles[0].length;
}
public int toPacked(int x, int y){
@@ -170,6 +171,10 @@ public class World extends Module{
for(int x = 0; x < tiles.length; x ++) {
for (int y = 0; y < tiles[0].length; y++) {
tiles[x][y].updateOcclusion();
if(tiles[x][y].entity != null){
tiles[x][y].entity.updateProximity();
}
}
}
@@ -263,6 +268,28 @@ public class World extends Module{
}
}
public void setBlock(Tile tile, Block block, Team team){
tile.setBlock(block);
if (block.isMultiblock()) {
int offsetx = -(block.size - 1) / 2;
int offsety = -(block.size - 1) / 2;
for (int dx = 0; dx < block.size; dx++) {
for (int dy = 0; dy < block.size; dy++) {
int worldx = dx + offsetx + tile.x;
int worldy = dy + offsety + tile.y;
if (!(worldx == tile.x && worldy == tile.y)) {
Tile toplace = world.tile(worldx, worldy);
if (toplace != null) {
toplace.setLinked((byte) (dx + offsetx), (byte) (dy + offsety));
toplace.setTeam(team);
}
}
}
}
}
}
/**Raycast, but with world coordinates.*/
public GridPoint2 raycastWorld(float x, float y, float x2, float y2){
return raycast(Mathf.scl2(x, tilesize), Mathf.scl2(y, tilesize),
@@ -39,14 +39,16 @@ public class MapEditor{
return tags;
}
public void beginEdit(MapTileData map, ObjectMap<String, String> tags){
public void beginEdit(MapTileData map, ObjectMap<String, String> tags, boolean clear){
this.map = map;
this.brushSize = 1;
this.tags = tags;
for (int x = 0; x < map.width(); x++) {
for (int y = 0; y < map.height(); y++) {
map.write(x, y, DataPosition.floor, (byte)Blocks.stone.id);
if(clear) {
for (int x = 0; x < map.width(); x++) {
for (int y = 0; y < map.height(); y++) {
map.write(x, y, DataPosition.floor, (byte) Blocks.stone.id);
}
}
}
@@ -3,7 +3,6 @@ package io.anuke.mindustry.editor;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.utils.Align;
@@ -26,7 +25,6 @@ import io.anuke.ucore.core.Timers;
import io.anuke.ucore.function.Consumer;
import io.anuke.ucore.function.Listenable;
import io.anuke.ucore.graphics.Draw;
import io.anuke.ucore.graphics.Pixmaps;
import io.anuke.ucore.input.Input;
import io.anuke.ucore.scene.actions.Actions;
import io.anuke.ucore.scene.builders.build;
@@ -107,7 +105,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
MapMeta meta = MapIO.readMapMeta(stream);
MapTileData data = MapIO.readTileData(stream, meta, false);
editor.beginEdit(data, meta.tags);
editor.beginEdit(data, meta.tags, false);
view.clearStack();
}catch (Exception e){
ui.showError(Bundles.format("text.editor.errorimageload", Strings.parseException(e, false)));
@@ -115,17 +113,17 @@ public class MapEditorDialog extends Dialog implements Disposable{
}
});
}, true, mapExtension);
},
}/*,
"$text.editor.importimage", "$text.editor.importimage.description", "icon-file-image", (Listenable)() -> {
if(gwt){
ui.showError("text.web.unsupported");
ui.showError("$text.web.unsupported");
}else {
Platform.instance.showFileChooser("$text.loadimage", "Image Files", file -> {
ui.loadAnd(() -> {
try{
MapTileData data = MapIO.readPixmap(new Pixmap(file));
editor.beginEdit(data, editor.getTags());
editor.beginEdit(data, editor.getTags(), false);
view.clearStack();
}catch (Exception e){
ui.showError(Bundles.format("text.editor.errorimageload", Strings.parseException(e, false)));
@@ -134,7 +132,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
});
}, true, "png");
}
}));
}*/));
t.addImageTextButton("$text.editor.export", "icon-save-map", isize, () -> createDialog("$text.editor.export",
"$text.editor.exportfile", "$text.editor.exportfile.description", "icon-file", (Listenable)() -> {
@@ -165,11 +163,11 @@ public class MapEditorDialog extends Dialog implements Disposable{
Log.err(e);
}
}
},
}/*,
"$text.editor.exportimage", "$text.editor.exportimage.description", "icon-file-image", (Listenable)() -> {
if(gwt){
ui.showError("text.web.unsupported");
}else {
ui.showError("$text.web.unsupported");
}else{
Platform.instance.showFileChooser("$text.saveimage", "Image Files", file -> {
file = file.parent().child(file.nameWithoutExtension() + ".png");
FileHandle result = file;
@@ -183,7 +181,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
});
}, false, "png");
}
}));
}*/));
t.row();
@@ -213,7 +211,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
MapMeta meta = MapIO.readMapMeta(stream);
MapTileData data = MapIO.readTileData(stream, meta, false);
editor.beginEdit(data, meta.tags);
editor.beginEdit(data, meta.tags, false);
view.clearStack();
}catch (IOException e){
ui.showError(Bundles.format("text.editor.errormapload", Strings.parseException(e, false)));
@@ -254,7 +252,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
view.clearStack();
Core.scene.setScrollFocus(view);
if(!shownWithMap){
editor.beginEdit(new MapTileData(256, 256), new ObjectMap<>());
editor.beginEdit(new MapTileData(256, 256), new ObjectMap<>(), true);
}
shownWithMap = false;
@@ -348,7 +346,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
shownWithMap = true;
DataInputStream stream = new DataInputStream(is);
MapMeta meta = MapIO.readMapMeta(stream);
editor.beginEdit(MapIO.readTileData(stream, meta, false), meta.tags);
editor.beginEdit(MapIO.readTileData(stream, meta, false), meta.tags, false);
is.close();
show();
}catch (Exception e){
@@ -368,13 +366,11 @@ public class MapEditorDialog extends Dialog implements Disposable{
public void updateSelectedBlock(){
Block block = editor.getDrawBlock();
int i = 0;
for(int j = 0; j < Block.all().size; j ++){
if(block.id == j){
blockgroup.getButtons().get(i).setChecked(true);
if(block.id == j && j < blockgroup.getButtons().size){
blockgroup.getButtons().get(j).setChecked(true);
break;
}
i++;
}
}
@@ -9,6 +9,7 @@ import com.badlogic.gdx.utils.Queue;
import io.anuke.annotations.Annotations.Loc;
import io.anuke.annotations.Annotations.Remote;
import io.anuke.mindustry.Vars;
import io.anuke.mindustry.content.Mechs;
import io.anuke.mindustry.entities.effect.ItemDrop;
import io.anuke.mindustry.entities.effect.ScorchDecal;
import io.anuke.mindustry.entities.traits.*;
@@ -273,6 +274,11 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
return isLocal ? Float.MAX_VALUE : 40;
}
@Override
public void drawShadow(){
Draw.rect(mech.iconRegion, x + elevation*elevationScale, y - elevation*elevationScale, rotation - 90);
}
@Override
public void draw(){
if((debug && (!showPlayer || !showUI)) || dead) return;
@@ -368,7 +374,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
float wobblyness = 0.6f;
trail.update(x + Angles.trnsx(rotation + 180f, 5f) + Mathf.range(wobblyness),
y + Angles.trnsy(rotation + 180f, 5f) + Mathf.range(wobblyness));
trail.draw(mech.trailColor, mech.trailColor, 5f * (isFlying() ? 1f : boostHeat));
trail.draw(mech.trailColor, 5f * (isFlying() ? 1f : boostHeat));
}else{
trail.clear();
}
@@ -467,7 +473,9 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
updateMech();
}
avoidOthers(8f);
if(isLocal) {
avoidOthers(8f);
}
if(!isShooting()) {
updateBuilding(this);
@@ -534,7 +542,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
pointerY = vec.y;
updateShooting();
movement.limit(speed);
movement.limit(speed * Timers.delta());
if(getCarrier() == null){
velocity.add(movement);
@@ -591,18 +599,13 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
}
movement.set(targetX - x, targetY - y).limit(mech.speed);
movement.setAngle(Mathf.slerpDelta(movement.angle(), velocity.angle(), 0.05f));
movement.setAngle(Mathf.slerp(movement.angle(), velocity.angle(), 0.05f));
if(distanceTo(targetX, targetY) < attractDst){
movement.setZero();
}
velocity.add(movement);
updateVelocityStatus(mech.drag, mech.maxSpeed);
//hovering effect
x += Mathf.sin(Timers.time() + id * 999, 25f, 0.08f);
y += Mathf.cos(Timers.time() + id * 999, 25f, 0.08f);
if(velocity.len() <= 0.2f){
rotation += Mathf.sin(Timers.time() + id * 99, 10f, 1f);
@@ -610,6 +613,12 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
rotation = Mathf.slerpDelta(rotation, velocity.angle(), velocity.len()/10f);
}
updateVelocityStatus(mech.drag, mech.maxSpeed);
//hovering effect
x += Mathf.sin(Timers.time() + id * 999, 25f, 0.08f);
y += Mathf.cos(Timers.time() + id * 999, 25f, 0.08f);
//update shooting if not building, not mining and there's ammo left
if(!isBuilding() && inventory.hasAmmo() && getMineTile() == null){
@@ -654,12 +663,15 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
/**Resets all values of the player.*/
public void reset(){
status.clear();
team = Team.blue;
inventory.clear();
placeQueue.clear();
dead = true;
trail.clear();
health = maxHealth();
mech = (mobile ? Mechs.starterMobile : Mechs.starterDesktop);
placeQueue.clear();
add();
}
@@ -739,13 +751,12 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
public void write(DataOutput buffer) throws IOException {
super.writeSave(buffer, !isLocal);
buffer.writeUTF(name); //TODO writing strings is very inefficient
buffer.writeBoolean(isAdmin);
buffer.writeByte(Bits.toByte(isAdmin) | (Bits.toByte(dead) << 1) | (Bits.toByte(isBoosting) << 2));
buffer.writeInt(Color.rgba8888(color));
buffer.writeBoolean(dead);
buffer.writeByte(mech.id);
buffer.writeBoolean(isBoosting);
buffer.writeInt(mining == null ? -1 : mining.packedPosition());
buffer.writeInt(spawner);
buffer.writeShort((short)(baseRotation * 2));
writeBuilding(buffer);
}
@@ -755,17 +766,19 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
float lastx = x, lasty = y, lastrot = rotation;
super.readSave(buffer);
name = buffer.readUTF();
isAdmin = buffer.readBoolean();
byte bools = buffer.readByte();
isAdmin = (bools & 1) != 0;
dead = (bools & 2) != 0;
boolean boosting = (bools & 4) != 0;
color.set(buffer.readInt());
dead = buffer.readBoolean();
mech = Upgrade.getByID(buffer.readByte());
boolean boosting = buffer.readBoolean();
int mine = buffer.readInt();
spawner = buffer.readInt();
float baseRotation = buffer.readShort()/2f;
readBuilding(buffer, !isLocal);
interpolator.read(lastx, lasty, x, y, time, rotation);
interpolator.read(lastx, lasty, x, y, time, rotation, baseRotation);
rotation = lastrot;
if(isLocal){
@@ -1,6 +1,9 @@
package io.anuke.mindustry.entities;
import com.badlogic.gdx.math.GridPoint2;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.ObjectSet;
import io.anuke.annotations.Annotations.Loc;
import io.anuke.annotations.Annotations.Remote;
import io.anuke.mindustry.content.fx.Fx;
@@ -10,11 +13,14 @@ import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.gen.CallBlocks;
import io.anuke.mindustry.net.In;
import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.Edges;
import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.blocks.Wall;
import io.anuke.mindustry.world.blocks.modules.InventoryModule;
import io.anuke.mindustry.world.blocks.modules.LiquidModule;
import io.anuke.mindustry.world.blocks.modules.PowerModule;
import io.anuke.mindustry.world.consumers.Consume;
import io.anuke.mindustry.world.modules.ConsumeModule;
import io.anuke.mindustry.world.modules.InventoryModule;
import io.anuke.mindustry.world.modules.LiquidModule;
import io.anuke.mindustry.world.modules.PowerModule;
import io.anuke.ucore.core.Effects;
import io.anuke.ucore.core.Timers;
import io.anuke.ucore.entities.EntityGroup;
@@ -34,6 +40,8 @@ public class TileEntity extends BaseEntity implements TargetTrait {
/**This value is only used for debugging.*/
public static int sleepingEntities = 0;
private static final ObjectSet<Tile> tmpTiles = new ObjectSet<>();
public Tile tile;
public Timer timer;
public float health;
@@ -41,7 +49,11 @@ public class TileEntity extends BaseEntity implements TargetTrait {
public PowerModule power;
public InventoryModule items;
public LiquidModule liquids;
public ConsumeModule cons;
//list of (cached) tiles with entities in proximity, used for outputting to
//TODO implement
private Array<Tile> proximity = new Array<>(8);
private boolean dead = false;
private boolean sleeping;
private float sleepTime;
@@ -57,12 +69,7 @@ public class TileEntity extends BaseEntity implements TargetTrait {
timer = new Timer(tile.block().timers);
if(added){
//if(!tile.block().autoSleep) { //TODO only autosleep when creating a fresh block!
add();
/*}else{
sleeping = true;
sleepingEntities ++;
}*/
add();
}
return this;
@@ -135,6 +142,60 @@ public class TileEntity extends BaseEntity implements TargetTrait {
return tile;
}
public boolean consumed(Class<? extends Consume> type){
return tile.block().consumes.get(type).valid(tile.block(), this);
}
public void removeFromProximity(){
GridPoint2[] nearby = Edges.getEdges(tile.block().size);
for (GridPoint2 point : nearby) {
Tile other = world.tile(tile.x + point.x, tile.y + point.y);
//remove this tile from all nearby tile's proximities
if(other != null){
other = other.target();
other.block().onProximityUpdate(other);
}
if(other != null && other.entity != null){
other.entity.proximity.removeValue(tile, true);
}
}
}
public void updateProximity(){
tmpTiles.clear();
proximity.clear();
GridPoint2[] nearby = Edges.getEdges(tile.block().size);
for (GridPoint2 point : nearby) {
Tile other = world.tile(tile.x + point.x, tile.y + point.y);
if(other != null){
other.block().onProximityUpdate(other);
other = other.target();
}
if(other != null && other.entity != null){
tmpTiles.add(other);
//add this tile to proximity of nearby tiles
if(!other.entity.proximity.contains(tile, true)){
other.entity.proximity.add(tile);
}
}
}
//using a set to prevent duplicates
for(Tile tile : tmpTiles){
proximity.add(tile);
}
tile.block().onProximityUpdate(tile);
}
public Array<Tile> proximity(){
return proximity;
}
@Override
public Team getTeam() {
return tile.getTeam();
@@ -160,6 +221,9 @@ public class TileEntity extends BaseEntity implements TargetTrait {
}
tile.block().update(tile);
if(cons != null){
cons.update(this);
}
}
}
@@ -170,7 +234,9 @@ public class TileEntity extends BaseEntity implements TargetTrait {
@Remote(called = Loc.server, in = In.blocks)
public static void onTileDamage(Tile tile, float health){
tile.entity.health = health;
if(tile.entity != null){
tile.entity.health = health;
}
}
@Remote(called = Loc.server, in = In.blocks)
@@ -38,6 +38,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ
public static final float velocityPercision = 8f;
/**Maximum absolute value of a velocity vector component.*/
public static final float maxAbsVelocity = 127f/velocityPercision;
public static final float elevationScale = 4f;
private static final Vector2 moveVector = new Vector2();
@@ -52,6 +53,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ
protected Vector2 velocity = new Translator(0f, 0.0001f);
protected float hitTime;
protected float drownTime;
protected float elevation;
@Override
public UnitInventory getInventory() {
@@ -224,6 +226,10 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ
if(isFlying()) {
x += velocity.x / getMass() * Timers.delta();
y += velocity.y / getMass() * Timers.delta();
if(tile != null){
elevation = Mathf.lerpDelta(elevation, tile.elevation, 0.04f);
}
}else{
boolean onLiquid = floor.isLiquid;
@@ -298,6 +304,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ
public void drawUnder(){}
public void drawOver(){}
public void drawShadow(){}
public void drawView(){
Fill.circle(x, y, getViewDistance());
@@ -87,6 +87,7 @@ public class UnitInventory implements Saveable{
}
public void addAmmo(AmmoType type){
if(type == null) return;
totalAmmo += type.quantityMultiplier;
//find ammo entry by type
+19 -16
View File
@@ -19,6 +19,9 @@ import static io.anuke.mindustry.Vars.*;
public class Units {
private static Rectangle rect = new Rectangle();
private static Rectangle hitrect = new Rectangle();
private static Unit result;
private static float cdist;
private static boolean boolResult;
/**Validates a target.
* @param target The target to validate
@@ -49,20 +52,20 @@ public class Units {
rect.setSize(type.size * tilesize, type.size * tilesize);
rect.setCenter(tile.drawx(), tile.drawy());
boolean[] value = new boolean[1];
boolResult = false;
Units.getNearby(rect, unit -> {
if (value[0]) return;
if (boolResult) return;
if (!unit.isFlying()) {
unit.getHitbox(hitrect);
if (hitrect.overlaps(rect)) {
value[0] = true;
boolResult = true;
}
}
});
return value[0];
return boolResult;
}
/**Returns whether there are any entities on this tile, with the hitbox expanded.*/
@@ -138,8 +141,8 @@ public class Units {
/**Returns the closest enemy of this team. Filter by predicate.*/
public static Unit getClosestEnemy(Team team, float x, float y, float range, Predicate<Unit> predicate){
Unit[] result = {null};
float[] cdist = {0};
result = null;
cdist = 0f;
rect.setSize(range*2f).setCenter(x, y);
@@ -149,20 +152,20 @@ public class Units {
float dist = Vector2.dst(e.x, e.y, x, y);
if (dist < range) {
if (result[0] == null || dist < cdist[0]) {
result[0] = e;
cdist[0] = dist;
if (result == null || dist < cdist) {
result = e;
cdist = dist;
}
}
});
return result[0];
return result;
}
/**Returns the closest ally of this team. Filter by predicate.*/
public static Unit getClosest(Team team, float x, float y, float range, Predicate<Unit> predicate){
Unit[] result = {null};
float[] cdist = {0};
result = null;
cdist = 0f;
rect.setSize(range*2f).setCenter(x, y);
@@ -172,14 +175,14 @@ public class Units {
float dist = Vector2.dst(e.x, e.y, x, y);
if (dist < range) {
if (result[0] == null || dist < cdist[0]) {
result[0] = e;
cdist[0] = dist;
if (result == null || dist < cdist) {
result = e;
cdist = dist;
}
}
});
return result[0];
return result;
}
/**Iterates over all units in a rectangle.*/
@@ -91,9 +91,10 @@ public class Fire extends TimedEntity implements SaveTrait, SyncTrait, Poolable
time = Mathf.clamp(time + Timers.delta(), 0, lifetime());
if(time >= lifetime()){
if(time >= lifetime() || tile == null){
CallEntity.onFireRemoved(getID());
remove();
return;
}
TileEntity entity = tile.target().entity;
@@ -57,7 +57,7 @@ public class ItemTransfer extends TimedEntity implements DrawTrait{
for (int i = 0; i < Mathf.clamp(amount/3, 1, 8); i++) {
Timers.run(i*3, () -> create(item, x, y, tile, () -> {}));
}
tile.entity.items.addItem(item, amount);
tile.entity.items.add(item, amount);
}
public static void create(Item item, float fromx, float fromy, PosTrait to, Runnable done){
@@ -58,7 +58,12 @@ public interface BuilderTrait extends Entity{
/**Build power, can be any float. 1 = builds recipes in normal time, 0 = doesn't build at all.*/
float getBuildPower(Tile tile);
default void writeBuilding(DataOutput output) throws IOException{
/**Whether this type of builder can begin creating new blocks.*/
default boolean canCreateBlocks(){
return true;
}
default void writeBuilding(DataOutput output) throws IOException {
BuildRequest request = getCurrentRequest();
if(request != null){
@@ -172,9 +177,9 @@ public interface BuilderTrait extends Entity{
Tile tile = world.tile(current.x, current.y);
if (!(tile.block() instanceof BuildBlock)) {
if(!current.remove && Build.validPlace(unit.getTeam(), current.x, current.y, current.recipe.result, current.rotation)) {
if(canCreateBlocks() && !current.remove && Build.validPlace(unit.getTeam(), current.x, current.y, current.recipe.result, current.rotation)) {
Build.beginPlace(unit.getTeam(), current.x, current.y, current.recipe, current.rotation);
}else if(current.remove && Build.validBreak(unit.getTeam(), current.x, current.y)){
}else if(canCreateBlocks() && current.remove && Build.validBreak(unit.getTeam(), current.x, current.y)){
Build.beginBreak(unit.getTeam(), current.x, current.y);
}else{
getPlaceQueue().removeFirst();
@@ -41,6 +41,7 @@ public interface CarryTrait extends TeamTrait, SolidTrait, TargetTrait{
@Remote(called = Loc.both, targets = Loc.both, forward = true, in = In.entities)
static void setCarryOf(Player player, CarryTrait trait, CarriableTrait unit){
if(trait == null) return;
if(player != null){ //when a server recieves this called from a player, set the carrier to the player.
trait = player;
}
@@ -71,6 +71,10 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{
return type;
}
public Tile getSpawner(){
return world.tile(spawner);
}
/**internal constructor used for deserialization, DO NOT USE*/
public BaseUnit(){}
@@ -279,7 +283,9 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{
return;
}
avoidOthers(8f);
if(!Net.client()){
avoidOthers(8f);
}
if(squad != null){
squad.update();
@@ -32,6 +32,11 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{
}
@Override
public void drawShadow(){
Draw.rect(type.region, x + elevation*elevationScale, y - elevation*elevationScale, rotation - 90);
}
@Override
public CarriableTrait getCarry() {
return carrying;
@@ -71,7 +76,7 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{
@Override
public void drawOver() {
trail.draw(Palette.lightTrail, Palette.lightTrail, 5f);
trail.draw(Palette.lightTrail, 5f);
}
@Override
@@ -149,7 +149,7 @@ public class Drone extends FlyingUnit implements BuilderTrait {
@Override
public void drawOver() {
trail.draw(Palette.lightTrail, Palette.lightTrail, 3f);
trail.draw(Palette.lightTrail, 3f);
TargetTrait entity = target;
@@ -181,7 +181,7 @@ public class Drone extends FlyingUnit implements BuilderTrait {
if(entity == null){
return;
}
targetItem = Mathf.findMin(toMine, (a, b) -> -Integer.compare(entity.items.getItem(a), entity.items.getItem(b)));
targetItem = Mathf.findMin(toMine, (a, b) -> -Integer.compare(entity.items.get(a), entity.items.get(b)));
}
protected boolean findItemDrop(){
@@ -201,6 +201,11 @@ public class Drone extends FlyingUnit implements BuilderTrait {
return false;
}
@Override
public boolean canCreateBlocks() {
return false;
}
@Override
public void write(DataOutput data) throws IOException {
super.write(data);
@@ -247,7 +252,7 @@ public class Drone extends FlyingUnit implements BuilderTrait {
//if it's missing requirements, try and mine them
for(ItemStack stack : entity.recipe.requirements){
if(!core.items.hasItem(stack.item, stack.amount) && toMine.contains(stack.item)){
if(!core.items.has(stack.item, stack.amount) && toMine.contains(stack.item)){
targetItem = stack.item;
getPlaceQueue().clear();
setState(mine);
@@ -57,7 +57,7 @@ public class BlockRenderer{
int expandr = 4;
Graphics.surface(renderer.effectSurface);
Graphics.surface(renderer.effectSurface, true, false);
int avgx = Mathf.scl(camera.position.x, tilesize);
int avgy = Mathf.scl(camera.position.y, tilesize);
@@ -66,16 +66,15 @@ public enum CacheLayer {
protected void beginShader(){
//renderer.getBlocks().endFloor();
renderer.effectSurface.getBuffer().begin();
renderer.effectSurface.getBuffer().bind();
Graphics.clear(Color.CLEAR);
//renderer.getBlocks().beginFloor();
}
public void endShader(Shader shader){
renderer.getBlocks().endFloor();
renderer.effectSurface.getBuffer().end();
renderer.pixelSurface.getBuffer().begin();
renderer.pixelSurface.getBuffer().bind();
Graphics.shader(shader);
Graphics.begin();
@@ -1,5 +1,6 @@
package io.anuke.mindustry.graphics;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Pixmap.Format;
import com.badlogic.gdx.graphics.Texture;
@@ -122,8 +123,8 @@ public class FogRenderer implements Disposable{
renderer.pixelSurface.getBuffer().end();
Graphics.shader();
Graphics.begin();
Core.batch.draw(renderer.pixelSurface.texture(), px, py + vh, vw, -vh);
Graphics.setScreen();
Core.batch.draw(renderer.pixelSurface.texture(), 0, Gdx.graphics.getHeight(), Gdx.graphics.getWidth(), -Gdx.graphics.getHeight());
Graphics.end();
if(Core.batch instanceof ClipSpriteBatch){
@@ -121,7 +121,6 @@ public class MinimapRenderer implements Disposable{
int color = colorFor(world.tile(tile.x, tile.y));
pixmap.drawPixel(tile.x, pixmap.getHeight() - 1 - tile.y, color);
texture.bind();
Pixmaps.drawPixel(texture, tile.x, pixmap.getHeight() - 1 - tile.y, color);
}
@@ -12,6 +12,7 @@ import io.anuke.mindustry.game.TeamInfo.TeamData;
import io.anuke.mindustry.input.InputHandler;
import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.consumers.Consume;
import io.anuke.mindustry.world.meta.BlockBar;
import io.anuke.ucore.core.Graphics;
import io.anuke.ucore.core.Settings;
@@ -193,25 +194,23 @@ public class OverlayRenderer {
float len = 3;
float w = (int) (len * 2 * finion) + 0.5f;
x -= 0.5f;
y += 0.5f;
float w = (int) (len * 2 * finion);
Draw.color(Color.BLACK);
Lines.line(x - len + 1, y, x + len + 0.5f, y);
Draw.color(color);
if(w >= 1)
Lines.line(x - len + 1, y, x - len + w, y);
Draw.reset();
Fill.crect(x - len, y, len*2f, 1);
if(finion > 0){
Draw.color(color);
Fill.crect(x - len, y, Math.max(1, w), 1);
}
Draw.color();
}
void drawEncloser(float x, float y, float height){
float len = 3;
float len = 4;
Draw.color(Palette.bar);
Fill.crect(x - len - 1, y - 1, len*2f + 2f, height + 2f);
Fill.crect(x - len, y - 1, len*2f, height + 2f);
Draw.color();
}
}
@@ -40,7 +40,8 @@ public class Trail {
points.clear();
}
public synchronized void draw(Color start, Color end, float stroke){
public synchronized void draw(Color color, float stroke){
Draw.color(color);
for(int i = 0; i < points.size - 2; i += 2){
float x = points.get(i);
@@ -49,8 +50,6 @@ public class Trail {
float y2 = points.get(i + 3);
float s = Mathf.clamp((float)(i) / points.size);
Draw.color(start, end, s);
Lines.stroke(s * stroke);
Lines.line(x, y, x2, y2);
}
@@ -59,8 +58,6 @@ public class Trail {
Fill.circle(points.get(points.size-2), points.get(points.size-1), stroke/2f);
}
Draw.color(start);
Draw.reset();
}
}
@@ -32,7 +32,6 @@ public class DefaultKeybinds {
"menu", Gdx.app.getType() == ApplicationType.Android ? Input.BACK : Input.ESCAPE,
"pause", Input.SPACE,
"toggle_menus", Input.C,
"item_withdraw", Input.SHIFT_LEFT,
new Category("Multiplayer"),
"player_list", Input.TAB,
"chat", Input.ENTER,
@@ -101,8 +101,7 @@ public abstract class InputHandler extends InputAdapter{
boolean tileTapped(Tile tile){
tile = tile.target();
boolean consumed = false;
boolean showedInventory = false;
boolean consumed = false, showedInventory = false, showedConsume = false;
//check if tapped block is configurable
if(tile.block().configurable && tile.getTeam() == player.getTeam()){
@@ -129,16 +128,28 @@ public abstract class InputHandler extends InputAdapter{
//consume tap event if necessary
if(tile.getTeam() == player.getTeam() && tile.block().consumesTap){
consumed = true;
}else if(tile.getTeam() == player.getTeam() && tile.block().synthetic() && tile.block().hasItems && !consumed){
frag.inv.showFor(tile);
consumed = true;
showedInventory = true;
}else if(tile.getTeam() == player.getTeam() && tile.block().synthetic() && !consumed) {
if(tile.block().hasItems && tile.entity.items.total() > 0) {
frag.inv.showFor(tile);
consumed = true;
showedInventory = true;
}
if(tile.block().consumes.hasAny()){
frag.consume.show(tile);
consumed = true;
showedConsume = true;
}
}
if(!showedInventory){
frag.inv.hide();
}
if(!showedConsume){
frag.consume.hide();
}
return consumed;
}
@@ -166,7 +177,8 @@ public abstract class InputHandler extends InputAdapter{
}
boolean canMine(Tile tile){
return tile.floor().drops != null && tile.floor().drops.item.hardness <= player.mech.drillPower
return !ui.hasMouse()
&& tile.floor().drops != null && tile.floor().drops.item.hardness <= player.mech.drillPower
&& !tile.floor().playerUnmineable
&& player.inventory.canAcceptItem(tile.floor().drops.item)
&& Units.getClosestEnemy(player.getTeam(), tile.worldx(), tile.worldy(), 40f, e -> true) == null //don't being mining when an enemy is near
@@ -283,50 +295,49 @@ public abstract class InputHandler extends InputAdapter{
throw new ValidateException(player, "Player cannot transfer an item.");
}
if(player == null) return;
threads.run(() -> {
if (player == null || tile.entity == null) return;
player.isTransferring = true;
player.isTransferring = true;
ItemStack stack = player.inventory.getItem();
int accepted = tile.block().acceptStack(stack.item, stack.amount, tile, player);
ItemStack stack = player.inventory.getItem();
int accepted = tile.block().acceptStack(stack.item, stack.amount, tile, player);
boolean clear = stack.amount == accepted;
int sent = Mathf.clamp(accepted/4, 1, 8);
int removed = accepted/sent;
int[] remaining = {accepted, accepted};
boolean clear = stack.amount == accepted;
int sent = Mathf.clamp(accepted / 4, 1, 8);
int removed = accepted / sent;
int[] remaining = {accepted, accepted};
for(int i = 0; i < sent; i ++){
boolean end = i == sent-1;
Timers.run(i * 3, () -> {
tile.block().getStackOffset(stack.item, tile, stackTrns);
for (int i = 0; i < sent; i++) {
boolean end = i == sent - 1;
Timers.run(i * 3, () -> {
tile.block().getStackOffset(stack.item, tile, stackTrns);
ItemTransfer.create(stack.item,
player.x + Angles.trnsx(player.rotation + 180f, backTrns), player.y + Angles.trnsy(player.rotation + 180f, backTrns),
new Translator(tile.drawx() + stackTrns.x, tile.drawy() + stackTrns.y), () -> {
ItemTransfer.create(stack.item,
player.x + Angles.trnsx(player.rotation + 180f, backTrns), player.y + Angles.trnsy(player.rotation + 180f, backTrns),
new Translator(tile.drawx() + stackTrns.x, tile.drawy() + stackTrns.y), () -> {
tile.block().handleStack(stack.item, removed, tile, player);
remaining[1] -= removed;
tile.block().handleStack(stack.item, removed, tile, player);
remaining[1] -= removed;
if(end && remaining[1] > 0) {
tile.block().handleStack(stack.item, remaining[1], tile, player);
}
});
if (end && remaining[1] > 0) {
tile.block().handleStack(stack.item, remaining[1], tile, player);
}
});
stack.amount -= removed;
remaining[0] -= removed;
stack.amount -= removed;
remaining[0] -= removed;
if(end){
stack.amount -= remaining[0];
if(clear){
player.inventory.clearItem();
if (end) {
stack.amount -= remaining[0];
if (clear) {
player.inventory.clearItem();
}
player.isTransferring = false;
}
player.isTransferring = false;
}
});
}
//ItemDrop.create(player.inventory.getItem().item, player.inventory.getItem().amount, player.x, player.y, angle);
//player.inventory.clearItem();
});
}
});
}
@Remote(targets = Loc.both, called = Loc.server, forward = true, in = In.blocks)
@@ -3,9 +3,10 @@ package io.anuke.mindustry.io;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.utils.I18NBundle;
import io.anuke.mindustry.core.Platform;
import io.anuke.mindustry.Vars;
import io.anuke.ucore.core.Core;
import io.anuke.ucore.core.Settings;
import io.anuke.ucore.core.Timers;
import io.anuke.ucore.util.Log;
import java.util.Locale;
@@ -13,7 +14,6 @@ import java.util.Locale;
import static io.anuke.mindustry.Vars.headless;
public class BundleLoader {
private static final boolean externalBundle = false;
public static void load(){
Settings.defaults("locale", "default");
@@ -40,20 +40,20 @@ public class BundleLoader {
private static void loadBundle(){
I18NBundle.setExceptionOnMissingKey(false);
try {
//try loading external bundle
FileHandle handle = Gdx.files.local("bundle");
if(externalBundle){
try {
FileHandle handle = Gdx.files.local("bundle");
Locale locale = Locale.ENGLISH;
Core.bundle = I18NBundle.createBundle(handle, locale);
Locale locale = Locale.ENGLISH;
Core.bundle = I18NBundle.createBundle(handle, locale);
}catch (Exception e){
Log.err(e);
Platform.instance.showError("Failed to find bundle!\nMake sure you have bundle.properties in the same directory\nas the jar file.\n\nIf the problem persists, try running it through the command prompt:\n" +
"Hold left-shift, then right click and select 'open command prompt here'.\nThen, type in 'java -jar mindustry.jar' without quotes.");
Gdx.app.exit();
Log.info("NOTE: external translation bundle has been loaded.");
if(!headless){
Timers.run(10f, () -> Vars.ui.showInfo("Note: You have successfully loaded an external translation bundle."));
}
}else{
}catch (Throwable e){
//no external bundle found
FileHandle handle = Gdx.files.internal("bundles/bundle");
Locale locale = getLocale();
@@ -61,5 +61,6 @@ public class BundleLoader {
if(!headless) Log.info("Got locale: {0}", locale);
Core.bundle = I18NBundle.createBundle(handle, locale);
}
}
}
+2 -2
View File
@@ -166,7 +166,7 @@ public class Maps implements Disposable{
for(String name : customMapNames){
try{
String data = Settings.getString("map-data-" + name);
String data = Settings.getString("map-data-" + name, "");
byte[] bytes = Base64Coder.decode(data);
loadMap(name, () -> new ByteArrayInputStream(bytes), true);
}catch (Exception e){
@@ -182,7 +182,7 @@ public class Maps implements Disposable{
if(!gwt){
return customMapDirectory.child(name + "." + mapExtension)::read;
}else{
String data = Settings.getString("map-data-" + name);
String data = Settings.getString("map-data-" + name, "");
byte[] bytes = Base64Coder.decode(data);
return () -> new ByteArrayInputStream(bytes);
}
+2 -1
View File
@@ -74,7 +74,7 @@ public class SaveIO{
}
public static boolean isSaveValid(FileHandle file){
return isSaveValid(new DataInputStream(file.read()));
return isSaveValid(new DataInputStream(new InflaterInputStream(file.read())));
}
public static boolean isSaveValid(DataInputStream stream){
@@ -85,6 +85,7 @@ public class SaveIO{
ver.getData(stream);
return true;
}catch (Exception e){
e.printStackTrace();
return false;
}
}
@@ -2,7 +2,6 @@ package io.anuke.mindustry.io;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.async.AsyncExecutor;
import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.game.Difficulty;
import io.anuke.mindustry.game.GameMode;
@@ -21,8 +20,6 @@ public class Saves {
private boolean saving;
private float time;
private AsyncExecutor exec = new AsyncExecutor(1);
public void load(){
saves.clear();
for(int i = 0; i < saveSlots; i ++){

Some files were not shown because too many files have changed in this diff Show More