diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index d76c0ee264..7afc417ffc 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -1648,7 +1648,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2065,6 +2064,7 @@ lst.set = Set a variable. lst.operation = Perform an operation on 1-2 variables. lst.end = Jump to the top of the instruction stack. lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Conditionally jump to another statement. lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. diff --git a/core/assets/bundles/bundle_bg.properties b/core/assets/bundles/bundle_bg.properties index fd883c72c7..e37e6f3745 100644 --- a/core/assets/bundles/bundle_bg.properties +++ b/core/assets/bundles/bundle_bg.properties @@ -1658,7 +1658,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2078,6 +2077,7 @@ lst.set = Задава променлива. lst.operation = Изпълнява операция с 1 или 2 променливи. lst.end = Започва списъка с инструкции от начало. lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Прескача до друга позиция в програмата ако дадено условие е изпълнено. lst.unitbind = Поема контрол над следващата единица от избран тип и я записва в променливата [accent]@unit[]. diff --git a/core/assets/bundles/bundle_ca.properties b/core/assets/bundles/bundle_ca.properties index f1beec7dd3..4d8503450e 100644 --- a/core/assets/bundles/bundle_ca.properties +++ b/core/assets/bundles/bundle_ca.properties @@ -1669,7 +1669,6 @@ block.small-deconstructor.name = Desconstructor petit block.canvas.name = Llenç block.world-processor.name = Processador integrat block.world-cell.name = Cel·la de memòria integrada -block.shield-breaker.name = Trencaescuts (nom/sprite temporal) block.tank-fabricator.name = Fabricadora de tancs block.mech-fabricator.name = Fabricadora de meques block.ship-fabricator.name = Fabricadora de naus @@ -2090,6 +2089,7 @@ lst.set = Estableix una variable. lst.operation = Executa una operació amb 1 o 2 variables. lst.end = Salta al principi de la llista d’instruccions. lst.wait = Espera el nombre indicat de segons. +lst.stop = Halt execution of this processor. lst.lookup = Busca un tipus d’element, líquid, unitat o bloc per ID.\nEs pot comptar la quantitat total d’elements del tipus indicat amb:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Salta a una altra instrucció si es compleixen les condicions. lst.unitbind = Enllaça amb la següent unitat d’un determinat tipus i la guarda en [accent]@unit[]. diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index 398e51c4b4..25d31ea05d 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -1662,7 +1662,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2083,6 +2082,7 @@ lst.set = Nastaví hodnotu. lst.operation = Provede operaci na 1-2 hodnotách. lst.end = Skočí na první počáteční instrukci. lst.wait = Čeká určitý počet sekund. +lst.stop = Halt execution of this processor. lst.lookup = Vyhledá typ věci/kapaliny/jednotky/bloku pomocí ID.\nCelkový počet daného typu může být získán pomocí:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Podmíněně skočí na danou instrukci. lst.unitbind = Nastaví další jednotku daného typu a uloží jí do [accent]@unit[]. diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index cfcdd89c9d..46fa3e1130 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -1648,7 +1648,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2063,6 +2062,7 @@ lst.set = Set a variable. lst.operation = Perform an operation on 1-2 variables. lst.end = Jump to the top of the instruction stack. lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Conditionally jump to another statement. lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index a1e2763a02..bc5739296c 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -1669,7 +1669,6 @@ block.small-deconstructor.name = Kleiner Dekonstruktor block.canvas.name = Kanvas block.world-processor.name = Weltprozessor block.world-cell.name = Weltzelle -block.shield-breaker.name = Schildbrecher (temp name/sprite) block.tank-fabricator.name = Panzerhersteller block.mech-fabricator.name = Mechhersteller block.ship-fabricator.name = Schiffhersteller @@ -2089,6 +2088,7 @@ lst.set = Setzt eine Variable fest. lst.operation = Verändert eine Variable. lst.end = Springt wieder nach oben. lst.wait = Wartet eine bestimmte Zeit. +lst.stop = Halt execution of this processor. lst.lookup = Sucht ein Item, eine Flüssigkeit, eine Einheit oder einen Block.\nGesamtmengen von jeder Sache können mit \n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[]\nabgerufen werden. lst.jump = Falls die Bedingung erfüllt ist, wird woanders weitergemacht. lst.unitbind = Speichert eine Einheit einer Sorte als [accent]@unit[]. diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index cdefc05fdd..81e7c648f4 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -1674,7 +1674,6 @@ block.small-deconstructor.name = Deconstructor pequeño block.canvas.name = Lienzo block.world-processor.name = Procesador global block.world-cell.name = Unidad de memoria global -block.shield-breaker.name = Destructor de escudos (nombre/textura temporales) block.tank-fabricator.name = Fabricador de tanques block.mech-fabricator.name = Fabricador de mechs block.ship-fabricator.name = Fabricador de aeronaves @@ -2095,6 +2094,7 @@ lst.set = Establece una variable. lst.operation = Realiza una operación sobre 1-2 variables. lst.end = Salta al inicio de la lista de instrucciones. lst.wait = Espera unos segundos. +lst.stop = Halt execution of this processor. lst.lookup = Busca un objeto/líquido/unidad/tipo de bloque por ID.\nSe puede acceder al número total de cada tipo con:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Salta condicionalmente a otra instrucción. lst.unitbind = Se enlaza a la siguiente unidad de un tipo, y la almacena en [accent]@unit[]. diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index 76691daa4e..5a82042e83 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -1648,7 +1648,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2065,6 +2064,7 @@ lst.set = Set a variable. lst.operation = Perform an operation on 1-2 variables. lst.end = Jump to the top of the instruction stack. lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Conditionally jump to another statement. lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index f5f41eb852..92bc020928 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -1648,7 +1648,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2065,6 +2064,7 @@ lst.set = Set a variable. lst.operation = Perform an operation on 1-2 variables. lst.end = Jump to the top of the instruction stack. lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Conditionally jump to another statement. lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index 2d264a087f..c5a40272fc 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -1651,7 +1651,6 @@ block.small-deconstructor.name = Pieni hajottaja block.canvas.name = Kanvaasi block.world-processor.name = Maailmaprosessori block.world-cell.name = Maailmasolu -block.shield-breaker.name = Kilvenrikkoja (väliakainen nimi/kuva) block.tank-fabricator.name = Tankkirakentaja block.mech-fabricator.name = Robottirakentaja block.ship-fabricator.name = Ilma-alusrakentaja @@ -2069,6 +2068,7 @@ lst.set = Aseta muuttuja. lst.operation = Suorita laskutoimitus 1-2 muuttujalla. lst.end = Hyppää ohjepinon alkuun. lst.wait = Odota tietty määrä sekunteja. +lst.stop = Halt execution of this processor. lst.lookup = Etsi tavaran/nesteen/yksikön/palikan tyyppiä ID:n perusteella.\nKunkin tyypin kokonaislukumäärän voi selvittää argumentilla:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Hyppää ehdollisesti toiseen lauseeseen. lst.unitbind = Sido tietyntyyppiseen yksikköön ja varastoi sen [accent]@unit[]-muuttujaan. diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index 447a97dba8..9ad4ba43e9 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -1648,7 +1648,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2065,6 +2064,7 @@ lst.set = Set a variable. lst.operation = Perform an operation on 1-2 variables. lst.end = Jump to the top of the instruction stack. lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Conditionally jump to another statement. lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index 8425d6f674..3a127d78ec 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -1674,7 +1674,6 @@ block.small-deconstructor.name = Petit Déconstructeur block.canvas.name = Canevas block.world-processor.name = Processeur Global block.world-cell.name = Cellule de Mémoire Globale -block.shield-breaker.name = Briseur de Bouclier (nom temporaire) block.tank-fabricator.name = Fabricateur de Tanks block.mech-fabricator.name = Fabricateur de Mécas block.ship-fabricator.name = Fabricateur de Bateaux @@ -2096,6 +2095,7 @@ lst.set = Définit une variable. lst.operation = Effectue une opération sur 1 ou 2 variables. lst.end = Saute au sommet de la série d’instructions. lst.wait = Attendre un certain nombre de secondes. +lst.stop = Halt execution of this processor. lst.lookup = Recherche d'un type d'objet/liquide/unité/bloc par ID.\nLe nombre total de chaque type peut être consulté avec:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Saute conditionnellement vers une autre instruction. lst.unitbind = Se lie à une unité du type donné et la stocke dans [accent]@unit[]. diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index ef1579e052..838eb7ecc4 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -1657,7 +1657,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2076,6 +2075,7 @@ lst.set = Set a variable. lst.operation = Perform an operation on 1-2 variables. lst.end = Jump to the top of the instruction stack. lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Conditionally jump to another statement. lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. diff --git a/core/assets/bundles/bundle_id_ID.properties b/core/assets/bundles/bundle_id_ID.properties index 3d20f0e70c..2910da04dd 100644 --- a/core/assets/bundles/bundle_id_ID.properties +++ b/core/assets/bundles/bundle_id_ID.properties @@ -1674,7 +1674,6 @@ block.small-deconstructor.name = Dekonstruktor Kecil block.canvas.name = Kanvas block.world-processor.name = Prosessor Dunia block.world-cell.name = Sel Dunia -block.shield-breaker.name = Penghancur Pelindung (nama/sprite sementara) block.tank-fabricator.name = Fabrikator Tank block.mech-fabricator.name = Fabrikator Mech block.ship-fabricator.name = Fabrikator Kapal @@ -2095,6 +2094,7 @@ lst.set = Menentukan sebuah variabel. lst.operation = Melakukan operasi pada 1-2 variabel. lst.end = Loncati ke awal dari tumpukan perintah. lst.wait = Memberi jeda dalam detik yang ditentukan. +lst.stop = Halt execution of this processor. lst.lookup = Mencari tipe barang/cairan/unit/blok dengan ID.\nJumlah hitungan dari setiap tipe dapat dilihat dengan:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Loncati secara bersyarat ke pernyataan berikutnya. lst.unitbind = Menautkan ke unit jenis berikutnya, dan menyimpannya di [accent]@unit[]. diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index 3a2a0be444..9ea16f5055 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -1660,7 +1660,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2079,6 +2078,7 @@ lst.set = Set a variable. lst.operation = Perform an operation on 1-2 variables. lst.end = Jump to the top of the instruction stack. lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Conditionally jump to another statement. lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index bb1302b7f7..5c2983e8d5 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -1662,7 +1662,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2082,6 +2081,7 @@ lst.set = Set a variable. lst.operation = Perform an operation on 1-2 variables. lst.end = Jump to the top of the instruction stack. lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Conditionally jump to another statement. lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index 39f9056e91..186b369758 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -1663,7 +1663,6 @@ block.small-deconstructor.name = 소형 화물 분해기 block.canvas.name = 도화지 block.world-processor.name = 월드 프로세서 block.world-cell.name = 월드 셀 -block.shield-breaker.name = 보호막 파괴자 block.tank-fabricator.name = 전차 조립기 block.mech-fabricator.name = 기계 조립기 block.ship-fabricator.name = 함선 조립기 @@ -2083,6 +2082,7 @@ lst.set = 변수 선언/할당 lst.operation = 1~2개의 변수로 연산 lst.end = 실행줄의 가장 위로 건너뜀 lst.wait = 일정 시간(초) 동안 대기 +lst.stop = Halt execution of this processor. lst.lookup = id를 통해 특정 유형의 아이템/액체/기체/블록 조회\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[]\n...로 각 유형의 총 갯수를 알 수 있습니다. lst.jump = 조건부로 다른 실행문으로 건너뜀 lst.unitbind = type 옆에 있는 기체를 지정하고, [accent]@unit[]에 저장 diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index 2d9bc5733d..ea58d58879 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -1648,7 +1648,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2065,6 +2064,7 @@ lst.set = Set a variable. lst.operation = Perform an operation on 1-2 variables. lst.end = Jump to the top of the instruction stack. lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Conditionally jump to another statement. lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index d6a44a57d0..f1ed26e7f3 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -1648,7 +1648,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2065,6 +2064,7 @@ lst.set = Set a variable. lst.operation = Perform an operation on 1-2 variables. lst.end = Jump to the top of the instruction stack. lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Conditionally jump to another statement. lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index 027291d1ea..07cdaf74b4 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -1648,7 +1648,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2065,6 +2064,7 @@ lst.set = Set a variable. lst.operation = Perform an operation on 1-2 variables. lst.end = Jump to the top of the instruction stack. lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Conditionally jump to another statement. lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index dc814a63f8..6aedef913b 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -1670,7 +1670,6 @@ block.small-deconstructor.name = Mały Dekonstruktor block.canvas.name = Płótno block.world-processor.name = Procesor Świata block.world-cell.name = Komórka Świata -block.shield-breaker.name = Niszczyciel Tarcz block.tank-fabricator.name = Fabryka Czołgów block.mech-fabricator.name = Fabryka Mechów block.ship-fabricator.name = Fabryka Statków @@ -2097,6 +2096,7 @@ lst.set = Ustawia zmienną. lst.operation = Wykonuje operację na 1-2 zmiennych. lst.end = Przeskakuje na początek stosu instrukcji. lst.wait = Czeka określoną liczbę sekund. +lst.stop = Halt execution of this processor. lst.lookup = Znajduje typ przedmiotu/cieczy/jednostki/bloku poprzez ID.\nCałkowite zliczenia każdego typu można uzyskać za pomocą:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Warunkowo przeskakuje do innego stanu. lst.unitbind = Powiązuje z następną jednostką danego typu i przechowuje ją w [accent]@unit[]. diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index ae5a126d64..3f2aaa251a 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -1655,7 +1655,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2074,6 +2073,7 @@ lst.set = Define uma variável. lst.operation = Performa uma operação com 1-2 variáveis. lst.end = Pula para o topo da pilha de instruções. lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Condicionalmente pula para um outro comando. lst.unitbind = Vincula a próxima unidade de um tipo, e armazena-a em [accent]@unit[]. diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index 36d9800323..e44df384dd 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -1648,7 +1648,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2065,6 +2064,7 @@ lst.set = Set a variable. lst.operation = Perform an operation on 1-2 variables. lst.end = Jump to the top of the instruction stack. lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Conditionally jump to another statement. lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index a7effa9ec1..3d5609f215 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -1662,7 +1662,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2083,6 +2082,7 @@ lst.set = Setează o variabilă. lst.operation = Efectuează o operație pe 1-2 variabile. lst.end = Sari la începutul listei de instrucțiuni. lst.wait = Așteaptă un anumit număr de secunde. +lst.stop = Halt execution of this processor. lst.lookup = Caută un tip de material/lichid/unitate/bloc după ID.\nNumărul total din fiecare tip poate fi accesat cu:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Dacă condiția este adevărată, mergi la o altă instrucțiune. lst.unitbind = Controlează următoarea unitate de tipul selectat și reține-o în [accent]@unit[]. diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index 3982892583..6673a007a4 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -1661,7 +1661,6 @@ block.small-deconstructor.name = Малый деконструктор block.canvas.name = Canvas block.world-processor.name = Мировой процессор block.world-cell.name = Мировая ячейка памяти -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Конструктор танков block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Конструктор кораблей @@ -2082,6 +2081,7 @@ lst.set = Устанавливает переменную. lst.operation = Совершает операцию над 1-2 переменными. lst.end = Переходит к началу стека операций. lst.wait = Ждёт определённое количество секунд. +lst.stop = Halt execution of this processor. lst.lookup = Находит тип предмета/жидкости/единицы/блока по ID.\nОбщее количество каждого типа может быть получено при помощи:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Условно переходит к другой операции. lst.unitbind = Привязывается к единице определённого типа и сохраняет её в [accent]@unit[]. diff --git a/core/assets/bundles/bundle_sr.properties b/core/assets/bundles/bundle_sr.properties index e3faaa22a6..0ade7cd964 100644 --- a/core/assets/bundles/bundle_sr.properties +++ b/core/assets/bundles/bundle_sr.properties @@ -1662,7 +1662,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Kanvas block.world-processor.name = Svetovni Procesor block.world-cell.name = Svetovna Ćelija -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Fabrikator Tenkova block.mech-fabricator.name = Fabrikator Brodova block.ship-fabricator.name = Fabrikator Mečana @@ -2082,6 +2081,7 @@ lst.set = Definiši varijablu. lst.operation = Izvrši operaciju sa 1-2 varijable. lst.end = Skoči do vrha skupa operacija. lst.wait = Sačekaj definisani broj sekundi. +lst.stop = Halt execution of this processor. lst.lookup = Vidi vrstu materijala/tečnosti/jedinice/bloka po ID-u.\nUkupne količine svake vrste se mogu pristupiti sa:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Conditionally jump to another statement. lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index a1a702a70a..450e1cf97f 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -1648,7 +1648,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2065,6 +2064,7 @@ lst.set = Set a variable. lst.operation = Perform an operation on 1-2 variables. lst.end = Jump to the top of the instruction stack. lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Conditionally jump to another statement. lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index cd4a587b87..927542a119 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -1662,7 +1662,6 @@ block.small-deconstructor.name = เครื่องลบทำลายข block.canvas.name = แคนวาส block.world-processor.name = ตัวประมวลผลโลก block.world-cell.name = เซลล์โลก -block.shield-breaker.name = เครื่องทำลายโล่ block.tank-fabricator.name = เครื่องสรรค์สร้างรถถัง block.mech-fabricator.name = เครื่องสรรค์สร้างจักรกล block.ship-fabricator.name = เครื่องสรรค์สร้างยานบิน @@ -2083,6 +2082,7 @@ lst.set = ตั้งตัวแปร lst.operation = ทำการดำเนินการกับ 1-2 ตัวแปร lst.end = ย้อนกลับไปยังด้านบนสุดของชุดคำสั่ง lst.wait = รอเวลาเป็นวินาที +lst.stop = Halt execution of this processor. lst.lookup = ค้นหาชนิดไอเท็ม/ของเหลว/ยูนิต/บล็อกตาม ID\nสามารถหาจำนวนนับทั้งหมดของแต่ละชนิดได้ด้วย:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = ข้ามไปยังจุดต่างๆ โดยมีเงื่อนไข lst.unitbind = เลือกยูนิตถัดไปเป็นชนิด และเก็บค่าไว้ใน [accent]@unit[] diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index c25463578c..ce08902a48 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -1648,7 +1648,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2065,6 +2064,7 @@ lst.set = Set a variable. lst.operation = Perform an operation on 1-2 variables. lst.end = Jump to the top of the instruction stack. lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Conditionally jump to another statement. lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index 93acc75c7c..62526fd138 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -1663,7 +1663,6 @@ block.small-deconstructor.name = Küçük YapıSökücü block.canvas.name = Tuval block.world-processor.name = Evrensel İşlemci block.world-cell.name = Evrensel Bellek Hücresi -block.shield-breaker.name = Kalkan Kırıcı block.tank-fabricator.name = Tank Fabrikatörü block.mech-fabricator.name = Robot Fabrikatörü block.ship-fabricator.name = Gemi Fabrikatörü @@ -2085,6 +2084,7 @@ lst.set = Bir değişken ata. lst.operation = Değişkenlerle işlem yap. lst.end = Döngünün sonuna atla. lst.wait = Belli süre bekler. +lst.stop = Halt execution of this processor. lst.lookup = ID kullanarak herhangi bir blok, birim, bina vs ye bak.\nToplam sayı kullanımı:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Bir yerden başka bir yere atla. lst.unitbind = Bir birimi bağla: [accent]@unit[]. diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index ff5baaf8bf..552949708e 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -1669,7 +1669,6 @@ block.small-deconstructor.name = Малий деконструктор block.canvas.name = Полотно block.world-processor.name = Світовий процесор block.world-cell.name = Світова комірка пам’яті -block.shield-breaker.name = Зламувач щитів block.tank-fabricator.name = Танковий виробник block.mech-fabricator.name = Меховий виробник block.ship-fabricator.name = Корабельний виробник @@ -2090,6 +2089,7 @@ lst.set = Установити значення змінної. lst.operation = Виконує операцію над 1-2 змінними. lst.end = Перейти до верхньої частини стеку операцій. lst.wait = Чекати певну кількість секунд. +lst.stop = Halt execution of this processor. lst.lookup = Знайти тип предмета, рідини, одиниці чи блоку за ідентифікатором.\nМожна отримати доступ до загальної кількості кожного типу через \n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Умовне переходження до іншої операції. lst.unitbind = Прив’язка до одиниці певного типу та його зберігання в [accent]@unit[]. diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index 77c1506bf2..347f9c66bf 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -1662,7 +1662,6 @@ block.small-deconstructor.name = Small Deconstructor block.canvas.name = Canvas block.world-processor.name = World Processor block.world-cell.name = World Cell -block.shield-breaker.name = Shield Breaker (temp name/sprite) block.tank-fabricator.name = Tank Fabricator block.mech-fabricator.name = Mech Fabricator block.ship-fabricator.name = Ship Fabricator @@ -2083,6 +2082,7 @@ lst.set = Đặt một biến. lst.operation = Thực hiện thao tác trên 1-2 biến. lst.end = Chuyển đến lệnh đầu tiên. lst.wait = Chờ trong khoảng thời gian nhất định. +lst.stop = Halt execution of this processor. lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = Chuyển qua lệnh khác nếu điều kiện đúng. lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index 1f85d3b701..cc9e79713f 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -1665,7 +1665,6 @@ block.small-deconstructor.name = 小型解构器 block.canvas.name = 画板 block.world-processor.name = 世界处理器 block.world-cell.name = 世界内存元 -block.shield-breaker.name = 破盾机 (临时翻译/贴图) block.tank-fabricator.name = 坦克制造厂 block.mech-fabricator.name = 机甲制造厂 block.ship-fabricator.name = 飞船制造厂 @@ -2087,6 +2086,7 @@ lst.set = 给变量赋值 lst.operation = 使用1至2个参数执行运算/函数 lst.end = 跳转至第一条指令 lst.wait = 等待指定的秒数 +lst.stop = Halt execution of this processor. lst.lookup = 根据ID查阅一种物品/液体/单位/建筑\n各个分类中的项目总数是\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] lst.jump = 根据条件判断,决定是否跳转至另一条指令 lst.unitbind = 绑定某个类型的下一个单位,或直接绑定指定的单位\n并保存至[accent]@unit[] diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index c9ecbf56c3..b3a7fcfc2e 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -1674,7 +1674,6 @@ block.small-deconstructor.name = 小型解構器 block.canvas.name = 畫布 block.world-processor.name = 世界處理器 block.world-cell.name = 世界單元 -block.shield-breaker.name = 護盾破壞器 (未定名/貼圖) block.tank-fabricator.name = 戰車兵工廠 block.mech-fabricator.name = 機甲兵工廠 block.ship-fabricator.name = 飛船兵工廠 @@ -2095,6 +2094,7 @@ lst.set = 設一個變數 lst.operation = 加減乘除和數字、位元運算 lst.end = 跳到第一個重頭開始執行 lst.wait = 等待特定秒數 +lst.stop = Halt execution of this processor. lst.lookup = 以 ID 搜尋物品/液體/單位/方塊。\n各種類的總數可由 \n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] 讀取。 lst.jump = 條件式跳到其他指令執行 lst.unitbind = 綁定下一同種單位,存入[accent]@unit[]中. diff --git a/core/assets/maps/caldera-erekir.msav b/core/assets/maps/caldera-erekir.msav index 4be25c3958..a5d631d58e 100644 Binary files a/core/assets/maps/caldera-erekir.msav and b/core/assets/maps/caldera-erekir.msav differ diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 5ad4b58bf3..3f0b6d254a 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -2070,6 +2070,7 @@ public class Blocks{ consumeLiquid(Liquids.nitrogen, 10f / 60f); itemCapacity = 200; + researchCost = with(Items.silicon, 2500, Items.surgeAlloy, 20, Items.oxide, 30); }}; unitCargoUnloadPoint = new UnitCargoUnloadPoint("unit-cargo-unload-point"){{ @@ -2078,6 +2079,8 @@ public class Blocks{ size = 2; itemCapacity = 100; + + researchCost = with(Items.silicon, 3000, Items.oxide, 20); }}; //endregion diff --git a/core/src/mindustry/game/SpawnGroup.java b/core/src/mindustry/game/SpawnGroup.java index 1d70384a47..b4877e7917 100644 --- a/core/src/mindustry/game/SpawnGroup.java +++ b/core/src/mindustry/game/SpawnGroup.java @@ -118,9 +118,9 @@ public class SpawnGroup implements JsonSerializable, Cloneable{ if(unitAmount != 1) json.writeValue("amount", unitAmount); if(effect != null) json.writeValue("effect", effect.name); if(spawn != -1) json.writeValue("spawn", spawn); - if(payloads != null && payloads.size > 0){ - json.writeValue("payloads", payloads.map(u -> u.name).toArray(String.class)); - } + if(payloads != null && payloads.size > 0) json.writeValue("payloads", payloads.map(u -> u.name).toArray(String.class)); + if(items != null && items.amount > 0) json.writeValue("items", items); + } @Override @@ -138,9 +138,9 @@ public class SpawnGroup implements JsonSerializable, Cloneable{ shieldScaling = data.getFloat("shieldScaling", 0); unitAmount = data.getInt("amount", 1); spawn = data.getInt("spawn", -1); - if(data.has("payloads")){ - payloads = Seq.with(json.readValue(String[].class, data.get("payloads"))).map(s -> content.getByName(ContentType.unit, s)); - } + if(data.has("payloads")) payloads = Seq.with(json.readValue(String[].class, data.get("payloads"))).map(s -> content.getByName(ContentType.unit, s)); + if(data.has("items")) items = json.readValue(ItemStack.class, data.get("items")); + //old boss effect ID if(data.has("effect") && data.get("effect").isNumber() && data.getInt("effect", -1) == 8){ diff --git a/core/src/mindustry/maps/filters/ClearFilter.java b/core/src/mindustry/maps/filters/ClearFilter.java index f7e1203985..9ebaec17e6 100644 --- a/core/src/mindustry/maps/filters/ClearFilter.java +++ b/core/src/mindustry/maps/filters/ClearFilter.java @@ -9,12 +9,14 @@ import static mindustry.maps.filters.FilterOption.*; public class ClearFilter extends GenerateFilter{ public Block target = Blocks.stone; public Block replace = Blocks.air; + public Block ignore = Blocks.air; @Override public FilterOption[] options(){ return new FilterOption[]{ new BlockOption("target", () -> target, b -> target = b, anyOptional), - new BlockOption("replacement", () -> replace, b -> replace = b, anyOptional) + new BlockOption("replacement", () -> replace, b -> replace = b, anyOptional), + new BlockOption("ignore", () -> ignore, b -> ignore = b, anyOptional) }; } @@ -25,6 +27,7 @@ public class ClearFilter extends GenerateFilter{ @Override public void apply(GenerateInput in){ + if(ignore != Blocks.air && (in.block == ignore || in.floor == ignore || in.overlay == ignore)) return; if(in.block == target || in.floor == target || (target.isOverlay() && in.overlay == target)){ //special case: when air is the result, replace only the overlay or wall diff --git a/core/src/mindustry/maps/filters/FilterOption.java b/core/src/mindustry/maps/filters/FilterOption.java index 4b51d11945..3082145494 100644 --- a/core/src/mindustry/maps/filters/FilterOption.java +++ b/core/src/mindustry/maps/filters/FilterOption.java @@ -3,6 +3,7 @@ package mindustry.maps.filters; import arc.*; import arc.func.*; +import arc.input.*; import arc.scene.*; import arc.scene.event.*; import arc.scene.style.*; @@ -103,7 +104,7 @@ public abstract class FilterOption{ @Override public void build(Table table){ - table.button(b -> b.image(supplier.get().uiIcon).update(i -> ((TextureRegionDrawable)i.getDrawable()) + Button button = table.button(b -> b.image(supplier.get().uiIcon).update(i -> ((TextureRegionDrawable)i.getDrawable()) .setRegion(supplier.get() == Blocks.air ? Icon.none.getRegion() : supplier.get().uiIcon)).size(iconSmall), () -> { BaseDialog dialog = new BaseDialog("@filter.option." + name); dialog.cont.pane(t -> { @@ -124,7 +125,19 @@ public abstract class FilterOption{ dialog.addCloseButton(); dialog.show(); - }).pad(4).margin(12f); + }).pad(4).margin(12f).get(); + + button.clicked(KeyCode.mouseMiddle, () -> { + Core.app.setClipboardText(supplier.get().name); + ui.showInfoFade("@copied"); + }); + + button.clicked(KeyCode.mouseRight, () -> { + if(content.block(Core.app.getClipboardText()) != null && filter.get(content.block(Core.app.getClipboardText()))){ + consumer.get(content.block(Core.app.getClipboardText())); + changed.run(); + } + }); table.add("@filter.option." + name); } diff --git a/core/src/mindustry/ui/dialogs/DiscordDialog.java b/core/src/mindustry/ui/dialogs/DiscordDialog.java index 3d19238a10..08428b0501 100644 --- a/core/src/mindustry/ui/dialogs/DiscordDialog.java +++ b/core/src/mindustry/ui/dialogs/DiscordDialog.java @@ -40,6 +40,7 @@ public class DiscordDialog extends Dialog{ buttons.button("@back", Icon.left, this::hide); buttons.button("@copylink", Icon.copy, () -> { Core.app.setClipboardText(discordURL); + ui.showInfoFade("@copied"); }); buttons.button("@openlink", Icon.discord, () -> { if(!Core.app.openURI(discordURL)){ diff --git a/core/src/mindustry/ui/dialogs/LoadDialog.java b/core/src/mindustry/ui/dialogs/LoadDialog.java index cf4ed6193b..757677a21d 100644 --- a/core/src/mindustry/ui/dialogs/LoadDialog.java +++ b/core/src/mindustry/ui/dialogs/LoadDialog.java @@ -24,7 +24,7 @@ import static mindustry.Vars.*; public class LoadDialog extends BaseDialog{ Table slots; String searchString; - Gamemode filteredMode; + Seq filteredModes; TextField searchField; ScrollPane pane; @@ -50,6 +50,7 @@ public class LoadDialog extends BaseDialog{ cont.clear(); slots = new Table(); + filteredModes = new Seq<>(); pane = new ScrollPane(slots); rebuild(); @@ -66,9 +67,9 @@ public class LoadDialog extends BaseDialog{ boolean sandbox = mode == Gamemode.sandbox; if(Core.atlas.isFound(icon.getRegion()) || sandbox){ search.button(sandbox ? Icon.terrain : icon, Styles.emptyTogglei, () -> { - filteredMode = filteredMode == mode ? null : mode; + if(!filteredModes.addUnique(mode)) filteredModes.remove(mode); rebuild(); - }).size(60f).checked(b -> filteredMode == mode).tooltip("@mode." + mode.name() + ".name"); + }).size(60f).padLeft(-8f).checked(b -> !filteredModes.contains(mode)).tooltip("@mode." + mode.name() + ".name"); } } @@ -97,7 +98,7 @@ public class LoadDialog extends BaseDialog{ for(SaveSlot slot : array){ if(slot.isHidden() || (searchString != null && !Strings.stripColors(slot.getName()).toLowerCase().contains(searchString)) - || (filteredMode != null && filteredMode != slot.mode())){ + || (!filteredModes.isEmpty() && filteredModes.contains(slot.mode()))){ continue; } diff --git a/core/src/mindustry/ui/dialogs/MapsDialog.java b/core/src/mindustry/ui/dialogs/MapsDialog.java index a266eb7b93..bd8e565cd5 100644 --- a/core/src/mindustry/ui/dialogs/MapsDialog.java +++ b/core/src/mindustry/ui/dialogs/MapsDialog.java @@ -136,7 +136,7 @@ public class MapsDialog extends BaseDialog{ rebuildMaps(); }).maxTextLength(50).growX().get(); searchField.setMessageText("@editor.search"); - search.button(Icon.filter, Styles.emptyi, this::showMapFilters); + search.button(Icon.filter, Styles.emptyi, this::showMapFilters).tooltip("@editor.filters"); cont.add(search).growX(); cont.row(); diff --git a/servers_v7.json b/servers_v7.json index 56729b74ea..34785d737f 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -110,6 +110,6 @@ }, { "name": "Eradicationdustry", - "address": ["n1.yeet.ml:6577", "n1.yeet.ml:6576", "n1.yeet.ml:6602", "n1.yeet.ml:6669"] + "address": ["n1.yeet.ml:6577", "n1.yeet.ml:6576", "n1.yeet.ml:6602", "n1.yeet.ml:6669", "eradicationmindustry.yeet.ml:9547"] } ]