diff --git a/build.gradle b/build.gradle index c91419525c..4ad56f59ff 100644 --- a/build.gradle +++ b/build.gradle @@ -413,7 +413,7 @@ project(":annotations"){ dependencies{ implementation 'com.squareup:javapoet:1.12.1' - implementation "com.github.Anuken.Arc:arc-core:$arcHash" + implementation arcModule("arc-core") } } diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 7d230ea73f..439f15ddd2 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1081,7 +1081,7 @@ setting.backgroundpause.name = Pause In Background setting.buildautopause.name = Auto-Pause Building setting.doubletapmine.name = Double-Tap to Mine setting.commandmodehold.name = Hold For Command Mode -setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit setting.modcrashdisable.name = Disable Mods On Startup Crash setting.animatedwater.name = Animated Surfaces setting.animatedshields.name = Animated Shields @@ -1785,7 +1785,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricator block.tank-refabricator.name = Tank Refabricator block.mech-refabricator.name = Mech Refabricator block.ship-refabricator.name = Ship Refabricator @@ -2111,7 +2110,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce block.large-logic-display.description = Displays arbitrary graphics from a logic processor. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. -block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers. #Erekir block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. @@ -2149,7 +2147,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge between two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2350,6 +2347,7 @@ graphicstype.poly = Fill a regular polygon. graphicstype.linepoly = Draw a regular polygon outline. graphicstype.triangle = Fill a triangle. graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nOnly ASCII characters are allowed.\nClears the print buffer. lenum.always = Always true. lenum.idiv = Integer division. diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index 344fadea63..bb595100d0 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -1749,7 +1749,6 @@ block.disperse.name = Разыход block.afflict.name = Пакута block.lustre.name = Блеск block.scathe.name = Паражэнне -block.fabricator.name = Фабрыкатар block.tank-refabricator.name = Рэфабрыкатар Танкаў block.mech-refabricator.name = Рэфабрыкатар Мяхоў block.ship-refabricator.name = Рэфабрыкатар Суднаў @@ -2066,7 +2065,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce block.large-logic-display.description = Displays arbitrary graphics from a logic processor. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. -block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. @@ -2102,7 +2100,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2294,6 +2291,7 @@ graphicstype.poly = Fill a regular polygon. graphicstype.linepoly = Draw a regular polygon outline. graphicstype.triangle = Fill a triangle. graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Always true. lenum.idiv = Integer division. lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. diff --git a/core/assets/bundles/bundle_bg.properties b/core/assets/bundles/bundle_bg.properties index 83acf8215c..e4c21ee198 100644 --- a/core/assets/bundles/bundle_bg.properties +++ b/core/assets/bundles/bundle_bg.properties @@ -1761,7 +1761,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricator block.tank-refabricator.name = Tank Refabricator block.mech-refabricator.name = Mech Refabricator block.ship-refabricator.name = Ship Refabricator @@ -2079,7 +2078,6 @@ block.logic-display.description = Позволява изобразяванет block.large-logic-display.description = Позволява изобразяването на графика чрез процесор. block.interplanetary-accelerator.description = Масивна електромагнитна релсова кула. Ускорява ядрата до необходимата скорост за междупланетно изстрелване. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. -block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. @@ -2115,7 +2113,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2313,6 +2310,7 @@ graphicstype.poly = Запълва правилен многоъгълник. graphicstype.linepoly = Очертава правилен многоъгълник. graphicstype.triangle = Запълва триъгълник. graphicstype.image = Рисува изображение.\nНапример: [accent]@router[] или [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Винаги вярно lenum.idiv = Деление с цели числа. diff --git a/core/assets/bundles/bundle_ca.properties b/core/assets/bundles/bundle_ca.properties index 98a4fc40ef..d334a07bb2 100644 --- a/core/assets/bundles/bundle_ca.properties +++ b/core/assets/bundles/bundle_ca.properties @@ -1770,7 +1770,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricadora block.tank-refabricator.name = Milloradora de tancs block.mech-refabricator.name = Milloradora de meques block.ship-refabricator.name = Milloradora de naus @@ -2089,7 +2088,6 @@ block.logic-display.description = Mostra un gràfic des d’un processador lògi block.large-logic-display.description = Mostra un gràfic des d’un processador lògic. block.interplanetary-accelerator.description = Una torreta amb un canó electromagnètic enorme. Accelera els nuclis fins aconseguir la velocitat d’escapament per a fer llançaments interplanetaris. block.repair-turret.description = Repara contínuament la unitat danyada que tingui més a prop al seu voltant. També se li pot subministrar refrigerant perquè funcioni més ràpid. -block.payload-propulsion-tower.description = Estructura de transport de recursos a distància. Dispara paquets de càrrega a altres torres de transport a distància enllaçades. block.core-bastion.description = Nucli de la base. Blindat. Quan es destrueix, es perd el sector. block.core-citadel.description = Nucli de la base. Molt ben blindat. Emmagatzema més recursos que un nucli Bastió. block.core-acropolis.description = Nucli de la base. Excepcionalment ben blindat. Emmagatzema més recursos que un nucli Ciutadella. @@ -2125,7 +2123,6 @@ block.impact-drill.description = Quan es posa a sobre de minerals, n’extrau in block.eruption-drill.description = Una perforadora d’impacte millorada. Pot extraure tori. Necessita hidrogen. block.reinforced-conduit.description = Impulsa i fa circular els fluids. No accepta entrades des dels laterals si no és a través de conductes. block.reinforced-liquid-router.description = Distribueix fluids a tots els seus costats. -block.reinforced-junction.description = Actua com a dues canonades independents que es creuen. block.reinforced-liquid-tank.description = Emmagatzema una gran quantitat de fluid. block.reinforced-liquid-container.description = Emmagatzema fluids. block.reinforced-bridge-conduit.description = Transporta fluids per sota de les estructures i del terreny. @@ -2323,6 +2320,7 @@ graphicstype.poly = Omple un polígon regular. graphicstype.linepoly = Dibuixa els costats d’un polígon regular. graphicstype.triangle = Omple un triangle. graphicstype.image = Dibuixa una imatge d’algun element del joc.\nPer exemple: [accent]@router[] o [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Sempre cert. lenum.idiv = Divisió entera. diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index b6b77cb5de..573074df31 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -1764,7 +1764,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabrikátor block.tank-refabricator.name = Tank Refabricator block.mech-refabricator.name = Mech Refabricator block.ship-refabricator.name = Ship Refabricator @@ -2083,7 +2082,6 @@ block.logic-display.description = Zobrazuje libovolnou grafiku z logického proc block.large-logic-display.description = Zobrazuje libovolnou grafiku z logického procesoru. block.interplanetary-accelerator.description = Masivní elektromagnetická věž. Urychlí jádro na únikovou rychlost pro meziplanetární vyslání. block.repair-turret.description = Nepřetržitě opravuje nejblížší poškozenou jednotku v jeho blízkosti. Lze volitelně dodávat chlazení pro jeho posílení. -block.payload-propulsion-tower.description = Dálková nákladní transportní věž. Střílí náklad do dalších propojených nákladních transportních věží. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. @@ -2119,7 +2117,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2317,6 +2314,7 @@ graphicstype.poly = Vyplní pravidelný mnohoúhelník. graphicstype.linepoly = Nakreslí obrys pravidelného mnohoúhelníku. graphicstype.triangle = Vyplní trojúhelník. graphicstype.image = Vykreslí obrázek nějakého obsahu.\nnapř.: [accent]@router[] nebo [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Vždy pravda. lenum.idiv = Číselné dělení. diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index 2bdc8da595..433f80e1a0 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -1751,7 +1751,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricator block.tank-refabricator.name = Tank Refabricator block.mech-refabricator.name = Mech Refabricator block.ship-refabricator.name = Ship Refabricator @@ -2066,7 +2065,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce block.large-logic-display.description = Displays arbitrary graphics from a logic processor. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. -block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. @@ -2102,7 +2100,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2294,6 +2291,7 @@ graphicstype.poly = Fill a regular polygon. graphicstype.linepoly = Draw a regular polygon outline. graphicstype.triangle = Fill a triangle. graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Always true. lenum.idiv = Integer division. lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index e87333434a..ec44d25f83 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -1780,7 +1780,6 @@ block.disperse.name = Streu block.afflict.name = Afflikt block.lustre.name = Lustre block.scathe.name = Skate -block.fabricator.name = Hersteller block.tank-refabricator.name = Panzerverbesserer block.mech-refabricator.name = Mechverbesserer block.ship-refabricator.name = Schiffverbesserer @@ -2110,7 +2109,6 @@ block.logic-display.description = Zeigt mithilfe eines Prozessors Beliebiges an. block.large-logic-display.description = Zeigt mithilfe eines Prozessors Beliebiges an. block.interplanetary-accelerator.description = Ein Riesen-Railgun-Turm, der mithilfe des Elektromagnetismus Kerne auf die nötige Geschwindigkeit bringt, um interplanetarisches Reisen zu ermöglichen. block.repair-turret.description = Heilt durchgehend die nächste befreundete, beschädigte Einheit in der Umgebung. Verwendet optional Kühlung. -block.payload-propulsion-tower.description = Frachttransportationsturm mit hoher Reichweite. Schießt Fracht zu verbundenen Türmen. #Erekir block.core-bastion.description = Kern der Basis. Gepanzert. Einmal zerstört, ist jeglicher Kontakt zum Sektor verloren. @@ -2148,7 +2146,6 @@ block.impact-drill.description = Baut unbefristet Erze in Schüben aus dem Boden block.eruption-drill.description = Ein verbesserter Schlagbohrer. Kann Thorium abbauen. Benötigt Wasserstoff. block.reinforced-conduit.description = Transportiert Flüssigkeiten. Nimmt von nicht-Kanälen nur von hinten an. block.reinforced-liquid-router.description = Verteilt Flüssigkeiten gleichmäßig auf bis zu drei Richtungen. -block.reinforced-junction.description = Kann als Brücke für zwei sich kreuzende Kanäle verwendet werden. block.reinforced-liquid-tank.description = Lagert eine große Menge an Flüssigkeiten. block.reinforced-liquid-container.description = Lagert eine beträchtliche Menge an Flüssigkeiten. block.reinforced-bridge-conduit.description = Transportiert Flüssigkeiten über Blöcke und Terrain. @@ -2349,6 +2346,7 @@ graphicstype.poly = Füllt ein gleichmäßiges Polygon. graphicstype.linepoly = Zeichnet den Umriss eines gleichmäßigen Polygons. graphicstype.triangle = Zeichnet ein Dreieck. graphicstype.image = Zeichnet ein Bild von einem englischen Namen.\nz.B. [accent]@router[] oder [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Immer. lenum.idiv = Division mit ganzen Zahlen. diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index 4c34ddbde4..d0f31317af 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -1776,7 +1776,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricador block.tank-refabricator.name = Refabricador de tanques block.mech-refabricator.name = Refabricador de mechs block.ship-refabricator.name = Refabricador de aeronaves @@ -2102,7 +2101,6 @@ block.logic-display.description = Muestra gráficos arbitrarios dibujados desde block.large-logic-display.description = Muestra gráficos arbitrarios dibujados desde un procesador lógico. block.interplanetary-accelerator.description = Una torre de proyección electromagnética masiva. Acelera núcleos hasta la velocidad necesaria para escapar del campo gravitatorio del planeta, habilitando el despliegue interplanetario. block.repair-turret.description = Repara continuamente la unidad dañada más cercana dentro de su alcance. Opcionalmente acepta refrigerante. -block.payload-propulsion-tower.description = Estructura que permite transportar otras estructuras a largo alcance. Dispara cargas, tales como unidades o bloques hasta otras torres de propulsión elazadas. # Erekir block.core-bastion.description = Núcleo de la base. Blindado. Una vez destruido, se pierde toda comunicación con el sector. @@ -2140,7 +2138,6 @@ block.impact-drill.description = Si se coloca sobre un mineral, extraerá ráfag block.eruption-drill.description = Un taladro de impacto mejorado, capaz de extraer torio. Requiere hidrógeno. block.reinforced-conduit.description = Mueve fluidos en una dirección. Sus lados no se conectarán con otros tipos de bloques, salvo que también sean tuberías. block.reinforced-liquid-router.description = Distribuye fluidos equitativamente en todas direcciones. -block.reinforced-junction.description = Funciona como un puente para dos tuberías que se cruzan. block.reinforced-liquid-tank.description = Almacena una gran cantidad de fluidos. block.reinforced-liquid-container.description = Almacena una cantidad considerable de fluidos. block.reinforced-bridge-conduit.description = Transporta fluidos sobre el terreno o estructuras. @@ -2342,6 +2339,7 @@ graphicstype.poly = Rellena un polígono regular. graphicstype.linepoly = Dibuja las aristas de un polígono regular. graphicstype.triangle = Rellena un triángulo. graphicstype.image = Dibuja una imagen de algún contenido.\nEjemplo: [accent]@router[] o [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Siempre "true". lenum.idiv = División de un número entero. diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index 3b9c3781fb..e315dfc24d 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -1751,7 +1751,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricator block.tank-refabricator.name = Tank Refabricator block.mech-refabricator.name = Mech Refabricator block.ship-refabricator.name = Ship Refabricator @@ -2068,7 +2067,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce block.large-logic-display.description = Displays arbitrary graphics from a logic processor. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. -block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. @@ -2104,7 +2102,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2296,6 +2293,7 @@ graphicstype.poly = Fill a regular polygon. graphicstype.linepoly = Draw a regular polygon outline. graphicstype.triangle = Fill a triangle. graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Always true. lenum.idiv = Integer division. lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index e8d9787f85..2db4ff04d5 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -1753,7 +1753,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricator block.tank-refabricator.name = Tank Refabricator block.mech-refabricator.name = Mech Refabricator block.ship-refabricator.name = Ship Refabricator @@ -2070,7 +2069,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce block.large-logic-display.description = Displays arbitrary graphics from a logic processor. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. -block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. @@ -2106,7 +2104,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2298,6 +2295,7 @@ graphicstype.poly = Fill a regular polygon. graphicstype.linepoly = Draw a regular polygon outline. graphicstype.triangle = Fill a triangle. graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Always true. lenum.idiv = Integer division. lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index f8dc7f471d..9962837363 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -1753,7 +1753,6 @@ block.disperse.name = Hälvennys block.afflict.name = Aiheuttaja block.lustre.name = Kiilto block.scathe.name = Vahinko -block.fabricator.name = Valmistaja block.tank-refabricator.name = Tankkijälleenrakentaja block.mech-refabricator.name = Robottijälleenrakentaja block.ship-refabricator.name = Ilma-alusjälleenrakentaja @@ -2071,7 +2070,6 @@ block.logic-display.description = Näyttää mielivaltaista ggrafiikkaa prosesso block.large-logic-display.description = Näyttää mielivaltaista ggrafiikkaa prosessorista. block.interplanetary-accelerator.description = Massiivinen sähkömagneettinen raidetykkitorni. Kiihdyttää ytimiä pakonopeuteen interplanetaarista leviämistä varten. block.repair-turret.description = Korjaa jatkuvasti lähintä vahingoittunutta yksikköä lähellään. Käyttää vaihtoehtoisesti jäähdytysnestettä. -block.payload-propulsion-tower.description = Pitkän kantaman lastinsiirtorakennus. Ampuu lastia muihin yhdistettyihin massakiihdytystorneihin. block.core-bastion.description = Tukikohdan ydin. Panssaroitu. Mikäli tuhottu, sektori on menetetty. block.core-citadel.description = Tukikohdan ydin. Tosi hyvin panssaroitu. Varastoi enemmän tavaraa kuin Linnaydin. block.core-acropolis.description = Tukikohdan ydin. Hemmetin hyvin panssaroitu. Varastoi enemmän tavaraa kuin Sitadelliydin. @@ -2107,7 +2105,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2299,6 +2296,7 @@ graphicstype.poly = Piirrä säännöllinen monikulmio. graphicstype.linepoly = Piirrä säännöllisen monikulmion ääriviivat. graphicstype.triangle = Piirrä täytetty kolmio. graphicstype.image = Piirrä kuva jostain sisällöstä.\nEsim: [accent]@router[] tai [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Aina tosi. lenum.idiv = Kokonaislukujen osamäärä. lenum.div = Osamäärä.\nPalauttaa arvon [accent]null[] jaettaessa nollalla. diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index 0920a69b5e..01780b4db8 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -1750,7 +1750,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricator block.tank-refabricator.name = Tank Refabricator block.mech-refabricator.name = Mech Refabricator block.ship-refabricator.name = Ship Refabricator @@ -2067,7 +2066,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce block.large-logic-display.description = Displays arbitrary graphics from a logic processor. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. -block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. @@ -2103,7 +2101,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2295,6 +2292,7 @@ graphicstype.poly = Fill a regular polygon. graphicstype.linepoly = Draw a regular polygon outline. graphicstype.triangle = Fill a triangle. graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Always true. lenum.idiv = Integer division. lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index 6a2f847786..fb44cebe88 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -35,7 +35,7 @@ load.mod = Mods load.scripts = Scripts be.update = Une nouvelle version expérimentale est disponible: -be.update.confirm = Télécharger et Redémarrer le jeu maintenant ? +be.update.confirm = Télécharger et redémarrer le jeu maintenant ? be.updating = Mise à jour en cours... be.ignore = Ignorer be.noupdates = Aucune mise à jour trouvée. @@ -72,7 +72,7 @@ schematic.saved = Schéma enregistré. schematic.delete.confirm = Ce schéma sera supprimé définitivement ! schematic.edit = Editer Schéma schematic.info = {0}x{1}, {2} blocs -schematic.disabled = [scarlet]Schémas désactivés ![]\nVous n'êtes pas autorisés à utiliser des schémas sur cette [accent]carte[] ou dans ce [accent]serveur. +schematic.disabled = [scarlet]Schémas désactivés ![]\nVous n'êtes pas autorisé à utiliser des schémas sur cette [accent]carte[] ou dans ce [accent]serveur. schematic.tags = Étiquettes : schematic.edittags = Éditer les étiquettes schematic.addtag = Ajouter une étiquette @@ -129,7 +129,7 @@ committingchanges = Validation des modifications done = Terminé feature.unsupported = Votre appareil ne prend pas en charge cette fonctionnalité. -mods.initfailed = [red]⚠[] L'instance précédente de Mindustry n’a pas pu s’initialiser. Cela a probablement été causé par des mods.\n\nPour éviter une boucle de crash, [red]tous les mods ont été désactivés.[] +mods.initfailed = [red]⚠[] L'instance précédente de Mindustry n’a pas pu s’initialiser. Cela a probablement été causé par des mods.\n\nPour éviter une boucle de plantage, [red]tous les mods ont été désactivés.[] mods = Mods mods.none = [lightgray]Aucun Mod trouvé ! mods.guide = Guide de Modding @@ -245,7 +245,7 @@ hosts.none = [lightgray]Aucune partie en LAN trouvée ! host.invalid = [scarlet]Impossible de se connecter à l'hôte. servers.local = Serveurs locaux -servers.local.steam = Jeux Libres & Serveurs Locaux +servers.local.steam = Parties Libres & Serveurs Locaux servers.remote = Serveurs distants servers.global = Serveurs communautaires @@ -291,7 +291,7 @@ confirmunban = Êtes-vous sûr de vouloir annuler le ban de ce joueur ? confirmadmin = Êtes-vous sûr de vouloir faire de "{0}[white]" un administrateur ? confirmunadmin = Êtes-vous sûr de vouloir supprimer le statut d'administrateur de "{0}[white]" ? votekick.reason = Raison du vote d'expulsion -votekick.reason.message = Êtes-vous sûr de vouloir voter l'expulsion de "{0}[white]"?Si oui, merci d'entrer la raison : +votekick.reason.message = Êtes-vous sûr de vouloir voter l'expulsion de "{0}[white]"?\nSi oui, merci d'entrer la raison : joingame.title = Rejoindre une partie joingame.ip = Adresse IP : disconnect = Déconnecté. @@ -354,23 +354,23 @@ command.rebuild = Reconstruire command.assist = Assister command.move = Bouger command.boost = Booster -command.enterPayload = Enter Payload Block -command.loadUnits = Load Units -command.loadBlocks = Load Blocks -command.unloadPayload = Unload Payload -stance.stop = Cancel Orders -stance.shoot = Stance: Shoot -stance.holdfire = Stance: Hold Fire -stance.pursuetarget = Stance: Pursue Target -stance.patrol = Stance: Patrol Path -stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding +command.enterPayload = Entrer dans Bloc de Transport +command.loadUnits = Transporter Unités +command.loadBlocks = Transporter Blocs +command.unloadPayload = Poser Chargement +stance.stop = Annuler les Ordres +stance.shoot = Ordre: Tirer +stance.holdfire = Ordre: Ne pas Tirer +stance.pursuetarget = Ordre: Poursuivre Cible +stance.patrol = Ordre: Chemins de Contrôle +stance.ram = Ordre: Charger\n[lightgray]Mouvement en ligne droite, sans détection de chemins openlink = Ouvrir le lien copylink = Copier le lien back = Retour max = Max objective = Objectif de la Carte crash.export = Exporter les rapports de bugs -crash.none = Aucun rapport de bug trouvé. +crash.none = Aucun rapport de bugs trouvé. crash.exported = Rapports de bugs exportés. data.export = Exporter les données data.import = Importer des données @@ -431,7 +431,7 @@ steam.error = Échec d'initialisation des services Steam.\nErreur : {0} editor.planet = Planète : editor.sector = Secteur : editor.seed = Graine : -editor.cliffs = Transformer murs en falaises +editor.cliffs = Transformer les murs en falaises editor.brush = Pinceau editor.openin = Ouvrir dans l'éditeur editor.oregen = Génération de minerai @@ -564,7 +564,7 @@ toolmode.fillerase = Remplir et effacer toolmode.fillerase.description = Efface les blocs\ndu même type. toolmode.drawteams = Dessiner les équipes toolmode.drawteams.description = Change les équipes\nau lieu de blocs. -#unitilisé +#inutilisé toolmode.underliquid = Sous les liquides toolmode.underliquid.description = Dessiner les sols sous les tuiles de liquides. @@ -664,7 +664,7 @@ marker.shapetext.name = Forme de Texte marker.minimap.name = Minicarte marker.shape.name = Forme marker.text.name = Texte -marker.line.name = Line +marker.line.name = Ligne marker.background = Fond marker.outline = Contour @@ -707,7 +707,7 @@ connectfail = [scarlet]Échec de la connexion au serveur : \n\n[accent]{0} error.unreachable = Serveur inaccessible.\nEst-ce que l'adresse est écrite correctement? error.invalidaddress = Adresse invalide. error.timedout = Expiration du délai!\nAssurez-vous que l'ouverture des ports est configurée chez l'hôte, que le serveur est ouvert et que l'adresse est correcte! -error.mismatch = Erreur de paquet :\nPossible incompatibilité de version client/serveur.\nAssurez-vous que l'hôte et vous disposez de la même version de Mindustry ! +error.mismatch = Erreur de paquet :\nPossible incompatibilité de version client/serveur.\nAssurez-vous que l'hôte et vous, disposez de la même version de Mindustry ! error.alreadyconnected = Déjà connecté. error.mapnotfound = Fichier de carte introuvable ! error.io = Erreur de Réseau (I/O) @@ -752,12 +752,12 @@ sector.curlost = Secteur perdu sector.missingresources = [scarlet]Ressources du Noyau insuffisantes ! sector.attacked = Secteur [accent]{0}[white] attaqué ! sector.lost = Secteur [accent]{0}[white] perdu ! -#note: the missing space in the line below is intentional +#note: l'espace manquant dans la ligne ci-dessous est intentionnel sector.captured = Secteur [accent]{0}[white]capturé ! sector.changeicon = Changer l'Icône sector.noswitch.title = Impossible de changer de Secteur sector.noswitch = Vous ne pouvez pas changer de secteur pendant qu’un autre est attaqué.\n\nSecteur: [accent]{0}[] sur [accent]{1}[] -sector.view = Voir le Secteur +sector.view = Voir le secteur threat.low = Faible threat.medium = Normale @@ -873,7 +873,7 @@ settings.graphics = Graphismes settings.cleardata = Effacer les données du jeu... settings.clear.confirm = Êtes-vous sûr de vouloir effacer ces données?\nAucun retour en arrière n'est possible ! settings.clearall.confirm = [scarlet]ATTENTION ![]\nCette action effacera toutes les données, y compris les sauvegardes, les cartes, la progression et la configuration des touches.\nUne fois que vous aurez pressé 'OK', le jeu effacera TOUTES les données et se fermera. -settings.clearsaves.confirm = Êtes-vous sûr de vouloir supprimer toutes vos sauvegardes? +settings.clearsaves.confirm = Êtes-vous sûr de vouloir supprimer toutes vos sauvegardes ? settings.clearsaves = Supprimer les Sauvegardes settings.clearresearch = Supprimer la Recherche settings.clearresearch.confirm = Êtes-vous sûr de vouloir supprimer toutes les recherches de la campagne ? @@ -938,7 +938,7 @@ stat.maxunits = Max d'Unités Actives stat.health = Santé stat.armor = Armure stat.buildtime = Durée de construction -stat.maxconsecutive = Max Consécutif +stat.maxconsecutive = Max consécutif stat.buildcost = Coût de construction stat.inaccuracy = Imprécision stat.shots = Tirs @@ -983,9 +983,9 @@ ability.movelightning = Déplacement éclair ability.shieldarc = Arc de Bouclier ability.suppressionfield = Champ de Suppression de Soins ability.energyfield = Champ d'énergie -ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}% -ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0} -ability.regen = Regeneration +ability.energyfield.sametypehealmultiplier = [lightgray]Soins des Unités du Même Type: [white]{0}% +ability.energyfield.maxtargets = [lightgray]Cibles Maximales: [white]{0} +ability.regen = Régénération bar.onlycoredeposit = Seul le dépôt de ressources dans le Noyau est autorisé bar.drilltierreq = Meilleure Foreuse Requise @@ -1025,7 +1025,7 @@ bullet.splashdamage = [stat]{0}[lightgray] dégâts de zone ~[stat] {1}[lightgra bullet.incendiary = [stat]incendiaire bullet.homing = [stat]autoguidé bullet.armorpierce = [stat]perceur d'armure -bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.maxdamagefraction = [stat]{0}%[lightgray] limite de dégâts bullet.suppression = [stat]{0} sec[lightgray] suppression de soins ~ [stat]{1}[lightgray] blocs bullet.interval = [stat]{0}/sec[lightgray] Balle secondaire: bullet.frags = [stat]{0}[lightgray]x Balle à fragmentation: @@ -1081,12 +1081,12 @@ setting.backgroundpause.name = Pause en Arrière-plan setting.buildautopause.name = Confirmation avant construction setting.doubletapmine.name = Double-clic pour Miner setting.commandmodehold.name = Retenir pour le Mode « Commande » -setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.distinctcontrolgroups.name = Limiter un groupe de contrôle par unité setting.modcrashdisable.name = Désactiver les mods lors d'un crash au démarrage setting.animatedwater.name = Surfaces Animées setting.animatedshields.name = Boucliers Animés -setting.playerindicators.name = Indicateurs alliés -setting.indicators.name = Indicateurs ennemis +setting.playerindicators.name = Indicateurs d'alliés +setting.indicators.name = Indicateurs d'ennemis setting.autotarget.name = Visée automatique setting.keyboard.name = Contrôles Souris+Clavier setting.touchscreen.name = Commandes d'écran tactile @@ -1117,7 +1117,7 @@ setting.fullscreen.name = Plein Écran setting.borderlesswindow.name = Fenêtré sans bordures setting.borderlesswindow.name.windows = Plein écran sans bordure setting.borderlesswindow.description = Un redémarrage peut être nécessaire pour appliquer les changements. -setting.fps.name = Afficher FPS et Ping +setting.fps.name = Afficher les FPS et le Ping setting.console.name = Activer la Console setting.smoothcamera.name = Lissage de la Caméra setting.vsync.name = Synchronisation Verticale @@ -1127,8 +1127,8 @@ setting.coreitems.name = Afficher les objets du Noyau setting.position.name = Afficher la position du joueur setting.mouseposition.name = Afficher la Position de la Souris setting.musicvol.name = Volume de la Musique -setting.atmosphere.name = Montrer l'Atmosphère de la planète -setting.drawlight.name = Draw Darkness/Lighting +setting.atmosphere.name = Montrer l'Atmosphère des planètes +setting.drawlight.name = Dessiner les Ombres/Lumières setting.ambientvol.name = Volume Ambiant setting.mutemusic.name = Couper la Musique setting.sfxvol.name = Volume des Sons et Effets @@ -1155,7 +1155,7 @@ keybind.title = Paramètres des Touches du Clavier keybinds.mobile = [scarlet]La plupart des touches de clavier ne sont pas fonctionnelles sur mobile. Seuls les mouvements basiques sont supportés. category.general.name = Général category.view.name = Vue -category.command.name = Unit Command +category.command.name = Commandes d'Unité category.multiplayer.name = Multijoueur category.blocks.name = Sélection des blocs placement.blockselectkeys = \n[lightgray]Raccourci : [{0}, @@ -1173,23 +1173,26 @@ keybind.mouse_move.name = Suivre la souris keybind.pan.name = Vue Panoramique keybind.boost.name = Boost keybind.command_mode.name = Mode « Commande » -keybind.command_queue.name = Unit Command Queue -keybind.create_control_group.name = Create Control Group -keybind.cancel_orders.name = Cancel Orders -keybind.unit_stance_shoot.name = Unit Stance: Shoot -keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire -keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target -keybind.unit_stance_patrol.name = Unit Stance: Patrol -keybind.unit_stance_ram.name = Unit Stance: Ram -keybind.unit_command_move = Unit Command: Move -keybind.unit_command_repair = Unit Command: Repair -keybind.unit_command_rebuild = Unit Command: Rebuild -keybind.unit_command_assist = Unit Command: Assist -keybind.unit_command_mine = Unit Command: Mine -keybind.unit_command_boost = Unit Command: Boost -keybind.unit_command_load_units = Unit Command: Load Units -keybind.unit_command_load_blocks = Unit Command: Load Blocks -keybind.unit_command_unload_payload = Unit Command: Unload Payload +keybind.command_queue.name = File d'attente des Commandes d'Unités +keybind.create_control_group.name = Créer un Groupe de Contrôle +keybind.cancel_orders.name = Annuler les Ordres + +keybind.unit_stance_shoot.name = Ordre: Tirer +keybind.unit_stance_hold_fire.name = Ordre: Ne pas tirer +keybind.unit_stance_pursue_target.name = Ordre: Poursuivre la cible +keybind.unit_stance_patrol.name = Ordre: Patrouille +keybind.unit_stance_ram.name = Ordre: Charger + +keybind.unit_command_move = Commande: Bouger +keybind.unit_command_repair = Commande: Réparer +keybind.unit_command_rebuild = Commande: Reconstruire +keybind.unit_command_assist = Commande: Assister +keybind.unit_command_mine = Commande: Miner +keybind.unit_command_boost = Commande: Boost +keybind.unit_command_load_units = Commande: Transporter unités +keybind.unit_command_load_blocks = Commande: Transporter blocs +keybind.unit_command_unload_payload = Commande: Poser chargement + keybind.rebuild_select.name = Reconstruire la Zone keybind.schematic_select.name = Sélectionner une Région keybind.schematic_menu.name = Menu des schémas @@ -1222,7 +1225,7 @@ keybind.deselect.name = Désélectionner keybind.pickupCargo.name = Prendre un Chargement keybind.dropCargo.name = Lâcher un Chargement keybind.shoot.name = Tirer -keybind.zoom.name = Zoom +keybind.zoom.name = Zoomer keybind.menu.name = Menu keybind.pause.name = Pause keybind.pause_building.name = Pauser/Reprendre la Construction @@ -1240,9 +1243,9 @@ keybind.chat_history_prev.name = Remonter l'Historique du Tchat keybind.chat_history_next.name = Descendre l'Historique du Tchat keybind.chat_scroll.name = Défilement du Tchat keybind.chat_mode.name = Changer le mode du Tchat -keybind.drop_unit.name = Larguer une unité +keybind.drop_unit.name = Larguer une Unité keybind.zoom_minimap.name = Zoomer la Mini-carte -mode.help.title = Description des modes de jeu +mode.help.title = Description des modes de jeux mode.survival.name = Survie mode.survival.description = Le mode normal. Ressources limitées et vagues automatiques.\n[gray]Requiert des points d'apparition ennemis pour pouvoir jouer à ce mode. mode.sandbox.name = Bac à Sable @@ -1253,12 +1256,12 @@ mode.pvp.description = Lutter contre d'autres joueurs pour gagner !\n[gray]Requi mode.attack.name = Attaque mode.attack.description = Pas forcément de vagues, le but étant de détruire la base ennemie.\n[gray]Requiert un Noyau rouge pour jouer à ce mode. mode.custom = Règles Personnalisées -rules.invaliddata = Invalid clipboard data. -rules.hidebannedblocks = Cacher les blocs bannis. +rules.invaliddata = Données du Presse-Papier Invalides. +rules.hidebannedblocks = Cacher les blocs bannis. rules.infiniteresources = Ressources Infinies -rules.onlydepositcore = Seulement autoriser le Dépôt d'Objets dans le Noyau -rules.derelictrepair = Allow Derelict Block Repair +rules.onlydepositcore = Seulement autoriser le dépôt d'Objets dans le Noyau +rules.derelictrepair = Autoriser la réparation des structures abandonnées rules.reactorexplosions = Explosion des Réacteurs rules.coreincinerates = Incinération des surplus du Noyau rules.disableworldprocessors = Désactiver les Processeurs Globaux @@ -1275,7 +1278,7 @@ rules.rtsmaxsquadsize = Taille Maximale d'une Escouade rules.rtsminattackweight = Poids Minimum d'une Attaque rules.cleanupdeadteams = Détruire les structures des équipes vaincues (JcJ) rules.corecapture = Capture du Noyau lors de sa Destruction -rules.polygoncoreprotection = Protection Polygonale du Noyau +rules.polygoncoreprotection = Protection polygonale du Noyau rules.placerangecheck = Vérification de la Portée de Placement rules.enemyCheat = Ressources infinies pour l'IA (équipe rouge) rules.blockhealthmultiplier = Multiplicateur de Santé des Blocs @@ -1287,9 +1290,9 @@ rules.unitdamagemultiplier = Multiplicateur de Dégât des Unités rules.unitcrashdamagemultiplier = Multiplicateur de Dégât de chute des Unités rules.solarmultiplier = Multiplicateur de l'Efficacité des Panneaux Solaires rules.unitcapvariable = Les Noyaux contribuent à la limite d'Unités actives -rules.unitcap = Limite d'Unités actives de Base -rules.limitarea = Limite de la Zone de Jeu de la Carte -rules.enemycorebuildradius = Périmètre de Non-Construction autour du Noyau ennemi :[lightgray] (blocs) +rules.unitcap = Limite initiale d'Unités actives +rules.limitarea = Limite de la zone de jeu de la Carte +rules.enemycorebuildradius = Périmètre Non-Constructible autour du Noyau ennemi :[lightgray] (blocs) rules.wavespacing = Temps entre les Vagues :[lightgray] (sec) rules.initialwavespacing = Temps de Vague Initial :[lightgray] (sec) rules.buildcostmultiplier = Multiplicateur du prix de construction @@ -1297,7 +1300,7 @@ rules.buildspeedmultiplier = Multiplicateur du temps de construction rules.deconstructrefundmultiplier = Multiplicateur du remboursement lors de la déconstruction rules.waitForWaveToEnd = Les Vagues attendent la mort des ennemis rules.wavelimit = La Partie termine après la Vague -rules.dropzoneradius = Rayon d'Apparition des ennemis :[lightgray] (blocs) +rules.dropzoneradius = Rayon de la Zone d'Apparition ennemie :[lightgray] (blocs) rules.unitammo = Les Unités nécessitent des munitions rules.enemyteam = Équipe ennemie rules.playerteam = Équipe du joueur @@ -1650,9 +1653,9 @@ block.large-constructor.description = Fabrique des structures d'une taille maxim block.deconstructor.name = Déconstructeur block.deconstructor.description = Déconstruit les structures et les unités. Retourne 100% du coût de construction. block.payload-loader.name = Chargeur de charge utile -block.payload-loader.description = Chargez les liquides et les articles dans les blocs. +block.payload-loader.description = Charge les liquides et les ressources dans les blocs. block.payload-unloader.name = Déchargeur de charge utile -block.payload-unloader.description = Décharge les liquides et les articles des blocs. +block.payload-unloader.description = Décharge les liquides et les ressources des blocs. block.heat-source.name = Source de Chaleur block.heat-source.description = Produit de grandes quantités de chaleur. Bac à sable uniquement. @@ -1782,7 +1785,6 @@ block.disperse.name = Propagateur block.afflict.name = Éclateur block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricateur block.tank-refabricator.name = Refabricateur de Tanks block.mech-refabricator.name = Refabricateur de Mécas block.ship-refabricator.name = Refabricateur de Vaisseaux @@ -1840,11 +1842,11 @@ hint.research = Utilisez le bouton \ue875 [accent]Recherche[] pour rechercher de hint.research.mobile = Utilisez le bouton \ue875 [accent]Recherche[] dans le \ue88c [accent]Menu[] pour rechercher de nouvelles technologies. hint.unitControl = Retenez [accent][[Ctrl-gauche][] et [accent]cliquez[] pour contrôler une tourelle ou une unité alliée. hint.unitControl.mobile = [accent][[Tapez][] 2 fois une tourelle ou une unité alliée pour la contrôler. -hint.unitSelectControl = Pour contrôler les unités, entrez en mode [accent]« Commande »[] en pressant [accent]Maj gauche.[]\nEn mode « Commande », cliquez et faites glisser la souris pour sélectionner des unités. Faites un [accent]Clic droit[] à un emplacement ou une cible pour que les unités s'y déplacent. +hint.unitSelectControl = Pour contrôler les unités, entrez en mode [accent]« Commande »[] en pressant [accent]Maj gauche[].\nEn mode « Commande », cliquez et faites glisser la souris pour sélectionner des unités. Faites un [accent]Clic droit[] à un emplacement ou une cible pour que les unités s'y déplacent. hint.unitSelectControl.mobile = Pour contrôler les unités, entrez en mode [accent]« Commande »[] en pressant le bouton de [accent]commande[] en bas à gauche de l'écran.\nEn mode « Commande », pressez longuement et faites glisser pour sélectionner des unités. Tapez un emplacement ou une cible pour que les unités s'y déplacent. hint.launch = Une fois que vous avez collecté assez de ressources, vous pouvez [accent]Lancer[] votre Noyau en sélectionnant un secteur depuis la \ue827 [accent]Carte[] en bas à droite. hint.launch.mobile = Une fois que vous avez collecté assez de ressources, vous pouvez [accent]Lancer[] votre Noyau en sélectionnant un secteur depuis la \ue827 [accent]Carte[] dans le \ue88c [accent]Menu[]. -hint.schematicSelect = Retenez [accent][[F][] pour sélectionner des blocs dans une zone afin de les copier et les coller.\n\n[accent][[Clic du milieu][] pour copier un seul type de bloc. +hint.schematicSelect = Retenez [accent][[F][] pour sélectionner des blocs dans une zone afin de les copier et les coller.\n\n[accent][[Clic molette][] pour copier un seul type de bloc. hint.rebuildSelect = Retenez [accent][[B][] et faites glissez pour selectionner les plans des blocs détruits.\nCela va automatiquement les reconstruire. hint.rebuildSelect.mobile = Selectionnez le \ue874 bouton de copie, ensuite tapez le \ue80f bouton de reconstruction et faites glisser pour sélectionner les plans des blocs détruits.\nCela va les reconstruire automatiquement. hint.conveyorPathfind = Retenez [accent][[Ctrl-gauche][] pendant que vous placez des convoyeurs, afin de générer un chemin automatiquement. @@ -1860,7 +1862,7 @@ hint.guardian = Les [accent]Gardiens[] sont protégés par un bouclier. Les muni hint.coreUpgrade = Les Noyaux peuvent être améliorés [accent]en plaçant un Noyau de plus haut niveau sur eux[].\n\nPlacez un \uf868 Noyau [accent]Fondation[] sur le \uf869 Noyau [accent]Fragment[]. Soyez sûrs que rien n'obstrue la construction. hint.presetLaunch = Les [accent]secteurs[] gris, tels que [accent]Frozen Forest[], peuvent être lancés de n'importe où. Ils ne requièrent pas la capture d'un secteur adjacent.\n\n[accent]Il y a beaucoup de secteurs[] comme celui-ci, qui sont [accent]optionnels[]. hint.presetDifficulty = Ce secteur a un niveau de menace ennemi [scarlet]élevé[].\nIl n'est [accent]pas recommandé[] de se lancer dans de tels secteurs sans la technologie et la préparation appropriées. -hint.coreIncinerate = Lorsqu'un Noyau est rempli d'une ressource en particulier, le surplus qui rentrera dans celui-ci sera [accent]incinéré[]. +hint.coreIncinerate = Lorsqu'un Noyau est rempli d'une ressource en particulier, le surplus qui y rentrera sera [accent]incinéré[]. hint.factoryControl = Pour régler la [accent]destination[] d'une usine à unités, cliquez sur l'usine en mode « Commande », puis clic-droit sur la destination souhaitée.\nLes unités produites s'y déplaceront automatiquement. hint.factoryControl.mobile = Pour régler la [accent]destination[] d'une usine à unités, tapez sur l'usine en mode « Commande », puis tapez sur la destination souhaitée.\nLes unités produites s'y déplaceront automatiquement. @@ -1877,8 +1879,8 @@ gz.turrets = Recherchez et placez 2 \uf861 [accent]Duos[] pour défendre votre n gz.duoammo = Rechargez vos Duos avec du [accent]cuivre[], en utilisant les convoyeurs. gz.walls = Les [accent]Murs[] peuvent empêcher les attaques ennemies d'atteindre vos constructions.\nPlacez des \uf8ae [accent]murs de cuivre[] autour de vos tourelles. gz.defend = Ennemis en approche, préparez-vous à défendre. -gz.aa = Les unités aériennes ne peuvent pas être facilement repoussées avec des tourelles standard.\n\uf860 Les [accent]Disperseurs[] sont d'excellentes tourelles anti-aériennes, mais requierent du \uf837 [accent]plomb[] en tant que munition. -gz.scatterammo = Approvisionnez le Disperseur avec du [accent]plomb[], en utilisant des convoyeurs. +gz.aa = Les unités aériennes ne peuvent pas être facilement repoussées avec des tourelles standard.\n\uf860 Les [accent]Disperseurs[] sont d'excellentes tourelles anti-aériennes, mais requièrent du \uf837 [accent]plomb[] en tant que munition. +gz.scatterammo = Approvisionnez le Disperseur avec du [accent]plomb[] en utilisant des convoyeurs. gz.supplyturret = [accent]Approvisionnez la tourelle gz.zone1 = Ceci est la zone d'apparition ennemie. gz.zone2 = Tout ce qui est construit dans le rayon est détruit lors du commencement de la vague. @@ -1895,22 +1897,20 @@ onset.ducts.mobile = Recherchez et placez des \uf799 [accent]conduits[] pour dé onset.moremine = Étendez vos exploitations minières.\nPlacez plus de foreuses à plasma et utilisez des transmetteurs à rayons pour les relier.\nMinez 200 minerais de béryllium. onset.graphite = Les blocs plus complexes requièrent du \uf835 [accent]graphite[].\nPlacez quelques foreuses à plasma pour miner du graphite. onset.research2 = Commencez à rechercher des [accent]usines[].\nRecherchez le \uf74d [accent]broyeur de parois[] et le \uf779 [accent]four de silicium[]. -onset.arcfurnace = le four de silicium a besoin de \uf834 [accent]sable[] et de \uf835 [accent]graphite[] pour créer du \uf82f [accent]silicium[].\nDe [accent]l'énergie[] est aussi requise. +onset.arcfurnace = Le four de silicium a besoin de \uf834 [accent]sable[] et de \uf835 [accent]graphite[] pour créer du \uf82f [accent]silicium[].\nDe [accent]l'énergie[] est aussi requise. onset.crusher = Utilisez des \uf74d [accent]broyeurs de parois[] pour miner du sable. -onset.fabricator = Utilisez des [accent]unités[] pour explorer la carte, défendre vos constructions et attaquer l'ennemi. Recherchez et placez un \uf6a2 [accent]fabricateur de tanks[]. +onset.fabricator = Utilisez des [accent]Unités[] pour explorer la carte, défendre vos constructions et attaquer l'ennemi. Recherchez et placez un \uf6a2 [accent]Fabricateur de Tanks[]. onset.makeunit = Produisez une unité.\nUtilisez le bouton "?" pour voir les ressources requises par le fabricateur. onset.turrets = Les unités sont efficaces, mais les [accent]tourelles[] ont de meilleures capacités défensives si elles sont bien utilisées.\nPlacez une tourelle \uf6eb [accent]brèche[].\nLes tourelles requièrent des [accent]munitions[] \uf748. -onset.turretammo = Approvisionnez les tourelles avec du [accent]béryllium.[] +onset.turretammo = Approvisionnez les tourelles avec du [accent]béryllium[]. onset.walls = Les [accent]murs[] peuvent encaisser les dégâts des attaques ennemies avant qu'elles atteignent vos constructions.\nPlacez quelques \uf6ee [accent]murs de béryllium[] autour de la tourelle. onset.enemies = Ennemis en approche, préparez-vous à défendre. -onset.attack = L'ennemi est vulnérable. Contre-attaquez. +onset.attack = L'ennemi est vulnérable. Contre-attaquez ! onset.cores = Les noyaux peuvent être placés sur des [accent]tuiles de noyau[].\nCes nouveaux noyaux servent à faire avancer votre base et partager vos ressources avec d'autres noyaux.\nPlacez un noyau \uf725. onset.detect = L'ennemi sera capable de vous détecter dans 2 minutes.\nAméliorez vos défenses, vos exploitations minières ainsi que votre production. - -#Ne pas traduire -onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. -onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. -aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +onset.commandmode = Retenez [accent]Maj-gauche[] pour entrer en [accent]Mode « Commande »[].\n[accent]Clic-gauche tout en bougeant la souris[] pour sélectionner des unités.\n[accent]Clic-droit[] pour ordonner aux unités sélectionnées de bouger ou attaquer. +onset.commandmode.mobile = Pressez le [accent]bouton de commande[] pour entrer en [accent]Mode « Commande »[].\nRetenez votre doigt, et [accent]bougez-le[] pour sélectionner des unités.\n[accent]Tapez[] pour ordonner aux unités sélectionnées de bouger ou attaquer. +aegis.tungsten = Le tungstène peut être miné en utilisant une [accent]foreuse à impact[].\nCette structure requiert de [accent]l'eau[] et de [accent]l'énergie[]. split.pickup = Certains blocs peuvent être transportés par des unités du noyau.\nTransportez ce [accent]conteneur[] et placez-le sur le [accent]chargeur de charges utiles[].\n(Les touches par défaut sont [[ pour ramasser et ] pour déposer) split.pickup.mobile = Certains blocs peuvent être transportés par des unités du noyau.\nTransportez ce [accent]conteneur[] et placez-le sur le [accent]chargeur de charges utiles[].\n(Pour ramasser ou déposer quelque chose, Pressez longuement dessus.) @@ -1926,7 +1926,7 @@ item.metaglass.description = Un composé de verre super-résistant. Utilisation item.graphite.description = Du carbone minéralisé utilisé pour les munitions et dans les composants électriques. item.sand.description = Un matériau commun, largement utilisé pour la fabrication de matériaux raffinés. item.coal.description = Un carburant commun et facile à obtenir. -item.coal.details = De la matière végétale fossilisée, formée bien avant l’ensemencement de ce monde. Utilisation très répandue pour la production de carburant et de ressources. +item.coal.details = De la matière végétale fossilisée, formée bien avant l’ensemencement de ce monde. Utilisation très répandue pour la production de carburant et de ressources. item.titanium.description = Un métal rare et super-léger, largement utilisé dans le transport de liquides, dans les foreuses de haut niveau et dans les usines. item.thorium.description = Un métal dense et radioactif, utilisé comme support structurel et comme carburant nucléaire. item.scrap.description = Il est utilisé dans les fours à fusion et les pulvériseurs, pour être raffiné en d'autres matériaux. @@ -2110,10 +2110,9 @@ block.logic-display.description = Affiche des images à partir des instructions block.large-logic-display.description = Affiche des images à partir des instructions d'un processeur logique. Possède une plus grande résolution qu'un écran. block.interplanetary-accelerator.description = Un énorme canon électromagnétique à rails. Accélère les Noyaux pour qu'ils échappent à la gravité de leur planète et leur permettent un déploiement interplanétaire. block.repair-turret.description = Répare en continu l'unité endommagée la plus proche dans son périmètre. Accepte le liquide de refroidissement en option. -block.payload-propulsion-tower.description = Structure de transport de charges utiles à longue portée. Projette des charges utiles vers d'autres tours de propulsion de charges utiles reliées. #Erekir -block.core-bastion.description = Le cœur de votre base. Blindé. Une fois détruit, le secteur est perdu. +block.core-bastion.description = Le cœur de votre base. Blindé. Une fois détruit, le secteur est perdu. block.core-citadel.description = Le cœur de votre base. Très bien blindé. Stocke plus de ressources qu'un noyau Bastion. block.core-acropolis.description = Le cœur de votre base. Exceptionnellement bien blindé. Stocke plus de ressources qu'un noyau Citadelle. block.breach.description = Tire des munitions perforantes de béryllium ou de tungstène sur les cibles ennemies. @@ -2148,7 +2147,6 @@ block.impact-drill.description = Lorsqu'il est placé sur du minerai, il produit block.eruption-drill.description = Une foreuse à impact améliorée. Capable d'extraire du thorium. Requiert de l'hydrogène. block.reinforced-conduit.description = Déplace les fluides. N'accepte pas les entrées sans conduit sur les côtés. block.reinforced-liquid-router.description = Accepte les fluides depuis une direction et les distribue jusqu'à 3 directions équitablement. -block.reinforced-junction.description = Agit comme un pont entre deux conduits qui se croisent. block.reinforced-liquid-tank.description = Stocke une grande quantité de fluides. block.reinforced-liquid-container.description = Stocke une quantité importante de fluides. block.reinforced-bridge-conduit.description = Transporte les fluides par-dessus les structures et le terrain. @@ -2297,19 +2295,19 @@ lst.setrate = Définit la vitesse d'exécution d'un processeur en instructions/t lst.fetch = Cherche les unités, noyaux, joueurs ou constructions par index. Commence à 0 et termine par le nombre retourné. lst.packcolor = Compresse les composants RGBA [0, 1] en un seul nombre pour les opérations de dessins ou les changements de règles. lst.setrule = Change une règle du jeu. -lst.flushmessage = Affiche un message sur l'écran depuis la mémoire tampon de texte.\nLe message apparait après la fin du dernier. +lst.flushmessage = Affiche un message sur l'écran depuis la mémoire tampon de texte.\nAttendra la fin du message précédent avant l'affichage du nouveau. lst.cutscene = Manipule la caméra du joueur. -lst.setflag = Définit un drapeau global qui peut être lu par tous les processeurs. -lst.getflag = Vérifie si un drapeau global est présent. +lst.setflag = Définit une variable globale qui peut être lue par tous les processeurs. +lst.getflag = Vérifie si une variable globale est présente. lst.setprop = Change une propriété d'une unité ou d'un bâtiment. -lst.effect = Create a particle effect. -lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. -lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. -lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.effect = Crée un effet de particules. +lst.sync = Synchronise une variable dans le réseau.\nLimité à 20 fois par seconde et par variable. +lst.makemarker = Crée un marqueur dans le monde.\nUn ID pour identifier le marqueur doit être donné.\nLes marqueurs sont limités à 20,000 par monde. +lst.setmarker = Change une propriété d'un marqueur.\nL'ID utilisé doit être le même que celui de l'instruction "Make Marker". logic.nounitbuild = [red]Les unités contrôlées par des processeurs ne peuvent pas construire ici. -lenum.type = Type de bâtiment/unité.\nPar exemple, pour tout routeur, cela retournera [accent]@router[].\nPas en texte. +lenum.type = Type de bâtiment/unité.\nPar exemple, pour tout routeur, cela retournera [accent]@router[]. lenum.shoot = Tire à une position donnée. 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. @@ -2321,7 +2319,7 @@ laccess.dead = Retourne si l'Unité/Bâtiment est morte/détruit ou plus valide. laccess.controlled = Retourne:\n[accent]@ctrlProcessor[] si le contrôleur de l'Unité est un processeur\n[accent]@ctrlPlayer[] si l'Unité/Bâtiment est contrôlé par un joueur\n[accent]@ctrlFormation[] si l'Unité est en formation\nSinon, retourne 0. laccess.progress = Progression de l'action, 0 à 1.\nRenvoie la progression de la production, du rechargement de la tourelle ou de la construction. laccess.speed = La vitesse maximale d'une unité, en blocs/sec. -laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +laccess.id = L'ID d'une unité/bloc/ressource/liquide.\nCeci est l'inverse de l'instruction de recherche. lcategory.unknown = Inconnu lcategory.unknown.description = Instructions sans catégorie. @@ -2332,7 +2330,7 @@ lcategory.block.description = Interagit avec les blocs. lcategory.operation = Opérations lcategory.operation.description = Opérations logiques. lcategory.control = Contrôle des Flux -lcategory.control.description = Manipule le flot d'exécution. +lcategory.control.description = Manipule l'ordre d'exécution. lcategory.unit = Contrôle des Unités lcategory.unit.description = Ordonne des commandes aux unités. lcategory.world = Contrôle du Monde @@ -2349,6 +2347,7 @@ graphicstype.poly = Dessine un polygone régulier. graphicstype.linepoly = Dessine le contour d'un polygone régulier. graphicstype.triangle = Dessine un triangle. graphicstype.image = Dessine une image provenant du contenu du jeu.\nexemple: [accent]@router[] ou [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Toujours [accent]true[]. lenum.idiv = Division entière. @@ -2443,7 +2442,7 @@ lenum.unbind = Désactive complètement le contrôle par processeur.\nL'unité r lenum.move = Bouge vers la position exacte. lenum.approach = Approche une position avec un rayon. lenum.pathfind = Détermine un itinéraire et bouge vers le point d'apparition ennemi. -lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.autopathfind = Recherche automatiquement le chemin vers le noyau ennemi ou la zone d'apparition ennemie le plus proche.\nCeci est le même que la détection de chemin de la vague ennemie. lenum.target = Tire vers la position donnée. lenum.targetp = Tire sur une cible avec la prédiction de mouvement. lenum.itemdrop = Lâche un objet. diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index 3aa426f974..b1af857920 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -1785,7 +1785,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabrikátor block.tank-refabricator.name = Tank Újratervező block.mech-refabricator.name = Mech Újratervező block.ship-refabricator.name = Repülőgép Újratervező @@ -2111,7 +2110,6 @@ block.logic-display.description = Ábrák rajzolhatók rá processzorral. block.large-logic-display.description = Ábrák rajzolhatók rá processzorral. block.interplanetary-accelerator.description = Hatalmas elektromágneses gyorsítótorony. Képes Magokat szökési sebességre gyorsítani bolygóközi bevetéshez. block.repair-turret.description = Folyamatosan javítja a környezetében lévő legközelebbi sérült egységet. Opcionálisan elfogadja a Hűtőfolyadékot. -block.payload-propulsion-tower.description = Nagy hatótávolságú rakományszállító szerkezet. Kilövi a rakományt a vele összekapcsolt tornyokba. #Erekir block.core-bastion.description = Mag. Páncélozott. Ha elpusztul, a szektor elveszett. @@ -2149,7 +2147,6 @@ block.impact-drill.description = Ha ércre helyezik, korlátlan ideig, sorozatba block.eruption-drill.description = Továbbfejlesztett ütvefúró. Képes Tóriumot bányászni. Hidrogént igényel. block.reinforced-conduit.description = Előre szállítja a folyadékokat. Nem fogadja el a nem csővezetékes bemeneteket oldalról. block.reinforced-liquid-router.description = Egyenletesen osztja el a folyadékokat minden oldalra. -block.reinforced-junction.description = Hídként működik két egymást keresztező csővezeték között. block.reinforced-liquid-tank.description = Nagy mennyiségű folyadékot tárol. block.reinforced-liquid-container.description = Jelentős mennyiségű folyadékot tárol. block.reinforced-bridge-conduit.description = Folyadékok szállítása szerkezeteken és terepen keresztül. @@ -2350,6 +2347,7 @@ graphicstype.poly = Egy szabályos sokszög kitöltése. graphicstype.linepoly = Rajzolj egy szabályos sokszög körvonalat. graphicstype.triangle = Töltsön ki egy háromszöget. graphicstype.image = Rajzolj egy képet valamilyen tartalomról.\nex: [accent]@router[] vagy [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Mindig igaz. lenum.idiv = Egész számok osztása. diff --git a/core/assets/bundles/bundle_id_ID.properties b/core/assets/bundles/bundle_id_ID.properties index e30ba5a9dd..b43bfac379 100644 --- a/core/assets/bundles/bundle_id_ID.properties +++ b/core/assets/bundles/bundle_id_ID.properties @@ -1776,7 +1776,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabrikator block.tank-refabricator.name = Refabrikator Tank block.mech-refabricator.name = Refabrikator Mech block.ship-refabricator.name = Refabrikator Kapal @@ -2101,7 +2100,6 @@ block.logic-display.description = Menampilkan grafik sembarang dari prosesor. block.large-logic-display.description = Menampilkan grafik sembarang dari prosesor. Lebih besar. block.interplanetary-accelerator.description = Sebuah menara railgun elektromagnetik raksasa. Meluncurkan Inti dengan kecepatan tinggi untuk peluncuran antarplanet. block.repair-turret.description = Memperbaiki unit terdekat yang sekarat dalam jangkauan secara terus-menerus. Dapat menerima pendingin. -block.payload-propulsion-tower.description = Bangunan transportasi muatan jarak jauh. Menembakkan muatan pada menara penggerak muatan lainnya yang terhubung. #Erekir block.core-bastion.description = Inti markas. Terlindungi. Jika hancur, sektor jatuh ke tangan musuh. @@ -2139,7 +2137,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2340,6 +2337,7 @@ graphicstype.poly = Mengisi sebuah poligon beraturan. graphicstype.linepoly = Menggambar sebuah garis poligon beraturan. graphicstype.triangle = Mengisi sebuah segitiga. graphicstype.image = Membentuk sebuah gambar dari suatu konten.\nMisal: [accent]@router[] atau [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Selalu benar. lenum.idiv = Pembagian integer. diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index 9d2723d67b..65cc5f965c 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -1762,7 +1762,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricator block.tank-refabricator.name = Tank Refabricator block.mech-refabricator.name = Mech Refabricator block.ship-refabricator.name = Ship Refabricator @@ -2080,7 +2079,6 @@ block.logic-display.description = Visualizza la grafica arbitraria elaborata da block.large-logic-display.description = Visualizza la grafica arbitraria elaborata dal processore. block.interplanetary-accelerator.description = Una massiccia torre che utilizza potenti campi elettromagnetici. Accelera nuclei fino alla velocità di fuga per un impiego interplanetario. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. -block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. @@ -2116,7 +2114,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2309,6 +2306,7 @@ graphicstype.poly = Fill a regular polygon. graphicstype.linepoly = Draw a regular polygon outline. graphicstype.triangle = Fill a triangle. graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Always true. lenum.idiv = Integer division. lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index 8f89ae608d..47f5fa4d70 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -1765,7 +1765,6 @@ block.disperse.name = ディスパーズ block.afflict.name = アフリクト block.lustre.name = ラストル block.scathe.name = スケース -block.fabricator.name = ファブリケーター block.tank-refabricator.name = 戦車再加工工場 block.mech-refabricator.name = メカ再加工工場 block.ship-refabricator.name = 戦艦再加工工場 @@ -2084,7 +2083,6 @@ block.logic-display.description = プロセッサからの任意のグラフィ block.large-logic-display.description = プロセッサからの任意のグラフィックを表示します。 block.interplanetary-accelerator.description = 巨大な電磁レールガンタワーです。別惑星への展開のためにコアを重力圏脱出可能速度まで加速します。 block.repair-turret.description = 範囲内の損傷したブロックを近い順に継続的に修復します。オプションで冷却液を活用できます。 -block.payload-propulsion-tower.description = 長距離ペイロード輸送構造です。他の接続されたペイロード推進タワーにペイロードを発射します。 block.core-bastion.description = 基本的な堅いコアです。一度破壊されると、セクターを失います。破壊されないようにしましょう。 block.core-citadel.description = バージョンアップしたコアです。 より優れた耐久を持っています。 バスティオンコアよりも多くの資源を格納します。 block.core-acropolis.description = さらにバージョンアップしたコアです。 非常に優れた耐久を持っています。 シタデルコアよりも多くの資源を格納します。 @@ -2120,7 +2118,6 @@ block.impact-drill.description = 鉱石の上に置くと、一定の間隔で block.eruption-drill.description = 改良されたインパクトドリルです。 トリウムの採掘が可能。 電力と水素が必要です。 block.reinforced-conduit.description = 液体または気体を輸送します。 側面からの搬入を受け入れません。 block.reinforced-liquid-router.description = 液体をすべての向きに均等に分配します。 -block.reinforced-junction.description = 交差する 2 つのパイプのブリッジとして機能します。 block.reinforced-liquid-tank.description = 大量の液体を蓄えることができます。 block.reinforced-liquid-container.description = 中量の液体を蓄えることができます。 block.reinforced-bridge-conduit.description = 構造物や地形の上に液体を輸送させることができます。 @@ -2313,6 +2310,7 @@ graphicstype.poly = 塗りつぶされた多角形を描きます。 graphicstype.linepoly = 輪郭だけの多角形を描きます。 graphicstype.triangle = 塗りつぶされた三角形を描きます。 graphicstype.image = 何らかのコンテンツのイメージを描画します。\n例: [accent]@router[] や [accent]@dagger[]など。 +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = 常にtrueを返します。 lenum.idiv = 整数の割り算をします。 lenum.div = 割り算をします。\nゼロ除算で [accent]null[] を返します。 diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index ad67c57a15..9843f25f70 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -1764,7 +1764,6 @@ block.disperse.name = 디스퍼스 block.afflict.name = 어플릭트 block.lustre.name = 러스터 block.scathe.name = 스캐드 -block.fabricator.name = 조립기 block.tank-refabricator.name = 전차 재조립기 block.mech-refabricator.name = 기계 재조립기 block.ship-refabricator.name = 함선 재조립기 @@ -2082,7 +2081,6 @@ block.logic-display.description = 프로세서를 이용해 임의로 그래픽 block.large-logic-display.description = 프로세서를 이용해 임의로 그래픽을 출력할 수 있습니다. block.interplanetary-accelerator.description = 거대한 전자기 레일건 타워. 행성 간 이동을 위한 탈출 속도까지 코어를 가속합니다. block.repair-turret.description = 피해를 입은 가장 가까운 기체를 지속적으로 수리합니다. 선택적으로 냉각수를 넣을 수 있습니다. -block.payload-propulsion-tower.description = 장거리 화물 운송 구조물. 화물을 연결된 다른 화물 드라이버로 발사합니다. block.core-bastion.description = 기지의 핵심입니다. 튼튼합니다. 한번 파괴되면, 구역을 잃습니다. block.core-citadel.description = 기지의 핵심입니다. 더 튼튼합니다. 코어: 요새보다 더 많은 양의 자원을 저장합니다. block.core-acropolis.description = 기지의 핵심입니다. 매우 튼튼합니다. 코어: 성채보다 더 많은 양의 자원을 저장합니다. @@ -2118,7 +2116,6 @@ block.impact-drill.description = 광석에 배치하면 자원을 한번에 몰 block.eruption-drill.description = 개선된 충격 드릴. 토륨을 채굴할 수 있습니다. 수소가 필요합니다. block.reinforced-conduit.description = 유체를 앞으로 이동합니다. 측면에서 파이프가 아닌 입력을 허용하지 않습니다. block.reinforced-liquid-router.description = 유체를 모든 면에 균등하게 분배합니다. -block.reinforced-junction.description = 두 개의 교차 파이프를 위한 다리 역할을 합니다. block.reinforced-liquid-tank.description = 대량의 유체를 저장합니다. block.reinforced-liquid-container.description = 상당량의 유체를 저장합니다. block.reinforced-bridge-conduit.description = 구조물 및 지형 위로 유체를 운반합니다. @@ -2316,6 +2313,7 @@ graphicstype.poly = 정다각형 채우기 graphicstype.linepoly = 정다각형 외곽선 그리기 graphicstype.triangle = 삼각형 채우기 graphicstype.image = 일부 콘텐츠의 이미지 그리기\n예: [accent]@router[] 또는 [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = 항상 참 lenum.idiv = 정수 나누기 diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index 6a3f6578de..c419d033ef 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -1751,7 +1751,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricator block.tank-refabricator.name = Tank Refabricator block.mech-refabricator.name = Mech Refabricator block.ship-refabricator.name = Ship Refabricator @@ -2068,7 +2067,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce block.large-logic-display.description = Displays arbitrary graphics from a logic processor. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. -block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. @@ -2104,7 +2102,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2296,6 +2293,7 @@ graphicstype.poly = Fill a regular polygon. graphicstype.linepoly = Draw a regular polygon outline. graphicstype.triangle = Fill a triangle. graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Always true. lenum.idiv = Integer division. lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index 5907749572..096b01124c 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -1764,7 +1764,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricator block.tank-refabricator.name = Tank Refabricator block.mech-refabricator.name = Mech Refabricator block.ship-refabricator.name = Ship Refabricator @@ -2081,7 +2080,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce block.large-logic-display.description = Displays arbitrary graphics from a logic processor. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. -block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. @@ -2117,7 +2115,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2309,6 +2306,7 @@ graphicstype.poly = Fill a regular polygon. graphicstype.linepoly = Draw a regular polygon outline. graphicstype.triangle = Fill a triangle. graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Always true. lenum.idiv = Integer division. lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index 2be8645e35..74caec860a 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -1751,7 +1751,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricator block.tank-refabricator.name = Tank Refabricator block.mech-refabricator.name = Mech Refabricator block.ship-refabricator.name = Ship Refabricator @@ -2068,7 +2067,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce block.large-logic-display.description = Displays arbitrary graphics from a logic processor. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. -block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. @@ -2104,7 +2102,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2296,6 +2293,7 @@ graphicstype.poly = Fill a regular polygon. graphicstype.linepoly = Draw a regular polygon outline. graphicstype.triangle = Fill a triangle. graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Always true. lenum.idiv = Integer division. lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index b5623f6987..c618f1421a 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -1772,7 +1772,6 @@ block.disperse.name = Burza block.afflict.name = Cios block.lustre.name = Błysk block.scathe.name = Zamęt -block.fabricator.name = Fabrykator block.tank-refabricator.name = Konstruktor Czołgów block.mech-refabricator.name = Konstruktor Mechów block.ship-refabricator.name = Konstruktor Statków @@ -2090,7 +2089,6 @@ block.logic-display.description = Wyświetla obraz z procesora. block.large-logic-display.description = Wyświetla obraz z procesora. block.interplanetary-accelerator.description = Masywna elektromagnetyczna wieża. Przyspiesza rdzeń do prędkości ucieczki by wylądować na innych planetach. block.repair-turret.description = Na bieżąco naprawia najbliższą uszkodzoną jednostkę w jej sąsiedztwie. Opcjonalnie akceptuje chłodziwo. -block.payload-propulsion-tower.description = Konstrukcja o dużym zasięgu do transportu ładunków. Strzela ładunkami do innych podłączonych wież napędowych ładunku. block.core-bastion.description = Rdzeń bazy. Uzbrojony. Po zniszczeniu tracisz sektor. block.core-citadel.description = Rdzeń bazy. Bardzo dobrze uzbrojony. Składuje wiecej zasobów niż rdzeń Bastion. block.core-acropolis.description = Rdzeń bazy. Wyjątkowo dobrze uzbrojony. Składuje wiecej zasobów niż rdzeń Cytadela. @@ -2126,7 +2124,6 @@ block.impact-drill.description = Kiedy stoi na rudzie, wydobywa surowce seriami. block.eruption-drill.description = Ulepszona wersja wiertła wybuchowego. Zdolne do wydobycia toru. Potrzebuje wodoru do działania. block.reinforced-conduit.description = Służy do przemieszczania płynów i gazów. Od boku można podłączyć tylko inne rury. block.reinforced-liquid-router.description = Równo rozdziela płyn do wszystkich podłączonych rur. -block.reinforced-junction.description = Pozwala na przecięcie się dwóch rur, bez mieszania ich zawartości. block.reinforced-liquid-tank.description = Przechowuje duże ilości płynów. block.reinforced-liquid-container.description = Przechowuje umiarkowane ilości płynów. block.reinforced-bridge-conduit.description = Transportuje płyny nad rozmaitymi przeszkodami. @@ -2336,6 +2333,7 @@ graphicstype.poly = Wypełnia wielokąt foremny. graphicstype.linepoly = Rysuje obwód wielokąta foremnego. graphicstype.triangle = Wypełnia trójkąt. graphicstype.image = Rysuje ikonę jakiejś treści.\nnp. [accent]@router[] lub [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Zawsze prawda. lenum.idiv = Dzielenie liczb całkowitych. diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index 3ebb454423..e304212ffd 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -1771,7 +1771,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricador block.tank-refabricator.name = Refabricador de Tanque block.mech-refabricator.name = Refabricador de Mech block.ship-refabricator.name = Refrabricador de Nave @@ -2098,7 +2097,6 @@ block.logic-display.description = Exibe gráficos arbitrários de um processador block.large-logic-display.description = Exibe gráficos arbitrários de um processador lógico. block.interplanetary-accelerator.description = Uma enorme torre eletromagnética. Acelera a velocidade de fuga dos núcleos para o desdobramento interplanetário. block.repair-turret.description = Conserta continuamente a unidade danificada mais próxima a ela. Opcionalmente, aceita líquido refrigerante. -block.payload-propulsion-tower.description = Estrutura de transporte de carga de longo alcance. Atira cargas para outras torres de propulsão de carga interligadas. #Erekir block.core-bastion.description = O núcleo da base. Blindado. Uma vez destruído, o setor é perdido. @@ -2136,7 +2134,6 @@ block.impact-drill.description = Quando colocados sobre minério, os itens saem block.eruption-drill.description = Uma Broca de Impacto melhorada. Capaz de minerar Tório. Requer Hidrogênio. block.reinforced-conduit.description = Movimenta fluidos para frente. Não aceita entradas de outros blocos, a não ser canos, dos lados. block.reinforced-liquid-router.description = Distribui fluidos igualmente para todos os lados. -block.reinforced-junction.description = Funciona como uma ponte para dois canos se cruzando. block.reinforced-liquid-tank.description = Armazena uma grande quantidade de fluidos. block.reinforced-liquid-container.description = Armazena uma quantidade considerável de fluidos. block.reinforced-bridge-conduit.description = Transporta fluidos sobre estruturas e terrenos. @@ -2335,6 +2332,7 @@ graphicstype.poly = Preenche um polígono regular. graphicstype.linepoly = Desenha um contorno de polígono regular. graphicstype.triangle = Preenche um triângulo. graphicstype.image = Desenha uma imagem de algum conteúdo.\nex: [accent]@router[] ou [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Sempre verdade. lenum.idiv = Divisão inteira. diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index 39af5a41ae..9872b289e5 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -1751,7 +1751,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricator block.tank-refabricator.name = Tank Refabricator block.mech-refabricator.name = Mech Refabricator block.ship-refabricator.name = Ship Refabricator @@ -2068,7 +2067,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce block.large-logic-display.description = Displays arbitrary graphics from a logic processor. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. -block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. @@ -2104,7 +2102,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2296,6 +2293,7 @@ graphicstype.poly = Fill a regular polygon. graphicstype.linepoly = Draw a regular polygon outline. graphicstype.triangle = Fill a triangle. graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Always true. lenum.idiv = Integer division. lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index 4f5cdae374..7eb9475b2d 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -1765,7 +1765,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricator block.tank-refabricator.name = Tank Refabricator block.mech-refabricator.name = Mech Refabricator block.ship-refabricator.name = Ship Refabricator @@ -2084,7 +2083,6 @@ block.logic-display.description = Afișează grafica transmisă de un procesor l block.large-logic-display.description = Afișează grafica transmisă de un procesor logic. block.interplanetary-accelerator.description = Un turn masiv cu o armă railgun electromagnetică. Accelerează nucleele la viteză cosmică pt lansare interplanetară. block.repair-turret.description = Repară încontinuu cea mai deteriorată unitate din vecinătate. Poate accepta răcitor. -block.payload-propulsion-tower.description = Structură de transport al încărcăturii pe distanțe mari. Lansează încărcătura către un alt turn propulsor conectat. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. @@ -2120,7 +2118,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2318,6 +2315,7 @@ graphicstype.poly = Desenează un poligon regulat. graphicstype.linepoly = Desenează conturul unui poligon regulat. graphicstype.triangle = Desenează un triunghi. graphicstype.image = Desenează imaginea unui obiect din joc.\nde ex.: [accent]@router[] sau [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Mereu adevărat. lenum.idiv = Împărțirea naturală a numerelor (int). diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index 10940b8be9..35858bc73c 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -1115,7 +1115,7 @@ setting.position.name = Отображать координаты игрока setting.mouseposition.name = Показывать позицию курсора setting.musicvol.name = Громкость музыки setting.atmosphere.name = Отображать атмосферу планеты -setting.drawlight.name = Draw Darkness/Lighting +setting.drawlight.name = Отображать тени/освещение setting.ambientvol.name = Громкость окружения setting.mutemusic.name = Заглушить музыку setting.sfxvol.name = Громкость эффектов @@ -1765,7 +1765,6 @@ block.disperse.name = Диапазон block.afflict.name = Бедствие block.lustre.name = Сияние block.scathe.name = Погибель -block.fabricator.name = Фабрикатор block.tank-refabricator.name = Рефабрикатор танков block.mech-refabricator.name = Рефабрикатор мехов block.ship-refabricator.name = Рефабрикатор кораблей @@ -2086,7 +2085,6 @@ block.logic-display.description = Отображает произвольную block.large-logic-display.description = Отображает произвольную графику из логического процессора. block.interplanetary-accelerator.description = Массивная электромагнитная башня-рельсотрон. Ускоряет ядро, позволяя преодолеть гравитацию для межпланетного развёртывания. block.repair-turret.description = Непрерывно ремонтирует ближайшую поврежденную единицу в своем радиусе. Опционально использует охлаждающую жидкость. -block.payload-propulsion-tower.description = Конструкция для транспортировки больших грузов на большое расстояние. Стреляет грузом в другие грузовые катапульты. block.core-bastion.description = Ядро базы. Бронировано. После уничтожения, весь контакт с регионом теряется. block.core-citadel.description = Ядро базы. Очень хорошо бронировано. Хранит больше ресурсов, чем ядро Бастион. block.core-acropolis.description = Ядро базы. Исключительно хорошо бронировано. Хранит больше ресурсов, чем ядро Цитадель. @@ -2122,7 +2120,6 @@ block.impact-drill.description = При размещении на соответ block.eruption-drill.description = Усовершенствованная ударная дрель. Способна добывать торий. Требует водород для работы. block.reinforced-conduit.description = Перемещает жидкости вперед. Не принимает ввод по бокам. block.reinforced-liquid-router.description = Равномерно распределяет жидкости во все стороны. -block.reinforced-junction.description = Действует как мост для двух пересекающихся трубопроводов. block.reinforced-liquid-tank.description = Хранит большое количество жидкости. block.reinforced-liquid-container.description = Хранит небольшое количество жидкости. block.reinforced-bridge-conduit.description = Перемещает жидкости над любой местностью или зданиями. @@ -2320,6 +2317,7 @@ graphicstype.poly = Отрисовка закрашенного правильн graphicstype.linepoly = Отрисовка контура правильного многоугольника. graphicstype.triangle = Отрисовка закрашенного треугольника. graphicstype.image = Отрисовка внутриигровых спрайтов.\nНапример: [accent]@router[] или [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Всегда истина. lenum.idiv = Целочисленное деление. diff --git a/core/assets/bundles/bundle_sr.properties b/core/assets/bundles/bundle_sr.properties index 06dd54f0ba..8f9dcb248c 100644 --- a/core/assets/bundles/bundle_sr.properties +++ b/core/assets/bundles/bundle_sr.properties @@ -1767,7 +1767,6 @@ block.disperse.name = Raspršivač block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabrikator block.tank-refabricator.name = Refabrikator Tenkova block.mech-refabricator.name = Refabrikator Mečana block.ship-refabricator.name = Refabrikator Brodova @@ -2087,7 +2086,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce block.large-logic-display.description = Displays arbitrary graphics from a logic processor. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. -block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers. block.core-bastion.description = Jezgro baze. Oklopljeno. Jednom uništeno gubi se sektor. block.core-citadel.description = Jezgro baze. Izuzetno dobro oklopljeno. Skladišti više resursa od Bastilje jezgra. block.core-acropolis.description = Jezgro baze. Izvrsno dobro oklopljeno. Skladišti više resursa od Citadele jezgra. @@ -2123,7 +2121,6 @@ block.impact-drill.description = Kada je postavljeno na rudi, beskonačno ispuš block.eruption-drill.description = Poboljšana udarna drobilica. Može iskopavati torijum. Zahteva vodonik. block.reinforced-conduit.description = Usmerava tečnosti napred. Ne prihvata unos sa strane od blokova koje nisu cevi. block.reinforced-liquid-router.description = Jednako distribuiše tečnosti u svim pravcima. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Skladišti veliku količinu tečnosti. block.reinforced-liquid-container.description = Skladišti dobru količinu tečnosti. block.reinforced-bridge-conduit.description = Prenosi tečnosti preko terena i građevina. @@ -2321,6 +2318,7 @@ graphicstype.poly = Fill a regular polygon. graphicstype.linepoly = Draw a regular polygon outline. graphicstype.triangle = Fill a triangle. graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Uvek Tačno. lenum.idiv = Integer division. diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index 4691464208..2cad751f7d 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -1751,7 +1751,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricator block.tank-refabricator.name = Tank Refabricator block.mech-refabricator.name = Mech Refabricator block.ship-refabricator.name = Ship Refabricator @@ -2068,7 +2067,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce block.large-logic-display.description = Displays arbitrary graphics from a logic processor. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. -block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. @@ -2104,7 +2102,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2296,6 +2293,7 @@ graphicstype.poly = Fill a regular polygon. graphicstype.linepoly = Draw a regular polygon outline. graphicstype.triangle = Fill a triangle. graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Always true. lenum.idiv = Integer division. lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index 84c75c6585..44bf5b9c64 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -1772,7 +1772,6 @@ block.disperse.name = ดิสเพิร์ส block.afflict.name = อัฟฟลิกต์ block.lustre.name = ลัสเตอร์ block.scathe.name = สเกซส์ -block.fabricator.name = เครื่องสรรค์สร้าง block.tank-refabricator.name = เครื่องแปลงสภาพรถถัง block.mech-refabricator.name = เครื่องแปลงสภาพจักรกล block.ship-refabricator.name = เครื่องแปลงสภาพยานบิน @@ -2100,7 +2099,6 @@ block.logic-display.description = แสดงกราฟิกโดยคว block.large-logic-display.description = แสดงกราฟิกโดยควบคุมจากตัวประมวลผลลอจิก มีขนาดใหญ่กว่า block.interplanetary-accelerator.description = หอคอยเรลกันแม่เหล็กไฟฟ้าขนาดมหึมา เร่งความเร็วแกนกลางเพื่อบินสู่อวกาศไปยังดาวเคราะห์อื่นๆ block.repair-turret.description = ซ่อมแซมยูนิตที่อยู่ในรัศมีของมันอย่างต่อเนื่อง สามารถใช้ของเหลวมาหล่อเย็นเพื่อเพิ่มประสิทธิภาพได้ -block.payload-propulsion-tower.description = บล็อกขนส่งสิ่งบรรทุกทางไกล\nยิงสิ่งบรรทุกไปยังหอเคลื่อนย้ายสิ่งบรรทุกอีกเครื่องที่เชื่อมต่อไว้ #Erekir block.core-bastion.description = ใจกลางของฐานทัพ เสริมเกราะมาอย่างดี เมื่อถูกทำลาย การติดต่อกับพื้นที่นั้นทั้งหมดจะหายไป อย่าให้มันเกิดขึ้น @@ -2138,7 +2136,6 @@ block.impact-drill.description = เมื่อวางบนพื้นแ block.eruption-drill.description = เครื่องขุดแรงกระแทกที่ได้รับการปรับปรุง สามารถขุดทอเรี่ยมได้ จำเป็นต้องใช้ไฮโดรเจน block.reinforced-conduit.description = เคลื่อนย้ายของเหลวไปข้างหน้า ไม่รับของเหลวจากด้านข้างยกเว้นว่าจะเป็นท่อน้ำด้วยกันเอง block.reinforced-liquid-router.description = รับของเหลวจากทางเดียวแล้วส่งออกไปสามทางเท่าๆกัน สามารถเก็บของเหลวได้จำนวนหนึ่ง\nมีประโยชน์สำหรับการส่งของเหลวจากปั้มไปยังหลายที่ -block.reinforced-junction.description = มีหน้าที่เป็นสะพานสำหรับท่อสูญญากาศสองท่อข้ามกัน มีประโยชน์สำหรับเวลาท่อสูญญากาศสองท่อ\nขนไอเท็มสองชนิดไปยังสองสถานที่ block.reinforced-liquid-tank.description = เก็บของเหลวจำนวนมาก ส่งออกไปรอบด้านคล้ายกับเร้าเตอร์ของเหลว\nเหมาะในการใช้เพื่อสร้างกันชนในเวลาที่ของเหลวไม่คงที่\nหรือเวลาที่ใช้ของเหลวเป็นจำนวนมาก block.reinforced-liquid-container.description = เก็บของเหลวจำนวนปานกลาง ส่งออกไปรอบด้านคล้ายกับ\nเร้าเตอร์ของเหลว เหมาะในการใช้กับเครื่องโหลดและถ่ายสิ่งบรรทุกสำหรับ\nการขนส่งของเหลวทางไกล block.reinforced-bridge-conduit.description = เคลื่อนย้ายของเหลวข้ามสิ่งก่อสร้างหรือกำแพง @@ -2339,6 +2336,7 @@ graphicstype.poly = เติมรูปหลายเหลี่ยมปก graphicstype.linepoly = วาดโครงร่างรูปหลายเหลี่ยมปกติ graphicstype.triangle = เติมสามเหลี่ยม graphicstype.image = วาดรูปสิ่งต่างๆ \nตัวอย่างเช่น: [accent]@router[] หรือ [accent]@dagger[] +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = เป็นจริงเสมอ lenum.idiv = หารจำนวนเต็ม diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index cbeed1ebb2..e195095e3e 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -1751,7 +1751,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabricator block.tank-refabricator.name = Tank Refabricator block.mech-refabricator.name = Mech Refabricator block.ship-refabricator.name = Ship Refabricator @@ -2068,7 +2067,6 @@ block.logic-display.description = Displays arbitrary graphics from a logic proce block.large-logic-display.description = Displays arbitrary graphics from a logic processor. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. -block.payload-propulsion-tower.description = Long-range payload transport structure. Shoots payloads to other linked payload propulsion towers. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. @@ -2104,7 +2102,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2296,6 +2293,7 @@ graphicstype.poly = Fill a regular polygon. graphicstype.linepoly = Draw a regular polygon outline. graphicstype.triangle = Fill a triangle. graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Always true. lenum.idiv = Integer division. lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index baa14ac99e..ad6a0cfa2f 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -1764,7 +1764,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Fabrikatör block.tank-refabricator.name = Tank Yeniden Yapılandırıcı block.mech-refabricator.name = Robot Yeniden Yapılandırıcı block.ship-refabricator.name = Gemi Yeniden Yapılandırıcı @@ -2084,7 +2083,6 @@ block.logic-display.description = Bir işlemciden bilgi alarak grafik gösteriri block.large-logic-display.description = Bir işlemciden bilgi alarak grafik gösteririr. block.interplanetary-accelerator.description = Gezegenler Arası ulaşım şimdi parmaklarının ucunda... block.repair-turret.description = Sürekli en yakın birimi tamir eder. Soğutucu kullanabilir. -block.payload-propulsion-tower.description = Kütle sürücü gibi bir yerden başka bir yere fırlatır, ancak malzeme yerine yük fırlatmakta kullanılır. block.core-bastion.description = Ana Merkez. Güçlendirilmiş. Yok edildiğinde sektör kaybedilir. block.core-citadel.description = Ana Merkez. Yüksek Seviyede Güçlendirilmiş. Yok edildiğinde sektör kaybedilir. Daha fazla malzeme depolar. block.core-acropolis.description = Ana Merkez. Aşırı Yüksek Seviyede Güçlendirilmiş. Yok edildiğinde sektör kaybedilir. Daha da fazla malzeme depolar. @@ -2120,7 +2118,6 @@ block.impact-drill.description = Bir madenin üstüne konduğu zaman ara ara mad block.eruption-drill.description = Gelişmiş bir Matkap. Toryum kazabilir. Hidrojen gerektirir. block.reinforced-conduit.description = Sıvıları iletir. Yandan başka borular dışında sıvı almaz. block.reinforced-liquid-router.description = Tüm sıvıları eşit dağıtır. -block.reinforced-junction.description = Kesişen iki sıvı için bir kavşak. block.reinforced-liquid-tank.description = Daha Bol miktarda sıvı depolar. block.reinforced-liquid-container.description = Bol miktarda sıvı depolar. block.reinforced-bridge-conduit.description = Sıvıları bina ve duvarların üzerinden geçirmek için bir köprü. @@ -2318,6 +2315,7 @@ graphicstype.poly = İçi Dolu Çokgen Çiz. graphicstype.linepoly = İçi Boş Çokgen Çiz. graphicstype.triangle = İçi Dolu Üçgen Çiz. graphicstype.image = Bir ikon çiz. \nörnek: [accent]@router[] veya [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Her Zaman Doğru lenum.idiv = Tamsayı Bölme diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index 9e8557f0e7..ad56f75c28 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -1778,7 +1778,6 @@ block.disperse.name = Розпорошувач block.afflict.name = Уражач block.lustre.name = Блиск block.scathe.name = Знищувач -block.fabricator.name = Виробник block.tank-refabricator.name = Танковий перебудовний завод block.mech-refabricator.name = Меховий перебудовний завод block.ship-refabricator.name = Корабельний перебудовний завод @@ -2107,7 +2106,6 @@ block.logic-display.description = Англійська назва: Logic Display block.large-logic-display.description = Англійська назва: Large Logic Display\nПоказує довільну графіку з логічного процесора. block.interplanetary-accelerator.description = Англійська назва: Interplanetary Accelerator\nВелика електромагнітна башта-рейкотрон. Прискорює ядра, щоби подолати планетне тяжіння для міжпланетного розгортання. block.repair-turret.description = Англійська назва: Repair Turret\nБезпервно ремонтує найближчу пошкоджену одиницю. Для прискорення ремонтування можна охолодити. -block.payload-propulsion-tower.description = Англійська назва: Payload Propulsion Tower\nСтруктура транспортування вантажу на великі відстані. Вистрілює вантаж в інші вантажні катапульти. #Erekir block.core-bastion.description = Англійська назва: Core Bastion\nЯдро бази. Броньоване. Після знищення сектор втрачається. @@ -2145,7 +2143,6 @@ block.impact-drill.description = Англійська назва: Impact Drill\n block.eruption-drill.description = Англійська назва: Eruption Drill\nПоліпшений імпульсний бур. Здатний видобувати торій. Потребує водню. block.reinforced-conduit.description = Англійська назва: Reinforced Conduit\nПереміщує рідини вперед. Не приймає нетрубоповідні входи з боків. block.reinforced-liquid-router.description = Англійська назва: Reinforced Liquid Router\nРівномірно розподіляє рідини на всі сторони. -block.reinforced-junction.description = Англійська назва: Reinforced Junction\nВиконує роль моста для двох пересічних водоводів. block.reinforced-liquid-tank.description = Англійська назва: Reinforced Liquid Tank\nЗберігає велику кількість рідини. block.reinforced-liquid-container.description = Англійська назва: Reinforced Liquid Container\nЗберігає значну кількість рідини. block.reinforced-bridge-conduit.description = Англійська назва: Reinforced Bridge Conduit\nТранспортує рідини над спорудами та місцевістю. @@ -2346,6 +2343,7 @@ graphicstype.poly = Залити кольором правильний бага graphicstype.linepoly = Намалювати контур правильного багатокутника. graphicstype.triangle = Залити кольором трикутник. graphicstype.image = Намалювати зображення із деяким вмістом.\nНаприклад: [accent]@router[] чи [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Завжди істинне. lenum.idiv = Ціле ділення. diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index 1cf937b88c..acc823c0d8 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -1767,7 +1767,6 @@ block.disperse.name = Disperse block.afflict.name = Afflict block.lustre.name = Lustre block.scathe.name = Scathe -block.fabricator.name = Máy tạo đơn vị block.tank-refabricator.name = Máy nâng cấp xe tăng block.mech-refabricator.name = Máy nâng cấp lính cơ động block.ship-refabricator.name = Máy nâng cấp phi thuyền @@ -2085,7 +2084,6 @@ block.logic-display.description = Hiển thị đồ họa tùy ý từ bộ x block.large-logic-display.description = Hiển thị đồ họa tùy ý từ bộ xử lý. block.interplanetary-accelerator.description = Tòa súng từ trường cỡ lớn. Tăng tốc vật phóng đến vận tốc thoát để di chuyển giữa các hành tinh. block.repair-turret.description = Sửa chữa những đơn vị bị hư hỏng trong khu vực nhất định. Có thể làm mát để tăng hiệu quả. -block.payload-propulsion-tower.description = Cơ cấu vận chuyển các khối hàng tầm xa. Bắn khối hàng cho các tháp đẩy khối hàng khác. block.core-bastion.description = Trung tâm của căn cứ. Bọc giáp. Khu vực sẽ mất khi bị phá hủy. block.core-citadel.description = Trung tâm của căn cứ. Bọc giáp tốt hơn. Lưu trữ nhiều vật phẩm hơn căn cứ Pháo đài. block.core-acropolis.description = Trung tâm của căn cứ. Được bọc giáp rất tốt. Lưu trữ nhiều vật phẩm hơn căn cứ Thủ Phủ. @@ -2121,7 +2119,6 @@ block.impact-drill.description = Khi được đặt lên một loại quặng, block.eruption-drill.description = Phiên bản cải tiến củ máy khoan động lực. Có thể khoan thorium. Yêu cầu hydrogen. block.reinforced-conduit.description = Di chuyển chất lỏng về phía trước. Không nhận đầu vào từ các bên. block.reinforced-liquid-router.description = Phân chia chất lỏng đều cho tất cả các bên. -block.reinforced-junction.description = Làm cầu nối cho hai ống dẫn chất lỏng giao nhau. block.reinforced-liquid-tank.description = Lưu trữ một lượng chất lỏng lớn. block.reinforced-liquid-container.description = Lưu trữ một lượng chất lỏng vừa phải. block.reinforced-bridge-conduit.description = Vận chuyển chất lỏng qua các công trình và địa hình. @@ -2319,6 +2316,7 @@ graphicstype.poly = Tô vào đa giác đều. graphicstype.linepoly = Vẽ đường viền đa giác đều. graphicstype.triangle = Tô một hình tam giác. graphicstype.image = Vẽ hình ảnh một số nội dung.\nVí dụ: [accent]@router[] hoặc [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = Luôn đúng. lenum.idiv = Chia lấy phần nguyên. diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index eb6231ae48..260ada9c3d 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -1779,7 +1779,6 @@ block.disperse.name = 驱离 block.afflict.name = 劫难 block.lustre.name = 光辉 block.scathe.name = 创伤 -block.fabricator.name = 重构厂 block.tank-refabricator.name = 坦克重构厂 block.mech-refabricator.name = 机甲重构厂 block.ship-refabricator.name = 飞船重构厂 @@ -2106,7 +2105,6 @@ block.logic-display.description = 显示处理器中绘制的各种图像。 block.large-logic-display.description = 显示处理器中绘制的各种图像。 block.interplanetary-accelerator.description = 一个巨大的电磁轨道加速器。 将核心加速至逃逸速度以进行星际部署。 block.repair-turret.description = 持续修复范围内受损的单位。 可以用冷却液强化。 -block.payload-propulsion-tower.description = 远距离载荷运送建筑。 向相连的其他载荷驱动器发射载荷。 #埃里克尔 block.core-bastion.description = 基地的核心。 拥有装甲。 一旦被摧毁,此区块就会丢失。 @@ -2144,7 +2142,6 @@ block.impact-drill.description = 放置在矿物上时,以缓慢的速度无 block.eruption-drill.description = 改进过的冲击钻头。 能够开采钍。 需要氢。 block.reinforced-conduit.description = 向前传输流体。 不接受侧面的非导管输入。 block.reinforced-liquid-router.description = 将流体平均分配到所有侧面方向。 -block.reinforced-junction.description = 两条交叉物品管道的桥梁。 block.reinforced-liquid-tank.description = 储存大量的流体。 block.reinforced-liquid-container.description = 储存数量可观的流体。 block.reinforced-bridge-conduit.description = 跨越任意地形或建筑物传输流体。 @@ -2345,6 +2342,7 @@ graphicstype.poly = 绘制实心正多边形 graphicstype.linepoly = 绘制正多边形轮廓 graphicstype.triangle = 绘制实心三角形 graphicstype.image = 画出某个游戏内容的图像\n例如[accent]@router[]或者[accent]@dagger[] +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = 无条件跳转 lenum.idiv = 整数除法,返回不带小数的商 diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index 968ce5cbcc..bedb9b9313 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -1775,7 +1775,6 @@ block.disperse.name = 驅離者 block.afflict.name = 折磨 block.lustre.name = 餘光 block.scathe.name = 毀損 -block.fabricator.name = 製造廠 block.tank-refabricator.name = 戰車重塑者 block.mech-refabricator.name = 機甲重塑者 block.ship-refabricator.name = 飛船重塑者 @@ -2096,7 +2095,6 @@ block.logic-display.description = 顯示由處理器輸出的任意圖像。 block.large-logic-display.description = 顯示由處理器輸出的任意圖像。 block.interplanetary-accelerator.description = 巨大的電磁砲塔。將核心加速至脫離速度以在其他星球部署。 block.repair-turret.description = 持續修復最靠近的受損單位。能使用冷卻劑。 -block.payload-propulsion-tower.description = 遠程原料輸送建築。發射原料至另一個連接的推進塔。 block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. @@ -2132,7 +2130,6 @@ block.impact-drill.description = When placed on ore, outputs items in bursts ind block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. block.reinforced-liquid-router.description = Distributes fluids equally to all sides. -block.reinforced-junction.description = Acts as a bridge for two crossing conduits. block.reinforced-liquid-tank.description = Stores a large amount of fluids. block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. @@ -2331,6 +2328,7 @@ graphicstype.poly = 畫實心正多邊形 graphicstype.linepoly = 畫空心正多邊形 graphicstype.triangle = 畫實心三角形 graphicstype.image = 繪製內建圖畫\n如: [accent]@router[]或[accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. lenum.always = 永遠 true (直接跳). lenum.idiv = 整數除法,無條件捨去. diff --git a/core/assets/fonts/logic.ttf b/core/assets/fonts/logic.ttf new file mode 100644 index 0000000000..0270cdfe3c Binary files /dev/null and b/core/assets/fonts/logic.ttf differ diff --git a/core/assets/maps/frozenForest.msav b/core/assets/maps/frozenForest.msav index 09f7e2a546..e29d7199cd 100644 Binary files a/core/assets/maps/frozenForest.msav and b/core/assets/maps/frozenForest.msav differ diff --git a/core/src/mindustry/ai/types/CommandAI.java b/core/src/mindustry/ai/types/CommandAI.java index a44b5b457c..0cf650ccc2 100644 --- a/core/src/mindustry/ai/types/CommandAI.java +++ b/core/src/mindustry/ai/types/CommandAI.java @@ -214,7 +214,7 @@ public class CommandAI extends AIController{ } //TODO: should the unit stop when it finds a target? - if(stance == UnitStance.patrol && target != null && unit.within(target, unit.type.range - 2f)){ + if(stance == UnitStance.patrol && target != null && unit.within(target, unit.type.range - 2f) && !unit.type.circleTarget){ move = false; } @@ -398,6 +398,8 @@ public class CommandAI extends AIController{ @Override public void commandPosition(Vec2 pos){ + if(pos == null) return; + commandPosition(pos, false); if(commandController != null){ commandController.commandPosition(pos); @@ -405,8 +407,10 @@ public class CommandAI extends AIController{ } public void commandPosition(Vec2 pos, boolean stopWhenInRange){ - targetPos = pos; - lastTargetPos = pos; + if(pos == null) return; + + //this is an allocation, but it's relatively rarely called anyway, and outside mutations must be prevented + targetPos = lastTargetPos = pos.cpy(); attackTarget = null; pathId = Vars.controlPath.nextTargetId(); this.stopWhenInRange = stopWhenInRange; diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index d2d9c3049d..1275b3b169 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -570,7 +570,7 @@ public class Blocks{ snowWall = new StaticWall("snow-wall"); duneWall = new StaticWall("dune-wall"){{ - basalt.asFloor().wall = darksandWater.asFloor().wall = darksandTaintedWater.asFloor().wall = this; + hotrock.asFloor().wall = magmarock.asFloor().wall = basalt.asFloor().wall = darksandWater.asFloor().wall = darksandTaintedWater.asFloor().wall = this; attributes.set(Attribute.sand, 2f); }}; @@ -2408,7 +2408,7 @@ public class Blocks{ largeSolarPanel = new SolarGenerator("solar-panel-large"){{ requirements(Category.power, with(Items.lead, 80, Items.silicon, 110, Items.phaseFabric, 15)); size = 3; - powerProduction = 1.3f; + powerProduction = 1.6f; }}; thoriumReactor = new NuclearReactor("thorium-reactor"){{ diff --git a/core/src/mindustry/content/ErekirTechTree.java b/core/src/mindustry/content/ErekirTechTree.java index 89f128ae72..6c4571a43a 100644 --- a/core/src/mindustry/content/ErekirTechTree.java +++ b/core/src/mindustry/content/ErekirTechTree.java @@ -447,11 +447,11 @@ public class ErekirTechTree{ //nodeProduce(Liquids.gallium, () -> {}); }); + }); - nodeProduce(Items.surgeAlloy, () -> { - nodeProduce(Items.phaseFabric, () -> { + nodeProduce(Items.surgeAlloy, () -> { + nodeProduce(Items.phaseFabric, () -> { - }); }); }); }); diff --git a/core/src/mindustry/content/Liquids.java b/core/src/mindustry/content/Liquids.java index 0f95a02685..432b4463cc 100644 --- a/core/src/mindustry/content/Liquids.java +++ b/core/src/mindustry/content/Liquids.java @@ -54,7 +54,7 @@ public class Liquids{ capPuddles = false; spreadTarget = Liquids.water; moveThroughBlocks = true; - incinerable = true; + incinerable = false; blockReactive = false; canStayOn.addAll(water, oil, cryofluid); diff --git a/core/src/mindustry/entities/abilities/ShieldArcAbility.java b/core/src/mindustry/entities/abilities/ShieldArcAbility.java index 632d0a58a7..b63a88bf1e 100644 --- a/core/src/mindustry/entities/abilities/ShieldArcAbility.java +++ b/core/src/mindustry/entities/abilities/ShieldArcAbility.java @@ -93,7 +93,8 @@ public class ShieldArcAbility extends Ability{ paramField = this; paramPos.set(x, y).rotate(unit.rotation - 90f).add(unit); - Groups.bullet.intersect(unit.x - radius, unit.y - radius, radius * 2f, radius * 2f, shieldConsumer); + float reach = radius + width / 2f; + Groups.bullet.intersect(paramPos.x - reach, paramPos.y - reach, reach * 2f, reach * 2f, shieldConsumer); }else{ widthScale = Mathf.lerpDelta(widthScale, 0f, 0.11f); } diff --git a/core/src/mindustry/entities/bullet/BulletType.java b/core/src/mindustry/entities/bullet/BulletType.java index b4c632ab98..4ab4c929a4 100644 --- a/core/src/mindustry/entities/bullet/BulletType.java +++ b/core/src/mindustry/entities/bullet/BulletType.java @@ -160,6 +160,8 @@ public class BulletType extends Content implements Cloneable{ /** Bullet type that is created when this bullet expires. */ public @Nullable BulletType fragBullet = null; + /** If true, frag bullets are delayed to the next frame. Fixes obscure bugs with piercing bullet types spawning frags immediately and screwing up the Damage temporary variables. */ + public boolean delayFrags = false; /** Degree spread range of fragmentation bullets. */ public float fragRandomSpread = 360f; /** Uniform spread between each frag bullet in degrees. */ @@ -446,7 +448,11 @@ public class BulletType extends Content implements Cloneable{ Effect.shake(hitShake, hitShake, b); if(fragOnHit){ - createFrags(b, x, y); + if(delayFrags && fragBullet != null && fragBullet.delayFrags){ + Core.app.post(() -> createFrags(b, x, y)); + }else{ + createFrags(b, x, y); + } } createPuddles(b, x, y); createIncend(b, x, y); diff --git a/core/src/mindustry/entities/bullet/LaserBulletType.java b/core/src/mindustry/entities/bullet/LaserBulletType.java index 7450824c4a..c6c7c3de21 100644 --- a/core/src/mindustry/entities/bullet/LaserBulletType.java +++ b/core/src/mindustry/entities/bullet/LaserBulletType.java @@ -38,6 +38,7 @@ public class LaserBulletType extends BulletType{ hittable = false; absorbable = false; removeAfterPierce = false; + delayFrags = true; } public LaserBulletType(){ diff --git a/core/src/mindustry/entities/bullet/RailBulletType.java b/core/src/mindustry/entities/bullet/RailBulletType.java index fb5c1814a1..276a428e4e 100644 --- a/core/src/mindustry/entities/bullet/RailBulletType.java +++ b/core/src/mindustry/entities/bullet/RailBulletType.java @@ -24,6 +24,7 @@ public class RailBulletType extends BulletType{ collides = false; keepVelocity = false; lifetime = 1f; + delayFrags = true; } @Override @@ -60,7 +61,7 @@ public class RailBulletType extends BulletType{ super.init(b); b.fdata = length; - Damage.collideLine(b, b.team, b.type.hitEffect, b.x, b.y, b.rotation(), length, false, false); + Damage.collideLine(b, b.team, b.type.hitEffect, b.x, b.y, b.rotation(), length, false, false, pierceCap); float resultLen = b.fdata; Vec2 nor = Tmp.v1.trns(b.rotation(), 1f).nor(); diff --git a/core/src/mindustry/entities/comp/BuildingComp.java b/core/src/mindustry/entities/comp/BuildingComp.java index 7eb9288c3b..a8d027cf1e 100644 --- a/core/src/mindustry/entities/comp/BuildingComp.java +++ b/core/src/mindustry/entities/comp/BuildingComp.java @@ -1344,6 +1344,15 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, return block.itemCapacity; } + /** Called when a block begins (not finishes!) deconstruction. The building is still present at this point. */ + public void onDeconstructed(@Nullable Unit builder){ + //deposit non-incinerable liquid on ground + if(liquids != null && liquids.currentAmount() > 0 && (!liquids.current().incinerable || block.deconstructDropAllLiquid)){ + float perCell = liquids.currentAmount() / (block.size * block.size) * 2f; + tile.getLinkedTiles(other -> Puddles.deposit(other, liquids.current(), perCell)); + } + } + /** Called when the block is destroyed. The tile is still intact at this stage. */ public void onDestroyed(){ float explosiveness = block.baseExplosiveness; diff --git a/core/src/mindustry/input/InputHandler.java b/core/src/mindustry/input/InputHandler.java index dedcf105a2..90ac947c52 100644 --- a/core/src/mindustry/input/InputHandler.java +++ b/core/src/mindustry/input/InputHandler.java @@ -615,7 +615,9 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ @Remote(targets = Loc.both, called = Loc.both, forward = true) public static void tileConfig(@Nullable Player player, Building build, @Nullable Object value){ + if(build == null && net.server()) throw new ValidateException(player, "building is null"); if(build == null) return; + if(net.server() && (!Units.canInteract(player, build) || !netServer.admins.allowAction(player, ActionType.configure, build.tile, action -> action.config = value))){ @@ -1569,7 +1571,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ consumed = true; if((!config.isShown() && build.shouldShowConfigure(player)) //if the config fragment is hidden, show //alternatively, the current selected block can 'agree' to switch config tiles - || (config.isShown() && config.getSelected().onConfigureBuildTapped(build))){ + || (config.isShown() && config.getSelected().onConfigureBuildTapped(build) && build.shouldShowConfigure(player))){ Sounds.click.at(build); config.showConfig(build); } diff --git a/core/src/mindustry/logic/LExecutor.java b/core/src/mindustry/logic/LExecutor.java index 840dd3d394..e59156502f 100644 --- a/core/src/mindustry/logic/LExecutor.java +++ b/core/src/mindustry/logic/LExecutor.java @@ -19,6 +19,7 @@ import mindustry.game.Teams.*; import mindustry.gen.*; import mindustry.logic.LogicFx.*; import mindustry.type.*; +import mindustry.ui.*; import mindustry.world.*; import mindustry.world.blocks.environment.*; import mindustry.world.blocks.logic.*; @@ -945,12 +946,6 @@ public class LExecutor{ //graphics on headless servers are useless. if(Vars.headless || exec.graphicsBuffer.size >= maxGraphicsBuffer) return; - int num1 = exec.numi(p1); - - if(type == LogicDisplay.commandImage){ - num1 = exec.obj(p1) instanceof UnlockableContent u ? u.iconId : 0; - } - //explicitly unpack colorPack, it's pre-processed here if(type == LogicDisplay.commandColorPack){ double packed = exec.num(x); @@ -962,7 +957,63 @@ public class LExecutor{ a = ((value & 0x000000ff)); exec.graphicsBuffer.add(DisplayCmd.get(LogicDisplay.commandColor, pack(r), pack(g), pack(b), pack(a), 0, 0)); + }else if(type == LogicDisplay.commandPrint){ + CharSequence str = exec.textBuffer; + + if(str.length() > 0){ + var data = Fonts.logic.getData(); + int advance = (int)data.spaceXadvance, lineHeight = (int)data.lineHeight; + + int xOffset, yOffset; + int align = p1; //p1 is not a variable, it's a raw align value. what a massive hack + + int maxWidth = 0, lines = 1, lineWidth = 0; + for(int i = 0; i < str.length(); i++){ + char next = str.charAt(i); + if(next == '\n'){ + maxWidth = Math.max(maxWidth, lineWidth); + lineWidth = 0; + lines ++; + }else{ + lineWidth ++; + } + } + maxWidth = Math.max(maxWidth, lineWidth); + + float + width = maxWidth * advance, + height = lines * lineHeight, + ha = ((Align.isLeft(align) ? -1f : 0f) + 1f + (Align.isRight(align) ? 1f : 0f))/2f, + va = ((Align.isBottom(align) ? -1f : 0f) + 1f + (Align.isTop(align) ? 1f : 0f))/2f; + + xOffset = -(int)(width * ha); + yOffset = -(int)(height * va) + (lines - 1) * lineHeight; + + + int curX = exec.numi(x), curY = exec.numi(y); + for(int i = 0; i < str.length(); i++){ + char next = str.charAt(i); + if(next == '\n'){ + //move Y down when newline is encountered + curY -= lineHeight; + curX = exec.numi(x); //reset + continue; + } + if(Fonts.logic.getData().hasGlyph(next)){ + exec.graphicsBuffer.add(DisplayCmd.get(LogicDisplay.commandPrint, packSign(curX + xOffset), packSign(curY + yOffset), next, 0, 0, 0)); + } + curX += advance; + } + + exec.textBuffer.setLength(0); + } }else{ + int num1 = exec.numi(p1); + + if(type == LogicDisplay.commandImage){ + num1 = exec.obj(p1) instanceof UnlockableContent u ? u.iconId : 0; + } + //add graphics calls, cap graphics buffer size exec.graphicsBuffer.add(DisplayCmd.get(type, packSign(exec.numi(x)), packSign(exec.numi(y)), packSign(num1), packSign(exec.numi(p2)), packSign(exec.numi(p3)), packSign(exec.numi(p4)))); } @@ -1459,7 +1510,8 @@ public class LExecutor{ case ban -> { Object cont = exec.obj(value); if(cont instanceof Block b){ - state.rules.bannedBlocks.add(b); + // Rebuild PlacementFragment if anything has changed + if(state.rules.bannedBlocks.add(b) && !headless) ui.hudfrag.blockfrag.rebuild(); }else if(cont instanceof UnitType u){ state.rules.bannedUnits.add(u); } @@ -1467,7 +1519,7 @@ public class LExecutor{ case unban -> { Object cont = exec.obj(value); if(cont instanceof Block b){ - state.rules.bannedBlocks.remove(b); + if(state.rules.bannedBlocks.remove(b) && !headless) ui.hudfrag.blockfrag.rebuild(); }else if(cont instanceof UnitType u){ state.rules.bannedUnits.remove(u); } diff --git a/core/src/mindustry/logic/LStatements.java b/core/src/mindustry/logic/LStatements.java index febcee4450..977459c9b8 100644 --- a/core/src/mindustry/logic/LStatements.java +++ b/core/src/mindustry/logic/LStatements.java @@ -6,6 +6,7 @@ import arc.graphics.*; import arc.scene.style.*; import arc.scene.ui.*; import arc.scene.ui.layout.*; +import arc.struct.*; import arc.util.*; import mindustry.*; import mindustry.annotations.Annotations.*; @@ -121,6 +122,20 @@ public class LStatements{ @RegisterStatement("draw") public static class DrawStatement extends LStatement{ + static final String[] aligns = {"center", "top", "bottom", "left", "right", "topLeft", "topRight", "bottomLeft", "bottomRight"}; + //yes, boxing Integer is gross but this is easier to construct and Integers <128 don't allocate anyway + static final ObjectMap nameToAlign = ObjectMap.of( + "center", Align.center, + "top", Align.top, + "bottom", Align.bottom, + "left", Align.left, + "right", Align.right, + "topLeft", Align.topLeft, + "topRight", Align.topRight, + "bottomLeft", Align.bottomLeft, + "bottomRight", Align.bottomRight + ); + public GraphicsType type = GraphicsType.clear; public String x = "0", y = "0", p1 = "0", p2 = "0", p3 = "0", p4 = "0"; @@ -147,6 +162,11 @@ public class LStatements{ p2 = "32"; p3 = "0"; } + + if(type == GraphicsType.print){ + p2 = "bottomLeft"; + } + rebuild(table); }, 2, cell -> cell.size(100, 50))); }, Styles.logict, () -> {}).size(90, 40).color(table.color).left().padLeft(2); @@ -225,14 +245,21 @@ public class LStatements{ row(s); fields(s, "rotation", p3, v -> p3 = v); } - //TODO - /* - case character -> { + case print -> { fields(s, "x", x, v -> x = v); fields(s, "y", y, v -> y = v); + row(s); - fields(s, "char", p1, v -> p1 = v); - }*/ + + s.add("align "); + + s.button(b -> { + b.label(() -> nameToAlign.containsKey(p1) ? p1 : "bottomLeft"); + b.clicked(() -> showSelect(b, aligns, p1, t -> { + p1 = t; + }, 2, cell -> cell.size(165, 50))); + }, Styles.logict, () -> {}).size(165, 40).color(s.color).left().padLeft(2); + } } }).expand().left(); } @@ -247,7 +274,8 @@ public class LStatements{ @Override public LInstruction build(LAssembler builder){ - return new DrawI((byte)type.ordinal(), 0, builder.var(x), builder.var(y), builder.var(p1), builder.var(p2), builder.var(p3), builder.var(p4)); + return new DrawI((byte)type.ordinal(), 0, builder.var(x), builder.var(y), + type == GraphicsType.print ? nameToAlign.get(p1, Align.bottomLeft) : builder.var(p1), builder.var(p2), builder.var(p3), builder.var(p4)); } @Override diff --git a/core/src/mindustry/maps/generators/BasicGenerator.java b/core/src/mindustry/maps/generators/BasicGenerator.java index e77cdde3e0..0305b1d3b0 100644 --- a/core/src/mindustry/maps/generators/BasicGenerator.java +++ b/core/src/mindustry/maps/generators/BasicGenerator.java @@ -335,7 +335,7 @@ public abstract class BasicGenerator implements WorldGenerator{ ore = tile.overlay(); r.get(tile.x, tile.y); tile.setFloor(floor.asFloor()); - tile.setBlock(block); + if(block != tile.block()) tile.setBlock(block); tile.setOverlay(ore); } } diff --git a/core/src/mindustry/net/ArcNetProvider.java b/core/src/mindustry/net/ArcNetProvider.java index 87a16f6a52..26b160526e 100644 --- a/core/src/mindustry/net/ArcNetProvider.java +++ b/core/src/mindustry/net/ArcNetProvider.java @@ -5,6 +5,7 @@ import arc.func.*; import arc.math.*; import arc.net.*; import arc.net.FrameworkMessage.*; +import arc.net.Server.*; import arc.net.dns.*; import arc.struct.*; import arc.util.*; @@ -161,6 +162,11 @@ public class ArcNetProvider implements NetProvider{ server.setConnectFilter(connectFilter); } + @Override + public @Nullable ServerConnectFilter getConnectFilter(){ + return server.getConnectFilter(); + } + private static boolean isLocal(InetAddress addr){ if(addr.isAnyLocalAddress() || addr.isLoopbackAddress()) return true; diff --git a/core/src/mindustry/net/Net.java b/core/src/mindustry/net/Net.java index ef69c392b0..145238bf88 100644 --- a/core/src/mindustry/net/Net.java +++ b/core/src/mindustry/net/Net.java @@ -3,6 +3,7 @@ package mindustry.net; import arc.*; import arc.func.*; import arc.net.*; +import arc.net.Server.*; import arc.struct.*; import arc.util.*; import mindustry.game.EventType.*; @@ -325,6 +326,15 @@ public class Net{ } } + /** Sets a connection filter by IP address. If the filter returns {@code false}, the connection will be closed. Server only. */ + public void setConnectFilter(@Nullable ServerConnectFilter filter){ + provider.setConnectFilter(filter); + } + + public @Nullable ServerConnectFilter getConnectFilter(){ + return provider.getConnectFilter(); + } + /** * Pings a host in a pooled thread. If an error occurred, failed() should be called with the exception. * If the port is the default mindustry port, SRV records are checked too. @@ -401,5 +411,9 @@ public class Net{ /** Sets a connection filter by IP address. If the filter returns {@code false}, the connection will be closed. */ default void setConnectFilter(Server.ServerConnectFilter connectFilter){} + + default @Nullable ServerConnectFilter getConnectFilter(){ + return null; + } } } diff --git a/core/src/mindustry/service/GameService.java b/core/src/mindustry/service/GameService.java index 79d9aec342..7b31d10711 100644 --- a/core/src/mindustry/service/GameService.java +++ b/core/src/mindustry/service/GameService.java @@ -10,7 +10,6 @@ import mindustry.game.SectorInfo.*; import mindustry.gen.*; import mindustry.type.*; import mindustry.world.*; -import mindustry.world.blocks.defense.*; import mindustry.world.blocks.defense.Wall.*; import mindustry.world.blocks.defense.turrets.Turret.*; import mindustry.world.blocks.distribution.*; @@ -111,16 +110,10 @@ public class GameService{ completeSerpulo.complete(); } - if(mods.list().size > 0){ + if(mods != null && mods.list().size > 0){ installMod.complete(); } - Events.on(ClientLoadEvent.class, e -> { - if(mods.list().size > 0){ - installMod.complete(); - } - }); - if(Core.bundle.get("yes").equals("router")){ routerLanguage.complete(); } @@ -231,8 +224,8 @@ public class GameService{ } } - if(e.tile.block() instanceof MendProjector || e.tile.block() instanceof RegenProjector) buildMendProjector.complete(); - if(e.tile.block() instanceof OverdriveProjector) buildOverdriveProjector.complete(); + if(e.tile.block() == Blocks.mendProjector) buildMendProjector.complete(); + if(e.tile.block() == Blocks.overdriveProjector) buildOverdriveProjector.complete(); if(e.tile.block() == Blocks.waterExtractor){ if(e.tile.getLinkedTiles(tmpTiles).contains(t -> t.floor().liquidDrop == Liquids.water)){ @@ -459,7 +452,8 @@ public class GameService{ //check unlocked stuff on load as well Events.on(ResearchEvent.class, e -> checkUnlocks.run()); Events.on(UnlockEvent.class, e -> checkUnlocks.run()); - Events.on(ClientLoadEvent.class, e -> checkUnlocks.run()); + + checkUnlocks.run(); Events.on(WinEvent.class, e -> { if(state.rules.pvp){ diff --git a/core/src/mindustry/ui/Fonts.java b/core/src/mindustry/ui/Fonts.java index b32847a353..6dd4ff1c24 100644 --- a/core/src/mindustry/ui/Fonts.java +++ b/core/src/mindustry/ui/Fonts.java @@ -35,7 +35,7 @@ public class Fonts{ private static TextureRegion[] iconTable; private static int lastCid; - public static Font def, outline, icon, iconLarge, tech; + public static Font def, outline, icon, iconLarge, tech, logic; public static TextureRegion logicIcon(int id){ return iconTable[id]; @@ -71,11 +71,13 @@ public class Fonts{ FreeTypeFontParameter param = fontParameter(); Core.assets.load("default", Font.class, new FreeTypeFontLoaderParameter(mainFont, param)).loaded = f -> Fonts.def = f; + Core.assets.load("icon", Font.class, new FreeTypeFontLoaderParameter("fonts/icon.ttf", new FreeTypeFontParameter(){{ size = 30; incremental = true; characters = "\0"; }})).loaded = f -> Fonts.icon = f; + Core.assets.load("iconLarge", Font.class, new FreeTypeFontLoaderParameter("fonts/icon.ttf", new FreeTypeFontParameter(){{ size = 48; incremental = false; @@ -83,6 +85,14 @@ public class Fonts{ borderWidth = 5f; borderColor = Color.darkGray; }})).loaded = f -> Fonts.iconLarge = f; + + Core.assets.load("logic", Font.class, new FreeTypeFontLoaderParameter("fonts/logic.ttf", new FreeTypeFontParameter(){{ + size = 16; + //generated all at once, it's fast enough anyway + incremental = false; + //ASCII only + characters = "\0ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890\"!`?'.,;:()[]{}<>|/@\\^$€-%+=#_&~*"; + }})).loaded = f -> Fonts.logic = f; } public static TextureRegion getLargeIcon(String name){ diff --git a/core/src/mindustry/ui/dialogs/JoinDialog.java b/core/src/mindustry/ui/dialogs/JoinDialog.java index b6b2476761..3092db179f 100644 --- a/core/src/mindustry/ui/dialogs/JoinDialog.java +++ b/core/src/mindustry/ui/dialogs/JoinDialog.java @@ -247,29 +247,12 @@ public class JoinDialog extends BaseDialog{ void setupServer(Server server, Host host){ server.lastHost = host; server.content.clear(); - buildServer(host, server.content); + buildServer(host, server.content, false); } - void buildServer(Host host, Table content){ + void buildServer(Host host, Table content, boolean inner){ content.top().left(); - String versionString; - - if(host.version == -1){ - versionString = Core.bundle.format("server.version", Core.bundle.get("server.custombuild"), ""); - }else if(host.version == 0){ - versionString = Core.bundle.get("server.outdated"); - }else if(host.version < Version.build && Version.build != -1){ - versionString = Core.bundle.get("server.outdated") + "\n" + - Core.bundle.format("server.version", host.version, ""); - }else if(host.version > Version.build && Version.build != -1){ - versionString = Core.bundle.get("server.outdated.client") + "\n" + - Core.bundle.format("server.version", host.version, ""); - }else if(host.version == Version.build && Version.type.equals(host.versionType)){ - //not important - versionString = ""; - }else{ - versionString = Core.bundle.format("server.version", host.version, host.versionType); - } + String versionString = getVersionString(host); float twidth = targetWidth() - 40f; @@ -277,12 +260,14 @@ public class JoinDialog extends BaseDialog{ Color color = Pal.gray; - content.table(Tex.whiteui, t -> { - t.left(); - t.setColor(color); + if(inner){ + content.table(Tex.whiteui, t -> { + t.left(); + t.setColor(color); - t.add(host.name + " " + versionString).style(Styles.outlineLabel).padLeft(10f).width(twidth).left().ellipsis(true); - }).growX().height(36f).row(); + t.add(host.name + " " + versionString).style(Styles.outlineLabel).padLeft(10f).width(twidth).left().ellipsis(true); + }).growX().height(36f).row(); + } content.table(Tex.whitePane, t -> { t.top().left(); @@ -485,11 +470,16 @@ public class JoinDialog extends BaseDialog{ void addCommunityHost(Host host, Table container){ global.background(null); + String versionString = getVersionString(host); float w = targetWidth(); container.left().top(); - container.button(b -> buildServer(host, b), style, () -> { + Button[] button = {null}; + + button[0] = container.button(b -> {}, style, () -> { + if(button[0].childrenPressed()) return; + Events.fire(new ClientPreConnectEvent(host)); if(!Core.settings.getBool("server-disclaimer", false)){ ui.showCustomConfirm("@warning", "@servers.disclaimer", "@ok", "@back", () -> { @@ -501,7 +491,28 @@ public class JoinDialog extends BaseDialog{ }else{ safeConnect(host.address, host.port, host.version); } - }).width(w).padBottom(7).padRight(4f).top().left().growY().uniformY(); + }).width(w).padBottom(7).padRight(4f).top().left().growY().uniformY().get(); + + Table inner = new Table(Tex.whiteui); + inner.setColor(Pal.gray); + + button[0].clearChildren(); + button[0].add(inner).growX(); + + inner.add(host.name + " " + versionString).left().padLeft(10f).wrap().style(Styles.outlineLabel).growX(); + + inner.button(Icon.add, Styles.emptyi, () -> { + Server server = new Server(); + server.setIP(host.address + ":" + host.port); + servers.add(server); + saveServers(); + setupRemote(); + refreshRemote(); + }).margin(3f).pad(8f).padRight(4f).top().right(); + + button[0].row(); + + buildServer(host, button[0].table(t -> {}).grow().get(), false); if((container.getChildren().size) % columns() == 0){ container.row(); @@ -532,7 +543,7 @@ public class JoinDialog extends BaseDialog{ local.row(); } - local.button(b -> buildServer(host, b), style, () -> { + local.button(b -> buildServer(host, b, true), style, () -> { Events.fire(new ClientPreConnectEvent(host)); safeConnect(host.address, host.port, host.version); }).width(w).top().left().growY(); @@ -641,6 +652,25 @@ public class JoinDialog extends BaseDialog{ Core.settings.putJson("servers", Server.class, servers); } + private String getVersionString(Host host){ + if(host.version == -1){ + return Core.bundle.format("server.version", Core.bundle.get("server.custombuild"), ""); + }else if(host.version == 0){ + return Core.bundle.get("server.outdated"); + }else if(host.version < Version.build && Version.build != -1){ + return Core.bundle.get("server.outdated") + "\n" + + Core.bundle.format("server.version", host.version, ""); + }else if(host.version > Version.build && Version.build != -1){ + return Core.bundle.get("server.outdated.client") + "\n" + + Core.bundle.format("server.version", host.version, ""); + }else if(host.version == Version.build && Version.type.equals(host.versionType)){ + //not important + return ""; + }else{ + return Core.bundle.format("server.version", host.version, host.versionType); + } + } + public static class Server{ public String ip; public int port; diff --git a/core/src/mindustry/ui/fragments/PlacementFragment.java b/core/src/mindustry/ui/fragments/PlacementFragment.java index ecdb326366..2c3e6ad524 100644 --- a/core/src/mindustry/ui/fragments/PlacementFragment.java +++ b/core/src/mindustry/ui/fragments/PlacementFragment.java @@ -113,7 +113,7 @@ public class PlacementFragment{ return hover; } - void rebuild(){ + public void rebuild(){ //category does not change on rebuild anymore, only on new world load Group group = toggler.parent; int index = toggler.getZIndex(); diff --git a/core/src/mindustry/world/Block.java b/core/src/mindustry/world/Block.java index 619a9fe209..f4f50c2fc1 100644 --- a/core/src/mindustry/world/Block.java +++ b/core/src/mindustry/world/Block.java @@ -154,6 +154,8 @@ public class Block extends UnlockableContent implements Senseable{ public boolean updateInUnits = true; /** if true, this block updates in payloads in units regardless of the experimental game rule */ public boolean alwaysUpdateInUnits = false; + /** if false, only incinerable liquids are dropped when deconstructing; otherwise, all liquids are dropped. */ + public boolean deconstructDropAllLiquid = false; /** Whether to use this block's color in the minimap. Only used for overlays. */ public boolean useColor = true; /** item that drops from this block, used for drills */ diff --git a/core/src/mindustry/world/Build.java b/core/src/mindustry/world/Build.java index 95664f71f4..4377eb521a 100644 --- a/core/src/mindustry/world/Build.java +++ b/core/src/mindustry/world/Build.java @@ -47,7 +47,10 @@ public class Build{ Block sub = ConstructBlock.get(previous.size); Seq prevBuild = new Seq<>(1); - if(tile.build != null) prevBuild.add(tile.build); + if(tile.build != null){ + prevBuild.add(tile.build); + tile.build.onDeconstructed(unit); + } tile.setBlock(sub, team, rotation); var build = (ConstructBuild)tile.build; diff --git a/core/src/mindustry/world/blocks/distribution/ItemBridge.java b/core/src/mindustry/world/blocks/distribution/ItemBridge.java index beb3e79d02..8688ae7889 100644 --- a/core/src/mindustry/world/blocks/distribution/ItemBridge.java +++ b/core/src/mindustry/world/blocks/distribution/ItemBridge.java @@ -418,14 +418,23 @@ public class ItemBridge extends Block{ checkAccept(source, world.tile(link)); } - protected boolean checkAccept(Building source, Tile other){ + protected boolean checkAccept(Building source, Tile link){ if(tile == null || linked(source)) return true; - if(linkValid(tile, other)){ - int rel = relativeTo(other); + if(linkValid(tile, link)){ + int rel = relativeTo(link); var facing = Edges.getFacingEdge(source, this); int rel2 = facing == null ? -1 : relativeTo(facing); + //this is a bug, but it is kept for compatibility, see: https://github.com/Anuken/Mindustry/issues/9257#issuecomment-1801998747 + /* + for(int j = 0; j < incoming.size; j++){ + int v = incoming.items[j]; + if(relativeTo(Point2.x(v), Point2.y(v)) == rel2){ + return false; + } + }*/ + return rel != rel2; } diff --git a/core/src/mindustry/world/blocks/logic/LogicDisplay.java b/core/src/mindustry/world/blocks/logic/LogicDisplay.java index 453a3391bd..cfd5c45be8 100644 --- a/core/src/mindustry/world/blocks/logic/LogicDisplay.java +++ b/core/src/mindustry/world/blocks/logic/LogicDisplay.java @@ -28,7 +28,8 @@ public class LogicDisplay extends Block{ commandLinePoly = 8, commandTriangle = 9, commandImage = 10, - commandCharacter = 11; + //note that this command actually only draws 1 character, unpacked in instruction + commandPrint = 11; public int maxSides = 25; @@ -103,8 +104,14 @@ public class LogicDisplay extends Block{ var icon = Fonts.logicIcon(p1); Draw.rect(Fonts.logicIcon(p1), x, y, p2, p2 / icon.ratio(), p3); } - case commandCharacter -> { - //TODO + case commandPrint -> { + var glyph = Fonts.logic.getData().getGlyph((char)p1); + if(glyph != null){ + Tmp.tr1.set(Fonts.logic.getRegion().texture); + Tmp.tr1.set(glyph.u, glyph.v2, glyph.u2, glyph.v); + + Draw.rect(Tmp.tr1, x + Tmp.tr1.width/2f + glyph.xoffset, y + Tmp.tr1.height/2f + glyph.yoffset + Fonts.logic.getData().capHeight + Fonts.logic.getData().ascent, Tmp.tr1.width, Tmp.tr1.height); + } } } } @@ -151,7 +158,8 @@ public class LogicDisplay extends Block{ linePoly, triangle, image, - ;//character; + //note that this command actually only draws 1 character, unpacked in instruction + print; public static final GraphicsType[] all = values(); } diff --git a/core/src/mindustry/world/blocks/payloads/PayloadDeconstructor.java b/core/src/mindustry/world/blocks/payloads/PayloadDeconstructor.java index ee66fcdfd4..d2586a4e22 100644 --- a/core/src/mindustry/world/blocks/payloads/PayloadDeconstructor.java +++ b/core/src/mindustry/world/blocks/payloads/PayloadDeconstructor.java @@ -5,6 +5,7 @@ import arc.math.*; import arc.util.*; import arc.util.io.*; import mindustry.content.*; +import mindustry.entities.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.logic.*; @@ -140,6 +141,16 @@ public class PayloadDeconstructor extends PayloadBlock{ float shift = edelta() * deconstructSpeed / deconstructing.buildTime(); float realShift = Math.min(shift, 1f - progress); + //if began deconstruction... + if(progress == 0f && shift > 0f && deconstructing instanceof BuildPayload pay){ + var build = pay.build; + //dump liquid on floor (does not respect block configuration with respect to dumping liquids on floor) + if(build.liquids != null && build.liquids.currentAmount() > 0){ + float perCell = build.liquids.currentAmount() / (block.size * block.size) * 2f; + tile.getLinkedTiles(other -> Puddles.deposit(other, build.liquids.current(), perCell)); + } + } + progress += shift; time += edelta(); diff --git a/core/src/mindustry/world/blocks/power/BeamNode.java b/core/src/mindustry/world/blocks/power/BeamNode.java index e9c9fad6db..b99590d2be 100644 --- a/core/src/mindustry/world/blocks/power/BeamNode.java +++ b/core/src/mindustry/world/blocks/power/BeamNode.java @@ -122,9 +122,10 @@ public class BeamNode extends PowerBlock{ @Override public BlockStatus status(){ - if(Mathf.equal(power.status, 0f, 0.001f)) return BlockStatus.noInput; - if(Mathf.equal(power.status, 1f, 0.001f)) return BlockStatus.active; - return BlockStatus.noOutput; + float balance = power.graph.getPowerBalance(); + if(balance > 0f) return BlockStatus.active; + if(balance < 0f && power.graph.getLastPowerStored() > 0) return BlockStatus.noOutput; + return BlockStatus.noInput; } @Override diff --git a/core/src/mindustry/world/blocks/storage/StorageBlock.java b/core/src/mindustry/world/blocks/storage/StorageBlock.java index d681389ca5..31d0666b14 100644 --- a/core/src/mindustry/world/blocks/storage/StorageBlock.java +++ b/core/src/mindustry/world/blocks/storage/StorageBlock.java @@ -5,6 +5,7 @@ import arc.struct.*; import arc.util.*; import mindustry.content.*; import mindustry.gen.*; +import mindustry.logic.*; import mindustry.type.*; import mindustry.world.*; import mindustry.world.blocks.storage.CoreBlock.*; @@ -100,6 +101,12 @@ public class StorageBlock extends Block{ } } + @Override + public double sense(LAccess sensor){ + if(sensor == LAccess.itemCapacity && linkedCore != null) return linkedCore.sense(sensor); + return super.sense(sensor); + } + @Override public void overwrote(Seq previous){ //only add prev items when core is not linked diff --git a/core/src/mindustry/world/blocks/units/UnitAssembler.java b/core/src/mindustry/world/blocks/units/UnitAssembler.java index 44165f636f..bff1cdf800 100644 --- a/core/src/mindustry/world/blocks/units/UnitAssembler.java +++ b/core/src/mindustry/world/blocks/units/UnitAssembler.java @@ -444,7 +444,7 @@ public class UnitAssembler extends PayloadBlock{ if(!net.client()){ var unit = plan.unit.create(team); - if(unit != null && unit.isCommandable()){ + if(unit != null && unit.isCommandable() && commandPos != null){ unit.command().commandPosition(commandPos); } unit.set(spawn.x + Mathf.range(0.001f), spawn.y + Mathf.range(0.001f)); diff --git a/gradle.properties b/gradle.properties index a54f280cb0..5965736f20 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,4 +25,4 @@ org.gradle.caching=true #used for slow jitpack builds; TODO see if this actually works org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.connectionTimeout=100000 -archash=1906938dea +archash=34775c79250cab391499fac8f4747365984c6923 diff --git a/servers_v7.json b/servers_v7.json index c482219b76..0cd81ae316 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -1,19 +1,27 @@ [ + { + "name": "Vndustry", + "address": ["140.238.246.78:7000"] + }, { "name": "meiqiuMDT", "address": ["cn1.plush.run:10001","211.101.236.94:10000","bj-1.lcf.icu:10240","play.simpfun.cn:14523"] }, + { + "name": "Crux's Revelations", + "address": ["de-free-01.hosts.optikservers.com:31528","de-prem-01.hosts.optikservers.com:35160"] + }, { "name": "CMS", - "address": ["195.2.84.144"] + "address": ["195.2.84.144","23.88.73.88:25617"] }, { - "name": "ShardDustry Events", - "address": ["194.247.42.11:27703"] + "name": "ShardDustry Eventos", + "address": ["45.158.9.198:31719"] }, { - "name": "ShardDustry", - "address": ["94.130.132.149:35689", "78.46.39.20:5552","45.158.9.198:30529"] + "name": "ShardDustry ES", + "address": ["94.130.132.149:35689","94.130.132.149:35438","45.158.9.198:31290","45.158.9.198:30529"] }, { "name": "Tamazia", @@ -69,15 +77,11 @@ }, { "name": "KMWStudios", - "address": ["46.151.26.232:1024", "46.151.26.232:2000", "46.151.26.232:3000", "46.151.26.232:4000", "46.151.26.232:6000", "46.151.26.232:7000", "46.151.26.232:8000"] + "address": ["x.kmwstudios.xyz:9000", "x.kmwstudios.xyz:9002", "x.kmwstudios.xyz:9003", "x.kmwstudios.xyz:9004", "x.kmwstudios.xyz:9005", "x.kmwstudios.xyz:9006", "x.kmwstudios.xyz:9007"] }, { "name": "XCore", - "address": ["130.61.52.25", "130.61.52.25:6568", "130.61.52.25:6569", "130.61.52.25:6570", "130.61.52.25:6571", "130.61.52.25:6572", "130.61.52.25:6573", "130.61.52.25:6888"] - }, - { - "name": "Darkdustry", - "address": ["130.61.78.82:3000", "130.61.78.82:3001", "130.61.78.82:3002", "130.61.78.82:3003", "130.61.78.82:3004", "130.61.78.82:3005", "130.61.78.82:3006", "130.61.78.82:3007", "130.61.78.82:3008", "130.61.78.82:3009", "130.61.78.82:3010"] + "address": ["128.140.88.66", "128.140.88.66:6568", "128.140.88.66:6569", "128.140.88.66:6570", "128.140.88.66:6571", "128.140.88.66:6572", "128.140.88.66:6573", "128.140.88.66:6574", "128.140.88.66:6575"] }, { "name": "Chaotic Neutral", @@ -89,7 +93,7 @@ }, { "name": "Korea", - "address": ["mindustry.kr", "mindustry.kr:7105"] + "address": ["mindustry.kr"] }, { "name": "Phoenix Network", @@ -125,7 +129,7 @@ }, { "name": "Eradication Mindustry", - "address": ["eradicationmindustry.mindustry.me:6569", "eradicationmindustry.mindustry.me:9547", "eradicationmindustry.mindustry.me:6572", "eradicationmindustry.mindustry.me:6570", "eradicationmindustry.mindustry.me:6571", "eradicationmindustry.mindustry.me:6574", "eradicationmindustry.mindustry.me:6573", "eradicationmindustry.mindustry.me:6568", "eradicationmindustry.mindustry.me:6677", "eradicationmindustry.mindustry.me:6678", "eradicationmindustry.mindustry.me:6675"] + "address": ["140.238.246.78:6569", "140.238.246.78:9547", "140.238.246.78:6572", "140.238.246.78:6570", "140.238.246.78:6571", "140.238.246.78:6574", "140.238.246.78:6573", "140.238.246.78:6568", "140.238.246.78:6677", "140.238.246.78:6678", "140.238.246.78:6675", "130.61.22.183:6573", "130.61.22.183:6599", "130.61.22.183:6774", "130.61.22.183:6777"] }, { "name": "Conservatory", @@ -167,10 +171,6 @@ "name": "Router Pi", "address": ["a55c81b7c4d6e6d604651a93f8af5cd83.asuscomm.com", "a55c81b7c4d6e6d604651a93f8af5cd83.asuscomm.com:6568", "a55c81b7c4d6e6d604651a93f8af5cd83.asuscomm.com:6569", "a55c81b7c4d6e6d604651a93f8af5cd83.asuscomm.com:6570", "a55c81b7c4d6e6d604651a93f8af5cd83.asuscomm.com:6571", "a55c81b7c4d6e6d604651a93f8af5cd83.asuscomm.com:6572", "a55c81b7c4d6e6d604651a93f8af5cd83.asuscomm.com:6573", "a55c81b7c4d6e6d604651a93f8af5cd83.asuscomm.com:6574"] }, - { - "name": "Vndustry", - "address": ["185.128.227.11", "27.50.72.82:25334"] - }, { "name": "Anana&ShenYv", "address": ["mdtleague.top"] @@ -218,7 +218,7 @@ }, { "name": "MeowIsland", - "address": ["n1.mindustry.me:6590", "n1.mindustry.me:6592", "n1.mindustry.me:6595"] + "address": ["nexus.minecraft.rent:25598", "nexus.minecraft.rent:25596", "jupiter.minecraft.rent:25651"] }, { "name": "3MIDustry", @@ -226,11 +226,11 @@ }, { "name": "ABCXYZ Community", - "address": ["118.127.8.162:25617", "78.108.218.117:25640", "srv3.godlike.club:27246"] + "address": ["23.88.73.88:23591", "23.88.73.88:23539", "144.76.57.59:14996", "144.76.57.59:16881", "144.76.57.59:13885", "23.88.73.88:32113", "144.76.57.59:9269"] }, { "name": "CroCraft Network", - "address": ["193.122.53.98:6567", "41.216.188.223:5001"] + "address": ["193.122.53.98:6567", "193.122.53.98:20130"] }, { "name": "Extra Utilities", @@ -238,7 +238,7 @@ }, { "name": "Alex Multiverse", - "address": ["alexmindustryv7.servegame.com:25588", "173.255.208.38:41962", "alexmindustrypvp.ddns.net:6767", "172.104.188.197:6768"] + "address": ["alexmindustryv7.servegame.com:25588", "173.255.208.38:41962", "alexmindustrypvp.ddns.net:6767", "172.104.188.197:6768", "172.234.80.96:6768", "139.162.41.78:6767"] }, { "name": "Open PVP", @@ -246,7 +246,7 @@ }, { "name": "XuwenHost", - "address": ["pi.xiyuchao.love:6567","mdt.xuwenblock.cn:6567"] + "address": ["mdt.xuwenblock.cn:6568","mdt.xuwenblock.cn:6567","106.14.14.210"] }, { "name": "MineCore", diff --git a/tests/src/test/java/ModTestExotic.java b/tests/src/test/java/ModTestAllure.java similarity index 76% rename from tests/src/test/java/ModTestExotic.java rename to tests/src/test/java/ModTestAllure.java index 88aa06a196..56dad03283 100644 --- a/tests/src/test/java/ModTestExotic.java +++ b/tests/src/test/java/ModTestAllure.java @@ -13,17 +13,14 @@ import static org.junit.jupiter.api.Assertions.*; //- it is probably the mod with the most json, and as such covers a lot of classes //- it is popular enough in the mod browser //- I am somewhat familiar with its files & the type of content it adds -public class ModTestExotic extends GenericModTest{ +public class ModTestAllure extends GenericModTest{ @Test public void begin(){ - //TODO broken as of 136+ - if(true) return; + grabMod("https://github.com/BlueWolf3682/Allure/archive/4150f74db1ea6058dc090959cf0fe5dc9d239e37.zip"); + checkExistence("allure"); - grabMod("https://github.com/BlueWolf3682/Exotic-Mod/archive/08c861398ac9c3d1292132f9a110e17e06294a90.zip"); - checkExistence("exotic-mod"); - - UnitType type = Vars.content.units().find(u -> u.name.equals("exotic-mod-luminance")); + UnitType type = Vars.content.unit("allure-0b11-exodus"); assertNotNull(type, "A mod unit must be loaded."); assertTrue(type.weapons.size > 0, "A mod unit must have a weapon."); diff --git a/tests/src/test/java/ModTestBM.java b/tests/src/test/java/ModTestBM.java index 3ba96be88e..24e817b441 100644 --- a/tests/src/test/java/ModTestBM.java +++ b/tests/src/test/java/ModTestBM.java @@ -16,10 +16,7 @@ public class ModTestBM extends GenericModTest{ @Test public void begin(){ - //TODO broken as of 136+ - if(true) return; - - grabMod("https://github.com/sk7725/BetaMindy/releases/download/v0.955/BetaMindy.jar"); + grabMod("https://github.com/sk7725/BetaMindy/releases/download/v1.11/BetaMindy.jar"); checkExistence("betamindy");