Merge branch 'master' into do-you-hear-the-voices-too

This commit is contained in:
Anuken
2024-07-07 11:31:09 -04:00
committed by GitHub
52 changed files with 122 additions and 33 deletions

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android">
package="io.anuke.mindustry">
<uses-feature android:glEsVersion="0x00020000" android:required="true"/> <uses-feature android:glEsVersion="0x00020000" android:required="true"/>
<uses-feature android:name="android.hardware.type.pc" android:required="false" /> <uses-feature android:name="android.hardware.type.pc" android:required="false" />

View File

@@ -7,7 +7,7 @@ buildscript{
} }
dependencies{ dependencies{
classpath 'com.android.tools.build:gradle:7.2.1' classpath 'com.android.tools.build:gradle:8.5.0'
} }
} }
@@ -29,8 +29,9 @@ task deploy(type: Copy){
} }
android{ android{
buildToolsVersion '33.0.2' namespace = "io.anuke.mindustry"
compileSdkVersion 33 buildToolsVersion = '34.0.0'
compileSdk = 34
sourceSets{ sourceSets{
main{ main{
manifest.srcFile 'AndroidManifest.xml' manifest.srcFile 'AndroidManifest.xml'
@@ -56,7 +57,7 @@ android{
applicationId "io.anuke.mindustry" applicationId "io.anuke.mindustry"
minSdkVersion 14 minSdkVersion 14
targetSdkVersion 33 targetSdkVersion 34
versionName versionNameResult versionName versionNameResult
versionCode = vcode versionCode = vcode
@@ -65,6 +66,8 @@ android{
props['androidBuildCode'] = (vcode + 1).toString() props['androidBuildCode'] = (vcode + 1).toString()
} }
props.store(file('../core/assets/version.properties').newWriter(), null) props.store(file('../core/assets/version.properties').newWriter(), null)
multiDexEnabled true
} }
compileOptions{ compileOptions{
@@ -72,7 +75,7 @@ android{
targetCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8
} }
flavorDimensions "google" flavorDimensions = ["google"]
signingConfigs{ signingConfigs{
release{ release{

View File

@@ -1,11 +1,12 @@
-dontobfuscate -dontobfuscate
#these are essential packages that should not be "optimized" in any way
#the main purpose of d8 here is to shrink the absurdly-large google play games libraries
-keep class mindustry.** { *; } -keep class mindustry.** { *; }
-keep class arc.** { *; } -keep class arc.** { *; }
-keep class net.jpountz.** { *; } -keep class net.jpountz.** { *; }
-keep class rhino.** { *; } -keep class rhino.** { *; }
-keep class com.android.dex.** { *; } -keep class com.android.dex.** { *; }
-keepattributes Signature,*Annotation*,InnerClasses,EnclosingMethod
-dontwarn javax.naming.**
#-printusage out.txt #-printusage out.txt

View File

@@ -72,6 +72,8 @@ public class AndroidLauncher extends AndroidApplication{
@Override @Override
public ClassLoader loadJar(Fi jar, ClassLoader parent) throws Exception{ public ClassLoader loadJar(Fi jar, ClassLoader parent) throws Exception{
//Required to load jar files in Android 14: https://developer.android.com/about/versions/14/behavior-changes-14#safer-dynamic-code-loading
jar.file().setReadOnly();
return new DexClassLoader(jar.file().getPath(), getFilesDir().getPath(), null, parent){ return new DexClassLoader(jar.file().getPath(), getFilesDir().getPath(), null, parent){
@Override @Override
protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException{ protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException{

View File

@@ -2439,6 +2439,7 @@ lenum.shootp = Shoot at a unit/building with velocity prediction.
lenum.config = Building configuration, e.g. sorter item. lenum.config = Building configuration, e.g. sorter item.
lenum.enabled = Whether the block is enabled. lenum.enabled = Whether the block is enabled.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Illuminator color. laccess.color = Illuminator color.
laccess.controller = Unit controller. If processor controlled, returns processor.\nOtherwise, returns the unit itself. laccess.controller = Unit controller. If processor controlled, returns processor.\nOtherwise, returns the unit itself.
laccess.dead = Whether a unit/building is dead or no longer valid. laccess.dead = Whether a unit/building is dead or no longer valid.

View File

@@ -2374,6 +2374,7 @@ lenum.shoot = Shoot at a position.
lenum.shootp = Shoot at a unit/building with velocity prediction. lenum.shootp = Shoot at a unit/building with velocity prediction.
lenum.config = Building configuration, e.g. sorter item. lenum.config = Building configuration, e.g. sorter item.
lenum.enabled = Whether the block is enabled. lenum.enabled = Whether the block is enabled.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Illuminator color. laccess.color = Illuminator color.
laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself.
laccess.dead = Whether a unit/building is dead or no longer valid. laccess.dead = Whether a unit/building is dead or no longer valid.

View File

@@ -2390,6 +2390,7 @@ lenum.shoot = Стреля към позиция.
lenum.shootp = Прицелва се в единица/сграда, изчислявайки нейната скорост. lenum.shootp = Прицелва се в единица/сграда, изчислявайки нейната скорост.
lenum.config = Building configuration, e.g. sorter item. lenum.config = Building configuration, e.g. sorter item.
lenum.enabled = Дали блокът е активиран или забранен. lenum.enabled = Дали блокът е активиран или забранен.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Цвят на осветителя. laccess.color = Цвят на осветителя.
laccess.controller = Връща кой контролира единицата.\nАко е управляване от процесор, връща процесора.\nАко е във формация, връща лидера.\nИначе, връща самата единица. laccess.controller = Връща кой контролира единицата.\nАко е управляване от процесор, връща процесора.\nАко е във формация, връща лидера.\nИначе, връща самата единица.

View File

@@ -1319,10 +1319,10 @@ rules.disableworldprocessors = Desactiva els processadors integrats
rules.schematic = Permetre lús desquemes rules.schematic = Permetre lús desquemes
rules.wavetimer = Temporitzador donades rules.wavetimer = Temporitzador donades
rules.wavesending = Enviament donades rules.wavesending = Enviament donades
rules.allowedit = Allow Editing Rules rules.allowedit = Permet editar les regles
rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. rules.allowedit.info = Quan està activat, el jugador pot editar les regles de la partida amb el botó que hi ha a la part inferior esquerra del menú de pausa.
rules.waves = Onades rules.waves = Onades
rules.airUseSpawns = Air units use spawn points rules.airUseSpawns = Les unitats aèries fan servir els punts daparició
rules.attack = Mode datac rules.attack = Mode datac
rules.buildai = IA constructora de bases rules.buildai = IA constructora de bases
rules.buildaitier = Nivell de construcció de la IA rules.buildaitier = Nivell de construcció de la IA
@@ -2400,6 +2400,7 @@ lenum.shoot = Dispara a una posició.
lenum.shootp = Dispara a una unitat/bloc tenint en compte la seva velocitat a lhora dapuntar. lenum.shootp = Dispara a una unitat/bloc tenint en compte la seva velocitat a lhora dapuntar.
lenum.config = Configuració de lestructura, com ara el classificador. lenum.config = Configuració de lestructura, com ara el classificador.
lenum.enabled = Retorna si el bloc està activat. lenum.enabled = Retorna si el bloc està activat.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Color de lil·luminador. laccess.color = Color de lil·luminador.
laccess.controller = Controlador de la unitat. Si es controla per processador, retorna el processador.\nAltrament, retorna la mateixa unitat. laccess.controller = Controlador de la unitat. Si es controla per processador, retorna el processador.\nAltrament, retorna la mateixa unitat.
@@ -2540,7 +2541,7 @@ lenum.payenter = Entra o apareix al bloc on es troba la unitat.
lenum.flag = Identificador numèric de la unitat. lenum.flag = Identificador numèric de la unitat.
lenum.mine = Extreu recursos en una posició. lenum.mine = Extreu recursos en una posició.
lenum.build = Construeix una estructura. lenum.build = Construeix una estructura.
lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. lenum.getblock = Obté el bloc, el seu tipus i el terra a les coordenades indicades.\nLa posició escollida ha destar a labast de la unitat; altrament es retornarà un valor buit.
lenum.within = Comprova si la unitat està a prop duna posició. lenum.within = Comprova si la unitat està a prop duna posició.
lenum.boost = Inicia/Detén el vol. lenum.boost = Inicia/Detén el vol.
lenum.flushtext = Passa el contingut de la cua dimpressió al marcador, si es pot.\nSi sestableix «fetch» a vertader, sintentarà carregar les propietats de la traducció del mapa o del joc. lenum.flushtext = Passa el contingut de la cua dimpressió al marcador, si es pot.\nSi sestableix «fetch» a vertader, sintentarà carregar les propietats de la traducció del mapa o del joc.

View File

@@ -2395,6 +2395,7 @@ lenum.shoot = Vystřelí na určitou pozici.
lenum.shootp = Vystřelí na jednotku/budovu s rychlostní předpovědí. lenum.shootp = Vystřelí na jednotku/budovu s rychlostní předpovědí.
lenum.config = Konfigurace budovy, např. třídící věc pro třídičku. lenum.config = Konfigurace budovy, např. třídící věc pro třídičku.
lenum.enabled = Zda je blok povolen. lenum.enabled = Zda je blok povolen.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Barva osvětlovače. laccess.color = Barva osvětlovače.
laccess.controller = Kontroler jednotky. Pokud procesor je kontrolován, vrátí procesor\nPokud je ve formaci, vrací vůdce.\nJinak vrací jednotku. laccess.controller = Kontroler jednotky. Pokud procesor je kontrolován, vrátí procesor\nPokud je ve formaci, vrací vůdce.\nJinak vrací jednotku.

View File

@@ -2374,6 +2374,7 @@ lenum.shoot = Shoot at a position.
lenum.shootp = Shoot at a unit/building with velocity prediction. lenum.shootp = Shoot at a unit/building with velocity prediction.
lenum.config = Building configuration, e.g. sorter item. lenum.config = Building configuration, e.g. sorter item.
lenum.enabled = Whether the block is enabled. lenum.enabled = Whether the block is enabled.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Illuminator color. laccess.color = Illuminator color.
laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself.
laccess.dead = Whether a unit/building is dead or no longer valid. laccess.dead = Whether a unit/building is dead or no longer valid.

View File

@@ -2425,6 +2425,7 @@ lenum.shoot = Schießt auf eine Position.
lenum.shootp = Schießt auf eine Einheit / einen Block und sagt deren Position voraus. lenum.shootp = Schießt auf eine Einheit / einen Block und sagt deren Position voraus.
lenum.config = Blockkonfiguration, z.B. das ausgewählte Item in einem Sortierer. lenum.config = Blockkonfiguration, z.B. das ausgewählte Item in einem Sortierer.
lenum.enabled = Ob der Block an oder aus ist. lenum.enabled = Ob der Block an oder aus ist.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Illuminiererfarbe. laccess.color = Illuminiererfarbe.
laccess.controller = Einheitensteurer. Gibt "processor" zurück, wenn die Einheit prozessorgesteuert ist,.\nGibt den Steuerer zurück, wenn die Einheit Teil einer Formation ist.\nSonst wird einfach die Einheit zurückgegeben. laccess.controller = Einheitensteurer. Gibt "processor" zurück, wenn die Einheit prozessorgesteuert ist,.\nGibt den Steuerer zurück, wenn die Einheit Teil einer Formation ist.\nSonst wird einfach die Einheit zurückgegeben.

View File

@@ -2418,6 +2418,7 @@ lenum.shoot = Dispara a una posición.
lenum.shootp = Dispara a una unidad/estructura con predicción de velocidad. lenum.shootp = Dispara a una unidad/estructura con predicción de velocidad.
lenum.config = Configuración de estructura, por ejemplo: el objeto seleccionado en un clasificador. lenum.config = Configuración de estructura, por ejemplo: el objeto seleccionado en un clasificador.
lenum.enabled = Si el bloque está activado. lenum.enabled = Si el bloque está activado.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Color del iluminador. laccess.color = Color del iluminador.
laccess.controller = Controlador de unidad. Si se controla mediante un procesador, devuelve dicho procesador.\nSi está en formación, devuelve su líder.\nDe otra forma, devuelve la misma unidad. laccess.controller = Controlador de unidad. Si se controla mediante un procesador, devuelve dicho procesador.\nSi está en formación, devuelve su líder.\nDe otra forma, devuelve la misma unidad.

View File

@@ -2376,6 +2376,7 @@ lenum.shoot = Shoot at a position.
lenum.shootp = Shoot at a unit/building with velocity prediction. lenum.shootp = Shoot at a unit/building with velocity prediction.
lenum.config = Building configuration, e.g. sorter item. lenum.config = Building configuration, e.g. sorter item.
lenum.enabled = Whether the block is enabled. lenum.enabled = Whether the block is enabled.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Illuminator color. laccess.color = Illuminator color.
laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself.
laccess.dead = Whether a unit/building is dead or no longer valid. laccess.dead = Whether a unit/building is dead or no longer valid.

View File

@@ -2378,6 +2378,7 @@ lenum.shoot = Shoot at a position.
lenum.shootp = Shoot at a unit/building with velocity prediction. lenum.shootp = Shoot at a unit/building with velocity prediction.
lenum.config = Building configuration, e.g. sorter item. lenum.config = Building configuration, e.g. sorter item.
lenum.enabled = Whether the block is enabled. lenum.enabled = Whether the block is enabled.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Illuminator color. laccess.color = Illuminator color.
laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself.
laccess.dead = Whether a unit/building is dead or no longer valid. laccess.dead = Whether a unit/building is dead or no longer valid.

View File

@@ -2379,6 +2379,7 @@ lenum.shoot = Ammu tiettyä sijaintia.
lenum.shootp = Ammu yksikköä/rakennusta nopeudenennustus päällä. lenum.shootp = Ammu yksikköä/rakennusta nopeudenennustus päällä.
lenum.config = Rakennuksen säätö, esim. lajittelijan valinta. lenum.config = Rakennuksen säätö, esim. lajittelijan valinta.
lenum.enabled = Selvitä, onko palikka päällä. lenum.enabled = Selvitä, onko palikka päällä.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Lampun väri. laccess.color = Lampun väri.
laccess.controller = Yksikön hallitsija. Jos yksikköä hallitsee prosessori, palauttaa prosessorin.\nJos yksikkö on muodostelmassa, palauttaa johtajan.\nPalauttaa muulloin itse yksikön. laccess.controller = Yksikön hallitsija. Jos yksikköä hallitsee prosessori, palauttaa prosessorin.\nJos yksikkö on muodostelmassa, palauttaa johtajan.\nPalauttaa muulloin itse yksikön.
laccess.dead = Selvitä, onko yksikkö/rakennus tuhoutunut tai ei enää kelvollinen. laccess.dead = Selvitä, onko yksikkö/rakennus tuhoutunut tai ei enää kelvollinen.

View File

@@ -2375,6 +2375,7 @@ lenum.shoot = Shoot at a position.
lenum.shootp = Shoot at a unit/building with velocity prediction. lenum.shootp = Shoot at a unit/building with velocity prediction.
lenum.config = Building configuration, e.g. sorter item. lenum.config = Building configuration, e.g. sorter item.
lenum.enabled = Whether the block is enabled. lenum.enabled = Whether the block is enabled.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Illuminator color. laccess.color = Illuminator color.
laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself.
laccess.dead = Whether a unit/building is dead or no longer valid. laccess.dead = Whether a unit/building is dead or no longer valid.

View File

@@ -2425,6 +2425,7 @@ lenum.shoot = Tire à une position donnée.
lenum.shootp = Tire à une unité/bâtiment avec la prédiction de mouvement. lenum.shootp = Tire à une unité/bâtiment avec la prédiction de mouvement.
lenum.config = La configuration d'un bâtiment. Par exemple, l'objet sélectionné dans un trieur. lenum.config = La configuration d'un bâtiment. Par exemple, l'objet sélectionné dans un trieur.
lenum.enabled = Retourne si le bloc est activé ou pas. lenum.enabled = Retourne si le bloc est activé ou pas.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = La couleur d'un illuminateur. laccess.color = La couleur d'un illuminateur.
laccess.controller = Le contrôleur de l'Unité.\nSi l'Unité est contrôlée par un processeur, cela retournera le processeur en question.\nSi l'Unité est en formation, cela retournera le leader de la formation.\nSinon, renvoie lunité elle-même. laccess.controller = Le contrôleur de l'Unité.\nSi l'Unité est contrôlée par un processeur, cela retournera le processeur en question.\nSi l'Unité est en formation, cela retournera le leader de la formation.\nSinon, renvoie lunité elle-même.

View File

@@ -1337,8 +1337,8 @@ rules.disableworldprocessors = Világprocesszorok letiltása
rules.schematic = Vázlatok engedélyezése rules.schematic = Vázlatok engedélyezése
rules.wavetimer = Hullámok időzítése rules.wavetimer = Hullámok időzítése
rules.wavesending = Hullámok küldése rules.wavesending = Hullámok küldése
rules.allowedit = Allow Editing Rules rules.allowedit = Szabályok szerkesztésének engedélyezése
rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. rules.allowedit.info = Ha engedélyezve van, a játékos szerkesztheti a szabályokat a játékban a Szünet menü bal alsó sarkában található gomb segítségével.
rules.waves = Hullámok rules.waves = Hullámok
rules.airUseSpawns = A légi egységek használjanak kezdőpontokat rules.airUseSpawns = A légi egységek használjanak kezdőpontokat
rules.attack = Támadási mód rules.attack = Támadási mód
@@ -2437,6 +2437,7 @@ lenum.shoot = Lövés egy adott pontra.
lenum.shootp = Lövés egy egységre/épületre sebesség-előrejelzéssel. lenum.shootp = Lövés egy egységre/épületre sebesség-előrejelzéssel.
lenum.config = Épületkonfiguráció, például nyersanyag-válogató. lenum.config = Épületkonfiguráció, például nyersanyag-válogató.
lenum.enabled = Engedélyezve van-e a blokk. lenum.enabled = Engedélyezve van-e a blokk.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Megvilágítás színe. laccess.color = Megvilágítás színe.
laccess.controller = Egységvezérlő. Ha processzor vezérli, akkor a processzort adja vissza.\nKülönben magát az egységet adja vissza. laccess.controller = Egységvezérlő. Ha processzor vezérli, akkor a processzort adja vissza.\nKülönben magát az egységet adja vissza.

View File

@@ -2416,6 +2416,7 @@ 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 = Pengaturan bangunan, misalnya menyortir barang. lenum.config = Pengaturan bangunan, misalnya menyortir barang.
lenum.enabled = Menentukan aktif tidaknya suatu blok. lenum.enabled = Menentukan aktif tidaknya suatu blok.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Warna lampu. laccess.color = Warna lampu.
laccess.controller = Pengendali unit. Jika dikendalikan prosesor, mengembalikan prosesor.\nJika unit dalam barisan, mengembalikan leader.\nSebaliknya, mengembalikan unit itu sendiri. laccess.controller = Pengendali unit. Jika dikendalikan prosesor, mengembalikan prosesor.\nJika unit dalam barisan, mengembalikan leader.\nSebaliknya, mengembalikan unit itu sendiri.

View File

@@ -2388,6 +2388,7 @@ lenum.shoot = Shoot at a position.
lenum.shootp = Shoot at a unit/building with velocity prediction. lenum.shootp = Shoot at a unit/building with velocity prediction.
lenum.config = Building configuration, e.g. sorter item. lenum.config = Building configuration, e.g. sorter item.
lenum.enabled = Whether the block is enabled. lenum.enabled = Whether the block is enabled.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Illuminator color. laccess.color = Illuminator color.
laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself.
laccess.dead = Whether a unit/building is dead or no longer valid. laccess.dead = Whether a unit/building is dead or no longer valid.

View File

@@ -2392,6 +2392,7 @@ lenum.shoot = 指定した座標に向かって撃ちます。
lenum.shootp = 任意のユニットや建物を撃ちます。 lenum.shootp = 任意のユニットや建物を撃ちます。
lenum.config = 建物の設定を取得します。\n例:ソーターに設定されているアイテムなど lenum.config = 建物の設定を取得します。\n例:ソーターに設定されているアイテムなど
lenum.enabled = ブロックが有効かどうかを取得します。 lenum.enabled = ブロックが有効かどうかを取得します。
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = イルミネーターの色を取得します。 laccess.color = イルミネーターの色を取得します。
laccess.controller = ユニットを制御しているものを取得します。\nプロセッサ制御の場合、制御しているプロセッサを返します。\nほかのユニットに制御されている場合、制御しているユニットを返します。\nそれ以外の場合は、ユニット自身を返します。 laccess.controller = ユニットを制御しているものを取得します。\nプロセッサ制御の場合、制御しているプロセッサを返します。\nほかのユニットに制御されている場合、制御しているユニットを返します。\nそれ以外の場合は、ユニット自身を返します。
laccess.dead = ユニットや建物が機能しているかどうか、またはもう有効でないかどうか。 laccess.dead = ユニットや建物が機能しているかどうか、またはもう有効でないかどうか。

View File

@@ -2393,6 +2393,7 @@ lenum.shoot = 특정 위치에 발사
lenum.shootp = 목표물 속도를 예측하여 발사 lenum.shootp = 목표물 속도를 예측하여 발사
lenum.config = 필터의 아이템같은 건물의 설정 lenum.config = 필터의 아이템같은 건물의 설정
lenum.enabled = 블록의 활성 여부 lenum.enabled = 블록의 활성 여부
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = 조명 색상 laccess.color = 조명 색상
laccess.controller = 기체 제어자. 프로세서가 제어하면, 프로세서를 반환합니다.\n다른 기체에 의해 지휘되면(G키), 지휘하는 기체를 반환합니다.\n그 외에는 자신을 반환합니다. laccess.controller = 기체 제어자. 프로세서가 제어하면, 프로세서를 반환합니다.\n다른 기체에 의해 지휘되면(G키), 지휘하는 기체를 반환합니다.\n그 외에는 자신을 반환합니다.

View File

@@ -2376,6 +2376,7 @@ lenum.shoot = Shoot at a position.
lenum.shootp = Shoot at a unit/building with velocity prediction. lenum.shootp = Shoot at a unit/building with velocity prediction.
lenum.config = Building configuration, e.g. sorter item. lenum.config = Building configuration, e.g. sorter item.
lenum.enabled = Whether the block is enabled. lenum.enabled = Whether the block is enabled.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Illuminator color. laccess.color = Illuminator color.
laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself.
laccess.dead = Whether a unit/building is dead or no longer valid. laccess.dead = Whether a unit/building is dead or no longer valid.

View File

@@ -2389,6 +2389,7 @@ lenum.shoot = Shoot at a position.
lenum.shootp = Shoot at a unit/building with velocity prediction. lenum.shootp = Shoot at a unit/building with velocity prediction.
lenum.config = Building configuration, e.g. sorter item. lenum.config = Building configuration, e.g. sorter item.
lenum.enabled = Whether the block is enabled. lenum.enabled = Whether the block is enabled.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Illuminator color. laccess.color = Illuminator color.
laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself.
laccess.dead = Whether a unit/building is dead or no longer valid. laccess.dead = Whether a unit/building is dead or no longer valid.

View File

@@ -2376,6 +2376,7 @@ lenum.shoot = Shoot at a position.
lenum.shootp = Shoot at a unit/building with velocity prediction. lenum.shootp = Shoot at a unit/building with velocity prediction.
lenum.config = Building configuration, e.g. sorter item. lenum.config = Building configuration, e.g. sorter item.
lenum.enabled = Whether the block is enabled. lenum.enabled = Whether the block is enabled.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Illuminator color. laccess.color = Illuminator color.
laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself.
laccess.dead = Whether a unit/building is dead or no longer valid. laccess.dead = Whether a unit/building is dead or no longer valid.

View File

@@ -2412,6 +2412,7 @@ lenum.shoot = Strzel w określoną pozycje.
lenum.shootp = Strzel w jednostkę/budynek z zachowaniem trajektorii. lenum.shootp = Strzel w jednostkę/budynek z zachowaniem trajektorii.
lenum.config = Konfiguracja budynku, np. sortownika. lenum.config = Konfiguracja budynku, np. sortownika.
lenum.enabled = Sprawdza czy blok jest włączony. lenum.enabled = Sprawdza czy blok jest włączony.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Kolor iluminatora. laccess.color = Kolor iluminatora.
laccess.controller = Kontroler jednostki. Jeśli jest kontrolowana przez procesor, zwraca procesor.\nJeśli we formacji, zwraca przywódcę.\nW innym wypadku zwraca samą jednostkę. laccess.controller = Kontroler jednostki. Jeśli jest kontrolowana przez procesor, zwraca procesor.\nJeśli we formacji, zwraca przywódcę.\nW innym wypadku zwraca samą jednostkę.

View File

@@ -2411,6 +2411,7 @@ lenum.shoot = Atire em uma posição.
lenum.shootp = Atire em uma unidade/edifício com previsão de velocidade. lenum.shootp = Atire em uma unidade/edifício com previsão de velocidade.
lenum.config = Configuração do edifício, por ex. item classificador. lenum.config = Configuração do edifício, por ex. item classificador.
lenum.enabled = Se o bloco está ativado. lenum.enabled = Se o bloco está ativado.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Cor do iluminador. laccess.color = Cor do iluminador.
laccess.controller = Controlador de unidade. Se controlado pelo processador, retorna o processador.\nCaso contrário, retorna a própria unidade. laccess.controller = Controlador de unidade. Se controlado pelo processador, retorna o processador.\nCaso contrário, retorna a própria unidade.

View File

@@ -2376,6 +2376,7 @@ lenum.shoot = Shoot at a position.
lenum.shootp = Shoot at a unit/building with velocity prediction. lenum.shootp = Shoot at a unit/building with velocity prediction.
lenum.config = Building configuration, e.g. sorter item. lenum.config = Building configuration, e.g. sorter item.
lenum.enabled = Whether the block is enabled. lenum.enabled = Whether the block is enabled.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Illuminator color. laccess.color = Illuminator color.
laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself.
laccess.dead = Whether a unit/building is dead or no longer valid. laccess.dead = Whether a unit/building is dead or no longer valid.

View File

@@ -2395,6 +2395,7 @@ lenum.shoot = Lovește către o locație.
lenum.shootp = Lovește către o unitate/clădire. Anticipează viteza țintei și a proiectilului. lenum.shootp = Lovește către o unitate/clădire. Anticipează viteza țintei și a proiectilului.
lenum.config = Configurația clădirii, de ex. materialul selectat pt Sortator. lenum.config = Configurația clădirii, de ex. materialul selectat pt Sortator.
lenum.enabled = Specifică dacă clădirea este pornită. lenum.enabled = Specifică dacă clădirea este pornită.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Culoarea iluminatorului. laccess.color = Culoarea iluminatorului.
laccess.controller = Controlorul unității. Dacă e controlată de procesor, returnează procesorul.\nDacă e într-o formație, returnează liderul.\nAltfel, returnează unitatea însăși. laccess.controller = Controlorul unității. Dacă e controlată de procesor, returnează procesorul.\nDacă e într-o formație, returnează liderul.\nAltfel, returnează unitatea însăși.

View File

@@ -2397,6 +2397,7 @@ lenum.shoot = Стрельба в определённую позицию.
lenum.shootp = Стрельба в единицу/постройку с расчётом скорости. lenum.shootp = Стрельба в единицу/постройку с расчётом скорости.
lenum.config = Конфигурация постройки, например, предмет сортировки. lenum.config = Конфигурация постройки, например, предмет сортировки.
lenum.enabled = Включён ли блок. lenum.enabled = Включён ли блок.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Цвет осветителя. laccess.color = Цвет осветителя.
laccess.controller = Командующий единицей. Если единица управляется процессором, возвращает процессор. Если в строю, возвращает командующего.\nВ противном случае возвращает саму единицу. laccess.controller = Командующий единицей. Если единица управляется процессором, возвращает процессор. Если в строю, возвращает командующего.\nВ противном случае возвращает саму единицу.

View File

@@ -2398,6 +2398,7 @@ lenum.shoot = Ispaljuj na mestu.
lenum.shootp = Shoot at a unit/building with velocity prediction. lenum.shootp = Shoot at a unit/building with velocity prediction.
lenum.config = Konfiguracija građevine, npr. sortirani materijal. lenum.config = Konfiguracija građevine, npr. sortirani materijal.
lenum.enabled = Da li je ova građevina osposobljena. lenum.enabled = Da li je ova građevina osposobljena.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Boja iluminatora. laccess.color = Boja iluminatora.
laccess.controller = Upravljač jedinice. Ako upravljano putem procesora, šalji "processor".\nAko je upravljano u formaciji, šalji "lider".U ostalim slučajevima, šalji jedinicu za sebe. laccess.controller = Upravljač jedinice. Ako upravljano putem procesora, šalji "processor".\nAko je upravljano u formaciji, šalji "lider".U ostalim slučajevima, šalji jedinicu za sebe.

View File

@@ -2376,6 +2376,7 @@ lenum.shoot = Shoot at a position.
lenum.shootp = Shoot at a unit/building with velocity prediction. lenum.shootp = Shoot at a unit/building with velocity prediction.
lenum.config = Building configuration, e.g. sorter item. lenum.config = Building configuration, e.g. sorter item.
lenum.enabled = Whether the block is enabled. lenum.enabled = Whether the block is enabled.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Illuminator color. laccess.color = Illuminator color.
laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself.
laccess.dead = Whether a unit/building is dead or no longer valid. laccess.dead = Whether a unit/building is dead or no longer valid.

View File

@@ -2415,6 +2415,7 @@ lenum.shoot = ยิงไปที่ตำแหน่งเป้าหมา
lenum.shootp = ยิงเป้าหมายโดยมีการคำนวณการยิง lenum.shootp = ยิงเป้าหมายโดยมีการคำนวณการยิง
lenum.config = การกำหนดค่าของสิ่งก่อสร้าง เช่น ไอเท็มของเครื่องคัดแยก lenum.config = การกำหนดค่าของสิ่งก่อสร้าง เช่น ไอเท็มของเครื่องคัดแยก
lenum.enabled = ว่าบล็อกเปิดใช้งาน/ทำงานอยู่หรือเปล่า lenum.enabled = ว่าบล็อกเปิดใช้งาน/ทำงานอยู่หรือเปล่า
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = สีของตัวเปล่งแสง laccess.color = สีของตัวเปล่งแสง
laccess.controller = ผู้ควบคุมยูนิต ถ้าผู้ควบคุมคือตัวประมวลผล จะส่งกลับค่า processor\nนอกนั้น จะส่งกลับค่าตัวยูนิตเอง laccess.controller = ผู้ควบคุมยูนิต ถ้าผู้ควบคุมคือตัวประมวลผล จะส่งกลับค่า processor\nนอกนั้น จะส่งกลับค่าตัวยูนิตเอง

View File

@@ -2376,6 +2376,7 @@ lenum.shoot = Shoot at a position.
lenum.shootp = Shoot at a unit/building with velocity prediction. lenum.shootp = Shoot at a unit/building with velocity prediction.
lenum.config = Building configuration, e.g. sorter item. lenum.config = Building configuration, e.g. sorter item.
lenum.enabled = Whether the block is enabled. lenum.enabled = Whether the block is enabled.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Illuminator color. laccess.color = Illuminator color.
laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself.
laccess.dead = Whether a unit/building is dead or no longer valid. laccess.dead = Whether a unit/building is dead or no longer valid.

View File

@@ -2395,6 +2395,7 @@ lenum.shoot = Bir konuma ateş et.
lenum.shootp = Belli bir birim veya binaya ateş et. lenum.shootp = Belli bir birim veya binaya ateş et.
lenum.config = Bina yapılandırması, örnek: Ayıklayıcı Türü lenum.config = Bina yapılandırması, örnek: Ayıklayıcı Türü
lenum.enabled = Blok aktif mi? lenum.enabled = Blok aktif mi?
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Aydınlatıcı Rengi laccess.color = Aydınlatıcı Rengi
laccess.controller = Birim Kontrol edici. Eğer işlemci kontrol ediyorsa işlemci döner. \nFormasyon durumundaysa, lider döner.\nDiğer şekilde, birimi kendi döner. laccess.controller = Birim Kontrol edici. Eğer işlemci kontrol ediyorsa işlemci döner. \nFormasyon durumundaysa, lider döner.\nDiğer şekilde, birimi kendi döner.

View File

@@ -2422,6 +2422,7 @@ lenum.shoot = Стріляти в зазначену позицію.
lenum.shootp = Стріляти в одиницю чи будівлю із передбаченням швидкості. lenum.shootp = Стріляти в одиницю чи будівлю із передбаченням швидкості.
lenum.config = Конфігурація будівлі, як-от в сортувальника. lenum.config = Конфігурація будівлі, як-от в сортувальника.
lenum.enabled = Чи блок увімкнено. lenum.enabled = Чи блок увімкнено.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Колір освітлювача. laccess.color = Колір освітлювача.
laccess.controller = Керувач одиницями. Якщо процесор керує одиницею, повертає процесор.\nЯкщо у формуванні, повертається лідер.\nІнакше повертає саму одиницю. laccess.controller = Керувач одиницями. Якщо процесор керує одиницею, повертає процесор.\nЯкщо у формуванні, повертається лідер.\nІнакше повертає саму одиницю.

View File

@@ -1136,8 +1136,8 @@ category.items = Vật phẩm
category.crafting = Đầu vào/ra category.crafting = Đầu vào/ra
category.function = Chức năng category.function = Chức năng
category.optional = Cải tiến tùy chọn category.optional = Cải tiến tùy chọn
setting.alwaysmusic.name = Always Play Music setting.alwaysmusic.name = Luôn phát nhạc
setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. setting.alwaysmusic.description = Khi bật, âm nhạc sẽ luôn phát lặp lại khi chơi.\nKhi tắt, nó chỉ phát tại các khoảng thời gian ngẫu nhiên.
setting.skipcoreanimation.name = Bỏ qua hiệu ứng phóng/đáp lõi setting.skipcoreanimation.name = Bỏ qua hiệu ứng phóng/đáp lõi
setting.landscape.name = Khóa ngang setting.landscape.name = Khóa ngang
setting.shadows.name = Đổ bóng setting.shadows.name = Đổ bóng
@@ -1337,8 +1337,8 @@ rules.disableworldprocessors = Vô hiệu hoá bộ xử lý thế giới
rules.schematic = Cho phép dùng bản thiết kế rules.schematic = Cho phép dùng bản thiết kế
rules.wavetimer = Đếm ngược đợt rules.wavetimer = Đếm ngược đợt
rules.wavesending = Gửi đợt rules.wavesending = Gửi đợt
rules.allowedit = Allow Editing Rules rules.allowedit = Cho phép sửa quy tắc
rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. rules.allowedit.info = Khi được bật, người chơi có thể chỉnh sửa các quy tắc trong lúc chơi thông qua nút ở góc dưới bên trái của Trình đơn tạm dừng.
rules.waves = Đợt rules.waves = Đợt
rules.airUseSpawns = Các đơn vị không quân dùng điểm xuất hiện rules.airUseSpawns = Các đơn vị không quân dùng điểm xuất hiện
rules.attack = Chế độ tấn công rules.attack = Chế độ tấn công
@@ -1793,7 +1793,7 @@ block.red-stone-boulder.name = Tảng đá đỏ
block.graphitic-wall.name = Tường than chì block.graphitic-wall.name = Tường than chì
block.silicon-arc-furnace.name = Lò tinh luyện Silicon block.silicon-arc-furnace.name = Lò tinh luyện Silicon
block.electrolyzer.name = Máy điện phân block.electrolyzer.name = Máy điện phân
block.atmospheric-concentrator.name = Máy tập trung khí quyển block.atmospheric-concentrator.name = Máy ngưng tụ khí quyển
block.oxidation-chamber.name = Bể Oxy hoá block.oxidation-chamber.name = Bể Oxy hoá
block.electric-heater.name = Máy nhiệt từ điện block.electric-heater.name = Máy nhiệt từ điện
block.slag-heater.name = Máy nhiệt từ xỉ block.slag-heater.name = Máy nhiệt từ xỉ
@@ -1848,8 +1848,8 @@ block.vent-condenser.name = Máy ngưng tụ hơi nước
block.cliff-crusher.name = Máy nghiền vách đá block.cliff-crusher.name = Máy nghiền vách đá
block.plasma-bore.name = Khoan plasma block.plasma-bore.name = Khoan plasma
block.large-plasma-bore.name = Khoan plasma lớn block.large-plasma-bore.name = Khoan plasma lớn
block.impact-drill.name = Máy khoan thủy lực block.impact-drill.name = Máy khoan động lực
block.eruption-drill.name = Máy khoan siêu thủy lực block.eruption-drill.name = Máy khoan siêu động lực
block.core-bastion.name = Lõi: Pháo đài block.core-bastion.name = Lõi: Pháo đài
block.core-citadel.name = Lõi: Thủ phủ block.core-citadel.name = Lõi: Thủ phủ
block.core-acropolis.name = Lõi: Đại đô block.core-acropolis.name = Lõi: Đại đô
@@ -2180,7 +2180,7 @@ block.exponential-reconstructor.description = Nâng cấp đơn vị đầu vào
block.tetrative-reconstructor.description = Nâng cấp đơn vị đầu vào lên cấp thứ năm và là cấp cuối cùng. block.tetrative-reconstructor.description = Nâng cấp đơn vị đầu vào lên cấp thứ năm và là cấp cuối cùng.
block.switch.description = Công tắc có thể bật/tắt. Trạng thái có thể được đọc và điều khiển với xử lý logic. block.switch.description = Công tắc có thể bật/tắt. Trạng thái có thể được đọc và điều khiển với xử lý logic.
block.micro-processor.description = Chạy tập hợp các chỉ lệnh trong một vòng lặp. Có thể dùng để điều khiển đơn vị và công trình. block.micro-processor.description = Chạy tập hợp các chỉ lệnh trong một vòng lặp. Có thể dùng để điều khiển đơn vị và công trình.
block.logic-processor.description = Chạy tập hợp các chỉ lệnh trong một vòng lặp. Có thể dùng để điều khiển đơn vị và công trình. Nhanh hơn bộ xử lý tiểu cấp. block.logic-processor.description = Chạy tập hợp các chỉ lệnh trong một vòng lặp. Có thể dùng để điều khiển đơn vị và công trình. Nhanh hơn bộ xử lý vi cấp.
block.hyper-processor.description = Chạy tập hợp các chỉ lệnh trong một vòng lặp. Có thể dùng để điều khiển đơn vị và công trình. Nhanh hơn bộ xử lý trung cấp. block.hyper-processor.description = Chạy tập hợp các chỉ lệnh trong một vòng lặp. Có thể dùng để điều khiển đơn vị và công trình. Nhanh hơn bộ xử lý trung cấp.
block.memory-cell.description = Lưu trữ thông tin cho bộ xử lý. block.memory-cell.description = Lưu trữ thông tin cho bộ xử lý.
block.memory-bank.description = Lưu trữ thông tin cho bộ xử lý. Dung lượng cao. block.memory-bank.description = Lưu trữ thông tin cho bộ xử lý. Dung lượng cao.
@@ -2437,6 +2437,7 @@ lenum.shoot = Bắn vào một vị trí.
lenum.shootp = Bắn vào một đơn vị/công trình với tốc độ dự đoán. lenum.shootp = Bắn vào một đơn vị/công trình với tốc độ dự đoán.
lenum.config = Cấu hình công trình, kiểu như vật phẩm của Khối sắp xếp. lenum.config = Cấu hình công trình, kiểu như vật phẩm của Khối sắp xếp.
lenum.enabled = Khối có đang hoạt động. lenum.enabled = Khối có đang hoạt động.
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = Màu đèn chiếu sáng. laccess.color = Màu đèn chiếu sáng.
laccess.controller = Thứ điều khiển đơn vị. Nếu khối xử lý đã điều khiển, trả về khối xử lý.\nNgược lại, trả về chính đơn vị đó. laccess.controller = Thứ điều khiển đơn vị. Nếu khối xử lý đã điều khiển, trả về khối xử lý.\nNgược lại, trả về chính đơn vị đó.

View File

@@ -2423,6 +2423,7 @@ lenum.shoot = 向某个位置瞄准/射击
lenum.shootp = 根据提前量向某个单位或建筑瞄准/射击 lenum.shootp = 根据提前量向某个单位或建筑瞄准/射击
lenum.config = 建筑设置,例如分类器所设置的筛选物品种类 lenum.config = 建筑设置,例如分类器所设置的筛选物品种类
lenum.enabled = 建筑是否已启用 lenum.enabled = 建筑是否已启用
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = 照明器发光的颜色 laccess.color = 照明器发光的颜色
laccess.controller = 单位的控制方\n如果单位由处理器控制返回对应的处理器\n如果单位在编队中返回编队的领队\n其他情况返回单位自身 laccess.controller = 单位的控制方\n如果单位由处理器控制返回对应的处理器\n如果单位在编队中返回编队的领队\n其他情况返回单位自身

View File

@@ -2407,6 +2407,7 @@ lenum.shoot = 對該位置開火
lenum.shootp = 對指定單位/建築開火,具自瞄功能 lenum.shootp = 對指定單位/建築開火,具自瞄功能
lenum.config = 建築設置,例如分類器篩选的物品種類 lenum.config = 建築設置,例如分類器篩选的物品種類
lenum.enabled = 確認該建築是否啟用 lenum.enabled = 確認該建築是否啟用
laccess.currentammotype = Current ammo item/liquid of a turret.
laccess.color = 照明燈顏色 laccess.color = 照明燈顏色
laccess.controller = 單位的控制者。受處理器控制時回傳處理器。\n在隊形中回傳領導的單位。\n否則回傳單位自己。 laccess.controller = 單位的控制者。受處理器控制時回傳處理器。\n在隊形中回傳領導的單位。\n否則回傳單位自己。

View File

@@ -59,7 +59,7 @@ public class NetServer implements ApplicationListener{
count++; count++;
} }
} }
return count; return (float)count + Mathf.random(-0.1f, 0.1f); //if several have the same playercount pick random
}); });
return re == null ? null : re.team; return re == null ? null : re.team;
} }

View File

@@ -214,6 +214,8 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
case ammoCapacity -> type.ammoCapacity; case ammoCapacity -> type.ammoCapacity;
case x -> World.conv(x); case x -> World.conv(x);
case y -> World.conv(y); case y -> World.conv(y);
case velocityX -> vel.x * 60f / tilesize;
case velocityY -> vel.y * 60f / tilesize;
case dead -> dead || !isAdded() ? 1 : 0; case dead -> dead || !isAdded() ? 1 : 0;
case team -> team.id; case team -> team.id;
case shooting -> isShooting() ? 1 : 0; case shooting -> isShooting() ? 1 : 0;
@@ -282,6 +284,8 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
y = World.unconv((float)value); y = World.unconv((float)value);
if(!isLocal()) snapInterpolation(); if(!isLocal()) snapInterpolation();
} }
case velocityX -> vel.x = (float)(value * tilesize / 60d);
case velocityY -> vel.y = (float)(value * tilesize / 60d);
case rotation -> rotation = (float)value; case rotation -> rotation = (float)value;
case team -> { case team -> {
if(!net.client()){ if(!net.client()){

View File

@@ -17,6 +17,7 @@ public enum LAccess{
powerNetOut, powerNetOut,
ammo, ammo,
ammoCapacity, ammoCapacity,
currentAmmoType,
health, health,
maxHealth, maxHealth,
heat, heat,
@@ -28,6 +29,8 @@ public enum LAccess{
rotation, rotation,
x, x,
y, y,
velocityX,
velocityY,
shootX, shootX,
shootY, shootY,
cameraX, cameraX,
@@ -68,7 +71,7 @@ public enum LAccess{
all = values(), all = values(),
senseable = Seq.select(all, t -> t.params.length <= 1).toArray(LAccess.class), senseable = Seq.select(all, t -> t.params.length <= 1).toArray(LAccess.class),
controls = Seq.select(all, t -> t.params.length > 0).toArray(LAccess.class), controls = Seq.select(all, t -> t.params.length > 0).toArray(LAccess.class),
settable = {x, y, rotation, speed, armor, health, shield, team, flag, totalPower, payloadType}; settable = {x, y, velocityX, velocityY, rotation, speed, armor, health, shield, team, flag, totalPower, payloadType};
LAccess(String... params){ LAccess(String... params){
this.params = params; this.params = params;
@@ -79,5 +82,4 @@ public enum LAccess{
this.params = params; this.params = params;
isObj = obj; isObj = obj;
} }
} }

View File

@@ -1498,6 +1498,7 @@ public class LExecutor{
} }
case ambientLight -> state.rules.ambientLight.fromDouble(value.num()); case ambientLight -> state.rules.ambientLight.fromDouble(value.num());
case solarMultiplier -> state.rules.solarMultiplier = Math.max(value.numf(), 0f); case solarMultiplier -> state.rules.solarMultiplier = Math.max(value.numf(), 0f);
case dragMultiplier -> state.rules.dragMultiplier = Math.max(value.numf(), 0f);
case ban -> { case ban -> {
Object cont = value.obj(); Object cont = value.obj();
if(cont instanceof Block b){ if(cont instanceof Block b){

View File

@@ -15,6 +15,7 @@ public enum LogicRule{
lighting, lighting,
ambientLight, ambientLight,
solarMultiplier, solarMultiplier,
dragMultiplier,
ban, ban,
unban, unban,

View File

@@ -4,6 +4,7 @@ import arc.struct.*;
import mindustry.content.*; import mindustry.content.*;
import mindustry.entities.bullet.*; import mindustry.entities.bullet.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.logic.*;
import mindustry.type.*; import mindustry.type.*;
import mindustry.world.consumers.*; import mindustry.world.consumers.*;
import mindustry.world.meta.*; import mindustry.world.meta.*;
@@ -77,6 +78,14 @@ public class ContinuousLiquidTurret extends ContinuousTurret{
super.updateTile(); super.updateTile();
} }
@Override
public Object senseObject(LAccess sensor){
return switch(sensor){
case currentAmmoType -> liquids.current();
default -> super.senseObject(sensor);
};
}
@Override @Override
public boolean canConsume(){ public boolean canConsume(){
return hasCorrectAmmo() && super.canConsume(); return hasCorrectAmmo() && super.canConsume();

View File

@@ -11,6 +11,7 @@ import mindustry.entities.bullet.*;
import mindustry.game.EventType.*; import mindustry.game.EventType.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.graphics.*; import mindustry.graphics.*;
import mindustry.logic.*;
import mindustry.type.*; import mindustry.type.*;
import mindustry.ui.*; import mindustry.ui.*;
import mindustry.world.consumers.*; import mindustry.world.consumers.*;
@@ -107,6 +108,14 @@ public class ItemTurret extends Turret{
} }
} }
@Override
public Object senseObject(LAccess sensor){
return switch(sensor){
case currentAmmoType -> ammo.size > 0 ? ((ItemEntry)ammo.peek()).item : null;
default -> super.senseObject(sensor);
};
}
@Override @Override
public void updateTile(){ public void updateTile(){
unit.ammo((float)unit.type().ammoCapacity * totalAmmo / maxAmmo); unit.ammo((float)unit.type().ammoCapacity * totalAmmo / maxAmmo);

View File

@@ -6,6 +6,7 @@ import mindustry.core.*;
import mindustry.entities.*; import mindustry.entities.*;
import mindustry.entities.bullet.*; import mindustry.entities.bullet.*;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.logic.*;
import mindustry.type.*; import mindustry.type.*;
import mindustry.world.*; import mindustry.world.*;
import mindustry.world.consumers.*; import mindustry.world.consumers.*;
@@ -72,6 +73,14 @@ public class LiquidTurret extends Turret{
super.updateTile(); super.updateTile();
} }
@Override
public Object senseObject(LAccess sensor){
return switch(sensor){
case currentAmmoType -> liquids.current();
default -> super.senseObject(sensor);
};
}
@Override @Override
protected void findTarget(){ protected void findTarget(){
if(extinguish && liquids.current().canExtinguish()){ if(extinguish && liquids.current().canExtinguish()){

View File

@@ -259,7 +259,8 @@ public class StackConveyor extends Block implements Autotiler{
@Override @Override
public void updateTile(){ public void updateTile(){
float eff = enabled ? (efficiency + baseEfficiency) : 0f; //the item still needs to be "reeled" in when disabled
float eff = enabled ? (efficiency + baseEfficiency) : 1f;
//reel in crater //reel in crater
if(cooldown > 0f) cooldown = Mathf.clamp(cooldown - speed * eff * delta(), 0f, recharge); if(cooldown > 0f) cooldown = Mathf.clamp(cooldown - speed * eff * delta(), 0f, recharge);

View File

@@ -25,4 +25,5 @@ org.gradle.caching=true
#used for slow jitpack builds; TODO see if this actually works #used for slow jitpack builds; TODO see if this actually works
org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.socketTimeout=100000
org.gradle.internal.http.connectionTimeout=100000 org.gradle.internal.http.connectionTimeout=100000
archash=b857594d11 android.enableR8.fullMode=false
archash=b857594d11

View File

@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.4-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

View File

@@ -24,5 +24,9 @@
{ {
"name": "Darkdustry", "name": "Darkdustry",
"address": ["darkdustry.tk"] "address": ["darkdustry.tk"]
},
{
"name": "TinyLake",
"address": ["cn.mindustry.top:40500"]
} }
] ]

View File

@@ -238,11 +238,11 @@
}, },
{ {
"name": "MeowIsland", "name": "MeowIsland",
"address": ["jupiter.minerent.net:25651", "nexus.minerent.net:25596", "nexus.minerent.net:25598", "pandora.minerent.net:25620"] "address": ["jupiter.minerent.net:25651", "nexus.minerent.net:25596", "nexus.minerent.net:25598", "pandora.minerent.net:25620", "vega.minerent.net:25635"]
}, },
{ {
"name": "3MIDustry", "name": "Exdustry",
"address": ["play.3midustry.octane.lol:6001", "play.3midustry.octane.lol:6002", "play.3midustry.octane.lol:6003", "play.3midustry.octane.lol:6004", "play.3midustry.octane.lol:6005", "play.3midustry.octane.lol:6006", "play.3midustry.octane.lol:6007", "play.3midustry.octane.lol:6008", "play.3midustry.octane.lol:6009", "play.3midustry.octane.lol:6010"] "address": ["uk1.noxia.cloud:6001", "uk1.noxia.cloud:6002", "uk1.noxia.cloud:6003", "uk1.noxia.cloud:6004", "uk1.noxia.cloud:6005", "uk1.noxia.cloud:6006", "uk1.noxia.cloud:6007", "uk1.noxia.cloud:6008", "uk1.noxia.cloud:6009", "uk1.noxia.cloud:6010"]
}, },
{ {
"name": "abcxyz remaster", "name": "abcxyz remaster",
@@ -258,7 +258,7 @@
}, },
{ {
"name": "Alex Multiverse", "name": "Alex Multiverse",
"address": ["alexmindustryv7.servegame.com:25588", "172.234.80.96:6768", "139.162.41.78:6767", "172.245.187.143:6868", "172.245.187.143:6869", "92.119.127.171:6888" ] "address": ["alexmindustryv7.servegame.com:25588", "172.234.80.96:6768", "139.162.41.78:6767", "172.245.187.143:6868", "172.245.187.143:6869", "92.119.127.171:6888", "45.84.59.51:1025", "45.84.59.51:1027"]
}, },
{ {
"name": "Open PVP", "name": "Open PVP",
@@ -319,5 +319,13 @@
{ {
"name": "Vndustry", "name": "Vndustry",
"address": ["vndustry.ddns.net"] "address": ["vndustry.ddns.net"]
},
{
"name": "ChillOut",
"address": ["87.228.8.133"]
},
{
"name": "VNM",
"address": ["server.mindustry-tool.app"]
} }
] ]