Merge branch 'master' of https://github.com/Anuken/Mindustry into 7.0-features

 Conflicts:
	core/src/mindustry/ui/dialogs/JoinDialog.java
This commit is contained in:
Anuken
2022-04-20 14:16:20 -04:00
18 changed files with 487 additions and 429 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B

View File

@@ -691,7 +691,7 @@ sector.ruinousShores.description = Past the wastes, is the shoreline. Once, this
sector.stainedMountains.description = Further inland lie the mountains, yet untainted by spores.\nExtract the abundant titanium in this area. Learn how to use it.\n\nThe enemy presence is greater here. Do not give them time to send their strongest units. sector.stainedMountains.description = Further inland lie the mountains, yet untainted by spores.\nExtract the abundant titanium in this area. Learn how to use it.\n\nThe enemy presence is greater here. Do not give them time to send their strongest units.
sector.overgrowth.description = This area is overgrown, closer to the source of the spores.\nThe enemy has established an outpost here. Build Mace units. Destroy it. sector.overgrowth.description = This area is overgrown, closer to the source of the spores.\nThe enemy has established an outpost here. Build Mace units. Destroy it.
sector.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible. sector.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
sector.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks. sector.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Build air and ground defenses as soon as possible. Do not be fooled by the long spacing between enemy attacks.
sector.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers. sector.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
sector.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores. sector.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
sector.biomassFacility.description = The origin of spores. This is the facility in which they were researched and initially produced.\nResearch the technology contained within. Cultivate spores for the production of fuel and plastics.\n\n[lightgray]Upon this facility's demise, the spores were released. Nothing in the local ecosystem could compete with such an invasive organism. sector.biomassFacility.description = The origin of spores. This is the facility in which they were researched and initially produced.\nResearch the technology contained within. Cultivate spores for the production of fuel and plastics.\n\n[lightgray]Upon this facility's demise, the spores were released. Nothing in the local ecosystem could compete with such an invasive organism.

File diff suppressed because it is too large Load Diff

View File

@@ -625,14 +625,14 @@ planet.sun.name = Sonne
sector.impact0078.name = Impact 0078 sector.impact0078.name = Impact 0078
sector.groundZero.name = Ground Zero sector.groundZero.name = Ground Zero
sector.craters.name = The Craters sector.craters.name = Die Krater
sector.frozenForest.name = Frozen Forest sector.frozenForest.name = Gefrorener Wald
sector.ruinousShores.name = Ruinous Shores sector.ruinousShores.name = Ruinous Shores
sector.stainedMountains.name = Stained Mountains sector.stainedMountains.name = Stained Mountains
sector.desolateRift.name = Desolate Rift sector.desolateRift.name = Desolate Rift
sector.nuclearComplex.name = Nuclear Production Complex sector.nuclearComplex.name = Nuclear Production Complex
sector.overgrowth.name = Overgrowth sector.overgrowth.name = Overgrowth
sector.tarFields.name = Tar Fields sector.tarFields.name = Teerfelder
sector.saltFlats.name = Salt Flats sector.saltFlats.name = Salt Flats
sector.fungalPass.name = Fungal Pass sector.fungalPass.name = Fungal Pass
sector.biomassFacility.name = Biomass Synthesis Facility sector.biomassFacility.name = Biomass Synthesis Facility

View File

