Compare commits

..

20 Commits
v50 ... v52

Author SHA1 Message Date
Anuken
25bd8a7eaa Fixed sector name not being displayed in saves 2018-08-17 13:02:53 -04:00
Anuken
bbd2424a3f Merge remote-tracking branch 'origin/master' 2018-08-17 12:55:18 -04:00
Anuken
83eeeed319 Discord rich presence improvements 2018-08-17 12:55:06 -04:00
Anuken
c92e8161a1 Merge pull request #190 from Prosta4okua/patch-21
[Complete] bundle_ru.properties
2018-08-17 11:33:29 -04:00
Anuken
258555c990 Merge remote-tracking branch 'origin/master' 2018-08-17 11:32:19 -04:00
Anuken
0f7799422e Crashes fixed 2018-08-17 11:32:12 -04:00
Anuken
177b565d7c Merge pull request #173 from Gab351/patch-1
Translate l227 to l239
2018-08-17 10:38:24 -04:00
Prosta4okua
a62b336b6c Update bundle_ru.properties 2018-08-17 12:59:51 +03:00
Prosta4okua
3ea61c8b3a Update bundle_ru.properties 2018-08-17 12:02:44 +03:00
Prosta4okua
4c57f9f902 Update bundle_ru.properties 2018-08-17 10:48:29 +03:00
Anuken
6d7941fba4 iOS portrait mode support 2018-08-16 18:38:43 -04:00
Anuken
53d35e8c77 Bundles updated / Fixed some localization bugs 2018-08-16 17:43:43 -04:00
Anuken
01f205d352 Merge pull request #189 from Leone25/patch-1
last update bundle_ita.properties
2018-08-16 17:38:44 -04:00
Leone25
b15c04a532 Update bundle_ita.properties 2018-08-16 21:10:04 +02:00
Anuken
80d57f8c0c Comma fix 2018-08-16 11:25:27 -04:00
Anuken
1de367e89c Full chat revert / Crash fixes 2018-08-16 10:09:22 -04:00
Anuken
8850a89e30 Fixed game-over sector algorithm 2018-08-15 21:25:07 -04:00
Anuken
4f72011cf7 Fixed markup crash / setsector command fixed / Drone crash fixed 2018-08-15 21:00:40 -04:00
Anuken
c569232e74 Fixed multiblocks not accepting items 2018-08-15 19:38:13 -04:00
Gab_351
502c4e51ae Translate l227 to l239 2018-08-06 15:16:39 +03:00
33 changed files with 529 additions and 293 deletions

View File

