Skip to content

Commit

Permalink
- Merge latest upstream
Browse files Browse the repository at this point in the history
- Fix client keybinds name
- Research queue now supports multiple planets
- Research queue persists through restarts
- Research queue should show modded content correctly now
  • Loading branch information
buthed010203 committed Oct 31, 2024
2 parents 1ddb950 + 1558783 commit 028f96b
Show file tree
Hide file tree
Showing 98 changed files with 1,421 additions and 746 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,6 @@ public void process(RoundEnvironment env) throws Exception{

//get all methods from components
for(Smethod elem : comp.methods()){
if (comp.name().equals("PlayerComp") && elem.toString().equals("unit()")) Log.info(elem.annotations());
methods.get(elem.toString(), Seq::new).add(elem);
}
}
Expand Down Expand Up @@ -417,17 +416,17 @@ public void process(RoundEnvironment env) throws Exception{

//add all methods from components
for(ObjectMap.Entry<String, Seq<Smethod>> entry : methods){
Smethod replacement = null;
Smethod base = null;
for(Smethod method : entry.value){
if(method.has(Replace.class)){
if(replacement == null) replacement = method;
if(base == null) base = method;
else{ //multiple replacements for one method
err("Type " + type + " has multiple components replacing method " + entry.key + ".");
break;
}
}
}
if(replacement != null) entry.value.clear().add(replacement);
if(base != null) entry.value.clear().add(base);

//check multi return
if(entry.value.count(m -> !m.isAny(Modifier.NATIVE, Modifier.ABSTRACT) && !m.isVoid()) > 1){
Expand All @@ -448,7 +447,7 @@ public void process(RoundEnvironment env) throws Exception{
MethodSpec.Builder mbuilder = MethodSpec.methodBuilder(first.name()).addModifiers(first.is(Modifier.PRIVATE) ? Modifier.PRIVATE : Modifier.PUBLIC);
//if(isFinal || entry.value.contains(s -> s.has(Final.class))) mbuilder.addModifiers(Modifier.FINAL);
if(entry.value.contains(s -> s.has(CallSuper.class))) mbuilder.addAnnotation(CallSuper.class); //add callSuper here if necessary
if(first.has(Nullable.class)) mbuilder.addAnnotation(Nullable.class); //add Nullable here if necessary
if(first.has(Nullable.class)) mbuilder.addAnnotation(Nullable.class);
if(first.is(Modifier.STATIC)) mbuilder.addModifiers(Modifier.STATIC);
mbuilder.addTypeVariables(first.typeVariables().map(TypeVariableName::get));
mbuilder.returns(first.retn());
Expand Down Expand Up @@ -779,6 +778,7 @@ public void process(RoundEnvironment env) throws Exception{

//implement each definition
for(EntityDefinition def : definitions){

ObjectSet<String> methodNames = def.components.flatMap(type -> type.methods().map(Smethod::simpleString)).<String>as().asSet();

//add base class extension if it exists
Expand Down
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ buildscript{
}

dependencies{
classpath "com.mobidevelop.robovm:robovm-gradle-plugin:2.3.16"
classpath arcModule(":extensions:packer")
classpath arcModule(":arc-core")
}
Expand All @@ -46,7 +45,7 @@ allprojects{
if(!project.hasProperty("assetUrl")) assetUrl = 'mindustry-antigrief/mindustry-client'
if(!project.hasProperty("assetRef")) assetRef = 'v8'
if(!project.hasProperty("versionModifier")) versionModifier = 'bleeding-edge'
if(!project.hasProperty("buildversion")) buildversion = '25370'
if(!project.hasProperty("buildversion")) buildversion = '25411'
if(!project.hasProperty("clientVersion")) clientVersion = 'v1.0.0, Jan. 1, 1970'
if(!project.hasProperty("versionType")) versionType = 'official'
appName = 'Mindustry'
Expand Down Expand Up @@ -149,6 +148,7 @@ allprojects{
props.put("number", versionNumber)
props.put("modifier", versionModifier)
props.put("build", buildid)
props.put("commitHash", project.hasProperty("showCommitHash") ? 'git rev-parse --verify --short HEAD'.execute().text.trim() : "unknown")

PropertiesUtils.store(props, pfile.newWriter(), "Autogenerated file. Do not modify.")
}
Expand Down
13 changes: 11 additions & 2 deletions core/assets/bundles/bundle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# General client stuff with no category (clean this up probably)
# FINISHME: Finish making all of the categories and individual items alphabetical
client.name = Foo's Client
category.client.name = Foo's Client
client.features = Features and Documentation
client.changelog = Client Changelog
client.mute = Toggles mute for this player
Expand Down Expand Up @@ -884,8 +885,8 @@ reconnecting = [accent]Reconnecting...
reconnect = Reconnect
connecting.data = [accent]Loading world data...
server.port = Port:
server.addressinuse = Address already in use!
server.invalidport = Invalid port number!
server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network!
server.error = [scarlet]Error hosting server.
save.new = New Save
save.overwrite = Are you sure you want to overwrite\nthis save slot?
Expand Down Expand Up @@ -1256,7 +1257,6 @@ requirement.capture = Capture {0}
requirement.onplanet = Control Sector On {0}
requirement.onsector = Land On Sector: {0}
launch.text = Launch
research.multiplayer = Only the host can research items.
map.multiplayer = Only the host can view sectors.
uncover = Uncover
configure = Configure Loadout
Expand Down Expand Up @@ -1331,6 +1331,7 @@ error.mapnotfound = Map file not found!
error.io = Network I/O error.
error.any = Unknown network error.
error.bloom = Failed to initialize bloom.\nYour device may not support it.
error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround for this issue.

weather.rain.name = Rain
weather.snowing.name = Snow
Expand Down Expand Up @@ -1422,6 +1423,8 @@ sector.atolls.name = Atolls
sector.testingGrounds.name = Testing Grounds
sector.seaPort.name = Sea Port
sector.weatheredChannels.name = Weathered Channels
sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier

sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
sector.frozenForest.description = Even here, closer to mountains, the spores have spread. The frigid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
Expand All @@ -1445,11 +1448,13 @@ sector.navalFortress.description = The enemy has established a base on a remote,
sector.facility32m.description = WIP, map submission by Stormride_R
sector.taintedWoods.description = WIP, map submission by Stormride_R
sector.atolls.description = WIP, map submission by Stormride_R
sector.frontier.description = WIP, map submission by Stormride_R
sector.infestedCanyons.description = WIP, map submission by Skeledragon
sector.polarAerodrome.description = WIP, map submission by hhh i 17
sector.testingGrounds.description = WIP, map submission by dnx2019
sector.seaPort.description = WIP, map submission by inkognito626
sector.weatheredChannels.description = WIP, map submission by Skeledragon
sector.mycelialBastion.description = WIP, map submission by Skeledragon

sector.onset.name = The Onset
sector.aegis.name = Aegis
Expand Down Expand Up @@ -2708,6 +2713,10 @@ block.phase-wall.description = Protects structures from enemy projectiles, refle
block.phase-wall-large.description = Protects structures from enemy projectiles, reflecting most bullets upon impact.
block.surge-wall.description = Protects structures from enemy projectiles, periodically releasing electric arcs upon contact.
block.surge-wall-large.description = Protects structures from enemy projectiles, periodically releasing electric arcs upon contact.
block.scrap-wall.description = Protects structures from enemy projectiles.
block.scrap-wall-large.description = Protects structures from enemy projectiles.
block.scrap-wall-huge.description = Protects structures from enemy projectiles.
block.scrap-wall-gigantic.description = Protects structures from enemy projectiles.
block.door.description = A wall that can be opened and closed.
block.door-large.description = A wall that can be opened and closed.
block.mender.description = Periodically repairs blocks in its vicinity.\nOptionally uses silicon to boost range and efficiency.
Expand Down
13 changes: 11 additions & 2 deletions core/assets/bundles/bundle_be.properties
Original file line number Diff line number Diff line change
Expand Up @@ -777,8 +777,8 @@ reconnecting = [accent]Перападключэнне...
reconnect = Reconnect
connecting.data = [accent]Загрузка дадзеных свету…
server.port = Порт:
server.addressinuse = Дадзены адрас ужо выкарыстоўваецца!
server.invalidport = Няправільны нумар порта!
server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network!
server.error = [барвовы]Памылка стварэння сервера.
save.new = Новае захаванне
save.overwrite = Вы ўпэўненыя, што жадаеце перазапісаць\nгэты слот для захавання?
Expand Down Expand Up @@ -1136,7 +1136,6 @@ requirement.capture = Захапіць {0}
requirement.onplanet = Кантраляваць Сектар На {0}
requirement.onsector = Прызямліцца На Сектар: {0}
launch.text = Запуск
research.multiplayer = Толькі хасты могуць даследаваць прадметы.
map.multiplayer = Толькі хасты могуць праглядаць сектары.
uncover = Раскрыць
configure = Канфігурацыя выгрузкі
Expand Down Expand Up @@ -1204,6 +1203,8 @@ error.mapnotfound = Файл карты не знойдзены!
error.io = Сеткавая памылка ўводу-высновы.
error.any = Невядомая сеткавая памылка.
error.bloom = Не атрымалася ініцыялізаваць свячэнне (Bloom). \nМагчыма, зараз Вашая прылада не падтрымлівае яго.
error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue.
weather.rain.name = Дождж
weather.snowing.name = Снег
weather.sandstorm.name = Пясчаная бура
Expand Down Expand Up @@ -1286,6 +1287,8 @@ sector.atolls.name = Atolls
sector.testingGrounds.name = Testing Grounds
sector.seaPort.name = Sea Port
sector.weatheredChannels.name = Weathered Channels
sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier

sector.groundZero.description = Аптымальнае месца каб пачаць. Нізкая варожая пагроза. Мала рэсурсаў.\nВазімце як мага болей свінца і медзі.\nІ рухайцеся далей.
sector.frozenForest.description = Нават тут, бліжэй да гор, распаўсюдзіліся споры. Ледзяныя тэмпературы не могуць утрымліваць іх заўсёды.\n\nПачніце выкарыстоўваць энергію. Пабудуйце генератары на цвёрдым паліве. Даведайцеся як выкарыстоуваць рэгенератары.
Expand All @@ -1308,11 +1311,13 @@ sector.navalFortress.description = The enemy has established a base on a remote,
sector.facility32m.description = WIP, map submission by Stormride_R
sector.taintedWoods.description = WIP, map submission by Stormride_R
sector.atolls.description = WIP, map submission by Stormride_R
sector.frontier.description = WIP, map submission by Stormride_R
sector.infestedCanyons.description = WIP, map submission by Skeledragon
sector.polarAerodrome.description = WIP, map submission by hhh i 17
sector.testingGrounds.description = WIP, map submission by dnx2019
sector.seaPort.description = WIP, map submission by inkognito626
sector.weatheredChannels.description = WIP, map submission by Skeledragon
sector.mycelialBastion.description = WIP, map submission by Skeledragon
sector.onset.name = Пачатак
sector.aegis.name = Ахова
sector.lake.name = Рака
Expand Down Expand Up @@ -2528,6 +2533,10 @@ block.phase-wall.description = Сцяна, пакрытая спецыяльны
block.phase-wall-large.description = Сцяна, пакрытая спецыяльным фазавым адлюстроўваюць складам. Адлюстроўвае большасць куль пры ўдары. \nРазмяшчаецца на некалькіх плітках.
block.surge-wall.description = Вельмі трывалы ахоўны блок. \nНакаплвае зарад пры кантакце з куляй, выпускаючы яго выпадковым чынам.
block.surge-wall-large.description = Вельмі трывалы ахоўны блок. \nНакаплвает зарад пры кантакце з куляй, выпускаючы яго выпадковым чынам. \nРазмяшчаецца на некалькіх плітках.
block.scrap-wall.description = Protects structures from enemy projectiles.
block.scrap-wall-large.description = Protects structures from enemy projectiles.
block.scrap-wall-huge.description = Protects structures from enemy projectiles.
block.scrap-wall-gigantic.description = Protects structures from enemy projectiles.
block.door.description = Маленькая дзверы. Можна адкрыць або зачыніць націскам.
block.door-large.description = Вялікая дзверы. Можна адкрыць і закрыць націскам. \nРазмяшчаецца на некалькіх плітках.
block.mender.description = Перыядычна рамантуе блокі ў непасрэднай блізкасці. Захоўвае сродкі абароны ў цэласнасці паміж хвалямі. \nОпцонально выкарыстоўвае крэмній для павелічэння далёкасці і эфектыўнасці.
Expand Down
13 changes: 11 additions & 2 deletions core/assets/bundles/bundle_bg.properties
Original file line number Diff line number Diff line change
Expand Up @@ -777,8 +777,8 @@ reconnecting = [accent]Повторно свързване...
reconnect = Reconnect
connecting.data = [accent]Зареждане на информация за света...
server.port = Порт:
server.addressinuse = Адресът вече се използва!
server.invalidport = Невалиден порт!
server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network!
server.error = [scarlet]Грешка при стартиране на сървър.
save.new = Нов Запис
save.overwrite = Сигурни ли сте, че искате\nда презапишете тази позиция за запиз?
Expand Down Expand Up @@ -1137,7 +1137,6 @@ requirement.capture = Превземете {0}
requirement.onplanet = Control Sector On {0}
requirement.onsector = Land On Sector: {0}
launch.text = Изстреляй
research.multiplayer = Само хостващият играч може да провежда изследвания.
map.multiplayer = Само хостващият играч може да преглежда секторите.
uncover = Разкрий
configure = Избор на екипировка
Expand Down Expand Up @@ -1205,6 +1204,8 @@ error.mapnotfound = Не е намерен файл с карта!
error.io = Мрежова I/O грешка.
error.any = Неизвестна мрежова грешка.
error.bloom = Неуспешно инициализиране на Сияния.\nВашето устройство може да не поддържа този ефект.
error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue.
weather.rain.name = Дъжд
weather.snowing.name = Сняг
weather.sandstorm.name = Пясъчна буря
Expand Down Expand Up @@ -1287,6 +1288,8 @@ sector.atolls.name = Atolls
sector.testingGrounds.name = Testing Grounds
sector.seaPort.name = Sea Port
sector.weatheredChannels.name = Weathered Channels
sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier

sector.groundZero.description = Перфектното място за започване отначало. Ниска заплаха. Ниски ресурси.\nСъбери колкото можеш мед и олово.\nПродължи напред.
sector.frozenForest.description = Дори тук, близо до планините, спорите са се разпространили. Мразовитите температури не могат да ги задържат вечно.\n\nОвладейте електричеството. Постройте горивни генератори. Научете се да ползвате възстрановители.
Expand All @@ -1309,11 +1312,13 @@ sector.navalFortress.description = The enemy has established a base on a remote,
sector.facility32m.description = WIP, map submission by Stormride_R
sector.taintedWoods.description = WIP, map submission by Stormride_R
sector.atolls.description = WIP, map submission by Stormride_R
sector.frontier.description = WIP, map submission by Stormride_R
sector.infestedCanyons.description = WIP, map submission by Skeledragon
sector.polarAerodrome.description = WIP, map submission by hhh i 17
sector.testingGrounds.description = WIP, map submission by dnx2019
sector.seaPort.description = WIP, map submission by inkognito626
sector.weatheredChannels.description = WIP, map submission by Skeledragon
sector.mycelialBastion.description = WIP, map submission by Skeledragon
sector.onset.name = The Onset
sector.aegis.name = Aegis
sector.lake.name = Lake
Expand Down Expand Up @@ -2529,6 +2534,10 @@ block.phase-wall.description = Защитава структури от враж
block.phase-wall-large.description = Защитава структури от вражески огън, отразявайки повечето куршуми при удар.
block.surge-wall.description = Защитава структури от вражески огън, периодично освобождавайки волтови дъги при контакт.
block.surge-wall-large.description = Защитава структури от вражески огън, периодично освобождавайки волтови дъги при контакт.
block.scrap-wall.description = Protects structures from enemy projectiles.
block.scrap-wall-large.description = Protects structures from enemy projectiles.
block.scrap-wall-huge.description = Protects structures from enemy projectiles.
block.scrap-wall-gigantic.description = Protects structures from enemy projectiles.
block.door.description = Стена, която може да бъде отворена и затворена.
block.door-large.description = Стена, която може да бъде отворена и затворена.
block.mender.description = Периодично поправя близки блокове.\nОпционално използва силикон за да увеличи обхвата и ефективността си.
Expand Down
Loading

0 comments on commit 028f96b

Please sign in to comment.