Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
46ab6d3476 | ||
|
|
3fcf3cbf93 | ||
|
|
ada912c69b | ||
|
|
e204b89eaf | ||
|
|
e903798fc2 |
@@ -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 = '411d5992f44e320a4292b93323d19f9fe7e3e701'
|
uCoreVersion = '06b465e3385ded22d84f42cb09554352a1d3ad6c'
|
||||||
|
|
||||||
getVersionString = {
|
getVersionString = {
|
||||||
String buildVersion = getBuildVersion()
|
String buildVersion = getBuildVersion()
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ text.link.github.description=Исходный код игры
|
|||||||
text.link.dev-builds.description=Нестабильные разработки
|
text.link.dev-builds.description=Нестабильные разработки
|
||||||
text.link.trello.description=Официальная доска trello для запланированных функций
|
text.link.trello.description=Официальная доска trello для запланированных функций
|
||||||
text.link.itch.io.description=itch.io страница с загрузкой ПК и веб-версией
|
text.link.itch.io.description=itch.io страница с загрузкой ПК и веб-версией
|
||||||
text.link.google-play.description=Скачать с Google Play
|
text.link.google-play.description=Скачать для Android
|
||||||
text.link.wiki.description=официальная вики Mindustry
|
text.link.wiki.description=Официальная вики Mindustry(англ.)
|
||||||
text.linkfail=Не удалось открыть ссылку!\nURL-адрес был скопирован в буфер обмена.
|
text.linkfail=Не удалось открыть ссылку!\nURL-адрес был скопирован в буфер обмена.
|
||||||
text.editor.web=Веб-версия не поддерживает редактор!\nЗагрузите игру, чтобы использовать ее.
|
text.editor.web=Веб-версия не поддерживает редактор!\nЗагрузите игру, чтобы использовать ее.
|
||||||
text.web.unsupported=Веб-версия не поддерживает эту функцию! Загрузите игру, чтобы использовать её.
|
text.web.unsupported=Веб-версия не поддерживает эту функцию! Загрузите игру, чтобы использовать её.
|
||||||
@@ -15,12 +15,13 @@ text.gameover=Ядро было уничтожено.
|
|||||||
text.sector.gameover=Этот сектор потерян. Высадится повторно?
|
text.sector.gameover=Этот сектор потерян. Высадится повторно?
|
||||||
text.sector.retry=Повторить попытку
|
text.sector.retry=Повторить попытку
|
||||||
text.highscore=[YELLOW]Новый рекорд!
|
text.highscore=[YELLOW]Новый рекорд!
|
||||||
text.wave.lasted=Вы продержались до волны [accent]{0}[].
|
text.wave.lasted=Вы продержались до волны [accent]{0}[].
|
||||||
text.level.highscore=Рекорд: [accent]{0}
|
text.level.highscore=Рекорд: [accent]{0}
|
||||||
text.level.delete.title=Подтвердите удаление
|
text.level.delete.title=Подтвердите удаление
|
||||||
text.map.delete=Вы действительно хотите удалить карту "[orange]{0}[]"?
|
text.map.delete=Вы действительно хотите удалить карту "[orange]{0}[]"?
|
||||||
text.level.select=Выбор уровня
|
text.level.select=Выбор уровня
|
||||||
text.level.mode=Режим игры:
|
text.level.mode=Режим игры:
|
||||||
|
text.construction.desktop=Элементы управления на настольных компьютерах были изменены.\nЧтобы отменить выбор блока или остановить строительство, [accent]используйте пробел[].
|
||||||
text.construction.title=Руководство по размещения блоков
|
text.construction.title=Руководство по размещения блоков
|
||||||
text.construction=Вы только что выбрали режим размещения[accent]блоков[].\n\nЧтобы начать размещение, просто коснитесь подходящего местоположения рядом с вашим кораблем.\nПосле того, как вы поставили несколько блоков, нажмите на галочку, чтобы подтвердить, и ваш корабль начнет их строить.\n\n- [accent]Удалите блоки [] из вашего выбора, нажав на них.n- [accent]Нажмите Shift [] и, удерживая, перетащите любой блок в выборе.\n- [accent]Поместите блоки в линию [], нажимая и удерживая пустое место, а затем перетаскивая его в направлении.\n- [accent]Отмените размещение или выбор [], нажав X в левом нижнем углу.
|
text.construction=Вы только что выбрали режим размещения[accent]блоков[].\n\nЧтобы начать размещение, просто коснитесь подходящего местоположения рядом с вашим кораблем.\nПосле того, как вы поставили несколько блоков, нажмите на галочку, чтобы подтвердить, и ваш корабль начнет их строить.\n\n- [accent]Удалите блоки [] из вашего выбора, нажав на них.n- [accent]Нажмите Shift [] и, удерживая, перетащите любой блок в выборе.\n- [accent]Поместите блоки в линию [], нажимая и удерживая пустое место, а затем перетаскивая его в направлении.\n- [accent]Отмените размещение или выбор [], нажав X в левом нижнем углу.
|
||||||
text.deconstruction.title=Руководство по разрушении блоков
|
text.deconstruction.title=Руководство по разрушении блоков
|
||||||
@@ -62,7 +63,6 @@ text.players.single={0} игрок на сервере
|
|||||||
text.server.mismatch=Ошибка пакета: возможное несоответствие версии клиента/сервера. Убедитесь, что у вас и у создателя сервера установлена последняя версия Mindustry!
|
text.server.mismatch=Ошибка пакета: возможное несоответствие версии клиента/сервера. Убедитесь, что у вас и у создателя сервера установлена последняя версия Mindustry!
|
||||||
text.server.closing=[accent]Закрытие сервера...
|
text.server.closing=[accent]Закрытие сервера...
|
||||||
text.server.kicked.kick=Вас выгнали с сервера!
|
text.server.kicked.kick=Вас выгнали с сервера!
|
||||||
text.server.kicked.fastShoot=Вы стреляете слишком быстро.
|
|
||||||
text.server.kicked.serverClose=Сервер закрыт.
|
text.server.kicked.serverClose=Сервер закрыт.
|
||||||
text.server.kicked.sectorComplete=Сектор завершён.
|
text.server.kicked.sectorComplete=Сектор завершён.
|
||||||
text.server.kicked.sectorComplete.text=Ваша миссия завершена.\nТеперь сервер продолжит работу в следующем секторе.
|
text.server.kicked.sectorComplete.text=Ваша миссия завершена.\nТеперь сервер продолжит работу в следующем секторе.
|
||||||
@@ -343,8 +343,9 @@ category.view.name=Просмотр
|
|||||||
category.multiplayer.name=Мультиплеер
|
category.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=Выбор/Выстрел
|
||||||
keybind.break.name=Разрушение
|
keybind.break.name=Разрушение
|
||||||
|
keybind.deselect.name=Отмена
|
||||||
keybind.shoot.name=Выстрел
|
keybind.shoot.name=Выстрел
|
||||||
keybind.zoom_hold.name=Удержание зума
|
keybind.zoom_hold.name=Удержание зума
|
||||||
keybind.zoom.name=Приблизить
|
keybind.zoom.name=Приблизить
|
||||||
@@ -606,6 +607,10 @@ block.thermal-generator.name=Термальный генератор
|
|||||||
block.thermal-generator.description=Горячее воспринимает на ура.
|
block.thermal-generator.description=Горячее воспринимает на ура.
|
||||||
block.alloy-smelter.name=Плавильня сплава
|
block.alloy-smelter.name=Плавильня сплава
|
||||||
block.mend-projector.name=Ремонтирующий гранатомёт
|
block.mend-projector.name=Ремонтирующий гранатомёт
|
||||||
|
block.surge-wall.name=Волновая стена
|
||||||
|
block.surge-wall-large.name=Большая волновая стена
|
||||||
|
block.cyclone.name=Циклон
|
||||||
|
block.fuse.name=Взрыватель
|
||||||
unit.drone.name=Дрон
|
unit.drone.name=Дрон
|
||||||
unit.drone.description=Начальный дрон. По умолчанию появляется из ядра. Автоматически добывает руды, собирает предметы, ремонтирует блоки.
|
unit.drone.description=Начальный дрон. По умолчанию появляется из ядра. Автоматически добывает руды, собирает предметы, ремонтирует блоки.
|
||||||
unit.fabricator.name=Сборщик
|
unit.fabricator.name=Сборщик
|
||||||
@@ -618,48 +623,3 @@ unit.monsoon.name=Муссон
|
|||||||
unit.monsoon.description=Тяжелый ковровый бомбардировщик. Использует взрывоопасное соединение или пиратит в качестве боеприпасов.
|
unit.monsoon.description=Тяжелый ковровый бомбардировщик. Использует взрывоопасное соединение или пиратит в качестве боеприпасов.
|
||||||
unit.interceptor.name=Истребитель-перехватчик
|
unit.interceptor.name=Истребитель-перехватчик
|
||||||
unit.interceptor.description=Быстрая и ударная боевая единица, которая использует набег с отскоком.
|
unit.interceptor.description=Быстрая и ударная боевая единица, которая использует набег с отскоком.
|
||||||
content.mech.name=Mechs
|
|
||||||
mech.alpha-mech.name=Alpha
|
|
||||||
mech.alpha-mech.weapon=Heavy Repeater
|
|
||||||
mech.alpha-mech.ability=Drone Swarm
|
|
||||||
mech.alpha-mech.description=The standard mech. Has decent speed and damage output; can create up to 3 drones for increased offensive capability.
|
|
||||||
mech.delta-mech.name=Delta
|
|
||||||
mech.delta-mech.weapon=Arc Generator
|
|
||||||
mech.delta-mech.ability=Discharge
|
|
||||||
mech.delta-mech.description=A fast, lightly-armored mech made for hit-and-run attacks. Does little damage against structures, but can kill large groups of enemy units very quickly with its arc lightning weapons.
|
|
||||||
mech.tau-mech.name=Tau
|
|
||||||
mech.tau-mech.weapon=Restruct Laser
|
|
||||||
mech.tau-mech.ability=Repair Burst
|
|
||||||
mech.tau-mech.description=The support mech. Heals allied blocks by shooting at them. Can extinguish fires and heal allies in a radius with its repair ability.
|
|
||||||
mech.omega-mech.name=Omega
|
|
||||||
mech.omega-mech.weapon=Swarm Missiles
|
|
||||||
mech.omega-mech.ability=Armored Configuration
|
|
||||||
mech.omega-mech.description=A bulky and well-armored mech, made for front-line assaults. Its armor ability can block up to 90% of incoming damage.
|
|
||||||
mech.dart-ship.name=Dart
|
|
||||||
mech.dart-ship.weapon=Repeater
|
|
||||||
mech.dart-ship.description=The standard ship. Reasonably fast and light, but has little offensive capability and low mining speed.
|
|
||||||
mech.javelin-ship.name=Javelin
|
|
||||||
mech.javelin-ship.description=A hit-and-run strike ship. While initially slow, it can accelerate to great speeds and fly by enemy outposts, dealing large amounts of damage with its lightning ability and missiles.
|
|
||||||
mech.javelin-ship.weapon=Burst Missiles
|
|
||||||
mech.javelin-ship.ability=Discharge Booster
|
|
||||||
mech.trident-ship.name=Trident
|
|
||||||
mech.trident-ship.description=A heavy bomber. Reasonably well armored.
|
|
||||||
mech.trident-ship.weapon=Bomb Bay
|
|
||||||
mech.glaive-ship.name=Glaive
|
|
||||||
mech.glaive-ship.description=A large, well-armored gunship. Equipped with an incendiary repeater. Good acceleration and maximum speed.
|
|
||||||
mech.glaive-ship.weapon=Flame Repeater
|
|
||||||
text.mech.weapon=[LIGHT_GRAY]Weapon: {0}
|
|
||||||
text.mech.armor=[LIGHT_GRAY]Armor: {0}
|
|
||||||
text.mech.itemcapacity=[LIGHT_GRAY]Item Capacity: {0}
|
|
||||||
text.mech.minespeed=[LIGHT_GRAY]Mining Speed: {0}
|
|
||||||
text.mech.minepower=[LIGHT_GRAY]Mining Power: {0}
|
|
||||||
text.mech.ability=[LIGHT_GRAY]Ability: {0}
|
|
||||||
block.core.name=Core
|
|
||||||
block.metalfloor.name=Metal Floor
|
|
||||||
block.trident-ship-factory.name=Trident Ship Reconstructor
|
|
||||||
block.glaive-ship-factory.name=Glaive Ship Reconstructor
|
|
||||||
block.omega-mech-factory.name=Omega Mech Reconstructor
|
|
||||||
block.tau-mech-factory.name=Tau Mech Reconstructor
|
|
||||||
block.alloy-smelter.name=Alloy Smtler
|
|
||||||
block.mend-projector.name=Mend Projector
|
|
||||||
unit.alpha-drone.name=Alpha Drone
|
|
||||||
|
|||||||
@@ -137,9 +137,9 @@ public class Recipes implements ContentList{
|
|||||||
new Recipe(units, UpgradeBlocks.javelinFactory, new ItemStack(Items.lead, 350), new ItemStack(Items.silicon, 450), new ItemStack(Items.titanium, 500), new ItemStack(Items.plastanium, 400), new ItemStack(Items.phasematter, 200));
|
new Recipe(units, UpgradeBlocks.javelinFactory, new ItemStack(Items.lead, 350), new ItemStack(Items.silicon, 450), new ItemStack(Items.titanium, 500), new ItemStack(Items.plastanium, 400), new ItemStack(Items.phasematter, 200));
|
||||||
new Recipe(units, UpgradeBlocks.glaiveFactory, new ItemStack(Items.lead, 450), new ItemStack(Items.silicon, 650), new ItemStack(Items.titanium, 700), new ItemStack(Items.plastanium, 600), new ItemStack(Items.surgealloy, 200));
|
new Recipe(units, UpgradeBlocks.glaiveFactory, new ItemStack(Items.lead, 450), new ItemStack(Items.silicon, 650), new ItemStack(Items.titanium, 700), new ItemStack(Items.plastanium, 600), new ItemStack(Items.surgealloy, 200));
|
||||||
|
|
||||||
new Recipe(units, UpgradeBlocks.tauFactory, new ItemStack(Items.lead, 250), new ItemStack(Items.densealloy, 250), new ItemStack(Items.copper, 250), new ItemStack(Items.silicon, 250));
|
new Recipe(units, UpgradeBlocks.tauFactory, new ItemStack(Items.lead, 250), new ItemStack(Items.densealloy, 250), new ItemStack(Items.copper, 250), new ItemStack(Items.silicon, 250)).setDesktop();
|
||||||
new Recipe(units, UpgradeBlocks.deltaFactory, new ItemStack(Items.lead, 350), new ItemStack(Items.densealloy, 350), new ItemStack(Items.copper, 400), new ItemStack(Items.silicon, 450), new ItemStack(Items.thorium, 300));
|
new Recipe(units, UpgradeBlocks.deltaFactory, new ItemStack(Items.lead, 350), new ItemStack(Items.densealloy, 350), new ItemStack(Items.copper, 400), new ItemStack(Items.silicon, 450), new ItemStack(Items.thorium, 300)).setDesktop();
|
||||||
new Recipe(units, UpgradeBlocks.omegaFactory, new ItemStack(Items.lead, 450), new ItemStack(Items.densealloy, 550), new ItemStack(Items.silicon, 650), new ItemStack(Items.thorium, 600), new ItemStack(Items.surgealloy, 240));
|
new Recipe(units, UpgradeBlocks.omegaFactory, new ItemStack(Items.lead, 450), new ItemStack(Items.densealloy, 550), new ItemStack(Items.silicon, 650), new ItemStack(Items.thorium, 600), new ItemStack(Items.surgealloy, 240)).setDesktop();
|
||||||
|
|
||||||
//actual unit related stuff
|
//actual unit related stuff
|
||||||
new Recipe(units, UnitBlocks.dronePad, new ItemStack(Items.copper, 70), new ItemStack(Items.lead, 110), new ItemStack(Items.silicon, 130));
|
new Recipe(units, UnitBlocks.dronePad, new ItemStack(Items.copper, 70), new ItemStack(Items.lead, 110), new ItemStack(Items.silicon, 130));
|
||||||
|
|||||||
@@ -163,6 +163,8 @@ public class NetClient extends Module{
|
|||||||
@Remote(variants = Variant.both)
|
@Remote(variants = Variant.both)
|
||||||
public static void onWorldDataBegin(){
|
public static void onWorldDataBegin(){
|
||||||
Entities.clear();
|
Entities.clear();
|
||||||
|
netClient.removed.clear();
|
||||||
|
|
||||||
ui.chatfrag.clearMessages();
|
ui.chatfrag.clearMessages();
|
||||||
Net.setClientLoaded(false);
|
Net.setClientLoaded(false);
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public class BlockConsumeFragment extends Fragment{
|
|||||||
|
|
||||||
table.update(() -> {
|
table.update(() -> {
|
||||||
|
|
||||||
if(tile.entity == null){
|
if(tile.entity == null || state.is(State.menu)){
|
||||||
hide();
|
hide();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,14 +40,21 @@ public class CrashHandler{
|
|||||||
ex(() -> value.addChild("build", new JsonValue(Version.build)));
|
ex(() -> value.addChild("build", new JsonValue(Version.build)));
|
||||||
ex(() -> value.addChild("net", new JsonValue(fn)));
|
ex(() -> value.addChild("net", new JsonValue(fn)));
|
||||||
ex(() -> value.addChild("server", new JsonValue(fs)));
|
ex(() -> value.addChild("server", new JsonValue(fs)));
|
||||||
ex(() -> value.addChild("gamemode", new JsonValue(Vars.state.mode.toString())));
|
ex(() -> value.addChild("gamemode", new JsonValue(Vars.state.mode.name())));
|
||||||
|
ex(() -> value.addChild("state", new JsonValue(Vars.state.getState().name())));
|
||||||
ex(() -> value.addChild("os", new JsonValue(System.getProperty("os.name"))));
|
ex(() -> value.addChild("os", new JsonValue(System.getProperty("os.name"))));
|
||||||
ex(() -> value.addChild("multithreading", new JsonValue(Settings.getBool("multithread"))));
|
ex(() -> value.addChild("multithreading", new JsonValue(Settings.getBool("multithread"))));
|
||||||
ex(() -> value.addChild("trace", new JsonValue(parseException(e))));
|
ex(() -> value.addChild("trace", new JsonValue(parseException(e))));
|
||||||
|
|
||||||
Log.info("Sending crash report.");
|
Log.info("Sending crash report.");
|
||||||
//post to crash report URL
|
//post to crash report URL
|
||||||
Net.http(Vars.crashReportURL, "POST", value.toJson(OutputType.json), r -> System.exit(1), t -> System.exit(1));
|
Net.http(Vars.crashReportURL, "POST", value.toJson(OutputType.json), r -> {
|
||||||
|
Log.info("Crash sent successfully.");
|
||||||
|
System.exit(1);
|
||||||
|
}, t -> {
|
||||||
|
t.printStackTrace();
|
||||||
|
System.exit(1);
|
||||||
|
});
|
||||||
|
|
||||||
//sleep forever
|
//sleep forever
|
||||||
try{ Thread.sleep(Long.MAX_VALUE); }catch(InterruptedException ignored){}
|
try{ Thread.sleep(Long.MAX_VALUE); }catch(InterruptedException ignored){}
|
||||||
|
|||||||
Reference in New Issue
Block a user