@@ -26,7 +26,7 @@ allprojects {
appName = 'Mindustry' appName = 'Mindustry'
gdxVersion = '1.9.8' gdxVersion = '1.9.8'
roboVMVersion = '2.3.0' roboVMVersion = '2.3.0'
uCoreVersion = '76dc741b49' uCoreVersion = '1d353d76e9'
getVersionString = { getVersionString = {
String buildVersion = getBuildVersion() String buildVersion = getBuildVersion()

View File

@@ -356,6 +356,11 @@ setting.mutemusic.name=Mute Music
setting.sfxvol.name=SFX Volume setting.sfxvol.name=SFX Volume
setting.mutesound.name=Mute Sound setting.mutesound.name=Mute Sound
text.keybind.title=Rebind Keys text.keybind.title=Rebind Keys
section.general.name=General
section.view.name=View
section.multiplayer.name=Multiplayer
keybind.move_x.name=Move x keybind.move_x.name=Move x
keybind.move_y.name=Move y keybind.move_y.name=Move y
keybind.select.name=Select keybind.select.name=Select
@@ -368,8 +373,9 @@ keybind.pause.name=Pause
keybind.dash.name=Dash keybind.dash.name=Dash
keybind.chat.name=Chat keybind.chat.name=Chat
keybind.player_list.name=Player list keybind.player_list.name=Player list
keybind.console.name=console keybind.console.name=Console
keybind.rotate.name=Rotate keybind.rotate.name=Rotate
mode.text.help.title=Description of modes mode.text.help.title=Description of modes
mode.waves.name=waves mode.waves.name=waves
mode.waves.description=the normal mode. limited resources and automatic incoming waves. mode.waves.description=the normal mode. limited resources and automatic incoming waves.

View File

@@ -15,7 +15,6 @@ text.players={0} Spieler online
text.players.single={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.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.kick=Du wurdest vom Server gekickt!
text.server.kicked.invalidPassword=Falsches Passwort.
text.hostserver=Server hosten text.hostserver=Server hosten
text.host=Host text.host=Host
text.hosting=[accent] Server wird geöffnet... text.hosting=[accent] Server wird geöffnet...
@@ -464,7 +463,6 @@ block.rotary-pump.name=Rotary Pump
block.nuclear-reactor.name=Nuclear Reactor block.nuclear-reactor.name=Nuclear Reactor
text.save.old=This save is for an older version of the game, and can no longer be used.\n\n[LIGHT_GRAY]Save backwards compatibility will be implemented in the full 4.0 release. text.save.old=This save is for an older version of the game, and can no longer be used.\n\n[LIGHT_GRAY]Save backwards compatibility will be implemented in the full 4.0 release.
text.customgame=Custom Game text.customgame=Custom Game
text.campaign=Campaign
text.sectors=Sectors text.sectors=Sectors
text.sector=Selected Sector: [LIGHT_GRAY]{0} text.sector=Selected Sector: [LIGHT_GRAY]{0}
text.sector.time=Time: [LIGHT_GRAY]{0} text.sector.time=Time: [LIGHT_GRAY]{0}
@@ -503,8 +501,6 @@ unit.drone.name=Drone
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks. unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
unit.fabricator.name=Fabricator unit.fabricator.name=Fabricator
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone. unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
unit.scout.name=Scout
unit.scout.description=A basic ground unit. Uses lead as ammo.
unit.titan.name=Titan unit.titan.name=Titan
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets. unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
unit.monsoon.name=Monsoon unit.monsoon.name=Monsoon
@@ -516,3 +512,30 @@ block.thermal-pump.name=Thermal Pump
block.dagger-pad.name=Dagger Pad block.dagger-pad.name=Dagger Pad
block.titan-pad.name=Titan Pad block.titan-pad.name=Titan Pad
block.thermal-generator.name=Thermal Generator block.thermal-generator.name=Thermal Generator
text.coreattack=< Core is under attack! >
text.continue=Continue
text.nextmission=Next Mission
text.server.kicked.serverClose=Server closed.
text.server.kicked.sectorComplete=Sector completed.
text.server.kicked.sectorComplete.text=Your mission is complete.\nThe server will now continue at the next sector.
text.map.invalid=Error loading map: corrupted or invalid map file.
section.general.name=General
section.view.name=View
section.multiplayer.name=Multiplayer
block.deepwater.name=deepwater
block.water.name=water
block.lava.name=lava
block.oil.name=oil
block.blackstone.name=blackstone
block.stone.name=stone
block.dirt.name=dirt
block.sand.name=sand
block.ice.name=ice
block.snow.name=snow
block.grass.name=grass
block.shrub.name=shrub
block.rock.name=rock
block.blackrock.name=blackrock
block.icerock.name=icerock
unit.dagger.name=Dagger
unit.dagger.description=A basic ground unit. Useful in swarms.

View File

@@ -26,7 +26,6 @@ text.players.single={0} jugador en línea
text.server.mismatch=Error de paquete: posible desajuste de la versión cliente / servidor.\n¡Asegúrate de que tú y el anfitrión tengáis la última versión de Mindustry! text.server.mismatch=Error de paquete: posible desajuste de la versión cliente / servidor.\n¡Asegúrate de que tú y el anfitrión tengáis la última versión de Mindustry!
text.server.closing=[accent] Cerrando servidor ... text.server.closing=[accent] Cerrando servidor ...
text.server.kicked.kick=¡Has sido expulsado del servidor! text.server.kicked.kick=¡Has sido expulsado del servidor!
text.server.kicked.invalidPassword=¡Contraseña inválida!
text.server.kicked.clientOutdated=Cliente desactualizado ¡Actualiza tu juego! text.server.kicked.clientOutdated=Cliente desactualizado ¡Actualiza tu juego!
text.server.kicked.serverOutdated=Servidor desactualizado ¡Pidele actualizar al anfitrión! text.server.kicked.serverOutdated=Servidor desactualizado ¡Pidele actualizar al anfitrión!
text.server.kicked.banned=Tu entrada está prohibida en este servidor. text.server.kicked.banned=Tu entrada está prohibida en este servidor.
@@ -464,7 +463,6 @@ block.rotary-pump.name=Rotary Pump
block.nuclear-reactor.name=Nuclear Reactor block.nuclear-reactor.name=Nuclear Reactor
text.save.old=This save is for an older version of the game, and can no longer be used.\n\n[LIGHT_GRAY]Save backwards compatibility will be implemented in the full 4.0 release. text.save.old=This save is for an older version of the game, and can no longer be used.\n\n[LIGHT_GRAY]Save backwards compatibility will be implemented in the full 4.0 release.
text.customgame=Custom Game text.customgame=Custom Game
text.campaign=Campaign
text.sectors=Sectors text.sectors=Sectors
text.sector=Selected Sector: [LIGHT_GRAY]{0} text.sector=Selected Sector: [LIGHT_GRAY]{0}
text.sector.time=Time: [LIGHT_GRAY]{0} text.sector.time=Time: [LIGHT_GRAY]{0}
@@ -503,8 +501,6 @@ unit.drone.name=Drone
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks. unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
unit.fabricator.name=Fabricator unit.fabricator.name=Fabricator
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone. unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
unit.scout.name=Scout
unit.scout.description=A basic ground unit. Uses lead as ammo.
unit.titan.name=Titan unit.titan.name=Titan
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets. unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
unit.monsoon.name=Monsoon unit.monsoon.name=Monsoon
@@ -516,3 +512,30 @@ block.thermal-pump.name=Thermal Pump
block.dagger-pad.name=Dagger Pad block.dagger-pad.name=Dagger Pad
block.titan-pad.name=Titan Pad block.titan-pad.name=Titan Pad
block.thermal-generator.name=Thermal Generator block.thermal-generator.name=Thermal Generator
text.coreattack=< Core is under attack! >
text.continue=Continue
text.nextmission=Next Mission
text.server.kicked.serverClose=Server closed.
text.server.kicked.sectorComplete=Sector completed.
text.server.kicked.sectorComplete.text=Your mission is complete.\nThe server will now continue at the next sector.
text.map.invalid=Error loading map: corrupted or invalid map file.
section.general.name=General
section.view.name=View
section.multiplayer.name=Multiplayer
block.deepwater.name=deepwater
block.water.name=water
block.lava.name=lava
block.oil.name=oil
block.blackstone.name=blackstone
block.stone.name=stone
block.dirt.name=dirt
block.sand.name=sand
block.ice.name=ice
block.snow.name=snow
block.grass.name=grass
block.shrub.name=shrub
block.rock.name=rock
block.blackrock.name=blackrock
block.icerock.name=icerock
unit.dagger.name=Dagger
unit.dagger.description=A basic ground unit. Useful in swarms.

View File

@@ -16,7 +16,6 @@ text.players.single=joueur en ligne
text.server.mismatch=Erreur de paquet: possible incompatibilité de version client/serveur. Assurez-vous que vous et l'hôte avez la dernière version de Mindustry! text.server.mismatch=Erreur de paquet: possible incompatibilité de version client/serveur. Assurez-vous que vous et l'hôte avez la dernière version de Mindustry!
text.server.closing=[accent]Fermeture du serveur ... text.server.closing=[accent]Fermeture du serveur ...
text.server.kicked.kick=Vous avez été expulsé du serveur! text.server.kicked.kick=Vous avez été expulsé du serveur!
text.server.kicked.invalidPassword=Mot de passe non valide !
text.server.kicked.clientOutdated=Client dépassé! Mettez à jour votre jeu! text.server.kicked.clientOutdated=Client dépassé! Mettez à jour votre jeu!
text.server.kicked.serverOutdated=Serveur dépassé! Demandez à l'hôte de le mettre à jour! text.server.kicked.serverOutdated=Serveur dépassé! Demandez à l'hôte de le mettre à jour!
text.server.kicked.banned=Vous êtes banni sur ce serveur. text.server.kicked.banned=Vous êtes banni sur ce serveur.
@@ -224,19 +223,20 @@ block.liquidjunction.name=jonction à liquide
block.sorter.name=trieur block.sorter.name=trieur
block.smelter.name=fonderie block.smelter.name=fonderie
text.credits=Credits text.credits=Credits
text.link.discord.description=the official Mindustry discord chatroom text.link.discord.description=Le discord officiel de Mindustry
text.link.github.description=Game source code text.link.github.description=code source du jeu
text.link.dev-builds.description=Unstable development builds text.link.dev-builds.description=version de développement instable
text.link.trello.description=Official trello board for planned features text.link.trello.description=le tableau trelli officiel pour les futures ajouts
text.link.itch.io.description=itch.io page with PC downloads and web version text.link.itch.io.description=la page itch.io avec la version Web et PC à télécharger
text.link.google-play.description=Google Play store listing
text.link.wiki.description=official Mindustry wiki text.link.google-play.description=la page Google play Store
text.linkfail=Failed to open link!\nThe URL has been copied to your cliboard. text.link.wiki.description=wiki officiel de Mindustry
text.editor.web=The web version does not support the editor!\nDownload the game to use it. text.linkfail=Erreur lors de l'ouverture du lien !\nL'URL as bien été copier dans le presse-papiers.
text.web.unsupported=The web version does not support this feature! Download the game to use it. text.editor.web=Votre navigateur ne supporte pas l'éditeur !\nTéléchargez le jeu pour l'utiliser.
text.map.delete=Are you sure you want to delete the map "[orange]{0}[]"? text.web.unsupported=votre navigateur ne supporte pas cette fonctionnalité ! Téléchargez le jeu pour l'utiliser.
text.construction.title=Block Construction Guide text.map.delete=êtes vous sûre de supprimer la carte "[orange]{0}[]"?
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.construction.title=Guide des blocs de construction
text.construction=Voou avez sélectionné le [accent]mode de construction de blocs[].\n\n pour commencer à en placer, taper sur un emplacement validé près de votre vaisseau '.\nUne fois que vous avez sélectionné des blocs, appuyez sur la flèche pour valider, et votre vaisseau va les construire.\n\n- [accent]Enlever des blocs[] de votre sélection en les touchant.\n- [accent]étendez la sélection[] en maintenant et en étirant les blocs de la selection.\n- [accent]Placer des blocs en ligne[] en touchant et en laissant appuyer sur une case vide, puis étirez dans une direction.\n- [accent]Annulez une construction ou une selection[]en appuyant sur X en bas à gauche .
text.deconstruction.title=Block Deconstruction Guide 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.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.showagain=Don't show again next session
@@ -464,7 +464,6 @@ block.rotary-pump.name=Rotary Pump
block.nuclear-reactor.name=Nuclear Reactor block.nuclear-reactor.name=Nuclear Reactor
text.save.old=This save is for an older version of the game, and can no longer be used.\n\n[LIGHT_GRAY]Save backwards compatibility will be implemented in the full 4.0 release. text.save.old=This save is for an older version of the game, and can no longer be used.\n\n[LIGHT_GRAY]Save backwards compatibility will be implemented in the full 4.0 release.
text.customgame=Custom Game text.customgame=Custom Game
text.campaign=Campaign
text.sectors=Sectors text.sectors=Sectors
text.sector=Selected Sector: [LIGHT_GRAY]{0} text.sector=Selected Sector: [LIGHT_GRAY]{0}
text.sector.time=Time: [LIGHT_GRAY]{0} text.sector.time=Time: [LIGHT_GRAY]{0}
@@ -503,8 +502,6 @@ unit.drone.name=Drone
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks. unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
unit.fabricator.name=Fabricator unit.fabricator.name=Fabricator
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone. unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
unit.scout.name=Scout
unit.scout.description=A basic ground unit. Uses lead as ammo.
unit.titan.name=Titan unit.titan.name=Titan
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets. unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
unit.monsoon.name=Monsoon unit.monsoon.name=Monsoon
@@ -516,3 +513,30 @@ block.thermal-pump.name=Thermal Pump
block.dagger-pad.name=Dagger Pad block.dagger-pad.name=Dagger Pad
block.titan-pad.name=Titan Pad block.titan-pad.name=Titan Pad
block.thermal-generator.name=Thermal Generator block.thermal-generator.name=Thermal Generator
text.coreattack=< Core is under attack! >
text.continue=Continue
text.nextmission=Next Mission
text.server.kicked.serverClose=Server closed.
text.server.kicked.sectorComplete=Sector completed.
text.server.kicked.sectorComplete.text=Your mission is complete.\nThe server will now continue at the next sector.
text.map.invalid=Error loading map: corrupted or invalid map file.
section.general.name=General
section.view.name=View
section.multiplayer.name=Multiplayer
block.deepwater.name=deepwater
block.water.name=water
block.lava.name=lava
block.oil.name=oil
block.blackstone.name=blackstone
block.stone.name=stone
block.dirt.name=dirt
block.sand.name=sand
block.ice.name=ice
block.snow.name=snow
block.grass.name=grass
block.shrub.name=shrub
block.rock.name=rock
block.blackrock.name=blackrock
block.icerock.name=icerock
unit.dagger.name=Dagger
unit.dagger.description=A basic ground unit. Useful in swarms.

View File

@@ -16,7 +16,6 @@ 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.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.closing=[accent]Menutup server...
text.server.kicked.kick=Anda telah dikeluarkan dari 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.clientOutdated=Client versi lama! Update game Anda!
text.server.kicked.serverOutdated=Server versi lama! Tanyakan host untuk mengupdate! text.server.kicked.serverOutdated=Server versi lama! Tanyakan host untuk mengupdate!
text.hostserver=Host Server text.hostserver=Host Server
@@ -464,7 +463,6 @@ block.rotary-pump.name=Rotary Pump
block.nuclear-reactor.name=Nuclear Reactor block.nuclear-reactor.name=Nuclear Reactor
text.save.old=This save is for an older version of the game, and can no longer be used.\n\n[LIGHT_GRAY]Save backwards compatibility will be implemented in the full 4.0 release. text.save.old=This save is for an older version of the game, and can no longer be used.\n\n[LIGHT_GRAY]Save backwards compatibility will be implemented in the full 4.0 release.
text.customgame=Custom Game text.customgame=Custom Game
text.campaign=Campaign
text.sectors=Sectors text.sectors=Sectors
text.sector=Selected Sector: [LIGHT_GRAY]{0} text.sector=Selected Sector: [LIGHT_GRAY]{0}
text.sector.time=Time: [LIGHT_GRAY]{0} text.sector.time=Time: [LIGHT_GRAY]{0}
@@ -503,8 +501,6 @@ unit.drone.name=Drone
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks. unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
unit.fabricator.name=Fabricator unit.fabricator.name=Fabricator
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone. unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
unit.scout.name=Scout
unit.scout.description=A basic ground unit. Uses lead as ammo.
unit.titan.name=Titan unit.titan.name=Titan
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets. unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
unit.monsoon.name=Monsoon unit.monsoon.name=Monsoon
@@ -516,3 +512,30 @@ block.thermal-pump.name=Thermal Pump
block.dagger-pad.name=Dagger Pad block.dagger-pad.name=Dagger Pad
block.titan-pad.name=Titan Pad block.titan-pad.name=Titan Pad
block.thermal-generator.name=Thermal Generator block.thermal-generator.name=Thermal Generator
text.coreattack=< Core is under attack! >
text.continue=Continue
text.nextmission=Next Mission
text.server.kicked.serverClose=Server closed.
text.server.kicked.sectorComplete=Sector completed.
text.server.kicked.sectorComplete.text=Your mission is complete.\nThe server will now continue at the next sector.
text.map.invalid=Error loading map: corrupted or invalid map file.
section.general.name=General
section.view.name=View
section.multiplayer.name=Multiplayer
block.deepwater.name=deepwater
block.water.name=water
block.lava.name=lava
block.oil.name=oil
block.blackstone.name=blackstone
block.stone.name=stone
block.dirt.name=dirt
block.sand.name=sand
block.ice.name=ice
block.snow.name=snow
block.grass.name=grass
block.shrub.name=shrub
block.rock.name=rock
block.blackrock.name=blackrock
block.icerock.name=icerock
unit.dagger.name=Dagger
unit.dagger.description=A basic ground unit. Useful in swarms.

View File

@@ -26,7 +26,6 @@ text.players.single={0} giocatori online
text.server.mismatch=Errore nel pacchetto: possibile discrepanza nella versione client / server. Assicurati che tu e l'host abbiate l'ultima versione di Mindustry! text.server.mismatch=Errore nel pacchetto: possibile discrepanza nella versione client / server. Assicurati che tu e l'host abbiate l'ultima versione di Mindustry!
text.server.closing=[accent]Chiusura server ... text.server.closing=[accent]Chiusura server ...
text.server.kicked.kick=Sei stato cacciato dal server! text.server.kicked.kick=Sei stato cacciato dal server!
text.server.kicked.invalidPassword=Password non valida.
text.server.kicked.clientOutdated=Versione del client obsoleta! Aggiorna il tuo gioco! text.server.kicked.clientOutdated=Versione del client obsoleta! Aggiorna il tuo gioco!
text.server.kicked.serverOutdated=Server obsoleto! Chiedi all'host di aggiornare! text.server.kicked.serverOutdated=Server obsoleto! Chiedi all'host di aggiornare!
text.server.kicked.banned=Sei bannato da questo server. text.server.kicked.banned=Sei bannato da questo server.
@@ -254,7 +253,6 @@ text.showagain=non mostrare più
text.unlocks=Sblocchi text.unlocks=Sblocchi
text.addplayers=Aggiungi/rimuovi giocatori text.addplayers=Aggiungi/rimuovi giocatori
text.customgame=Gioco personalizzato text.customgame=Gioco personalizzato
text.campaign=Campagna
text.sectors=Settori text.sectors=Settori
text.sector=Settori Selezionati: [LIGHT_GRAY]{0} text.sector=Settori Selezionati: [LIGHT_GRAY]{0}
text.sector.time=Tempo: [LIGHT_GRAY]{0} text.sector.time=Tempo: [LIGHT_GRAY]{0}
@@ -308,28 +306,28 @@ text.editor.export=Esportazione...
text.editor.exportfile=Esporta file text.editor.exportfile=Esporta file
text.editor.exportfile.description=Esporta file mappa text.editor.exportfile.description=Esporta file mappa
text.editor.exportimage=Esporta immagine terreno text.editor.exportimage=Esporta immagine terreno
text.editor.exportimage.description=Export a map image file text.editor.exportimage.description=Esporta file immagine mappa
text.editor.overwrite.confirm=[scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it? text.editor.overwrite.confirm=[scarlet]Attenzione![] Una mappa con questo nome esiste già. Sei sicuro di volerla sovrascrivere?
text.fps=FPS: {0} text.fps=FPS: {0}
text.tps=TPS: {0} text.tps=TPS: {0}
text.ping=Ping: {0}ms text.ping=Ping: {0}ms
text.settings.rebind=Rebind text.settings.rebind=Reinposta
text.yes=Yes text.yes=Si
text.no=No text.no=No
text.blocks.targetsair=Targets Air text.blocks.targetsair=Attacca nemici aerei
text.blocks.itemspeed=Units Moved text.blocks.itemspeed=Unità spostate
text.blocks.shootrange=Range text.blocks.shootrange=Raggio
text.blocks.poweruse=Power Use text.blocks.poweruse=Utilizzo energia
text.blocks.inputitemcapacity=Input Item Capacity text.blocks.inputitemcapacity=Capacità oggetti in entrata
text.blocks.outputitemcapacity=Input Item Capacity text.blocks.outputitemcapacity=Capacità oggetti in uscità
text.blocks.maxpowergeneration=Max Power Generation text.blocks.maxpowergeneration=Produzione massima energia
text.blocks.powertransferspeed=Power Transfer text.blocks.powertransferspeed=Velocità trasferimento energia
text.blocks.craftspeed=Production Speed text.blocks.craftspeed=Velocità produzione
text.blocks.inputliquidaux=Aux Liquid text.blocks.inputliquidaux=Liquidi extra
text.blocks.inputitems=Input Items text.blocks.inputitems=Oggetti in entrata
text.blocks.outputitem=Output Item text.blocks.outputitem=Oggetti in uscita
text.blocks.drilltier=Drillables text.blocks.drilltier=Scavabili
text.blocks.drillspeed=Base Drill Speed text.blocks.drillspeed=Velocità scavo stbile
text.blocks.liquidoutput=Uscita liquidi text.blocks.liquidoutput=Uscita liquidi
text.blocks.liquiduse=Uso liquidi text.blocks.liquiduse=Uso liquidi
text.blocks.coolant=Refrigerante text.blocks.coolant=Refrigerante
@@ -508,11 +506,36 @@ unit.drone.name=Drone
unit.drone.description=Un'unità base, che mina e costruisce. unit.drone.description=Un'unità base, che mina e costruisce.
unit.fabricator.name=Costruttore unit.fabricator.name=Costruttore
unit.fabricator.description=Un drone molto avanzato che raccoglie minerali e costruisce molto meglio e più velocemente di un drone base. unit.fabricator.description=Un drone molto avanzato che raccoglie minerali e costruisce molto meglio e più velocemente di un drone base.
unit.scout.name=Esploratore
unit.scout.description=Un unità di base a terra. Usa piombo come munizioni.
unit.titan.name=Titano unit.titan.name=Titano
unit.titan.description=Un'unità di terra corazzata avanzata. Utilizza carburo come munizione. Attacca sia bersagli terrestri che aerei. unit.titan.description=Un'unità di terra corazzata avanzata. Utilizza carburo come munizione. Attacca sia bersagli terrestri che aerei.
unit.monsoon.name=Monsone unit.monsoon.name=Monsone
unit.monsoon.description=Un bombardiere molto potente, che raderà al suolo chiunque gli passi davanti. unit.monsoon.description=Un bombardiere molto potente, che raderà al suolo chiunque gli passi davanti.
unit.interceptor.name=Intercettatore unit.interceptor.name=Intercettatore
unit.interceptor.description=Un veloce ed efficiente torretta che funziona con il piombo. unit.interceptor.description=Un veloce ed efficiente torretta che funziona con il piombo.
text.coreattack=< Core is under attack! >
text.continue=Continue
text.nextmission=Next Mission
text.server.kicked.serverClose=Server closed.
text.server.kicked.sectorComplete=Sector completed.
text.server.kicked.sectorComplete.text=Your mission is complete.\nThe server will now continue at the next sector.
text.map.invalid=Error loading map: corrupted or invalid map file.
section.general.name=General
section.view.name=View
section.multiplayer.name=Multiplayer
block.deepwater.name=deepwater
block.water.name=water
block.lava.name=lava
block.oil.name=oil
block.blackstone.name=blackstone
block.stone.name=stone
block.dirt.name=dirt
block.sand.name=sand
block.ice.name=ice
block.snow.name=snow
block.grass.name=grass
block.shrub.name=shrub
block.rock.name=rock
block.blackrock.name=blackrock
block.icerock.name=icerock
unit.dagger.name=Dagger
unit.dagger.description=A basic ground unit. Useful in swarms.

View File

@@ -40,7 +40,6 @@ text.server.mismatch=클라이언트와 서버 버전이 일치하지 않습니
text.server.closing=[accent]서버 닫는중... text.server.closing=[accent]서버 닫는중...
text.server.kicked.kick=당신은 서버에서 추방되었습니다! text.server.kicked.kick=당신은 서버에서 추방되었습니다!
text.server.kicked.fastShoot=당신은 총을 너무 빨리 발사했습니다. text.server.kicked.fastShoot=당신은 총을 너무 빨리 발사했습니다.
text.server.kicked.invalidPassword=알 수 없는 비밀번호 입니다!
text.server.kicked.clientOutdated=오래된 버전의 클라이언트 입니다! 게임을 업데이트 하세요! text.server.kicked.clientOutdated=오래된 버전의 클라이언트 입니다! 게임을 업데이트 하세요!
text.server.kicked.serverOutdated=오래된 버전의 서버입니다! 서버 호스트 관리자에게 문의하세요! text.server.kicked.serverOutdated=오래된 버전의 서버입니다! 서버 호스트 관리자에게 문의하세요!
text.server.kicked.banned=당신은 서버에서 밴 망치를 맞아 차단당했습니다. text.server.kicked.banned=당신은 서버에서 밴 망치를 맞아 차단당했습니다.
@@ -281,7 +280,6 @@ text.category.liquids=액체
text.category.items=아이템 text.category.items=아이템
text.category.crafting=제작 text.category.crafting=제작
text.category.shooting=사격 text.category.shooting=사격
setting.difficulty.easy=쉬움 setting.difficulty.easy=쉬움
setting.difficulty.normal=보통 setting.difficulty.normal=보통
setting.difficulty.hard=어려움 setting.difficulty.hard=어려움
@@ -304,9 +302,7 @@ setting.musicvol.name=음악 크기
setting.mutemusic.name=음소거 setting.mutemusic.name=음소거
setting.sfxvol.name=효과음 크기 setting.sfxvol.name=효과음 크기
setting.mutesound.name=소리 끄기 setting.mutesound.name=소리 끄기
text.keybind.title=키 바인딩 text.keybind.title=키 바인딩
keybind.move_x.name=오른쪽/왼쪽 이동 keybind.move_x.name=오른쪽/왼쪽 이동
keybind.move_y.name=위쪽/아래쪽 이동 keybind.move_y.name=위쪽/아래쪽 이동
keybind.select.name=선택 keybind.select.name=선택
@@ -321,7 +317,6 @@ keybind.chat.name=채팅
keybind.player_list.name=플레이어 목록 keybind.player_list.name=플레이어 목록
keybind.console.name=콘솔 keybind.console.name=콘솔
keybind.rotate.name=회전 keybind.rotate.name=회전
mode.text.help.title=도움말 mode.text.help.title=도움말
mode.waves.name=단계 mode.waves.name=단계
mode.waves.description=이것은 일반 모드입니다. 제한된 자원과 자동으로 다음 단계가 시작됩니다. mode.waves.description=이것은 일반 모드입니다. 제한된 자원과 자동으로 다음 단계가 시작됩니다.
@@ -329,12 +324,10 @@ mode.sandbox.name=샌드박스
mode.sandbox.description=무한한 자원과 다음단계 시작을 위한 타이머가 없습니다. mode.sandbox.description=무한한 자원과 다음단계 시작을 위한 타이머가 없습니다.
mode.freebuild.name=자유 건축 mode.freebuild.name=자유 건축
mode.freebuild.description=제한된 자원과 다음단계 시작을 위한 타이머가 없습니다. mode.freebuild.description=제한된 자원과 다음단계 시작을 위한 타이머가 없습니다.
content.item.name=아이템 content.item.name=아이템
content.liquid.name=액체 content.liquid.name=액체
content.unit-type.name=종류 content.unit-type.name=종류
content.recipe.name=블록 content.recipe.name=블록
item.stone.name= item.stone.name=
item.stone.description=흔히 찾을 수 있는 자원. 바닥에서 돌을 캐거나 용암을 사용하여 얻을 수 있습니다. item.stone.description=흔히 찾을 수 있는 자원. 바닥에서 돌을 캐거나 용암을 사용하여 얻을 수 있습니다.
item.tungsten.name=텅스텐 item.tungsten.name=텅스텐
@@ -363,12 +356,10 @@ item.blast-compound.name=폭발 화합물
item.blast-compound.description=폭탄 및 폭발물에 사용되는 휘발성 화합물. 이 연료로 불을 낼 수 있지만, 별로 추천하지는 않습니다. item.blast-compound.description=폭탄 및 폭발물에 사용되는 휘발성 화합물. 이 연료로 불을 낼 수 있지만, 별로 추천하지는 않습니다.
item.pyratite.name=피러레이트 item.pyratite.name=피러레이트
item.pyratite.description=화염 무기에 사용되는 엄청난 가연성 물질. item.pyratite.description=화염 무기에 사용되는 엄청난 가연성 물질.
liquid.water.name= liquid.water.name=
liquid.lava.name=용암 liquid.lava.name=용암
liquid.oil.name=석유 liquid.oil.name=석유
liquid.cryofluid.name=냉각수 liquid.cryofluid.name=냉각수
text.item.explosiveness=[LIGHT_GRAY]폭발력:{0} text.item.explosiveness=[LIGHT_GRAY]폭발력:{0}
text.item.flammability=[LIGHT_GRAY]인화성:{0} text.item.flammability=[LIGHT_GRAY]인화성:{0}
text.item.radioactivity=[LIGHT_GRAY]방사능:{0} text.item.radioactivity=[LIGHT_GRAY]방사능:{0}
@@ -377,7 +368,6 @@ text.item.hardness=[LIGHT_GRAY]강도:{0}
text.liquid.heatcapacity=[LIGHT_GRAY]발열량:{0} text.liquid.heatcapacity=[LIGHT_GRAY]발열량:{0}
text.liquid.viscosity=[LIGHT_GRAY]점도:{0} text.liquid.viscosity=[LIGHT_GRAY]점도:{0}
text.liquid.temperature=[LIGHT_GRAY]온도:{0} text.liquid.temperature=[LIGHT_GRAY]온도:{0}
block.deepwater.name=깊은물 block.deepwater.name=깊은물
block.water.name= block.water.name=
block.lava.name=용암 block.lava.name=용암
@@ -485,10 +475,8 @@ block.liquid-junction.name=액체 교차기
block.bridge-conduit.name=다리 파이프 block.bridge-conduit.name=다리 파이프
block.rotary-pump.name=동력 펌프 block.rotary-pump.name=동력 펌프
block.nuclear-reactor.name=원자로 block.nuclear-reactor.name=원자로
text.save.old=이 저장파일은 이전 버전의 게임용이며, 지금은 사용할 수 없습니다. \n\n[LIGHT_GRAY]4.0 정식때 이전 게임버전에서 만든 저장파일과 호환됩니다. text.save.old=이 저장파일은 이전 버전의 게임용이며, 지금은 사용할 수 없습니다. \n\n[LIGHT_GRAY]4.0 정식때 이전 게임버전에서 만든 저장파일과 호환됩니다.
text.customgame=커스텀 게임 text.customgame=커스텀 게임
text.campaign=캠페인
text.sectors=구역 text.sectors=구역
text.sector=선택된 구역:[LIGHT_GRAY]{0} text.sector=선택된 구역:[LIGHT_GRAY]{0}
text.sector.time=시간:[LIGHT_GRAY]{0} text.sector.time=시간:[LIGHT_GRAY]{0}
@@ -503,13 +491,10 @@ text.credits.text=Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\n[GR
text.sector.gameover=이 구역을 잃었습니다. 다시 배치하시겠습니까? text.sector.gameover=이 구역을 잃었습니다. 다시 배치하시겠습니까?
text.sector.retry=다시할꺼임 text.sector.retry=다시할꺼임
text.wave.lasted=[accent]{0}[] 까지 버티셨습니다. text.wave.lasted=[accent]{0}[] 까지 버티셨습니다.
setting.fpscap.name=최대 FPS setting.fpscap.name=최대 FPS
setting.fpscap.none=없음 setting.fpscap.none=없음
setting.fpscap.text={0} FPS setting.fpscap.text={0} FPS
block.command-center.name=명령 본부 block.command-center.name=명령 본부
text.mission=목표:[LIGHT_GRAY] {0} text.mission=목표:[LIGHT_GRAY] {0}
text.mission.wave=[accent]{0}[]단계가 될때까지 생존하세요. text.mission.wave=[accent]{0}[]단계가 될때까지 생존하세요.
text.mission.battle=적 본부를 파괴하세요. text.mission.battle=적 본부를 파괴하세요.
@@ -520,20 +505,16 @@ text.mission.complete.body=구역 {0},{1} 탐색 성공.
text.mission.resource=Obtain {0} x{1} text.mission.resource=Obtain {0} x{1}
text.unit.health=[LIGHT_GRAY]체력:{0} text.unit.health=[LIGHT_GRAY]체력:{0}
text.unit.speed=[LIGHT_GRAY]속도:{0} text.unit.speed=[LIGHT_GRAY]속도:{0}
block.drone-pad.name=드론 공장 block.drone-pad.name=드론 공장
block.fabricator-pad.name=페버 공장 block.fabricator-pad.name=페버 공장
block.interceptor-pad.name=인터셉터 공장 block.interceptor-pad.name=인터셉터 공장
block.monsoon-pad.name=문순 공장 block.monsoon-pad.name=문순 공장
block.mass-driver.name=물질 이동기 block.mass-driver.name=물질 이동기
block.blast-drill.name=고속 발열 드릴 block.blast-drill.name=고속 발열 드릴
unit.drone.name=드론 unit.drone.name=드론
unit.drone.description=초기형 드론 유닛입니다. 기본적으로 코어에서 1대를 스폰합니다. 자동으로 아이템을 수집/채광하며 블럭들을 수리합니다. unit.drone.description=초기형 드론 유닛입니다. 기본적으로 코어에서 1대를 스폰합니다. 자동으로 아이템을 수집/채광하며 블럭들을 수리합니다.
unit.fabricator.name=페버 unit.fabricator.name=페버
unit.fabricator.description=고급 드론 유닛입니다. 자동으로 아이템과 수집/채광/블록들을 수리하며, 일반 드론보다 더 빠르게 작업할 수 있습니다. unit.fabricator.description=고급 드론 유닛입니다. 자동으로 아이템과 수집/채광/블록들을 수리하며, 일반 드론보다 더 빠르게 작업할 수 있습니다.
unit.scout.name=스카웃
unit.scout.description=기본 지상 유닛입니다. 납을 탄약으로 사용합니다.
unit.titan.name=타이탄 unit.titan.name=타이탄
unit.titan.description=고급 지상 유닛입니다. 합금을 탄약으로 사용하며 지상과 공중 둘다 공격할 수 있습니다. unit.titan.description=고급 지상 유닛입니다. 합금을 탄약으로 사용하며 지상과 공중 둘다 공격할 수 있습니다.
unit.monsoon.name=문순 unit.monsoon.name=문순
@@ -542,9 +523,19 @@ unit.interceptor.name=인터셉터
unit.interceptor.description=빠르고, 공격하고 튀는 방식을 사용합니다. 납을 탄약으로 사용합니다. unit.interceptor.description=빠르고, 공격하고 튀는 방식을 사용합니다. 납을 탄약으로 사용합니다.
unit.dagger.name=디거 unit.dagger.name=디거
unit.dagger.description=기본 지상 유닛입니다. 스웜과 같이 쓰면 유용합니다. unit.dagger.description=기본 지상 유닛입니다. 스웜과 같이 쓰면 유용합니다.
mode.sandbox.warning=Note that blocks cannot be used in sandbox mode until they are unlocked in other modes.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear. mode.sandbox.warning=Note that blocks cannot be used in sandbox mode until they are unlocked in other modes.\n\n[LIGHT_GRAY]If you have not unlocked any blocks, none will appear.
block.thermal-pump.name=지열 펌프 block.thermal-pump.name=지열 펌프
block.dagger-pad.name=디거 공장 block.dagger-pad.name=디거 공장
block.titan-pad.name=타이탄 공장 block.titan-pad.name=타이탄 공장
block.thermal-generator.name=지열 발전기 block.thermal-generator.name=지열 발전기
text.coreattack=< Core is under attack! >
text.continue=Continue
text.nextmission=Next Mission
text.server.kicked.serverClose=Server closed.
text.server.kicked.sectorComplete=Sector completed.
text.server.kicked.sectorComplete.text=Your mission is complete.\nThe server will now continue at the next sector.
text.map.invalid=Error loading map: corrupted or invalid map file.
setting.difficulty.purge=purge
section.general.name=General
section.view.name=View
section.multiplayer.name=Multiplayer

View File

@@ -16,7 +16,6 @@ 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.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.closing=[accent] Zamykanie serwera ...
text.server.kicked.kick=Zostałeś wyrzucony z 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.clientOutdated=Nieaktualna gra! Zaktualizują ją!
text.server.kicked.serverOutdated=Nieaktualna gra! Zaktualizują ją! text.server.kicked.serverOutdated=Nieaktualna gra! Zaktualizują ją!
text.hostserver=Stwórz Serwer text.hostserver=Stwórz Serwer
@@ -462,7 +461,6 @@ block.rotary-pump.name=Wirowa Pompa
block.nuclear-reactor.name=Reaktor Nuklearny block.nuclear-reactor.name=Reaktor Nuklearny
text.save.old=Ten zapis jest ze starej wersji i gra nie może go teraz wczytać.\n\n[LIGHT_GRAY]Wsparcie starych zapisów będzie w pełnej wersji 4.0. text.save.old=Ten zapis jest ze starej wersji i gra nie może go teraz wczytać.\n\n[LIGHT_GRAY]Wsparcie starych zapisów będzie w pełnej wersji 4.0.
text.customgame=Własna Gra text.customgame=Własna Gra
text.campaign=Kampania
text.sectors=Sektory text.sectors=Sektory
text.sector=Wybrany Sektor: [LIGHT_GRAY]{0} text.sector=Wybrany Sektor: [LIGHT_GRAY]{0}
text.sector.time=Czas: [LIGHT_GRAY]{0} text.sector.time=Czas: [LIGHT_GRAY]{0}
@@ -503,8 +501,6 @@ unit.drone.name=Drone
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks. unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
unit.fabricator.name=Fabricator unit.fabricator.name=Fabricator
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone. unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
unit.scout.name=Scout
unit.scout.description=A basic ground unit. Uses lead as ammo.
unit.titan.name=Titan unit.titan.name=Titan
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets. unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
unit.monsoon.name=Monsoon unit.monsoon.name=Monsoon
@@ -516,3 +512,30 @@ block.thermal-pump.name=Thermal Pump
block.dagger-pad.name=Dagger Pad block.dagger-pad.name=Dagger Pad
block.titan-pad.name=Titan Pad block.titan-pad.name=Titan Pad
block.thermal-generator.name=Thermal Generator block.thermal-generator.name=Thermal Generator
text.coreattack=< Core is under attack! >
text.continue=Continue
text.nextmission=Next Mission
text.server.kicked.serverClose=Server closed.
text.server.kicked.sectorComplete=Sector completed.
text.server.kicked.sectorComplete.text=Your mission is complete.\nThe server will now continue at the next sector.
text.map.invalid=Error loading map: corrupted or invalid map file.
section.general.name=General
section.view.name=View
section.multiplayer.name=Multiplayer
block.deepwater.name=deepwater
block.water.name=water
block.lava.name=lava
block.oil.name=oil
block.blackstone.name=blackstone
block.stone.name=stone
block.dirt.name=dirt
block.sand.name=sand
block.ice.name=ice
block.snow.name=snow
block.grass.name=grass
block.shrub.name=shrub
block.rock.name=rock
block.blackrock.name=blackrock
block.icerock.name=icerock
unit.dagger.name=Dagger
unit.dagger.description=A basic ground unit. Useful in swarms.

View File

@@ -162,7 +162,6 @@ text.server.mismatch=Packet error: Versão do Cliente/Servidor Incompativel.\nTe
text.server.closing=[accent]Fechando servidor... text.server.closing=[accent]Fechando servidor...
text.server.kicked.kick=Voce foi expulso do servidor! text.server.kicked.kick=Voce foi expulso do servidor!
text.server.kicked.fastShoot=Voce esta atirando rapido demais. text.server.kicked.fastShoot=Voce esta atirando rapido demais.
text.server.kicked.invalidPassword=Senha Incorreta!
text.server.kicked.clientOutdated=Cliente desatualizado! Atualize seu jogo! text.server.kicked.clientOutdated=Cliente desatualizado! Atualize seu jogo!
text.server.kicked.serverOutdated=Servidor desatualiado! Peca ao dono para atualizar! text.server.kicked.serverOutdated=Servidor desatualiado! Peca ao dono para atualizar!
text.server.kicked.banned=Voce foi banido do servidor. text.server.kicked.banned=Voce foi banido do servidor.
@@ -463,7 +462,6 @@ block.rotary-pump.name=Bomba Rotatoria
block.nuclear-reactor.name=Reator Nuclear block.nuclear-reactor.name=Reator Nuclear
text.save.old=Este save é para uma versão antiga do jogo, E não pode ser usado.\n\n[LIGHT_GRAY]Salvar Versões antigas vai ser Implementado Na versão 4.0 completa text.save.old=Este save é para uma versão antiga do jogo, E não pode ser usado.\n\n[LIGHT_GRAY]Salvar Versões antigas vai ser Implementado Na versão 4.0 completa
text.customgame=Jogo Customizado text.customgame=Jogo Customizado
text.campaign=Campanha
text.sectors=Setores text.sectors=Setores
text.sector=Setor Selecionado: [LIGHT_GRAY]{0} text.sector=Setor Selecionado: [LIGHT_GRAY]{0}
text.sector.time=Tempo: [LIGHT_GRAY]{0} text.sector.time=Tempo: [LIGHT_GRAY]{0}
@@ -503,8 +501,6 @@ unit.drone.name=Drone
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks. unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
unit.fabricator.name=Fabricator unit.fabricator.name=Fabricator
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone. unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
unit.scout.name=Scout
unit.scout.description=A basic ground unit. Uses lead as ammo.
unit.titan.name=Titan unit.titan.name=Titan
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets. unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
unit.monsoon.name=Monsoon unit.monsoon.name=Monsoon
@@ -516,3 +512,30 @@ block.thermal-pump.name=Thermal Pump
block.dagger-pad.name=Dagger Pad block.dagger-pad.name=Dagger Pad
block.titan-pad.name=Titan Pad block.titan-pad.name=Titan Pad
block.thermal-generator.name=Thermal Generator block.thermal-generator.name=Thermal Generator
text.coreattack=< Core is under attack! >
text.continue=Continue
text.nextmission=Next Mission
text.server.kicked.serverClose=Server closed.
text.server.kicked.sectorComplete=Sector completed.
text.server.kicked.sectorComplete.text=Your mission is complete.\nThe server will now continue at the next sector.
text.map.invalid=Error loading map: corrupted or invalid map file.
section.general.name=General
section.view.name=View
section.multiplayer.name=Multiplayer
block.deepwater.name=deepwater
block.water.name=water
block.lava.name=lava
block.oil.name=oil
block.blackstone.name=blackstone
block.stone.name=stone
block.dirt.name=dirt
block.sand.name=sand
block.ice.name=ice
block.snow.name=snow
block.grass.name=grass
block.shrub.name=shrub
block.rock.name=rock
block.blackrock.name=blackrock
block.icerock.name=icerock
unit.dagger.name=Dagger
unit.dagger.description=A basic ground unit. Useful in swarms.

View File

@@ -33,7 +33,6 @@ text.loadgame=Загрузить игру
text.joingame=Присоединиться text.joingame=Присоединиться
text.addplayers=Доб/удалить игроков text.addplayers=Доб/удалить игроков
text.customgame=Пользовательская игра text.customgame=Пользовательская игра
text.campaign=Кампания
text.sectors=Секторы text.sectors=Секторы
text.sector=Выбранный сектор: [LIGHT_GRAY]{0} text.sector=Выбранный сектор: [LIGHT_GRAY]{0}
text.sector.time=Время: [LIGHT_GRAY]{0} text.sector.time=Время: [LIGHT_GRAY]{0}
@@ -64,7 +63,9 @@ text.server.mismatch=Ошибка пакета: возможное несоот
text.server.closing=[accent]Закрытие сервера... text.server.closing=[accent]Закрытие сервера...
text.server.kicked.kick=Вас выгнали с сервера! text.server.kicked.kick=Вас выгнали с сервера!
text.server.kicked.fastShoot=Вы стреляете слишком быстро. text.server.kicked.fastShoot=Вы стреляете слишком быстро.
text.server.kicked.invalidPassword=Неверный пароль. text.server.kicked.serverClose=Сервер закрыт.
text.server.kicked.sectorComplete=Сектор завершён.
text.server.kicked.sectorComplete.text=Ваша миссия завершена.\nТеперь сервер продолжит работу в следующем секторе.
text.server.kicked.clientOutdated=Устаревший клиент! Обновите игру! text.server.kicked.clientOutdated=Устаревший клиент! Обновите игру!
text.server.kicked.serverOutdated=Устаревший сервер! Попросите хост обновить! text.server.kicked.serverOutdated=Устаревший сервер! Попросите хост обновить!
text.server.kicked.banned=Вы заблокированы на этом сервере. text.server.kicked.banned=Вы заблокированы на этом сервере.
@@ -337,6 +338,9 @@ setting.mutemusic.name=Заглушить музыку
setting.sfxvol.name=Громкость звуковых эффектов setting.sfxvol.name=Громкость звуковых эффектов
setting.mutesound.name=Заглушить звук setting.mutesound.name=Заглушить звук
text.keybind.title=Переназначить клавиши text.keybind.title=Переназначить клавиши
section.general.name=Oснoвнoe
section.view.name=Прoсмoтр
section.multiplayer.name=Мультиплеер
keybind.move_x.name=Движение x keybind.move_x.name=Движение x
keybind.move_y.name=Движение y keybind.move_y.name=Движение y
keybind.select.name=выбрать keybind.select.name=выбрать
@@ -535,3 +539,9 @@ unit.monsoon.name=Муссон
unit.monsoon.description=Тяжелый ковровый бомбардировщик. Использует взрывоопасное соединение или пиратит в качестве боеприпасов. unit.monsoon.description=Тяжелый ковровый бомбардировщик. Использует взрывоопасное соединение или пиратит в качестве боеприпасов.
unit.interceptor.name=Истребитель-перехватчик unit.interceptor.name=Истребитель-перехватчик
unit.interceptor.description=Быстрая и ударная боевая единица, которая использует набег с отскоком. unit.interceptor.description=Быстрая и ударная боевая единица, которая использует набег с отскоком.
text.server.kicked.serverClose=Server closed.
text.server.kicked.sectorComplete=Sector completed.
text.server.kicked.sectorComplete.text=Your mission is complete.\nThe server will now continue at the next sector.
section.general.name=General
section.view.name=View
section.multiplayer.name=Multiplayer

View File

@@ -26,7 +26,6 @@ text.players.single={0} Oyuncu Çevrimiçi
text.server.mismatch=Paket hatası: olası istemci / sunucu sürümü uyuşmazlığı. Siz ve ev sahibi Mindustry'nin en son sürümüne sahip olduğunuzdan emin olun! text.server.mismatch=Paket hatası: olası istemci / sunucu sürümü uyuşmazlığı. Siz ve ev sahibi Mindustry'nin en son sürümüne sahip olduğunuzdan emin olun!
text.server.closing=[accent] Sunucu kapatılıyor ... text.server.closing=[accent] Sunucu kapatılıyor ...
text.server.kicked.kick=Sunucudan kovuldun! text.server.kicked.kick=Sunucudan kovuldun!
text.server.kicked.invalidPassword=Geçersiz şifre!
text.server.kicked.clientOutdated=Oyun sürümünüz geçerli değil. Oyununu güncelleyin! text.server.kicked.clientOutdated=Oyun sürümünüz geçerli değil. Oyununu güncelleyin!
text.server.kicked.serverOutdated=Eski sunucu! Ev sahibinden güncellemesini isteyin! text.server.kicked.serverOutdated=Eski sunucu! Ev sahibinden güncellemesini isteyin!
text.server.kicked.banned=Bu sunucudan yasaklandınız. text.server.kicked.banned=Bu sunucudan yasaklandınız.
@@ -464,7 +463,6 @@ block.rotary-pump.name=Rotary Pump
block.nuclear-reactor.name=Nuclear Reactor block.nuclear-reactor.name=Nuclear Reactor
text.save.old=This save is for an older version of the game, and can no longer be used.\n\n[LIGHT_GRAY]Save backwards compatibility will be implemented in the full 4.0 release. text.save.old=This save is for an older version of the game, and can no longer be used.\n\n[LIGHT_GRAY]Save backwards compatibility will be implemented in the full 4.0 release.
text.customgame=Custom Game text.customgame=Custom Game
text.campaign=Campaign
text.sectors=Sectors text.sectors=Sectors
text.sector=Selected Sector: [LIGHT_GRAY]{0} text.sector=Selected Sector: [LIGHT_GRAY]{0}
text.sector.time=Time: [LIGHT_GRAY]{0} text.sector.time=Time: [LIGHT_GRAY]{0}
@@ -503,8 +501,6 @@ unit.drone.name=Drone
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks. unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
unit.fabricator.name=Fabricator unit.fabricator.name=Fabricator
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone. unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
unit.scout.name=Scout
unit.scout.description=A basic ground unit. Uses lead as ammo.
unit.titan.name=Titan unit.titan.name=Titan
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets. unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
unit.monsoon.name=Monsoon unit.monsoon.name=Monsoon
@@ -516,3 +512,30 @@ block.thermal-pump.name=Thermal Pump
block.dagger-pad.name=Dagger Pad block.dagger-pad.name=Dagger Pad
block.titan-pad.name=Titan Pad block.titan-pad.name=Titan Pad
block.thermal-generator.name=Thermal Generator block.thermal-generator.name=Thermal Generator
text.coreattack=< Core is under attack! >
text.continue=Continue
text.nextmission=Next Mission
text.server.kicked.serverClose=Server closed.
text.server.kicked.sectorComplete=Sector completed.
text.server.kicked.sectorComplete.text=Your mission is complete.\nThe server will now continue at the next sector.
text.map.invalid=Error loading map: corrupted or invalid map file.
section.general.name=General
section.view.name=View
section.multiplayer.name=Multiplayer
block.deepwater.name=deepwater
block.water.name=water
block.lava.name=lava
block.oil.name=oil
block.blackstone.name=blackstone
block.stone.name=stone
block.dirt.name=dirt
block.sand.name=sand
block.ice.name=ice
block.snow.name=snow
block.grass.name=grass
block.shrub.name=shrub
block.rock.name=rock
block.blackrock.name=blackrock
block.icerock.name=icerock
unit.dagger.name=Dagger
unit.dagger.description=A basic ground unit. Useful in swarms.

View File

@@ -22,9 +22,9 @@ text.map.delete=Ви впевнені, що хочете видалити кар
text.level.select=Вибір рівня text.level.select=Вибір рівня
text.level.mode=Ігровий режим: text.level.mode=Ігровий режим:
text.construction.title=Block Construction Guide text.construction.title=Block Construction Guide
text.construction=\You've just selected [accent]block construction mode[].\n\n\To begin placing, simply tap a valid location near your ship.\n\Once 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.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.title=Block Deconstruction Guide
text.deconstruction=\You've just selected [accent]block deconstruction mode[].\n\n\To begin breaking, simply tap a block near your ship.\n\Once 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.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=Не показувати знову до наступного сеансу text.showagain=Не показувати знову до наступного сеансу
text.coreattack=< Ядро під атакою! > text.coreattack=< Ядро під атакою! >
text.unlocks=Разблоковане text.unlocks=Разблоковане
@@ -535,3 +535,7 @@ unit.monsoon.name=Мусон
unit.monsoon.description=Важкий килимовий бомбардувальник. Використовує вибухонебезпечну речовину або піратит як боєприпаси. unit.monsoon.description=Важкий килимовий бомбардувальник. Використовує вибухонебезпечну речовину або піратит як боєприпаси.
unit.interceptor.name=Винищувач-перехполювач unit.interceptor.name=Винищувач-перехполювач
unit.interceptor.description=Швидка, ударна бойова одиниця, котра використовує набіг з відскоком unit.interceptor.description=Швидка, ударна бойова одиниця, котра використовує набіг з відскоком
text.settings.language=Language
section.general.name=General
section.view.name=View
section.multiplayer.name=Multiplayer

View File

@@ -32,7 +32,6 @@ text.loadgame=载入游戏
text.joingame=加入游戏 text.joingame=加入游戏
text.addplayers=增加/删除玩家 text.addplayers=增加/删除玩家
text.customgame=自定义游戏 text.customgame=自定义游戏
text.campaign=战役
text.sectors=区域 text.sectors=区域
text.sector=区域: [LIGHT_GRAY]{0} text.sector=区域: [LIGHT_GRAY]{0}
text.sector.time=时间: [LIGHT_GRAY]{0} text.sector.time=时间: [LIGHT_GRAY]{0}
@@ -59,7 +58,6 @@ text.server.mismatch=Packet error: 可能是客户端/服务器版本不匹配\n
text.server.closing=[accent]正在关闭服务器... text.server.closing=[accent]正在关闭服务器...
text.server.kicked.kick=你被踢出服务器了! text.server.kicked.kick=你被踢出服务器了!
text.server.kicked.fastShoot=你发射得太快了! text.server.kicked.fastShoot=你发射得太快了!
text.server.kicked.invalidPassword=无效的密码!
text.server.kicked.clientOutdated=客户端版本过旧!请升级! text.server.kicked.clientOutdated=客户端版本过旧!请升级!
text.server.kicked.serverOutdated=服务器版本过旧!请联系房主升级! text.server.kicked.serverOutdated=服务器版本过旧!请联系房主升级!
text.server.kicked.banned=你被这个服务器拉黑了。 text.server.kicked.banned=你被这个服务器拉黑了。
@@ -497,8 +495,6 @@ unit.drone.name=无人机
unit.drone.description=初始的无人机单位.自动在核心生成,自动采矿,收集物品,修复方块 unit.drone.description=初始的无人机单位.自动在核心生成,自动采矿,收集物品,修复方块
unit.fabricator.name=装配工 unit.fabricator.name=装配工
unit.fabricator.description=高级无人机单位,自动采矿,收集物品和修复方块.比普通无人机快很多. unit.fabricator.description=高级无人机单位,自动采矿,收集物品和修复方块.比普通无人机快很多.
unit.scout.name=侦察机
unit.scout.description=基础地面单位,使用钨作为弹药.
unit.titan.name=泰坦 unit.titan.name=泰坦
unit.titan.description=高级的有武装地面单位,使用电石作为弹药.攻击地面单位和空中单位. unit.titan.description=高级的有武装地面单位,使用电石作为弹药.攻击地面单位和空中单位.
unit.monsoon.name=狂风 unit.monsoon.name=狂风
@@ -516,3 +512,30 @@ block.thermal-pump.name=Thermal Pump
block.dagger-pad.name=Dagger Pad block.dagger-pad.name=Dagger Pad
block.titan-pad.name=Titan Pad block.titan-pad.name=Titan Pad
block.thermal-generator.name=Thermal Generator block.thermal-generator.name=Thermal Generator
text.coreattack=< Core is under attack! >
text.continue=Continue
text.nextmission=Next Mission
text.server.kicked.serverClose=Server closed.
text.server.kicked.sectorComplete=Sector completed.
text.server.kicked.sectorComplete.text=Your mission is complete.\nThe server will now continue at the next sector.
text.map.invalid=Error loading map: corrupted or invalid map file.
section.general.name=General
section.view.name=View
section.multiplayer.name=Multiplayer
block.deepwater.name=deepwater
block.water.name=water
block.lava.name=lava
block.oil.name=oil
block.blackstone.name=blackstone
block.stone.name=stone
block.dirt.name=dirt
block.sand.name=sand
block.ice.name=ice
block.snow.name=snow
block.grass.name=grass
block.shrub.name=shrub
block.rock.name=rock
block.blackrock.name=blackrock
block.icerock.name=icerock
unit.dagger.name=Dagger
unit.dagger.description=A basic ground unit. Useful in swarms.

View File

@@ -27,7 +27,6 @@ text.server.mismatch=封包錯誤:客戶端與伺服器版本可能不相符
text.server.closing=[accent] 正在關閉伺服器... text.server.closing=[accent] 正在關閉伺服器...
text.server.kicked.kick=您已被踢出伺服器! text.server.kicked.kick=您已被踢出伺服器!
text.server.kicked.fastShoot=您射擊的太快了! text.server.kicked.fastShoot=您射擊的太快了!
text.server.kicked.invalidPassword=密碼無效!
text.server.kicked.clientOutdated=客戶端版本過舊!請更新遊戲! text.server.kicked.clientOutdated=客戶端版本過舊!請更新遊戲!
text.server.kicked.serverOutdated=伺服器版本過舊!請聯絡伺服主更新伺服器! text.server.kicked.serverOutdated=伺服器版本過舊!請聯絡伺服主更新伺服器!
text.server.kicked.banned=您已經從這個伺服器被封禁。 text.server.kicked.banned=您已經從這個伺服器被封禁。
@@ -464,7 +463,6 @@ block.bridge-conduit.name=Bridge Conduit
block.rotary-pump.name=Rotary Pump block.rotary-pump.name=Rotary Pump
block.nuclear-reactor.name=Nuclear Reactor block.nuclear-reactor.name=Nuclear Reactor
text.customgame=Custom Game text.customgame=Custom Game
text.campaign=Campaign
text.sectors=Sectors text.sectors=Sectors
text.sector=Selected Sector: [LIGHT_GRAY]{0} text.sector=Selected Sector: [LIGHT_GRAY]{0}
text.sector.time=Time: [LIGHT_GRAY]{0} text.sector.time=Time: [LIGHT_GRAY]{0}
@@ -503,8 +501,6 @@ unit.drone.name=Drone
unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks. unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks.
unit.fabricator.name=Fabricator unit.fabricator.name=Fabricator
unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone. unit.fabricator.description=An advanced drone unit. Automatically mines ores, collects items and repairs blocks. Significantly more effective than a drone.
unit.scout.name=Scout
unit.scout.description=A basic ground unit. Uses lead as ammo.
unit.titan.name=Titan unit.titan.name=Titan
unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets. unit.titan.description=An advanced armored ground unit. Uses carbide as ammo. Attacks both ground and air targets.
unit.monsoon.name=Monsoon unit.monsoon.name=Monsoon
@@ -516,3 +512,30 @@ block.thermal-pump.name=Thermal Pump
block.dagger-pad.name=Dagger Pad block.dagger-pad.name=Dagger Pad
block.titan-pad.name=Titan Pad block.titan-pad.name=Titan Pad
block.thermal-generator.name=Thermal Generator block.thermal-generator.name=Thermal Generator
text.coreattack=< Core is under attack! >
text.continue=Continue
text.nextmission=Next Mission
text.server.kicked.serverClose=Server closed.
text.server.kicked.sectorComplete=Sector completed.
text.server.kicked.sectorComplete.text=Your mission is complete.\nThe server will now continue at the next sector.
text.map.invalid=Error loading map: corrupted or invalid map file.
section.general.name=General
section.view.name=View
section.multiplayer.name=Multiplayer
block.deepwater.name=deepwater
block.water.name=water
block.lava.name=lava
block.oil.name=oil
block.blackstone.name=blackstone
block.stone.name=stone
block.dirt.name=dirt
block.sand.name=sand
block.ice.name=ice
block.snow.name=snow
block.grass.name=grass
block.shrub.name=shrub
block.rock.name=rock
block.blackrock.name=blackrock
block.icerock.name=icerock
unit.dagger.name=Dagger
unit.dagger.description=A basic ground unit. Useful in swarms.

View File

@@ -93,8 +93,7 @@ LabelStyle: {
TextFieldStyle: { TextFieldStyle: {
default: {font: default-font-chat, fontColor: white, disabledFontColor: gray, selection: selection, background: button, cursor: cursor, messageFont: default-font, messageFontColor: gray } default: {font: default-font-chat, fontColor: white, disabledFontColor: gray, selection: selection, background: button, cursor: cursor, messageFont: default-font, messageFontColor: gray }
textarea: {font: default-font-chat, fontColor: white, disabledFontColor: gray, selection: selection, background: textarea, cursor: cursor, messageFont: default-font, messageFontColor: gray } textarea: {font: default-font-chat, fontColor: white, disabledFontColor: gray, selection: selection, background: textarea, cursor: cursor, messageFont: default-font, messageFontColor: gray }
} },
CheckBoxStyle: { CheckBoxStyle: {
default: {checkboxOn: check-on, checkboxOff: check-off, checkboxOnOver: check-on-over, checkboxOver: check-over, font: default-font, fontColor: white, disabledFontColor: gray } default: {checkboxOn: check-on, checkboxOff: check-off, checkboxOnOver: check-on-over, checkboxOver: check-over, font: default-font, fontColor: white, disabledFontColor: gray }
} }

View File

@@ -106,7 +106,7 @@ public class Blocks extends BlockList implements ContentList{
stone = new Floor("stone"){{ stone = new Floor("stone"){{
hasOres = true; hasOres = true;
drops = new ItemStack(Items.stone, 1); drops = new ItemStack(Items.stone, 1);
blends = block -> block != this && !(block instanceof Ore); blends = block -> block != this && !(block instanceof OreBlock);
minimapColor = Color.valueOf("323232"); minimapColor = Color.valueOf("323232");
playerUnmineable = true; playerUnmineable = true;
}}; }};

View File

@@ -197,6 +197,10 @@ public class Renderer extends RendererModule{
@Override @Override
public void draw(){ public void draw(){
camera.update(); camera.update();
if(Float.isNaN(Core.camera.position.x) || Float.isNaN(Core.camera.position.y)){
Core.camera.position.x = players[0].x;
Core.camera.position.y = players[0].y;
}
Graphics.clear(clearColor); Graphics.clear(clearColor);

View File

@@ -33,17 +33,11 @@ import static io.anuke.mindustry.Vars.state;
import static io.anuke.mindustry.Vars.world; import static io.anuke.mindustry.Vars.world;
public abstract class Unit extends DestructibleEntity implements SaveTrait, TargetTrait, SyncTrait, DrawTrait, TeamTrait, CarriableTrait, InventoryTrait{ public abstract class Unit extends DestructibleEntity implements SaveTrait, TargetTrait, SyncTrait, DrawTrait, TeamTrait, CarriableTrait, InventoryTrait{
/** /**Total duration of hit flash effect*/
* total duration of hit flash effect
*/
public static final float hitDuration = 9f; public static final float hitDuration = 9f;
/** /**Percision divisor of velocity, used when writing. For example a value of '2' would mean the percision is 1/2 = 0.5-size chunks.*/
* Percision divisor of velocity, used when writing. For example a value of '2' would mean the percision is 1/2 = 0.5-size chunks.
*/
public static final float velocityPercision = 8f; public static final float velocityPercision = 8f;
/** /**Maximum absolute value of a velocity vector component.*/
* Maximum absolute value of a velocity vector component.
*/
public static final float maxAbsVelocity = 127f / velocityPercision; public static final float maxAbsVelocity = 127f / velocityPercision;
private static final Vector2 moveVector = new Vector2(); private static final Vector2 moveVector = new Vector2();

View File

@@ -3,6 +3,7 @@ package io.anuke.mindustry.entities.units;
import io.anuke.mindustry.Vars; import io.anuke.mindustry.Vars;
import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.Items;
import io.anuke.mindustry.entities.effect.ItemDrop; import io.anuke.mindustry.entities.effect.ItemDrop;
import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Item;
import io.anuke.ucore.util.Mathf; import io.anuke.ucore.util.Mathf;
@@ -11,7 +12,7 @@ public class UnitDrops{
private static Item[] dropTable; private static Item[] dropTable;
public static void dropItems(BaseUnit unit){ public static void dropItems(BaseUnit unit){
if(Vars.itemGroup.size() > maxItems){ if(Vars.itemGroup.size() > maxItems || unit.getTeam() != Team.red){
return; return;
} }

View File

@@ -190,7 +190,7 @@ public class Drone extends FlyingUnit implements BuilderTrait{
public void update(){ public void update(){
ItemDrop item = (ItemDrop) target; ItemDrop item = (ItemDrop) target;
if(inventory.isFull() || !inventory.canAcceptItem(item.getItem(), 1)){ if(item == null || inventory.isFull() || !inventory.canAcceptItem(item.getItem(), 1)){
setState(drop); setState(drop);
return; return;
} }
@@ -329,7 +329,7 @@ public class Drone extends FlyingUnit implements BuilderTrait{
public void update(){ public void update(){
super.update(); super.update();
if(target != null && target.getTeam() != team){ if(state.is(repair) && target != null && target.getTeam() != team){
target = null; target = null;
} }

View File

@@ -76,7 +76,9 @@ public class Save16 extends SaveFileVersion{
short width = stream.readShort(); short width = stream.readShort();
short height = stream.readShort(); short height = stream.readShort();
if(map == null){ if(world.getSector() != null){
world.setMap(new Map("Sector " + world.getSector().x + ", " + world.getSector().y, width, height));
}else if(map == null){
world.setMap(new Map("unknown", width, height)); world.setMap(new Map("unknown", width, height));
} }

View File

@@ -3,7 +3,6 @@ package io.anuke.mindustry.ui.fragments;
import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.g2d.Batch; import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.graphics.g2d.BitmapFont; import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.BitmapFont.Glyph;
import com.badlogic.gdx.graphics.g2d.GlyphLayout; import com.badlogic.gdx.graphics.g2d.GlyphLayout;
import com.badlogic.gdx.utils.Align; import com.badlogic.gdx.utils.Align;
import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.Array;
@@ -25,7 +24,6 @@ import io.anuke.ucore.util.Mathf;
import static io.anuke.mindustry.Vars.players; import static io.anuke.mindustry.Vars.players;
import static io.anuke.mindustry.Vars.state; import static io.anuke.mindustry.Vars.state;
import static io.anuke.ucore.core.Core.font;
import static io.anuke.ucore.core.Core.scene; import static io.anuke.ucore.core.Core.scene;
import static io.anuke.ucore.core.Core.skin; import static io.anuke.ucore.core.Core.skin;
@@ -36,7 +34,7 @@ public class ChatFragment extends Table{
private boolean chatOpen = false; private boolean chatOpen = false;
private TextField chatfield; private TextField chatfield;
private Label fieldlabel = new Label(">"); private Label fieldlabel = new Label(">");
//private BitmapFont font; private BitmapFont font;
private GlyphLayout layout = new GlyphLayout(); private GlyphLayout layout = new GlyphLayout();
private float offsetx = Unit.dp.scl(4), offsety = Unit.dp.scl(4), fontoffsetx = Unit.dp.scl(2), chatspace = Unit.dp.scl(50); private float offsetx = Unit.dp.scl(4), offsety = Unit.dp.scl(4), fontoffsetx = Unit.dp.scl(2), chatspace = Unit.dp.scl(50);
private float textWidth = Unit.dp.scl(600); private float textWidth = Unit.dp.scl(600);
@@ -56,15 +54,20 @@ public class ChatFragment extends Table{
super(); super();
setFillParent(true); setFillParent(true);
//font = Core.skin.getFont("default-font"); font = Core.skin.getFont("default-font");
visible(() -> !state.is(State.menu) && Net.active()); visible(() -> !state.is(State.menu) && Net.active());
update(() -> { update(() -> {
if(!Net.active() && chatOpen){ if(!Net.active()){
hide(); clearMessages();
if(chatOpen){
hide();
}
} }
if(Net.active() && Inputs.keyTap("chat")){ if(Net.active() && Inputs.keyTap("chat")){
toggle(); toggle();
} }
@@ -99,31 +102,15 @@ public class ChatFragment extends Table{
private void setup(){ private void setup(){
fieldlabel.setStyle(new LabelStyle(fieldlabel.getStyle())); fieldlabel.setStyle(new LabelStyle(fieldlabel.getStyle()));
//fieldlabel.getStyle().font = font; fieldlabel.getStyle().font = font;
fieldlabel.setStyle(fieldlabel.getStyle()); fieldlabel.setStyle(fieldlabel.getStyle());
chatfield = new TextField("", new TextField.TextFieldStyle(skin.get(TextField.TextFieldStyle.class))){ chatfield = new TextField("", new TextField.TextFieldStyle(skin.get(TextField.TextFieldStyle.class)));
@Override
public void draw(Batch batch, float parentAlpha){
getStyle().font.getData().markupEnabled = false;
super.draw(batch, parentAlpha);
getStyle().font.getData().markupEnabled = true;
}
};
chatfield.setTextFieldFilter((field, c) -> field.getText().length() < Vars.maxTextLength); chatfield.setTextFieldFilter((field, c) -> field.getText().length() < Vars.maxTextLength);
chatfield.getStyle().background = null; chatfield.getStyle().background = null;
chatfield.getStyle().font = skin.getFont("default-font-chat");
chatfield.getStyle().fontColor = Color.WHITE; chatfield.getStyle().fontColor = Color.WHITE;
chatfield.setStyle(chatfield.getStyle()); chatfield.setStyle(chatfield.getStyle());
chatfield.update(() -> {
BitmapFont font = detectFont(chatfield.getText());;
if(font != chatfield.getStyle().font){
chatfield.getStyle().font = detectFont(chatfield.getText());
chatfield.setStyle(chatfield.getStyle());
String text = chatfield.getText();
chatfield.clearText();
chatfield.appendText(text);
}
});
Platform.instance.addDialog(chatfield, Vars.maxTextLength); Platform.instance.addDialog(chatfield, Vars.maxTextLength);
bottom().left().marginBottom(offsety).marginLeft(offsetx * 2).add(fieldlabel).padBottom(4f); bottom().left().marginBottom(offsety).marginLeft(offsetx * 2).add(fieldlabel).padBottom(4f);
@@ -160,7 +147,6 @@ public class ChatFragment extends Table{
float theight = offsety + spacing + getMarginBottom(); float theight = offsety + spacing + getMarginBottom();
for(int i = scrollPos; i < messages.size && i < messagesShown + scrollPos && (i < fadetime || chatOpen); i++){ for(int i = scrollPos; i < messages.size && i < messagesShown + scrollPos && (i < fadetime || chatOpen); i++){
BitmapFont font = detectFont(messages.get(i).formattedMessage);
layout.setText(font, messages.get(i).formattedMessage, Color.WHITE, textWidth, Align.bottomLeft, true); layout.setText(font, messages.get(i).formattedMessage, Color.WHITE, textWidth, Align.bottomLeft, true);
theight += layout.height + textspacing; theight += layout.height + textspacing;
@@ -186,25 +172,6 @@ public class ChatFragment extends Table{
fadetime -= Timers.delta() / 180f; fadetime -= Timers.delta() / 180f;
} }
private BitmapFont detectFont(String text){
for(int i = 0; i < text.length(); i++){
if(isControl((int) text.charAt(i))) continue;
Glyph g = font.getData().getGlyph(text.charAt(i));
if(g == null || g == font.getData().missingGlyph){
for(BitmapFont font : Core.skin.getAll(BitmapFont.class).values()){
if(font.getData().getGlyph(text.charAt(i)) != null){
return font;
}
}
}
}
return Core.font;
}
private boolean isControl(int var0){
return var0 <= 159 && (var0 >= 127 || var0 >>> 5 == 0);
}
private void sendMessage(){ private void sendMessage(){
String message = chatfield.getText(); String message = chatfield.getText();
clearChatInput(); clearChatInput();

View File

@@ -84,7 +84,7 @@ public abstract class BaseBlock{
} }
public boolean acceptItem(Item item, Tile tile, Tile source){ public boolean acceptItem(Item item, Tile tile, Tile source){
return tile.entity != null && consumes.has(ConsumeItem.class) && consumes.item() == item && tile.entity.items.total() < itemCapacity; return tile.entity != null && consumes.has(ConsumeItem.class) && consumes.item() == item && tile.entity.items.get(item) < getMaximumAccepted(tile, item);
} }
public boolean acceptLiquid(Tile tile, Tile source, Liquid liquid, float amount){ public boolean acceptLiquid(Tile tile, Tile source, Liquid liquid, float amount){
@@ -274,7 +274,7 @@ public abstract class BaseBlock{
/** Try offloading an item to a nearby container in its facing direction. Returns true if success.*/ /** Try offloading an item to a nearby container in its facing direction. Returns true if success.*/
public boolean offloadDir(Tile tile, Item item){ public boolean offloadDir(Tile tile, Item item){
Tile other = tile.getNearby(tile.getRotation()); Tile other = tile.getNearby(tile.getRotation());
if(other != null && other.getTeamID() == tile.getTeamID() && other.block().acceptItem(item, other, tile)){ if(other != null && other.target().getTeamID() == tile.getTeamID() && other.block().acceptItem(item, other, tile)){
other.block().handleItem(item, other, tile); other.block().handleItem(item, other, tile);
return true; return true;
} }

View File

@@ -217,6 +217,9 @@ public class BuildBlock extends Block{
if(recipe != null){ if(recipe != null){
ItemStack[] requirements = recipe.requirements; ItemStack[] requirements = recipe.requirements;
if(requirements.length != accumulator.length || totalAccumulator.length != requirements.length){
setDeconstruct(previous);
}
for(int i = 0; i < requirements.length; i++){ for(int i = 0; i < requirements.length; i++){
accumulator[i] += Math.min(requirements[i].amount * amount / 2f, requirements[i].amount/2f - totalAccumulator[i]); //add scaled amount progressed to the accumulator accumulator[i] += Math.min(requirements[i].amount * amount / 2f, requirements[i].amount/2f - totalAccumulator[i]); //add scaled amount progressed to the accumulator

View File

@@ -1,12 +0,0 @@
package io.anuke.mindustry.world.blocks;
import io.anuke.mindustry.content.blocks.Blocks;
public class Ore extends Floor{
public Ore(String name){
super(name);
blends = block -> block != this && block != Blocks.stone;
}
}

View File

@@ -14,7 +14,7 @@ public class OreBlock extends Floor{
public OreBlock(Item ore, Floor base){ public OreBlock(Item ore, Floor base){
super("ore-" + ore.name + "-" + base.name); super("ore-" + ore.name + "-" + base.name);
this.formalName = ore.name + " " + base.formalName; this.formalName = ore.localizedName() + " " + base.formalName;
this.drops = new ItemStack(ore, 1); this.drops = new ItemStack(ore, 1);
this.base = base; this.base = base;
this.variants = 3; this.variants = 3;

View File

@@ -53,6 +53,7 @@ public class PowerNode extends PowerBlock{
@Remote(targets = Loc.both, called = Loc.server, forward = true) @Remote(targets = Loc.both, called = Loc.server, forward = true)
public static void linkPowerDistributors(Player player, Tile tile, Tile other){ public static void linkPowerDistributors(Player player, Tile tile, Tile other){
if(!(tile.entity instanceof DistributorEntity)) return;
DistributorEntity entity = tile.entity(); DistributorEntity entity = tile.entity();
@@ -71,6 +72,8 @@ public class PowerNode extends PowerBlock{
@Remote(targets = Loc.both, called = Loc.server, forward = true) @Remote(targets = Loc.both, called = Loc.server, forward = true)
public static void unlinkPowerDistributors(Player player, Tile tile, Tile other){ public static void unlinkPowerDistributors(Player player, Tile tile, Tile other){
if(!(tile.entity instanceof DistributorEntity)) return;
DistributorEntity entity = tile.entity(); DistributorEntity entity = tile.entity();
entity.links.removeValue(other.packedPosition()); entity.links.removeValue(other.packedPosition());
@@ -224,7 +227,7 @@ public class PowerNode extends PowerBlock{
} }
protected boolean shouldDistribute(Tile tile, Tile other){ protected boolean shouldDistribute(Tile tile, Tile other){
return other != null && other.getTeamID() == tile.getTeamID() && other.entity.power.amount / other.block().powerCapacity <= tile.entity.power.amount / powerCapacity && return other != null && other.entity != null && other.block().hasPower && other.getTeamID() == tile.getTeamID() && other.entity.power.amount / other.block().powerCapacity <= tile.entity.power.amount / powerCapacity &&
!(other.block() instanceof PowerGenerator); //do not distribute to power generators !(other.block() instanceof PowerGenerator); //do not distribute to power generators
} }

View File

@@ -114,6 +114,11 @@ public class GenericCrafter extends Block{
return new GenericCrafterEntity(); return new GenericCrafterEntity();
} }
@Override
public int getMaximumAccepted(Tile tile, Item item){
return itemCapacity;
}
public static class GenericCrafterEntity extends TileEntity{ public static class GenericCrafterEntity extends TileEntity{
public float progress; public float progress;
public float totalProgress; public float totalProgress;

View File

@@ -11,6 +11,7 @@ import io.anuke.mindustry.Vars;
import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.core.Platform;
import io.anuke.mindustry.core.ThreadHandler.ThreadProvider; import io.anuke.mindustry.core.ThreadHandler.ThreadProvider;
import io.anuke.mindustry.game.GameMode;
import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.Net;
import io.anuke.mindustry.ui.dialogs.FileChooser; import io.anuke.mindustry.ui.dialogs.FileChooser;
import io.anuke.ucore.function.Consumer; import io.anuke.ucore.function.Consumer;
@@ -78,14 +79,24 @@ public class DesktopPlatform extends Platform{
DiscordRichPresence presence = new DiscordRichPresence(); DiscordRichPresence presence = new DiscordRichPresence();
if(!state.is(State.menu)){ if(!state.is(State.menu)){
presence.state = Strings.capitalize(state.mode.name()) + ", Solo"; presence.state = Strings.capitalize(state.mode.name());
presence.details = Strings.capitalize(world.getMap().name) + " | Wave " + state.wave; if(state.mode == GameMode.noWaves){
presence.largeImageText = "Wave " + state.wave; presence.details = Strings.capitalize(world.getMap().name);
}else{
presence.details = Strings.capitalize(world.getMap().name) + " | Wave " + state.wave;
presence.largeImageText = "Wave " + state.wave;
}
if(state.mode != GameMode.noWaves){
presence.state = Strings.capitalize(state.mode.name());
}else{
presence.state = unitGroups[players[0].getTeam().ordinal()].size() == 1 ? "1 Unit Active" :
(unitGroups[players[0].getTeam().ordinal()].size() + " Units Active");
}
if(Net.active()){ if(Net.active()){
presence.partyMax = 16; presence.partyMax = 16;
presence.partySize = playerGroup.size(); presence.partySize = playerGroup.size();
presence.state = Strings.capitalize(state.mode.name());
} }
}else{ }else{
if(ui.editor != null && ui.editor.isShown()){ if(ui.editor != null && ui.editor.isShown()){

View File

@@ -1,118 +1,119 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>en</string> <string>en</string>
<key>CFBundleDisplayName</key> <key>CFBundleDisplayName</key>
<string>${app.name}</string> <string>${app.name}</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>${app.executable}</string> <string>${app.executable}</string>
<key>CFBundleIdentifier</key> <key>CFBundleIdentifier</key>
<string>${app.id}</string> <string>${app.id}</string>
<key>CFBundleInfoDictionaryVersion</key> <key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string> <string>6.0</string>
<key>MinimumOSVersion</key> <key>MinimumOSVersion</key>
<string>9.0.0</string> <string>9.0.0</string>
<key>CFBundleName</key> <key>CFBundleName</key>
<string>${app.name}</string> <string>${app.name}</string>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>${app.version}</string> <string>${app.version}</string>
<key>CFBundleIconName</key> <key>CFBundleIconName</key>
<string>AppIcon</string> <string>AppIcon</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>${app.build}</string> <string>${app.build}</string>
<key>LSRequiresIPhoneOS</key> <key>LSRequiresIPhoneOS</key>
<true/> <true/>
<key>UIViewControllerBasedStatusBarAppearance</key> <key>UIViewControllerBasedStatusBarAppearance</key>
<false/> <false/>
<key>UIStatusBarHidden</key> <key>UIStatusBarHidden</key>
<true/> <true/>
<key>UIRequiresFullScreen</key> <key>UIRequiresFullScreen</key>
<true/> <true/>
<key>NSPhotoLibraryAddUsageDescription</key> <key>NSPhotoLibraryAddUsageDescription</key>
<string>Mindustry</string> <string>Mindustry</string>
<key>UIDeviceFamily</key> <key>UIDeviceFamily</key>
<array> <array>
<integer>1</integer> <integer>1</integer>
<integer>2</integer> <integer>2</integer>
</array> </array>
<key>UIRequiredDeviceCapabilities</key> <key>UIRequiredDeviceCapabilities</key>
<array> <array>
<string>armv7</string> <string>armv7</string>
<string>opengles-2</string> <string>opengles-2</string>
</array> </array>
<key>UISupportedInterfaceOrientations</key> <key>UISupportedInterfaceOrientations</key>
<array> <array>
<string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string> <string>UIInterfaceOrientationLandscapeRight</string>
</array> <string>UIInterfaceOrientationPortrait</string>
</array>
<key>CFBundleDocumentTypes</key> <key>CFBundleDocumentTypes</key>
<array> <array>
<dict> <dict>
<key>CFBundleTypeIconFiles</key> <key>CFBundleTypeIconFiles</key>
<array> <array>
<string>icon-72.png</string> <string>icon-72.png</string>
</array> </array>
<key>CFBundleTypeName</key> <key>CFBundleTypeName</key>
<string>Mindustry Map File</string> <string>Mindustry Map File</string>
<key>CFBundleTypeRole</key> <key>CFBundleTypeRole</key>
<string>Editor</string> <string>Editor</string>
<key>LSHandlerRank</key> <key>LSHandlerRank</key>
<string>Owner</string> <string>Owner</string>
<key>LSItemContentTypes</key> <key>LSItemContentTypes</key>
<array> <array>
<string>io.anuke.mindustry.mapfile</string> <string>io.anuke.mindustry.mapfile</string>
<string>io.anuke.mindustry.savefile</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>Mindustry Save File</string>
<key>UTTypeIdentifier</key>
<string>io.anuke.mindustry.savefile</string> <string>io.anuke.mindustry.savefile</string>
</array> <key>UTTypeTagSpecification</key>
</dict> <dict>
</array> <key>public.filename-extension</key>
<string>msav</string>
<key>UTExportedTypeDeclarations</key> <key>public.mime-type</key>
<array> <string>mindustry/msav</string>
<dict> </dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>Mindustry Save File</string>
<key>UTTypeIdentifier</key>
<string>io.anuke.mindustry.savefile</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>msav</string>
<key>public.mime-type</key>
<string>mindustry/msav</string>
</dict> </dict>
</dict> </array>
</array>
<key>UTExportedTypeDeclarations</key> <key>UTExportedTypeDeclarations</key>
<array> <array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>Mindustry Map File</string>
<key>UTTypeIdentifier</key>
<string>io.anuke.mindustry.mapfile</string>
<key>UTTypeTagSpecification</key>
<dict> <dict>
<key>public.filename-extension</key> <key>UTTypeConformsTo</key>
<string>mmap</string> <array>
<key>public.mime-type</key> <string>public.data</string>
<string>mindustry/mmap</string> </array>
<key>UTTypeDescription</key>
<string>Mindustry Map File</string>
<key>UTTypeIdentifier</key>
<string>io.anuke.mindustry.mapfile</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>mmap</string>
<key>public.mime-type</key>
<string>mindustry/mmap</string>
</dict>
</dict> </dict>
</dict> </array>
</array> </dict>
</dict>
</plist> </plist>

View File

@@ -32,6 +32,8 @@ import static io.anuke.mindustry.Vars.*;
import static org.robovm.apple.foundation.NSPathUtilities.getDocumentsDirectory; import static org.robovm.apple.foundation.NSPathUtilities.getDocumentsDirectory;
public class IOSLauncher extends IOSApplication.Delegate { public class IOSLauncher extends IOSApplication.Delegate {
private boolean forced;
@Override @Override
protected IOSApplication createApplication() { protected IOSApplication createApplication() {
Net.setClientProvider(new KryoClient()); Net.setClientProvider(new KryoClient());
@@ -86,7 +88,17 @@ public class IOSLauncher extends IOSApplication.Delegate {
p.getPopoverPresentationController().setSourceView(UIApplication.getSharedApplication().getKeyWindow().getRootViewController().getView()); p.getPopoverPresentationController().setSourceView(UIApplication.getSharedApplication().getKeyWindow().getRootViewController().getView());
UIApplication.getSharedApplication().getKeyWindow().getRootViewController() UIApplication.getSharedApplication().getKeyWindow().getRootViewController()
.presentViewController(p, true, () -> io.anuke.ucore.util.Log.info("Success! Presented {0}", to)); .presentViewController(p, true, () -> io.anuke.ucore.util.Log.info("Success! Presented {0}", to));
}
@Override
public void beginForceLandscape(){
forced = true;
}
@Override
public void endForceLandscape(){
forced = false;
} }
}; };
@@ -94,6 +106,11 @@ public class IOSLauncher extends IOSApplication.Delegate {
return new IOSApplication(new Mindustry(), config); return new IOSApplication(new Mindustry(), config);
} }
@Override
public UIInterfaceOrientationMask getSupportedInterfaceOrientations(UIApplication application, UIWindow window){
return forced ? UIInterfaceOrientationMask.Landscape : UIInterfaceOrientationMask.All;
}
@Override @Override
public boolean openURL(UIApplication app, NSURL url, UIApplicationOpenURLOptions options) { public boolean openURL(UIApplication app, NSURL url, UIApplicationOpenURLOptions options) {
System.out.println("Opened URL: " + url.getPath()); System.out.println("Opened URL: " + url.getPath());

View File

@@ -109,14 +109,13 @@ public class ServerControl extends Module{
} }
}else{ }else{
if(gameOvers >= 2){ if(gameOvers >= 2){
info("Two consecutive game-overs detected, shifting sector Y."); Settings.putInt("sector_y", Settings.getInt("sector_y") < 0 ? Settings.getInt("sector_y") + 1 : Settings.getInt("sector_y") - 1);
Settings.putInt("sector_x", Settings.getInt("sector_x") - 1);
Settings.putInt("sector_y", Settings.getInt("sector_y") + 1);
Settings.save(); Settings.save();
gameOvers = 0;
} }
info("Re-trying sector map: {0} {1}", Settings.getInt("sector_x"), Settings.getInt("sector_y"));
gameOvers ++; gameOvers ++;
playSectorMap(); playSectorMap();
info("Re-trying sector map: {0} {1}", Settings.getInt("sector_x"), Settings.getInt("sector_y"));
} }
}else{ }else{
state.set(State.menu); state.set(State.menu);
@@ -269,7 +268,7 @@ public class ServerControl extends Module{
} }
}); });
handler.register("setsector <x> <y>", "Sets the next sector to be played. Does not affect current game.", arg -> { handler.register("setsector", "<x> <y>", "Sets the next sector to be played. Does not affect current game.", arg -> {
try{ try{
Settings.putInt("sector_x", Integer.parseInt(arg[0])); Settings.putInt("sector_x", Integer.parseInt(arg[0]));
Settings.putInt("sector_y", Integer.parseInt(arg[1])); Settings.putInt("sector_y", Integer.parseInt(arg[1]));