@@ -122,7 +122,7 @@ committingchanges = Membuat Perubahan
done = Selesai done = Selesai
feature.unsupported = Perangkat Anda tidak mendukung fitur ini. feature.unsupported = Perangkat Anda tidak mendukung fitur ini.
mods.initfailed = [red]⚠[] Proses Mindustry sebelumnya gagal untuk dimulai. Kemungkinan besar disebabkan oleh mod yang bermasalah.\n\nUntuk menghindari kesalahan berulang, [red]semua mod telah dinonaktifkan.[]\n\nUntuk menonaktifkan fitur ini, matikan di [accent]Pengaturan->Permainan->Matikan Mod Ketika Ada Masalah Saat Memulai Permainan[]. mods.initfailed = [red]⚠[] Proses Mindustry sebelumnya gagal untuk dimulai. Kemungkinan besar disebabkan oleh mod yang bermasalah.\n\nUntuk menghindari kesalahan berulang, [red]semua mod telah dinonaktifkan.[]
mods = Mod mods = Mod
mods.none = [lightgray]Tidak ada mod yang ditemukan! mods.none = [lightgray]Tidak ada mod yang ditemukan!
mods.guide = Panduan Memodifikasi mods.guide = Panduan Memodifikasi
@@ -144,16 +144,16 @@ mod.outdated = [scarlet]Tidak cocok dengan V6 (minGameVersion: 105)
mod.missingdependencies = [scarlet]Ketergantungan hilang: {0} mod.missingdependencies = [scarlet]Ketergantungan hilang: {0}
mod.erroredcontent = [scarlet]Konten Mengalami Kesalahan mod.erroredcontent = [scarlet]Konten Mengalami Kesalahan
mod.errors = Kesalahan terjadi disaat memuat konten. mod.errors = Kesalahan terjadi disaat memuat konten.
mod.noerrorplay = [scarlet]Anda memiliki mod dengan suatu kesalahan.[] Antara nonaktifkan modnya atau perbaiki kesalahan tersebut sebelum bermain. mod.noerrorplay = [scarlet]Anda memiliki mod dengan suatu kesalahan.[] Nonaktifkan mod yang bersangkutan atau perbaiki kesalahan tersebut sebelum bermain.
mod.nowdisabled = [scarlet]Mod '{0}' tidak memiliki ketergantungan:[accent] {1}\n[lightgray]Mod ini butuh untuk diunduh terlebih dahulu.\nMod ini akan dinonaktifkan secara otomatis. mod.nowdisabled = [scarlet]Mod '{0}' tidak memiliki ketergantungan:[accent] {1}\n[lightgray]Mod ini harus diunduh terlebih dahulu.\nMod ini akan dinonaktifkan secara otomatis.
mod.enable = Aktifkan mod.enable = Aktifkan
mod.requiresrestart = Game akan keluar untuk mengaktifkan mod. mod.requiresrestart = Game akan keluar untuk mengaktifkan mod.
mod.reloadrequired = [scarlet]Dibutuhkan untuk memuat ulang mod.reloadrequired = [scarlet]Dibutuhkan untuk memuat ulang
mod.import = Impor Mod mod.import = Impor Mod
mod.import.file = Impor File mod.import.file = Impor File
mod.import.github = Impor Mod GitHub mod.import.github = Impor Mod GitHub
mod.jarwarn = [scarlet]Mod dari JAR sebenarnya tidak aman.[]\nPastikan anda mengimpor mod dari sumber terpercaya! mod.jarwarn = [scarlet]Mod dari JAR sebenarnya tidak aman.[]\nPastikan Anda mengimpor mod dari sumber terpercaya!
mod.item.remove = Item ini merupakan bagian dari mod[accent] '{0}'[] mod. Untuk dihilangkan, hapus mod ini. mod.item.remove = Item ini merupakan bagian dari mod[accent] '{0}'[]. Untuk dihilangkan, hapus mod ini.
mod.remove.confirm = Mod ini akan dihapus. mod.remove.confirm = Mod ini akan dihapus.
mod.author = [lightgray]Pencipta:[] {0} mod.author = [lightgray]Pencipta:[] {0}
mod.missing = Simpanan ini mengandung mod yang telah diperbarui atau sudah lama tidak dipasang. Kemungkinan akan terjadi perubahan. Apakah Anda yakin untuk memuatnya?\n[lightgray]Mods:\n{0} mod.missing = Simpanan ini mengandung mod yang telah diperbarui atau sudah lama tidak dipasang. Kemungkinan akan terjadi perubahan. Apakah Anda yakin untuk memuatnya?\n[lightgray]Mods:\n{0}
@@ -319,7 +319,7 @@ data.invalid = Data permainan ini tidak sah.
data.import.confirm = Mengimpor data eksternal akan menghapus [scarlet] semua[] data yang tersimpan.\n[accent]Tidak dapat diundur lagi![]\n\nSetelah data diimpor, game akan segera ditutup. data.import.confirm = Mengimpor data eksternal akan menghapus [scarlet] semua[] data yang tersimpan.\n[accent]Tidak dapat diundur lagi![]\n\nSetelah data diimpor, game akan segera ditutup.
quit.confirm = Apakah Anda yakin ingin keluar? quit.confirm = Apakah Anda yakin ingin keluar?
loading = [accent]Memuat... loading = [accent]Memuat...
downloading = [accent]Downloading... downloading = [accent]Mengunduh...
saving = [accent]Menyimpan... saving = [accent]Menyimpan...
respawn = [accent][[{0}][] untuk muncul kembali ke inti respawn = [accent][[{0}][] untuk muncul kembali ke inti
cancelbuilding = [accent][[{0}][] untuk menghapus rencana cancelbuilding = [accent][[{0}][] untuk menghapus rencana
@@ -347,9 +347,9 @@ custom = Modifikasi
builtin = Terpasang builtin = Terpasang
map.delete.confirm = Anda yakin ingin menghapus peta ini? Aksi ini tidak bisa diubah! map.delete.confirm = Anda yakin ingin menghapus peta ini? Aksi ini tidak bisa diubah!
map.random = [accent]Peta Acak map.random = [accent]Peta Acak
map.nospawn = Peta ini tidak memiliki inti agar pemain bisa muncul! Tambahkan inti [royal] biru[] kedalam peta di penyunting. map.nospawn = Peta ini tidak memiliki inti agar pemain bisa muncul! Tambahkan inti [#{0}]{1}[] ke dalam peta di penyunting.
map.nospawn.pvp = Peta ini tidak memiliki inti agar pemain lawan bisa muncul! Tambahkan inti[scarlet] selain biru[] kedalam peta di penyunting. map.nospawn.pvp = Peta ini tidak memiliki inti agar pemain lawan bisa muncul! Tambahkan inti[scarlet] selain jingga[] ke dalam peta di penyunting.
map.nospawn.attack = Peta ini tidak memiliki inti musuh agar pemain bisa menyerang! Tambahkan inti[scarlet] merah[] kedalam peta di penyunting. map.nospawn.attack = Peta ini tidak memiliki inti musuh agar pemain bisa menyerang! Tambahkan inti [#{0}]{1}[] ke dalam peta di penyunting.
map.invalid = Terjadi kesalahan saat memuat peta: rusak atau file peta tidak valid. map.invalid = Terjadi kesalahan saat memuat peta: rusak atau file peta tidak valid.
workshop.update = Perbarui Item workshop.update = Perbarui Item
workshop.error = Terjadi kesalahan saat mengambil detail workshop: {0} workshop.error = Terjadi kesalahan saat mengambil detail workshop: {0}
@@ -360,7 +360,7 @@ changelog = Catatan Pembaruan (opsional):
eula = EULA Steam eula = EULA Steam
missing = Item ini telah dihapus atau dipindah.\n[lightgray]Daftar Workshop sekarang telah tidak terhubung secara otomatis. missing = Item ini telah dihapus atau dipindah.\n[lightgray]Daftar Workshop sekarang telah tidak terhubung secara otomatis.
publishing = [accent]Menerbitkan... publishing = [accent]Menerbitkan...
publish.confirm = Apakah Anda yakin untuk menerbitkan item ini?\n\n[lightgray]Pastikan Anda setuju dengan EULA Workshop terlebih dahulu, atau item Anda tidak akan muncul! publish.confirm = Apakah Anda yakin untuk menerbitkan ini?\n\n[lightgray]Pastikan Anda setuju dengan EULA Workshop terlebih dahulu, atau item Anda tidak akan muncul!
publish.error = Terjadi kesalahan saat menerbitkan item: {0} publish.error = Terjadi kesalahan saat menerbitkan item: {0}
steam.error = Gagal untuk menjalankan layanan Steam.\nKesalahan: {0} steam.error = Gagal untuk menjalankan layanan Steam.\nKesalahan: {0}
@@ -385,7 +385,7 @@ editor.filters = Filter Peta
editor.filters.mode = Mode Permainan: editor.filters.mode = Mode Permainan:
editor.filters.type = Tipe Peta: editor.filters.type = Tipe Peta:
editor.filters.search = Cari Dalam: editor.filters.search = Cari Dalam:
editor.filters.author = Pembuat editor.filters.author = Pencipta
editor.filters.description = Deskripsi editor.filters.description = Deskripsi
workshop = Workshop workshop = Workshop
waves.title = Gelombang waves.title = Gelombang
@@ -650,8 +650,8 @@ sector.craters.description = Air banyak terkumpul di kawah ini, sebuah peninggal
sector.ruinousShores.description = Keluar dari lembah gunung, terdapat garis pantai. Sebelumnya, area ini adalah garis pertahanan pantai. Sekarang tidak banyak yang tersisa. Hanya pertahanan dasar yang tersisa, yang lain hancur berkeping keping.\nBangun kembali pertahanan di sini. Pelajari lebih banyak teknologi. sector.ruinousShores.description = Keluar dari lembah gunung, terdapat garis pantai. Sebelumnya, area ini adalah garis pertahanan pantai. Sekarang tidak banyak yang tersisa. Hanya pertahanan dasar yang tersisa, yang lain hancur berkeping keping.\nBangun kembali pertahanan di sini. Pelajari lebih banyak teknologi.
sector.stainedMountains.description = Area ini terletak di dekat pegunungan, namun belum tersentuh oleh spora.\nTambang titanium yang ada di area ini. Pelajari fungsinya.\n\nMusuh jauh lebih kuat disini. Jangan biarkan mereka meluncurkan unit yang lebih kuat. sector.stainedMountains.description = Area ini terletak di dekat pegunungan, namun belum tersentuh oleh spora.\nTambang titanium yang ada di area ini. Pelajari fungsinya.\n\nMusuh jauh lebih kuat disini. Jangan biarkan mereka meluncurkan unit yang lebih kuat.
sector.overgrowth.description = Area ini banyak ditumbuhi spora, karena dekat dengan sumber spora.\nMusuh telah membangun basis disini. Bangun unit Mace. Hancurkan mereka. Klaim apapun yang tersisa. sector.overgrowth.description = Area ini banyak ditumbuhi spora, karena dekat dengan sumber spora.\nMusuh telah membangun basis disini. Bangun unit Mace. Hancurkan mereka. Klaim apapun yang tersisa.
sector.tarFields.description = Terletak di pinggiran zona produksi minyak, diantara gunung dan padang pasir. Salah satu dari beberapa area yang memiliki cadangan minyak yang dapat digunakan.\nMeskipun ditinggalkan, area ini terdapat pertahanan musuh yang sangat kuat disekitarnya. Jangan meremehkan mereka.\n\n[lightgray]Pelajari proses penyulingan minyak jika bisa. sector.tarFields.description = Terletak di pinggiran zona produksi minyak, diantara gunung dan padang pasir. Salah satu dari beberapa area yang memiliki cadangan minyak yang dapat digunakan.\nMeskipun ditinggalkan, area ini terdapat pertahanan musuh yang sangat kuat disekitarnya. Jangan meremehkan mereka.\n\n[lightgray]Pelajari proses penyulingan minyak bila memungkinkan.
sector.desolateRift.description = Zona yang sangat berbahaya. Banyak sumber daya, tetapi terdapat sedikit ruang. Sangat beresiko tinggi untuk dihancurkan. Keluar secepat yang kamu bisa. Jangan terlena karena waktu antara gelombang yang lama. sector.desolateRift.description = Zona yang sangat berbahaya. Banyak sumber daya, tetapi terdapat sedikit ruang. Sangat beresiko tinggi untuk dihancurkan. Buatlah pertahanan udara dan darat secepat yang kamu bisa. Jangan terlena karena waktu antara gelombang yang lama.
sector.nuclearComplex.description = Sebuah fasilitas untuk memproduksi dan memproses thorium, telah hancur.\n[lightgray]Pelajari thorium dan cara penggunaanya.\n\nMusuh disini menyerang dalam jumlah besar, yang siap untuk menghadapi siapapun. sector.nuclearComplex.description = Sebuah fasilitas untuk memproduksi dan memproses thorium, telah hancur.\n[lightgray]Pelajari thorium dan cara penggunaanya.\n\nMusuh disini menyerang dalam jumlah besar, yang siap untuk menghadapi siapapun.
sector.fungalPass.description = Area ini terdapat diantara pegunungan yang lebih tinggi dengan yang lebih rendah, juga daerah yang dipenuhi spora. Musuh membangun basis kecil disini.\nHancurkan itu.\nGunakan unit Dagger dan Crawler. Hancurkan dua inti mereka. sector.fungalPass.description = Area ini terdapat diantara pegunungan yang lebih tinggi dengan yang lebih rendah, juga daerah yang dipenuhi spora. Musuh membangun basis kecil disini.\nHancurkan itu.\nGunakan unit Dagger dan Crawler. Hancurkan dua inti mereka.
sector.biomassFacility.description = Asal dari semua spora di planet ini. Tempat ini adalah fasilitas dimana spora dipelajari dan diproduksi.\nPelajari teknologi yang terkait dengannya. Budi dayakan spora untuk memproduksi bahan bakar dan plastik.\n\n[lightgray]Setelah fasilitas ini hancur, spora menyebar. Tidak ada di ekosistem lokal yang dapat bersaing dengan organisme invasif seperti itu. sector.biomassFacility.description = Asal dari semua spora di planet ini. Tempat ini adalah fasilitas dimana spora dipelajari dan diproduksi.\nPelajari teknologi yang terkait dengannya. Budi dayakan spora untuk memproduksi bahan bakar dan plastik.\n\n[lightgray]Setelah fasilitas ini hancur, spora menyebar. Tidak ada di ekosistem lokal yang dapat bersaing dengan organisme invasif seperti itu.
@@ -674,7 +674,7 @@ status.overclock.name = Melebihi Batas
status.shocked.name = Mengkejut status.shocked.name = Mengkejut
status.blasted.name = Meledak status.blasted.name = Meledak
status.unmoving.name = Terdiam status.unmoving.name = Terdiam
status.boss.name = Guardian status.boss.name = Penjaga
settings.language = Bahasa settings.language = Bahasa
settings.data = Data Game settings.data = Data Game
@@ -753,7 +753,7 @@ stat.maxconsecutive = Batas Konsekutif
stat.buildcost = Biaya Bangunan stat.buildcost = Biaya Bangunan
stat.inaccuracy = Jarak Melenceng stat.inaccuracy = Jarak Melenceng
stat.shots = Tembakan stat.shots = Tembakan
stat.reload = Tembakan/Detik stat.reload = Kecepatan Tembakan
stat.ammo = Amunisi stat.ammo = Amunisi
stat.shieldhealth = Darah Perisai stat.shieldhealth = Darah Perisai
stat.cooldowntime = Waktu Pendinginan stat.cooldowntime = Waktu Pendinginan
@@ -787,7 +787,7 @@ stat.healing = Menyembuhkan
ability.forcefield = Bidang Kekuatan ability.forcefield = Bidang Kekuatan
ability.repairfield = Bidang Perbaikan ability.repairfield = Bidang Perbaikan
ability.statusfield = Bidang Status ability.statusfield = {0} Bidang Status
ability.unitspawn = {0} Pabrik ability.unitspawn = {0} Pabrik
ability.shieldregenfield = Bidang Regenerasi Perisai ability.shieldregenfield = Bidang Regenerasi Perisai
ability.movelightning = Pergerakan Petir ability.movelightning = Pergerakan Petir
@@ -822,7 +822,7 @@ bullet.damage = [stat]{0}[lightgray] kekuatan (dmg)
bullet.splashdamage = [stat]{0}[lightgray] kekuatan percikan~[stat] {1}[lightgray] kotak bullet.splashdamage = [stat]{0}[lightgray] kekuatan percikan~[stat] {1}[lightgray] kotak
bullet.incendiary = [stat]membakar bullet.incendiary = [stat]membakar
bullet.homing = [stat]mengejar bullet.homing = [stat]mengejar
bullet.frags = [stat]{0}[lightgray]x frag bullets: bullet.frags = [stat]{0}[lightgray]x pecahan:
bullet.lightning = [stat]{0}[lightgray]x petir ~ [stat]{1}[lightgray] kerusakan bullet.lightning = [stat]{0}[lightgray]x petir ~ [stat]{1}[lightgray] kerusakan
bullet.buildingdamage = [stat]{0}%[lightgray] kerusakan bangunan bullet.buildingdamage = [stat]{0}%[lightgray] kerusakan bangunan
bullet.knockback = [stat]{0}[lightgray] terdorong bullet.knockback = [stat]{0}[lightgray] terdorong
@@ -904,12 +904,12 @@ setting.fullscreen.name = Layar Penuh
setting.borderlesswindow.name = Jendela tak Berbatas setting.borderlesswindow.name = Jendela tak Berbatas
setting.borderlesswindow.name.windows = Layar Penuh tak Berbatas setting.borderlesswindow.name.windows = Layar Penuh tak Berbatas
setting.borderlesswindow.description = Mulai ulang mungkin diperlukan untuk menerapkan perubahan. setting.borderlesswindow.description = Mulai ulang mungkin diperlukan untuk menerapkan perubahan.
setting.fps.name = Tunjukkan FPS setting.fps.name = Tunjukkan FPS & Ping
setting.smoothcamera.name = Kamera Halus setting.smoothcamera.name = Kamera Halus
setting.vsync.name = VSync setting.vsync.name = VSync
setting.pixelate.name = Mode Pixel[lightgray] (menonaktifkan animasi) setting.pixelate.name = Mode Pixel
setting.minimap.name = Tunjukkan Peta Kecil setting.minimap.name = Tunjukkan Peta Kecil
setting.coreitems.name = Tunjukkan Bahan Inti (WIP) setting.coreitems.name = Tunjukkan Bahan Inti
setting.position.name = Tunjukkan Posisi Pemain setting.position.name = Tunjukkan Posisi Pemain
setting.musicvol.name = Volume Musik setting.musicvol.name = Volume Musik
setting.atmosphere.name = Tunjukkan Atmosfer Planet setting.atmosphere.name = Tunjukkan Atmosfer Planet
@@ -1077,7 +1077,7 @@ item.lead.name = Timah
item.coal.name = Batu Bara item.coal.name = Batu Bara
item.graphite.name = Grafit item.graphite.name = Grafit
item.titanium.name = Titanium item.titanium.name = Titanium
item.thorium.name = Thorium item.thorium.name = Torium
item.silicon.name = Silikon item.silicon.name = Silikon
item.plastanium.name = Plastanium item.plastanium.name = Plastanium
item.phase-fabric.name = Kain Phase item.phase-fabric.name = Kain Phase
@@ -1250,7 +1250,7 @@ block.underflow-gate.name = Gerbang Luap Terbalik
block.silicon-smelter.name = Pelebur Silikon block.silicon-smelter.name = Pelebur Silikon
block.phase-weaver.name = Pengrajut Phase block.phase-weaver.name = Pengrajut Phase
block.pulverizer.name = Penghancur block.pulverizer.name = Penghancur
block.cryofluid-mixer.name = Cryofluid Mixer block.cryofluid-mixer.name = Penyampur Cairan Dingin
block.melter.name = Pencair block.melter.name = Pencair
block.incinerator.name = Penghangus block.incinerator.name = Penghangus
block.spore-press.name = Penekan Spora block.spore-press.name = Penekan Spora
@@ -1468,11 +1468,11 @@ block.incinerator.description = Menghancurkan bahan atau zat cair yang masuk.
block.power-void.description = Menghilangkan semua tenaga yang masuk kedalamnya. Sandbox eksklusif. block.power-void.description = Menghilangkan semua tenaga yang masuk kedalamnya. Sandbox eksklusif.
block.power-source.description = Menghasilkan tenaga tak terhingga. Sandbox eksklusif. block.power-source.description = Menghasilkan tenaga tak terhingga. Sandbox eksklusif.
block.item-source.description = Mengeluarkan bahan tak terhingga. Sandbox eksklusif. block.item-source.description = Mengeluarkan bahan tak terhingga. Sandbox eksklusif.
block.item-void.description = Menghancurkan bahan apa saja. Sandbox eksklusif. block.item-void.description = Menghancurkan bahan yang masuk. Sandbox eksklusif.
block.liquid-source.description = Mengeluarkan zat cair tak terhingga. Sandbox eksklusif. block.liquid-source.description = Mengeluarkan zat cair tak terhingga. Sandbox eksklusif.
block.liquid-void.description = Menghancurkan zat cair apa saja. Sandbox eksklusif. block.liquid-void.description = Menghancurkan zat cair yang masuk. Sandbox eksklusif.
block.payload-source.description = Infinitely outputs payloads. Sandbox only. block.payload-source.description = Mengeluarkan muatan tak terhingga. Sandbox eksklusif.
block.payload-void.description = Destroys any payloads. Sandbox only. block.payload-void.description = Menghancurkan muatan apapun. Sandbox eksklusif.
block.copper-wall.description = Melindungi bangunan dari tembakan musuh. block.copper-wall.description = Melindungi bangunan dari tembakan musuh.
block.copper-wall-large.description = Melindungi bangunan dari tembakan musuh. block.copper-wall-large.description = Melindungi bangunan dari tembakan musuh.
block.titanium-wall.description = Melindungi bangunan dari tembakan musuh. block.titanium-wall.description = Melindungi bangunan dari tembakan musuh.
@@ -1628,7 +1628,7 @@ unit.omura.description = Menembak railgun jarak jauh kepada musuh. Dapat memprod
unit.alpha.description = Melindungi Inti Bagian dari musuh. Dapat membangun. unit.alpha.description = Melindungi Inti Bagian dari musuh. Dapat membangun.
unit.beta.description = Melindungi Inti Fondasi dari musuh. Dapat membangun. unit.beta.description = Melindungi Inti Fondasi dari musuh. Dapat membangun.
unit.gamma.description = Melindungi Inti Nukleus dari musuh. Dapat membangun. unit.gamma.description = Melindungi Inti Nukleus dari musuh. Dapat membangun.
unit.retusa.description = Menempatkan ranjau berjarak. Memperbaiki unit teman. unit.retusa.description = Menembak torpedo pelacak. Memperbaiki unit teman.
unit.oxynoe.description = Menembak aliran api pada musuh terdekat. Menargetkan proyektil musuh terdekat dengan titik menara pertahanan. unit.oxynoe.description = Menembak aliran api pada musuh terdekat. Menargetkan proyektil musuh terdekat dengan titik menara pertahanan.
unit.cyerce.description = Menembak misil yang membidik otomatis secara beruntun pada musuh. Memperbaiki unit teman. unit.cyerce.description = Menembak misil yang membidik otomatis secara beruntun pada musuh. Memperbaiki unit teman.
unit.aegires.description = Mengkejutkan semua bangunan dan unit musuh yang ada di dalam medan energi. Memperbaiki seluruh unit teman. unit.aegires.description = Mengkejutkan semua bangunan dan unit musuh yang ada di dalam medan energi. Memperbaiki seluruh unit teman.
@@ -1660,7 +1660,7 @@ logic.nounitbuild = [red]Logika unit membangun tidak diperbolehkan di sini.
lenum.type = Bentuk dari bangunan/unit.\nMisalnya, untuk blok pengarah masa, akan tampil sebagai [accent]@router[].\nBukan string. lenum.type = Bentuk dari bangunan/unit.\nMisalnya, untuk blok pengarah masa, akan tampil sebagai [accent]@router[].\nBukan string.
lenum.shoot = Menembak pada suatu posisi yang ditentukan. lenum.shoot = Menembak pada suatu posisi yang ditentukan.
lenum.shootp = Menembak pada unit/bangunan dengan prediksi kecepatan. lenum.shootp = Menembak pada unit/bangunan dengan prediksi kecepatan.
lenum.config = Building configuration, e.g. sorter item. lenum.config = Pengaturan bangunan, misalnya menyortir barang.
lenum.enabled = Menentukan aktif tidaknya suatu blok. lenum.enabled = Menentukan aktif tidaknya suatu blok.
laccess.color = Warna lampu. laccess.color = Warna lampu.
@@ -1709,7 +1709,7 @@ lenum.asin = Arc sinus, dalam derajat.
lenum.acos = Arc kosinus, dalam derajat. lenum.acos = Arc kosinus, dalam derajat.
lenum.atan = Arc tangen, dalam derajat. lenum.atan = Arc tangen, dalam derajat.
#bukan typo, cari 'daerah hasil fungsi' #bukan typo, lihat 'daerah hasil fungsi'
lenum.rand = Angka Acak dalam jarak [0, value). lenum.rand = Angka Acak dalam jarak [0, value).
lenum.log = Logaritma natural (ln). lenum.log = Logaritma natural (ln).
lenum.log10 = Logaritma basis 10. lenum.log10 = Logaritma basis 10.

View File

@@ -216,7 +216,7 @@ hosts.none = [lightgray]Brak serwerów w sieci LAN!
host.invalid = [scarlet]Nie można połączyć się z hostem. host.invalid = [scarlet]Nie można połączyć się z hostem.
servers.local = Serwery Lokalne servers.local = Serwery Lokalne
servers.local.steam = Open Games & Local Servers servers.local.steam = Otwieraj Gry & Lokalne Serwery
servers.remote = Serwery Zdalne servers.remote = Serwery Zdalne
servers.global = Serwery Publiczne servers.global = Serwery Publiczne
@@ -319,7 +319,7 @@ data.invalid = Nieprawidłowe dane gry.
data.import.confirm = Zaimportowanie zewnętrznych danych nadpisze[scarlet] wszystkie[] obecne dane gry.\n[accent]Nie można tego cofnąć![]\n\nGdy dane zostaną zaimportowane, gra automatycznie się wyłączy. data.import.confirm = Zaimportowanie zewnętrznych danych nadpisze[scarlet] wszystkie[] obecne dane gry.\n[accent]Nie można tego cofnąć![]\n\nGdy dane zostaną zaimportowane, gra automatycznie się wyłączy.
quit.confirm = Czy na pewno chcesz wyjść? quit.confirm = Czy na pewno chcesz wyjść?
loading = [accent]Ładowanie... loading = [accent]Ładowanie...
downloading = [accent]Downloading... downloading = [accent]Pobieranie...
saving = [accent]Zapisywanie... saving = [accent]Zapisywanie...
respawn = [accent][[{0}][] by odrodzić się w rdzeniu respawn = [accent][[{0}][] by odrodzić się w rdzeniu
cancelbuilding = [accent][[{0}][] by wyczyścić plan cancelbuilding = [accent][[{0}][] by wyczyścić plan
@@ -380,13 +380,13 @@ editor.ingame = Edytuj w Grze
editor.publish.workshop = Opublikuj w Warsztacie editor.publish.workshop = Opublikuj w Warsztacie
editor.newmap = Nowa Mapa editor.newmap = Nowa Mapa
editor.center = Wyśrodkuj editor.center = Wyśrodkuj
editor.search = Search maps... editor.search = Przeszukaj mapy...
editor.filters = Filter Maps editor.filters = Przefiltruj Mapy
editor.filters.mode = Gamemodes: editor.filters.mode = Tryby Gry:
editor.filters.type = Map Type: editor.filters.type = Typ Mapy:
editor.filters.search = Search In: editor.filters.search = Szukaj W:
editor.filters.author = Author editor.filters.author = Autor
editor.filters.description = Description editor.filters.description = Opis
workshop = Warsztat workshop = Warsztat
waves.title = Fale waves.title = Fale
waves.remove = Usuń waves.remove = Usuń
@@ -404,13 +404,13 @@ waves.load = Załaduj Ze Schowka
waves.invalid = Nieprawidłowe fale w schowku. waves.invalid = Nieprawidłowe fale w schowku.
waves.copied = Fale zostały skopiowane. waves.copied = Fale zostały skopiowane.
waves.none = Brak zdefiniowanych wrogów.\nPamiętaj, że puste układy fal zostaną automatycznie zastąpione układem domyślnym. waves.none = Brak zdefiniowanych wrogów.\nPamiętaj, że puste układy fal zostaną automatycznie zastąpione układem domyślnym.
waves.sort = Sort By waves.sort = Sortuj Według
waves.sort.reverse = Reverse Sort waves.sort.reverse = Odwrotne Sortowanie
waves.sort.begin = Begin waves.sort.begin = Rozpocznij
waves.sort.health = Health waves.sort.health = Zdrowie
waves.sort.type = Type waves.sort.type = Typ
waves.units.hide = Hide All waves.units.hide = Schowaj Wszystkie
waves.units.show = Show All waves.units.show = Pokaż Wszystkie
#these are intentionally in lower case #these are intentionally in lower case
wavemode.counts = liczba wavemode.counts = liczba
@@ -505,13 +505,13 @@ filter.option.circle-scale = Skala Koła
filter.option.octaves = Oktawy filter.option.octaves = Oktawy
filter.option.falloff = Spadek filter.option.falloff = Spadek
filter.option.angle = Kąt filter.option.angle = Kąt
filter.option.rotate = Rotate filter.option.rotate = Obróć
filter.option.amount = Ilość filter.option.amount = Ilość
filter.option.block = Blok filter.option.block = Blok
filter.option.floor = Podłoga filter.option.floor = Podłoga
filter.option.flooronto = Podłoga Docelowa filter.option.flooronto = Podłoga Docelowa
filter.option.target = Cel filter.option.target = Cel
filter.option.replacement = Replacement filter.option.replacement = Zastąpienie
filter.option.wall = Ściana filter.option.wall = Ściana
filter.option.ore = Ruda filter.option.ore = Ruda
filter.option.floor2 = Druga Podłoga filter.option.floor2 = Druga Podłoga
@@ -556,7 +556,7 @@ configure = Skonfiguruj Ładunek
loadout = Ładunek loadout = Ładunek
resources = Zasoby resources = Zasoby
bannedblocks = Zabronione bloki bannedblocks = Zabronione bloki
bannedunits = Banned Units bannedunits = Zabronione jednostki
addall = Dodaj wszystkie addall = Dodaj wszystkie
launch.from = Wystrzelony z: [accent]{0} launch.from = Wystrzelony z: [accent]{0}
launch.destination = Cel: {0} launch.destination = Cel: {0}
@@ -580,7 +580,7 @@ weather.snow.name = Śnieg
weather.sandstorm.name = Burza piaskowa weather.sandstorm.name = Burza piaskowa
weather.sporestorm.name = Burza zarodników weather.sporestorm.name = Burza zarodników
weather.fog.name = Mgła weather.fog.name = Mgła
sectorlist = Sectors sectorlist = Sektory
sectorlist.attacked = {0} under attack sectorlist.attacked = {0} under attack
sectors.unexplored = [lightgray]Niezbadane sectors.unexplored = [lightgray]Niezbadane
@@ -609,7 +609,7 @@ sector.attacked = Sektor [accent]{0}[white] jest atakowany!
sector.lost = Sektor [accent]{0}[white] został stracony! sector.lost = Sektor [accent]{0}[white] został stracony!
#note: the missing space in the line below is intentional #note: the missing space in the line below is intentional
sector.captured = Sektor [accent]{0}[white]został podbity! sector.captured = Sektor [accent]{0}[white]został podbity!
sector.changeicon = Change Icon sector.changeicon = Zmień Ikonę
threat.low = Niski threat.low = Niski
threat.medium = Średni threat.medium = Średni
@@ -695,7 +695,7 @@ settings.clearcampaignsaves.confirm = Jesteś pewny że chcesz usunąć wszystki
paused = [accent]< Wstrzymano > paused = [accent]< Wstrzymano >
clear = Wyczyść clear = Wyczyść
banned = [scarlet]Zbanowano banned = [scarlet]Zbanowano
unsupported.environment = [scarlet]Unsupported Environment unsupported.environment = [scarlet]Niewspierane Środowisko
yes = Tak yes = Tak
no = Nie no = Nie
info.title = Informacje info.title = Informacje
@@ -735,7 +735,7 @@ stat.memorycapacity = Pojemość Pamięci
stat.basepowergeneration = Podstawowa generacja mocy stat.basepowergeneration = Podstawowa generacja mocy
stat.productiontime = Czas produkcji stat.productiontime = Czas produkcji
stat.repairtime = Czas pełnej naprawy bloku stat.repairtime = Czas pełnej naprawy bloku
stat.repairspeed = Repair Speed stat.repairspeed = Prędkość Napraw
stat.weapons = Bronie stat.weapons = Bronie
stat.bullet = Pocisk stat.bullet = Pocisk
stat.speedincrease = Zwiększenie prędkości stat.speedincrease = Zwiększenie prędkości
@@ -859,7 +859,7 @@ category.items = Przedmioty
category.crafting = Przetwórstwo category.crafting = Przetwórstwo
category.function = Funkcja category.function = Funkcja
category.optional = Dodatkowe ulepszenia category.optional = Dodatkowe ulepszenia
setting.skipcoreanimation.name = Skip Core Launch/Land Animation setting.skipcoreanimation.name = Pomiń Animację Wystrzału/Lądowania
setting.landscape.name = Zablokuj tryb panoramiczny setting.landscape.name = Zablokuj tryb panoramiczny
setting.shadows.name = Cienie setting.shadows.name = Cienie
setting.blockreplace.name = Automatyczne sugestie bloków setting.blockreplace.name = Automatyczne sugestie bloków
@@ -881,7 +881,7 @@ setting.fpscap.name = Maksymalny FPS
setting.fpscap.none = Nieograniczone setting.fpscap.none = Nieograniczone
setting.fpscap.text = {0} FPS setting.fpscap.text = {0} FPS
setting.uiscale.name = Skalowanie interfejsu[lightgray] (wymaga restartu)[] setting.uiscale.name = Skalowanie interfejsu[lightgray] (wymaga restartu)[]
setting.uiscale.description = Restart required to apply changes. setting.uiscale.description = Aby zastosować zmiany, wymagane jest ponowne uruchomienie.
setting.swapdiagonal.name = Pozwala na ukośną budowę setting.swapdiagonal.name = Pozwala na ukośną budowę
setting.difficulty.training = Treningowy setting.difficulty.training = Treningowy
setting.difficulty.easy = Łatwy setting.difficulty.easy = Łatwy
@@ -991,7 +991,7 @@ keybind.pause_building.name = Wstrzymaj/kontynuuj budowę
keybind.minimap.name = Minimapa keybind.minimap.name = Minimapa
keybind.planet_map.name = Mapa Planety keybind.planet_map.name = Mapa Planety
keybind.research.name = Odkryj keybind.research.name = Odkryj
keybind.block_info.name = Block Info keybind.block_info.name = Informacje o Bloku
keybind.chat.name = Czat keybind.chat.name = Czat
keybind.player_list.name = Lista graczy keybind.player_list.name = Lista graczy
keybind.console.name = Konsola keybind.console.name = Konsola
@@ -1018,7 +1018,7 @@ mode.custom = Własny Tryb
rules.infiniteresources = Nieskończone Zasoby rules.infiniteresources = Nieskończone Zasoby
rules.reactorexplosions = Eksplozje Reaktorów rules.reactorexplosions = Eksplozje Reaktorów
rules.coreincinerates = Rdzeń Spala Nadmarowe Przedmioty rules.coreincinerates = Rdzeń Spala Nadmiarowe Przedmioty
rules.schematic = Zezwalaj na schematy rules.schematic = Zezwalaj na schematy
rules.wavetimer = Zegar Fal rules.wavetimer = Zegar Fal
rules.waves = Fale rules.waves = Fale
@@ -1044,15 +1044,15 @@ rules.deconstructrefundmultiplier = Mnożnik Zwrotu Dekonstrukcji
rules.waitForWaveToEnd = Fale Czekają Na Przeciwników rules.waitForWaveToEnd = Fale Czekają Na Przeciwników
rules.dropzoneradius = Zasięg Strefy Zrzutu:[lightgray] (kratki) rules.dropzoneradius = Zasięg Strefy Zrzutu:[lightgray] (kratki)
rules.unitammo = Jednostki Potrzebują Amunicji rules.unitammo = Jednostki Potrzebują Amunicji
rules.enemyteam = Enemy Team rules.enemyteam = Drużyna Wroga
rules.playerteam = Player Team rules.playerteam = Drużyna Gracza
rules.title.waves = Fale rules.title.waves = Fale
rules.title.resourcesbuilding = Zasoby i Budowanie rules.title.resourcesbuilding = Zasoby i Budowanie
rules.title.enemy = Przeciwnicy rules.title.enemy = Przeciwnicy
rules.title.unit = Jednostki rules.title.unit = Jednostki
rules.title.experimental = Eksperymentalne rules.title.experimental = Eksperymentalne
rules.title.environment = Otoczenie rules.title.environment = Otoczenie
rules.title.teams = Teams rules.title.teams = Drużyny
rules.lighting = Oświetlenie rules.lighting = Oświetlenie
rules.enemyLights = Wrogowie Emitują Światło rules.enemyLights = Wrogowie Emitują Światło
rules.fire = Ogień rules.fire = Ogień
@@ -1135,7 +1135,7 @@ block.sand-boulder.name = Piaskowy Głaz
block.basalt-boulder.name = Bazaltowy Głaz block.basalt-boulder.name = Bazaltowy Głaz
block.grass.name = Trawa block.grass.name = Trawa
block.molten-slag.name = Żużel block.molten-slag.name = Żużel
block.pooled-cryofluid.name = Cryofluid block.pooled-cryofluid.name = Lodociecz
block.space.name = Kosmos block.space.name = Kosmos
block.salt.name = Sól block.salt.name = Sól
block.salt-wall.name = Ściana Solna block.salt-wall.name = Ściana Solna
@@ -1182,7 +1182,7 @@ block.sand-water.name = Woda z Piaskiem
block.darksand-water.name = Woda z Ciemnym Piaskiem block.darksand-water.name = Woda z Ciemnym Piaskiem
block.char.name = Popiół block.char.name = Popiół
block.dacite.name = Dacyt block.dacite.name = Dacyt
block.rhyolite.name = Rhyolite block.rhyolite.name = Ryolit
block.dacite-wall.name = Dacytowa Ściana block.dacite-wall.name = Dacytowa Ściana
block.dacite-boulder.name = Dacytowy Głaz block.dacite-boulder.name = Dacytowy Głaz
block.ice-snow.name = Lodowy Śnieg block.ice-snow.name = Lodowy Śnieg
@@ -1314,7 +1314,7 @@ block.surge-wall-large.name = Duża Ściana Elektrum
block.cyclone.name = Cyklon block.cyclone.name = Cyklon
block.fuse.name = Lont block.fuse.name = Lont
block.shock-mine.name = Mina block.shock-mine.name = Mina
block.overdrive-projector.name = Projektor Pola Overdrive block.overdrive-projector.name = Projektor Pola Przyspieszenia
block.force-projector.name = Projektor Pola Siłowego block.force-projector.name = Projektor Pola Siłowego
block.arc.name = Piorun block.arc.name = Piorun
block.rtg-generator.name = Generator RTG block.rtg-generator.name = Generator RTG
@@ -1338,13 +1338,13 @@ block.duct.name = Duct
block.duct-router.name = Duct Router block.duct-router.name = Duct Router
block.duct-bridge.name = Duct Bridge block.duct-bridge.name = Duct Bridge
block.payload-propulsion-tower.name = Payload Propulsion Tower block.payload-propulsion-tower.name = Payload Propulsion Tower
block.payload-void.name = Payload Void block.payload-void.name = Próżnia Ładunku
block.payload-source.name = Payload Source block.payload-source.name = Źródło Ładunku
block.disassembler.name = Rozkładacz block.disassembler.name = Rozkładacz
block.silicon-crucible.name = Tygiel Krzemu block.silicon-crucible.name = Tygiel Krzemu
block.overdrive-dome.name = Kopuła Pola Overdrive block.overdrive-dome.name = Kopuła Pola Przyspieszenia
block.interplanetary-accelerator.name = Przyspieszacz Międzyplanetarny block.interplanetary-accelerator.name = Przyspieszacz Międzyplanetarny
block.constructor.name = Constructor block.constructor.name = Konstruktor
block.constructor.description = Fabricates structures up to 2x2 tiles in size. block.constructor.description = Fabricates structures up to 2x2 tiles in size.
block.large-constructor.name = Large Constructor block.large-constructor.name = Large Constructor
block.large-constructor.description = Fabricates structures up to 4x4 tiles in size. block.large-constructor.description = Fabricates structures up to 4x4 tiles in size.
@@ -1779,4 +1779,4 @@ lenum.mine = Kop na danej pozycji.
lenum.build = Buduj strukturę. lenum.build = Buduj strukturę.
lenum.getblock = Pobierz budynek i typ z koordynatów.\nJednostka musi być w zasięgu pozycji.\nSolidne niebudynki będą miały typ [accent]@solid[]. lenum.getblock = Pobierz budynek i typ z koordynatów.\nJednostka musi być w zasięgu pozycji.\nSolidne niebudynki będą miały typ [accent]@solid[].
lenum.within = Sprawdź czy jednostka jest w pobliżu pozycji. lenum.within = Sprawdź czy jednostka jest w pobliżu pozycji.
lenum.boost = Zacznij/zakończ boostować. lenum.boost = Zacznij/zakończ przyspieszać.

View File

@@ -19,7 +19,7 @@ screenshot = Скриншот сохранён в {0}
screenshot.invalid = Карта слишком большая, возможно, не хватает памяти для скриншота. screenshot.invalid = Карта слишком большая, возможно, не хватает памяти для скриншота.
gameover = Игра окончена gameover = Игра окончена
gameover.disconnect = Отключение gameover.disconnect = Отключение
gameover.pvp = [accent]{0}[] команда победила! gameover.pvp = Команда [accent]{0}[] победила!
gameover.waiting = [accent]Ожидание следующей карты... gameover.waiting = [accent]Ожидание следующей карты...
highscore = [accent]Новый рекорд! highscore = [accent]Новый рекорд!
copied = Скопировано. copied = Скопировано.
@@ -46,8 +46,8 @@ mods.browser.selected = Выбранный мод
mods.browser.add = Скачать mods.browser.add = Скачать
mods.browser.reinstall = Переустановить mods.browser.reinstall = Переустановить
mods.github.open = Сайт mods.github.open = Сайт
mods.browser.sortdate = Сортировка по дате mods.browser.sortdate = Сортировка по дате изменения
mods.browser.sortstars = Сортировка по звёздам mods.browser.sortstars = Сортировка по количеству звёзд
schematic = Схема schematic = Схема
schematic.add = Сохранить схему… schematic.add = Сохранить схему…
@@ -73,7 +73,7 @@ schematic.addtag = Добавить тег
schematic.texttag = Текстовый тег schematic.texttag = Текстовый тег
schematic.icontag = Символьный тег schematic.icontag = Символьный тег
schematic.renametag = Переименовать тег schematic.renametag = Переименовать тег
schematic.tagdelconfirm = Полностью удалить этот тег? schematic.tagdelconfirm = Удалить этот тег навсегда?
schematic.tagexists = Такой тег уже существует. schematic.tagexists = Такой тег уже существует.
stats = Статистика stats = Статистика
@@ -163,7 +163,7 @@ mod.scripts.disable = Ваше устройство не поддерживае
about.button = Об игре about.button = Об игре
name = Имя: name = Имя:
noname = Для начала придумайте[accent] себе имя[]. noname = Для начала придумайте себе[accent] имя[].
planetmap = Карта планеты planetmap = Карта планеты
launchcore = Запуск ядра launchcore = Запуск ядра
filename = Имя файла: filename = Имя файла:
@@ -315,7 +315,7 @@ data.import = Импортировать данные
data.openfolder = Открыть папку с данными data.openfolder = Открыть папку с данными
data.exported = Данные экспортированы. data.exported = Данные экспортированы.
data.invalid = Эти игровые данные являются недействительными. data.invalid = Эти игровые данные являются недействительными.
data.import.confirm = Импорт внешних данных сотрёт[scarlet] все[] ваши игровые данные.\n[accent]Это не может быть отменено![]\n\nКак только данные импортированы, ваша игра немедленно закроется. data.import.confirm = Импорт внешних данных сотрёт[scarlet] все[] ваши игровые данные.\n[accent]Это не может быть отменено![]\n\nКак только данные будут импортированы, ваша игра немедленно закроется.
quit.confirm = Вы уверены, что хотите выйти? quit.confirm = Вы уверены, что хотите выйти?
loading = [accent]Загрузка… loading = [accent]Загрузка…
downloading = [accent]Скачивание... downloading = [accent]Скачивание...
@@ -346,9 +346,9 @@ custom = Пользовательская
builtin = Встроенная builtin = Встроенная
map.delete.confirm = Вы действительно хотите удалить эту карту? Это действие не может быть отменено! map.delete.confirm = Вы действительно хотите удалить эту карту? Это действие не может быть отменено!
map.random = [accent]Случайная карта map.random = [accent]Случайная карта
map.nospawn = Эта карта не имеет ни одного ядра, в котором игрок может появиться! Добавьте [#{0}]{1}[] ядро на эту карту в редакторе. map.nospawn = На этой карте ни одного ядра, в котором игрок может появиться! Добавьте [#{0}]{1}[] ядро на эту карту в редакторе.
map.nospawn.pvp = У этой карты нет вражеских ядер, в которых игрок может появиться! Добавьте [scarlet]не оранжевое[] ядро на эту карту в редакторе. map.nospawn.pvp = На этой карте нет вражеских ядер, в которых игрок может появиться! Добавьте [scarlet]вражеское[] ядро на эту карту в редакторе.
map.nospawn.attack = У этой карты нет вражеских ядер для атаки игроком! Добавьте [#{0}]{1}[] ядро на эту карту в редакторе. map.nospawn.attack = На этой карте нет вражеских ядер для атаки игроком! Добавьте [#{0}]{1}[] ядро на эту карту в редакторе.
map.invalid = Ошибка загрузки карты: повреждённый или недопустимый файл карты. map.invalid = Ошибка загрузки карты: повреждённый или недопустимый файл карты.
workshop.update = Обновить содержимое workshop.update = Обновить содержимое
workshop.error = Ошибка загрузки информации из Мастерской: {0} workshop.error = Ошибка загрузки информации из Мастерской: {0}
@@ -562,7 +562,7 @@ addall = Добавить всё
launch.from = Запуск из: [accent]{0} launch.from = Запуск из: [accent]{0}
launch.destination = Место назначения: {0} launch.destination = Место назначения: {0}
configure.invalid = Количество должно быть числом между 0 и {0}. configure.invalid = Количество должно быть числом между 0 и {0}.
add = Добавить add = Добавить...
guardian = Страж guardian = Страж
connectfail = [scarlet]Ошибка подключения:\n\n[accent]{0} connectfail = [scarlet]Ошибка подключения:\n\n[accent]{0}
@@ -578,7 +578,7 @@ error.bloom = Не удалось инициализировать свечен
weather.rain.name = Дождь weather.rain.name = Дождь
weather.snow.name = Снегопад weather.snow.name = Снегопад
weather.sandstorm.name = Пыльная буря weather.sandstorm.name = Песчаная буря
weather.sporestorm.name = Споровая буря weather.sporestorm.name = Споровая буря
weather.fog.name = Туман weather.fog.name = Туман
@@ -1409,7 +1409,7 @@ hint.payloadPickup.mobile = [accent]Нажмите и удерживайте[]
hint.payloadDrop = Нажмите [accent]][], чтобы сбросить груз. hint.payloadDrop = Нажмите [accent]][], чтобы сбросить груз.
hint.payloadDrop.mobile = [accent]Нажмите и удерживайте[] палец на пустой локации, чтобы сбросить туда груз. hint.payloadDrop.mobile = [accent]Нажмите и удерживайте[] палец на пустой локации, чтобы сбросить туда груз.
hint.waveFire = Турели [accent]Волна[] при подаче воды будут автоматически тушить пожары вокруг. hint.waveFire = Турели [accent]Волна[] при подаче воды будут автоматически тушить пожары вокруг.
hint.generator = \uf879 [accent]Генераторы внутреннего сгорания[] сжигают уголь и передают энергию рядомстоящим блокам.\n\nДальность передачи энергии может быть увеличена при помощи \uf87f [accent]силовых узлов[]. hint.generator = \uf879 [accent]Генераторы внутреннего сгорания[] сжигают уголь и передают энергию рядом стоящим блокам.\n\nДальность передачи энергии может быть увеличена при помощи \uf87f [accent]силовых узлов[].
hint.guardian = [accent]Стражи[] бронированы. Слабые боеприпасы, такие как [accent]медь[] и [accent]свинец[], [scarlet]не эффективны[].\n\nИспользуйте турели высокого уровня или \uf835 [accent]графитные[] боеприпасы в \uf861двойных турелях/\uf859залпах, чтобы уничтожить Стража. hint.guardian = [accent]Стражи[] бронированы. Слабые боеприпасы, такие как [accent]медь[] и [accent]свинец[], [scarlet]не эффективны[].\n\nИспользуйте турели высокого уровня или \uf835 [accent]графитные[] боеприпасы в \uf861двойных турелях/\uf859залпах, чтобы уничтожить Стража.
hint.coreUpgrade = Ядра могут быть улучшены путем [accent]размещения над ними ядер более высокого уровня[].\n\nПоместите ядро \uf868 [accent]Штаб[] поверх ядра \uf869 [accent]Осколок[]. Убедитесь, что никакие препятствия не мешают ему. hint.coreUpgrade = Ядра могут быть улучшены путем [accent]размещения над ними ядер более высокого уровня[].\n\nПоместите ядро \uf868 [accent]Штаб[] поверх ядра \uf869 [accent]Осколок[]. Убедитесь, что никакие препятствия не мешают ему.
hint.presetLaunch = В серые [accent]секторы с посадочными зонами[], такие как [accent]Ледяной лес[], можно запускаться из любого места. Они не требуют захвата близлежащей территории.\n\n[accent]Нумерованные секторы[], такие как этот, [accent]не обязательны[] для прохождения. hint.presetLaunch = В серые [accent]секторы с посадочными зонами[], такие как [accent]Ледяной лес[], можно запускаться из любого места. Они не требуют захвата близлежащей территории.\n\n[accent]Нумерованные секторы[], такие как этот, [accent]не обязательны[] для прохождения.
@@ -1591,8 +1591,8 @@ block.memory-bank.description = Хранит информацию для лог
block.logic-display.description = Отображает произвольную графику из логического процессора. block.logic-display.description = Отображает произвольную графику из логического процессора.
block.large-logic-display.description = Отображает произвольную графику из логического процессора. block.large-logic-display.description = Отображает произвольную графику из логического процессора.
block.interplanetary-accelerator.description = Массивная электромагнитная башня-рельсотрон. Ускоряет ядро, позволяя преодолеть гравитацию для межпланетного развёртывания. block.interplanetary-accelerator.description = Массивная электромагнитная башня-рельсотрон. Ускоряет ядро, позволяя преодолеть гравитацию для межпланетного развёртывания.
block.repair-turret.description = Непрерывно ремонтирует ближайшую поврежденную еденицу в своем радиусе. Опционально использует охлаждающую жидкость. block.repair-turret.description = Непрерывно ремонтирует ближайшую поврежденную единицу в своем радиусе. Опционально использует охлаждающую жидкость.
block.payload-propulsion-tower.description = Конструкция для транспортировки больших грузов на большое растояние. Стреляет грузом в другие грузовые катапульты. block.payload-propulsion-tower.description = Конструкция для транспортировки больших грузов на большое расстояние. Стреляет грузом в другие грузовые катапульты.
unit.dagger.description = Стреляет стандартными пулями по всем врагам поблизости. unit.dagger.description = Стреляет стандартными пулями по всем врагам поблизости.
unit.mace.description = Стреляет потоками огня по всем врагам поблизости. unit.mace.description = Стреляет потоками огня по всем врагам поблизости.
@@ -1663,7 +1663,7 @@ lenum.config = Конфигурация постройки, например, п
lenum.enabled = Включён ли блок. lenum.enabled = Включён ли блок.
laccess.color = Цвет осветителя. laccess.color = Цвет осветителя.
laccess.controller = Командующий единицей. Если единица управляется процессором, возвращает процессор. Если в строю, возращает командуещего.\nВ противном случае возвращает саму единицу. laccess.controller = Командующий единицей. Если единица управляется процессором, возвращает процессор. Если в строю, возвращает командующего.\nВ противном случае возвращает саму единицу.
laccess.dead = Является ли единица/постройка неработающей или несуществующей. laccess.dead = Является ли единица/постройка неработающей или несуществующей.
laccess.controlled = Возвращает:\n[accent]@ctrlProcessor[] если единица управляется процессором\n[accent]@ctrlPlayer[] если единица/постройка управляется игроком\n[accent]@ctrlFormation[] если единица в строю\nВ противном случае — 0. laccess.controlled = Возвращает:\n[accent]@ctrlProcessor[] если единица управляется процессором\n[accent]@ctrlPlayer[] если единица/постройка управляется игроком\n[accent]@ctrlFormation[] если единица в строю\nВ противном случае — 0.
laccess.commanded = [red]Устарело. Будет удалено![]\nВместо этого, используйте [accent]controlled[]. laccess.commanded = [red]Устарело. Будет удалено![]\nВместо этого, используйте [accent]controlled[].

View File

@@ -133,3 +133,6 @@ hortiSquash
King-BR King-BR
citrusMarmelade citrusMarmelade
Evolveye Evolveye
Jerzy Paciorkiewicz
YozoZChomutova
Qendolin

View File

@@ -52,6 +52,7 @@ function extend(/*Base, ..., def*/){
importPackage(Packages.arc) importPackage(Packages.arc)
importPackage(Packages.arc.audio) importPackage(Packages.arc.audio)
importPackage(Packages.arc.func) importPackage(Packages.arc.func)
importPackage(Packages.arc.flabel)
importPackage(Packages.arc.graphics) importPackage(Packages.arc.graphics)
importPackage(Packages.arc.graphics.g2d) importPackage(Packages.arc.graphics.g2d)
importPackage(Packages.arc.graphics.gl) importPackage(Packages.arc.graphics.gl)

View File

@@ -141,8 +141,8 @@ public class Fx{
float x = Tmp.v1.x, y = Tmp.v1.y; float x = Tmp.v1.x, y = Tmp.v1.y;
float size = 1f; float size = 1f;
stroke(e.fslope() * 2f * size, Pal.accent); color(Pal.accent);
Lines.circle(x, y, e.fslope() * 2f * size); Fill.circle(x, y, e.fslope() * 3f * size);
color(e.color); color(e.color);
Fill.circle(x, y, e.fslope() * 1.5f * size); Fill.circle(x, y, e.fslope() * 1.5f * size);

View File

@@ -17,6 +17,8 @@ public class ParticleEffect extends Effect{
public Color colorFrom = Color.white.cpy(), colorTo = Color.white.cpy(); public Color colorFrom = Color.white.cpy(), colorTo = Color.white.cpy();
public int particles = 6; public int particles = 6;
public boolean randLength = true; public boolean randLength = true;
/** Gives the effect flipping compatability like casing effects. */
public boolean casingFlip;
public float cone = 180f, length = 20f, baseLength = 0f; public float cone = 180f, length = 20f, baseLength = 0f;
/** Particle size/length/radius interpolation. */ /** Particle size/length/radius interpolation. */
public Interp interp = Interp.linear; public Interp interp = Interp.linear;
@@ -55,11 +57,12 @@ public class ParticleEffect extends Effect{
public void render(EffectContainer e){ public void render(EffectContainer e){
if(tex == null) tex = Core.atlas.find(region); if(tex == null) tex = Core.atlas.find(region);
float realRotation = (useRotation ? e.rotation : baseRotation); float realRotation = (useRotation ? (casingFlip ? Math.abs(e.rotation) : e.rotation) : baseRotation);
int flip = casingFlip ? -Mathf.sign(e.rotation) : 1;
float rawfin = e.fin(); float rawfin = e.fin();
float fin = e.fin(interp); float fin = e.fin(interp);
float rad = sizeInterp.apply(sizeFrom, sizeTo, rawfin) * 2; float rad = sizeInterp.apply(sizeFrom, sizeTo, rawfin) * 2;
float ox = e.x + Angles.trnsx(realRotation, offsetX, offsetY), oy = e.y + Angles.trnsy(realRotation, offsetX, offsetY); float ox = e.x + Angles.trnsx(realRotation, offsetX * flip, offsetY), oy = e.y + Angles.trnsy(realRotation, offsetX * flip, offsetY);
Draw.color(colorFrom, colorTo, fin); Draw.color(colorFrom, colorTo, fin);
Color lightColor = this.lightColor == null ? Draw.getColor() : this.lightColor; Color lightColor = this.lightColor == null ? Draw.getColor() : this.lightColor;

View File

@@ -34,11 +34,19 @@ public class Teams{
@Nullable @Nullable
public CoreBuild closestEnemyCore(float x, float y, Team team){ public CoreBuild closestEnemyCore(float x, float y, Team team){
CoreBuild closest = null;
float closestDst = Float.MAX_VALUE;
for(Team enemy : team.data().coreEnemies){ for(Team enemy : team.data().coreEnemies){
CoreBuild tile = Geometry.findClosest(x, y, enemy.cores()); for(CoreBuild core : enemy.cores()){
if(tile != null) return tile; float dst = Mathf.dst2(x, y, core.getX(), core.getY());
if(closestDst > dst){
closest = core;
closestDst = dst;
}
}
} }
return null; return closest;
} }
@Nullable @Nullable
@@ -409,4 +417,4 @@ public class Teams{
'}'; '}';
} }
} }
} }

View File

@@ -20,7 +20,7 @@ import mindustry.logic.LStatements.*;
import mindustry.ui.*; import mindustry.ui.*;
public class LCanvas extends Table{ public class LCanvas extends Table{
public static final int maxJumpsDrawn = 100; public static final int maxJumpsDrawn = 1000; // TODO Does nothing
//ew static variables //ew static variables
static LCanvas canvas; static LCanvas canvas;
@@ -106,14 +106,23 @@ public class LCanvas extends Table{
clear(); clear();
statements = new DragLayout(); statements = new DragLayout();
jumps = new WidgetGroup(); jumps = new WidgetGroup(){
@Override
public void layout(){
cullable = false; //culling while scrolling results in weirdness
getChildren().each(h -> {
if(!(h instanceof JumpCurve c)) return;
c.setSize(width, c.getPrefHeight());
c.setPosition(c.button.x + c.button.getWidth()/2f, c.py);
});
cullable = true;
}
};
pane = pane(t -> { pane = pane(t -> {
t.center(); t.center();
t.add(statements).pad(2f).center().width(targetWidth); t.add(statements).pad(2f).center().width(targetWidth);
t.addChild(jumps); t.add(jumps).growY().width(100f).growY();
jumps.cullable = false;
}).grow().get(); }).grow().get();
pane.setFlickScroll(false); pane.setFlickScroll(false);
@@ -160,6 +169,7 @@ public class LCanvas extends Table{
} }
this.statements.layout(); this.statements.layout();
jumps.layout();
} }
StatementElem checkHovered(){ StatementElem checkHovered(){
@@ -187,21 +197,17 @@ public class LCanvas extends Table{
pane.setScrollY(pane.getScrollY() + sign * Scl.scl(15f) * Time.delta); pane.setScrollY(pane.getScrollY() + sign * Scl.scl(15f) * Time.delta);
} }
} }
pane.scrolled(f -> jumps.layout()); //don't ask why this is needed, it just is
} }
public class DragLayout extends WidgetGroup{ public class DragLayout extends WidgetGroup{
float space = Scl.scl(10f), prefWidth, prefHeight; float space = Scl.scl(10f), prefWidth, prefHeight;
Seq<Element> seq = new Seq<>(); Seq<Element> seq = new Seq<>();
int insertPosition = 0; int insertPosition = 0;
boolean invalidated;
{
setTransform(true);
}
@Override @Override
public void layout(){ public void layout(){
invalidated = true;
float cy = 0; float cy = 0;
seq.clear(); seq.clear();
@@ -249,10 +255,9 @@ public class LCanvas extends Table{
} }
} }
invalidateHierarchy(); if(parent instanceof Table){
if(parent != null && parent instanceof Table){
setCullingArea(parent.getCullingArea()); setCullingArea(parent.getCullingArea());
jumps.setCullingArea(parent.getCullingArea());
} }
} }
@@ -279,16 +284,7 @@ public class LCanvas extends Table{
Tex.pane.draw(lastX, lastY - shiftAmount, width, dragging.getHeight()); Tex.pane.draw(lastX, lastY - shiftAmount, width, dragging.getHeight());
} }
if(invalidated){
children.each(c -> c.cullable = false);
}
super.draw(); super.draw();
if(invalidated){
children.each(c -> c.cullable = true);
invalidated = false;
}
} }
void finishLayout(){ void finishLayout(){
@@ -513,11 +509,17 @@ public class LCanvas extends Table{
public static class JumpCurve extends Element{ public static class JumpCurve extends Element{
public JumpButton button; public JumpButton button;
float ph, py;
public JumpCurve(JumpButton button){ public JumpCurve(JumpButton button){
this.button = button; this.button = button;
} }
@Override
public float getPrefHeight(){
return ph;
}
@Override @Override
public void act(float delta){ public void act(float delta){
super.act(delta); super.act(delta);
@@ -536,7 +538,6 @@ public class LCanvas extends Table{
} }
Element hover = button.to.get() == null && button.selecting ? canvas.hovered : button.to.get(); Element hover = button.to.get() == null && button.selecting ? canvas.hovered : button.to.get();
boolean draw = false;
Vec2 t = Tmp.v1, r = Tmp.v2; Vec2 t = Tmp.v1, r = Tmp.v2;
Group desc = canvas.pane; Group desc = canvas.pane;
@@ -545,26 +546,25 @@ public class LCanvas extends Table{
if(hover != null){ if(hover != null){
hover.localToAscendantCoordinates(desc, t.set(hover.getWidth(), hover.getHeight()/2f)); hover.localToAscendantCoordinates(desc, t.set(hover.getWidth(), hover.getHeight()/2f));
draw = true;
}else if(button.selecting){ }else if(button.selecting){
t.set(r).add(button.mx, button.my); t.set(r).add(button.mx, button.my);
draw = true; }else{
return;
} }
float offset = canvas.pane.getVisualScrollY() - canvas.pane.getMaxY(); ph = Math.abs(t.y - r.y);
py = Math.min(t.y, r.y);
float offset = canvas.pane.getVisualScrollY() - canvas.pane.getMaxY();
t.y += offset; t.y += offset;
r.y += offset; r.y += offset;
if(draw){ drawCurve(r.x + button.getWidth()/2f, r.y + button.getHeight()/2f, t.x, t.y);
drawCurve(r.x + button.getWidth()/2f, r.y + button.getHeight()/2f, t.x, t.y);
float s = button.getWidth(); float s = button.getWidth();
Draw.color(button.color); Draw.color(button.color);
Tex.logicNode.draw(t.x + s*0.75f, t.y - s/2f, -s, s); Tex.logicNode.draw(t.x + s*0.75f, t.y - s/2f, -s, s);
Draw.reset(); Draw.reset();
}
} }
public void drawCurve(float x, float y, float x2, float y2){ public void drawCurve(float x, float y, float x2, float y2){

View File

@@ -44,6 +44,7 @@ import static mindustry.Vars.*;
public class UnitType extends UnlockableContent{ public class UnitType extends UnlockableContent{
public static final float shadowTX = -12, shadowTY = -13; public static final float shadowTX = -12, shadowTY = -13;
private static final Vec2 legOffset = new Vec2(); private static final Vec2 legOffset = new Vec2();
private static TextureRegion itemCircleRegion;
/** If true, the unit is always at elevation 1. */ /** If true, the unit is always at elevation 1. */
public boolean flying; public boolean flying;
@@ -983,14 +984,16 @@ public class UnitType extends UnlockableContent{
unit.x + Angles.trnsx(unit.rotation + 180f, itemOffsetY), unit.x + Angles.trnsx(unit.rotation + 180f, itemOffsetY),
unit.y + Angles.trnsy(unit.rotation + 180f, itemOffsetY), unit.y + Angles.trnsy(unit.rotation + 180f, itemOffsetY),
size, size, unit.rotation); size, size, unit.rotation);
Draw.mixcol(); Draw.mixcol();
Lines.stroke(1f, Pal.accent); if(itemCircleRegion == null || itemCircleRegion.texture.isDisposed()){
Lines.circle( itemCircleRegion = Core.atlas.find("ring-item");
}
size = (3f + Mathf.absin(Time.time, 5f, 1f)) * unit.itemTime + 0.5f;
Draw.color(Pal.accent);
Draw.rect(itemCircleRegion,
unit.x + Angles.trnsx(unit.rotation + 180f, itemOffsetY), unit.x + Angles.trnsx(unit.rotation + 180f, itemOffsetY),
unit.y + Angles.trnsy(unit.rotation + 180f, itemOffsetY), unit.y + Angles.trnsy(unit.rotation + 180f, itemOffsetY), size * 2, size * 2);
(3f + Mathf.absin(Time.time, 5f, 1f)) * unit.itemTime);
if(unit.isLocal() && !renderer.pixelator.enabled()){ if(unit.isLocal() && !renderer.pixelator.enabled()){
Fonts.outline.draw(unit.stack.amount + "", Fonts.outline.draw(unit.stack.amount + "",

View File

@@ -9,7 +9,7 @@
}, },
{ {
"name": "Yeet Hosting", "name": "Yeet Hosting",
"address": ["omegam.mindustry.me:5004", "omegav.mindustry.me:25575", "omegav.mindustry.me:25568"] "address": ["omegam.mindustry.me:5004", "omegav.mindustry.me:25575", "omegav.mindustry.me:25588"]
}, },
{ {
"name": "RCM", "name": "RCM",
@@ -97,7 +97,7 @@
}, },
{ {
"name": "Hungarian", "name": "Hungarian",
"address": ["vajdasimon.ddns.net"] "address": ["play.hudustry.tk"]
}, },
{ {
"name": "Xpdustry", "name": "Xpdustry",
@@ -134,5 +134,9 @@
{ {
"name": "OMNIDUSTRY", "name": "OMNIDUSTRY",
"address": ["109.94.209.233"] "address": ["109.94.209.233"]
} },
{
"name": "Fish",
"address": ["170.187.144.235"]
}
] ]

View File

@@ -17,7 +17,7 @@
}, },
{ {
"name": "Omega", "name": "Omega",
"address": ["omegam.mindustry.me:25577", "omegam.mindustry.me", "omegam.mindustry.me:25586"] "address": ["omegam.mindustry.me:25577", "omegam.mindustry.me", "omegam.mindustry.me:25586", "omegam.mindustry.me:25565"]
}, },
{ {
"name": "MeowLand", "name": "MeowLand",
@@ -86,5 +86,13 @@
{ {
"name": "Surrealment v7", "name": "Surrealment v7",
"address": ["md.surrealment.com:6567"] "address": ["md.surrealment.com:6567"]
},
{
"name": "TinyLake",
"address": ["mdt.wayzer.cf"]
},
{
"name": "[CIG]Mindustry Server",
"address": ["mindustry.vicp.io:6567", "mindustry.vicp.io:7000", "mindustry.vicp.io:6800"]
} }
] ]