Merge remote-tracking branch 'origin/master'
This commit is contained in:
BIN
core/assets-raw/sprites/blocks/logic/world-switch-on.png
Normal file
BIN
core/assets-raw/sprites/blocks/logic/world-switch-on.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 164 B |
BIN
core/assets-raw/sprites/blocks/logic/world-switch.png
Normal file
BIN
core/assets-raw/sprites/blocks/logic/world-switch.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 389 B |
@@ -348,15 +348,15 @@ command.rebuild = Reconstrueix
|
|||||||
command.assist = Assisteix al jugador
|
command.assist = Assisteix al jugador
|
||||||
command.move = Mou
|
command.move = Mou
|
||||||
command.boost = Sobrevola
|
command.boost = Sobrevola
|
||||||
command.loadUnits = Load Units
|
command.loadUnits = Carrega unitats
|
||||||
command.loadBlocks = Load Blocks
|
command.loadBlocks = Carrega blocs
|
||||||
command.unloadPayload = Unload Payload
|
command.unloadPayload = Descarrega
|
||||||
stance.stop = Cancel Orders
|
stance.stop = Cancel·la les ordres
|
||||||
stance.shoot = Stance: Shoot
|
stance.shoot = Comportament: Dispara
|
||||||
stance.holdfire = Stance: Hold Fire
|
stance.holdfire = Comportament: Mantén el foc
|
||||||
stance.pursuetarget = Stance: Pursue Target
|
stance.pursuetarget = Comportament: Persegueix l’objectiu
|
||||||
stance.patrol = Stance: Patrol Path
|
stance.patrol = Comportament: Patrulla el camí
|
||||||
stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding
|
stance.ram = Comportament: Senzill\n[lightgray]Mou-te en línia recta, sense encaminador
|
||||||
openlink = Obre l’enllaç
|
openlink = Obre l’enllaç
|
||||||
copylink = Copia l’enllaç
|
copylink = Copia l’enllaç
|
||||||
back = Enrere
|
back = Enrere
|
||||||
@@ -655,7 +655,7 @@ marker.shapetext.name = Forma del text
|
|||||||
marker.minimap.name = Minimapa
|
marker.minimap.name = Minimapa
|
||||||
marker.shape.name = Forma
|
marker.shape.name = Forma
|
||||||
marker.text.name = Text
|
marker.text.name = Text
|
||||||
marker.line.name = Line
|
marker.line.name = Línia
|
||||||
marker.background = Fons
|
marker.background = Fons
|
||||||
marker.outline = Contorn
|
marker.outline = Contorn
|
||||||
|
|
||||||
@@ -970,9 +970,9 @@ ability.movelightning = Moviment llampec
|
|||||||
ability.shieldarc = Escut de descàrregues
|
ability.shieldarc = Escut de descàrregues
|
||||||
ability.suppressionfield = Regen Suppression Field
|
ability.suppressionfield = Regen Suppression Field
|
||||||
ability.energyfield = Camp de força
|
ability.energyfield = Camp de força
|
||||||
ability.energyfield.sametypehealmultiplier = [lightgray]Same Type Healing: [white]{0}%
|
ability.energyfield.sametypehealmultiplier = [lightgray]Mateix tipus de guarició: [white]{0} %
|
||||||
ability.energyfield.maxtargets = [lightgray]Max Targets: [white]{0}
|
ability.energyfield.maxtargets = [lightgray]Objectius màx.: [white]{0}
|
||||||
ability.regen = Regeneration
|
ability.regen = Regeneració
|
||||||
|
|
||||||
bar.onlycoredeposit = Només es permet depositar al nucli.
|
bar.onlycoredeposit = Només es permet depositar al nucli.
|
||||||
bar.drilltierreq = Cal una perforadora millor.
|
bar.drilltierreq = Cal una perforadora millor.
|
||||||
@@ -1067,7 +1067,7 @@ setting.backgroundpause.name = Pausa automàtica quan s’estigui en segon pla
|
|||||||
setting.buildautopause.name = Pausa automàtica quan es construeixi
|
setting.buildautopause.name = Pausa automàtica quan es construeixi
|
||||||
setting.doubletapmine.name = Dos tocs/clics per a extreure recursos
|
setting.doubletapmine.name = Dos tocs/clics per a extreure recursos
|
||||||
setting.commandmodehold.name = Mantén per al mode de comandament
|
setting.commandmodehold.name = Mantén per al mode de comandament
|
||||||
setting.distinctcontrolgroups.name = Limit One Control Group Per Unit
|
setting.distinctcontrolgroups.name = Limita a un grup de control per unitat
|
||||||
setting.modcrashdisable.name = Desactiva els mods quan no es pugui iniciar el joc
|
setting.modcrashdisable.name = Desactiva els mods quan no es pugui iniciar el joc
|
||||||
setting.animatedwater.name = Animacions del terreny
|
setting.animatedwater.name = Animacions del terreny
|
||||||
setting.animatedshields.name = Animacions dels escuts
|
setting.animatedshields.name = Animacions dels escuts
|
||||||
@@ -1114,7 +1114,7 @@ setting.position.name = Mostra la posició del jugador
|
|||||||
setting.mouseposition.name = Mostra la posició del ratolí
|
setting.mouseposition.name = Mostra la posició del ratolí
|
||||||
setting.musicvol.name = Volum de la música
|
setting.musicvol.name = Volum de la música
|
||||||
setting.atmosphere.name = Mostra l’atmosfera del planeta
|
setting.atmosphere.name = Mostra l’atmosfera del planeta
|
||||||
setting.drawlight.name = Draw Darkness/Lighting
|
setting.drawlight.name = Dibuixa la foscor/llum
|
||||||
setting.ambientvol.name = Volum del so ambiental
|
setting.ambientvol.name = Volum del so ambiental
|
||||||
setting.mutemusic.name = Silencia la música
|
setting.mutemusic.name = Silencia la música
|
||||||
setting.sfxvol.name = Volums dels efectes de so
|
setting.sfxvol.name = Volums dels efectes de so
|
||||||
@@ -1141,7 +1141,7 @@ keybind.title = Personalització dels controls
|
|||||||
keybinds.mobile = [scarlet]La majoria de dreceres no estan disponibles en les versions per a pantalles tàctils. Només està inclòs el moviment bàsic.
|
keybinds.mobile = [scarlet]La majoria de dreceres no estan disponibles en les versions per a pantalles tàctils. Només està inclòs el moviment bàsic.
|
||||||
category.general.name = General
|
category.general.name = General
|
||||||
category.view.name = Control de la vista i altres
|
category.view.name = Control de la vista i altres
|
||||||
category.command.name = Unit Command
|
category.command.name = Ordre d’unitat
|
||||||
category.multiplayer.name = Multijugador
|
category.multiplayer.name = Multijugador
|
||||||
category.blocks.name = Selecció d’estructures per construir
|
category.blocks.name = Selecció d’estructures per construir
|
||||||
placement.blockselectkeys = \n[lightgray]Tecles: [{0},
|
placement.blockselectkeys = \n[lightgray]Tecles: [{0},
|
||||||
@@ -1159,23 +1159,23 @@ keybind.mouse_move.name = Segueix el ratolí
|
|||||||
keybind.pan.name = Desplaça la vista
|
keybind.pan.name = Desplaça la vista
|
||||||
keybind.boost.name = Sobrevola
|
keybind.boost.name = Sobrevola
|
||||||
keybind.command_mode.name = Mode de comandament
|
keybind.command_mode.name = Mode de comandament
|
||||||
keybind.command_queue.name = Unit Command Queue
|
keybind.command_queue.name = Cua d’ordres d’unitat
|
||||||
keybind.create_control_group.name = Create Control Group
|
keybind.create_control_group.name = Crea un grup de control
|
||||||
keybind.cancel_orders.name = Cancel Orders
|
keybind.cancel_orders.name = Cancel·la les ordres
|
||||||
keybind.unit_stance_shoot.name = Unit Stance: Shoot
|
keybind.unit_stance_shoot.name = Comportament: Dispara
|
||||||
keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire
|
keybind.unit_stance_hold_fire.name = Comportament: Mantén el foc
|
||||||
keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target
|
keybind.unit_stance_pursue_target.name = Comportament: Persegueix l’objectiu
|
||||||
keybind.unit_stance_patrol.name = Unit Stance: Patrol
|
keybind.unit_stance_patrol.name = Comportament: Patrulla
|
||||||
keybind.unit_stance_ram.name = Unit Stance: Ram
|
keybind.unit_stance_ram.name = Comportament: Senzill
|
||||||
keybind.unit_command_move = Unit Command: Move
|
keybind.unit_command_move = Comportament: Mou
|
||||||
keybind.unit_command_repair = Unit Command: Repair
|
keybind.unit_command_repair = Comportament: Repara
|
||||||
keybind.unit_command_rebuild = Unit Command: Rebuild
|
keybind.unit_command_rebuild = Comportament: Reconstrueix
|
||||||
keybind.unit_command_assist = Unit Command: Assist
|
keybind.unit_command_assist = Comportament: Assisteix
|
||||||
keybind.unit_command_mine = Unit Command: Mine
|
keybind.unit_command_mine = Comportament: Extrau
|
||||||
keybind.unit_command_boost = Unit Command: Boost
|
keybind.unit_command_boost = Comportament: Sobrevola
|
||||||
keybind.unit_command_load_units = Unit Command: Load Units
|
keybind.unit_command_load_units = Comportament: Carrega unitats
|
||||||
keybind.unit_command_load_blocks = Unit Command: Load Blocks
|
keybind.unit_command_load_blocks = Comportament: Carrega blocs
|
||||||
keybind.unit_command_unload_payload = Unit Command: Unload Payload
|
keybind.unit_command_unload_payload = Comportament: Descarrega
|
||||||
keybind.rebuild_select.name = Reconstrueix la regió
|
keybind.rebuild_select.name = Reconstrueix la regió
|
||||||
keybind.schematic_select.name = Selecciona una regió
|
keybind.schematic_select.name = Selecciona una regió
|
||||||
keybind.schematic_menu.name = Menú de plànols
|
keybind.schematic_menu.name = Menú de plànols
|
||||||
@@ -1239,7 +1239,7 @@ mode.pvp.description = Lluiteu contra altres jugadors localment.\n[gray]Cal que
|
|||||||
mode.attack.name = Atac
|
mode.attack.name = Atac
|
||||||
mode.attack.description = Destruïu la base enemiga. \n[gray]Cal que al mapa hi hagi un nucli vermell.
|
mode.attack.description = Destruïu la base enemiga. \n[gray]Cal que al mapa hi hagi un nucli vermell.
|
||||||
mode.custom = Regles personalitzades
|
mode.custom = Regles personalitzades
|
||||||
rules.invaliddata = Invalid clipboard data.
|
rules.invaliddata = Dades del porta-retalls no vàlides.
|
||||||
rules.hidebannedblocks = Amaga els blocs no permesos
|
rules.hidebannedblocks = Amaga els blocs no permesos
|
||||||
|
|
||||||
rules.infiniteresources = Recursos infinits
|
rules.infiniteresources = Recursos infinits
|
||||||
@@ -2274,10 +2274,10 @@ lst.cutscene = Manipula la càmera del jugador.
|
|||||||
lst.setflag = Estableix un senyal global que es podrà llegir en tots els processadors.
|
lst.setflag = Estableix un senyal global que es podrà llegir en tots els processadors.
|
||||||
lst.getflag = Obtén un senyal global.
|
lst.getflag = Obtén un senyal global.
|
||||||
lst.setprop = Estableix una propietat d’una unitat o estructura.
|
lst.setprop = Estableix una propietat d’una unitat o estructura.
|
||||||
lst.effect = Create a particle effect.
|
lst.effect = Crea un efecte de particula.
|
||||||
lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most.
|
lst.sync = Sincronitza una variable a través de la xarxa.\nS’invoca com a molt 10 vegades per segon.
|
||||||
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.makemarker = Crea una marca lògica al món.\nS’ha de donar un ID per a identificar-la.\nEs poden establir fins a 20.000 marcadors per món.
|
||||||
lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.
|
lst.setmarker = Estableix una propietat per a la marca.\nL’ID que es faci servir ha de ser el mateix que el de la instrucció de crear la marca.
|
||||||
|
|
||||||
logic.nounitbuild = [red]Aquí no es permet construir blocs de tipus lògic.
|
logic.nounitbuild = [red]Aquí no es permet construir blocs de tipus lògic.
|
||||||
|
|
||||||
|
|||||||
@@ -586,3 +586,4 @@
|
|||||||
63096=fast|status-fast-ui
|
63096=fast|status-fast-ui
|
||||||
63095=ranai|ranai
|
63095=ranai|ranai
|
||||||
63094=cat|cat
|
63094=cat|cat
|
||||||
|
63093=world-switch|block-world-switch-ui
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ public class Blocks{
|
|||||||
//logic
|
//logic
|
||||||
message, switchBlock, microProcessor, logicProcessor, hyperProcessor, largeLogicDisplay, logicDisplay, memoryCell, memoryBank,
|
message, switchBlock, microProcessor, logicProcessor, hyperProcessor, largeLogicDisplay, logicDisplay, memoryCell, memoryBank,
|
||||||
canvas, reinforcedMessage,
|
canvas, reinforcedMessage,
|
||||||
worldProcessor, worldCell, worldMessage,
|
worldProcessor, worldCell, worldMessage, worldSwitch,
|
||||||
|
|
||||||
//campaign
|
//campaign
|
||||||
launchPad, interplanetaryAccelerator
|
launchPad, interplanetaryAccelerator
|
||||||
@@ -5944,6 +5944,13 @@ public class Blocks{
|
|||||||
privileged = true;
|
privileged = true;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
worldSwitch = new SwitchBlock("world-switch"){{
|
||||||
|
requirements(Category.logic, BuildVisibility.editorOnly, with());
|
||||||
|
|
||||||
|
targetable = false;
|
||||||
|
privileged = true;
|
||||||
|
}};
|
||||||
|
|
||||||
//endregion
|
//endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import mindustry.gen.*;
|
|||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
import mindustry.world.meta.*;
|
import mindustry.world.meta.*;
|
||||||
|
|
||||||
|
import static mindustry.Vars.state;
|
||||||
|
|
||||||
public class SwitchBlock extends Block{
|
public class SwitchBlock extends Block{
|
||||||
public Sound clickSound = Sounds.click;
|
public Sound clickSound = Sounds.click;
|
||||||
|
|
||||||
@@ -25,7 +27,26 @@ public class SwitchBlock extends Block{
|
|||||||
config(Boolean.class, (SwitchBuild entity, Boolean b) -> entity.enabled = b);
|
config(Boolean.class, (SwitchBuild entity, Boolean b) -> entity.enabled = b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean accessible(){
|
||||||
|
return !privileged || state.rules.editor;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canBreak(Tile tile){
|
||||||
|
return accessible();
|
||||||
|
}
|
||||||
|
|
||||||
public class SwitchBuild extends Building{
|
public class SwitchBuild extends Building{
|
||||||
|
@Override
|
||||||
|
public void damage(float damage){
|
||||||
|
if(privileged) return;
|
||||||
|
super.damage(damage);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean collide(Bullet other){
|
||||||
|
return !privileged;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean configTapped(){
|
public boolean configTapped(){
|
||||||
|
|||||||
@@ -910,6 +910,37 @@ public class ServerControl implements ApplicationListener{
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
handler.register("loadautosave", "Loads the last auto-save.", arg -> {
|
||||||
|
if(state.isGame()){
|
||||||
|
err("Already hosting. Type 'stop' to stop hosting first.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Fi newestSave = saveDirectory.findAll(f -> f.name().startsWith("auto_")).min(Fi::lastModified);
|
||||||
|
|
||||||
|
if(newestSave == null){
|
||||||
|
err("No auto-saves found! Type `config autosave true` to enable auto-saves.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!SaveIO.isSaveValid(newestSave)){
|
||||||
|
err("No (valid) save data found for slot.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Core.app.post(() -> {
|
||||||
|
try{
|
||||||
|
SaveIO.load(newestSave);
|
||||||
|
state.rules.sector = null;
|
||||||
|
info("Save loaded.");
|
||||||
|
state.set(State.playing);
|
||||||
|
netServer.openServer();
|
||||||
|
}catch(Throwable t){
|
||||||
|
err("Failed to load save. Outdated or corrupt file.");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
handler.register("load", "<slot>", "Load a save from a slot.", arg -> {
|
handler.register("load", "<slot>", "Load a save from a slot.", arg -> {
|
||||||
if(state.isGame()){
|
if(state.isGame()){
|
||||||
err("Already hosting. Type 'stop' to stop hosting first.");
|
err("Already hosting. Type 'stop' to stop hosting first.");
|
||||||
|
|||||||
@@ -89,7 +89,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Chaotic Neutral",
|
"name": "Chaotic Neutral",
|
||||||
"address": ["c-n.ddns.net:7012", "c-n.ddns.net:7013", "c-n.ddns.net:7014", "c-n.ddns.net:7015", "c-n.ddns.net:7016", "c-n.ddns.net:7017", "37.187.73.180:7021"]
|
"address": ["c-n.ddns.net:7012", "c-n.ddns.net:7013", "c-n.ddns.net:7014", "c-n.ddns.net:7015", "c-n.ddns.net:7016", "c-n.ddns.net:7017", "c-n.ddns.net:7003", "37.187.73.180:7021"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "io",
|
"name": "io",
|
||||||
@@ -121,7 +121,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Fish",
|
"name": "Fish",
|
||||||
"address": ["162.248.101.95", "162.248.100.98", "162.248.100.133", "162.248.102.204"]
|
"address": ["162.248.101.95", "162.248.100.98", "162.248.100.133", "162.248.102.204", "c-n.ddns.net:7003"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "The Devil",
|
"name": "The Devil",
|
||||||
@@ -210,7 +210,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Cyandustry",
|
"name": "Cyandustry",
|
||||||
"address": ["91.218.66.162:8000","91.218.66.162:7000", "91.218.66.162:7500", "91.218.66.162:7600"]
|
"address": ["136.243.14.186:7000","136.243.14.186:7001", "136.243.14.186:7002", "136.243.14.186:7003", "136.243.14.186:7004", "136.243.14.186:7005", "136.243.14.186:7006"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Four Family",
|
"name": "Four Family",
|
||||||
@@ -255,5 +255,9 @@
|
|||||||
{
|
{
|
||||||
"name": "MineCore",
|
"name": "MineCore",
|
||||||
"address": ["194.247.42.11:27792"]
|
"address": ["194.247.42.11:27792"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Atomic",
|
||||||
|
"address": ["129.146.33.189:25709", "atomic-lab.ddns.net:30315"]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user