Merge branch 'master' of https://github.com/Anuken/Mindustry into 7.0-features

This commit is contained in:
Anuken
2021-12-21 10:39:49 -05:00
12 changed files with 52 additions and 18 deletions

View File

@@ -1491,9 +1491,9 @@ block.incinerator.description = Vaporizes any item or liquid it receives.
block.power-void.description = Voids all power inputted. Sandbox only. block.power-void.description = Voids all power inputted. Sandbox only.
block.power-source.description = Infinitely outputs power. Sandbox only. block.power-source.description = Infinitely outputs power. Sandbox only.
block.item-source.description = Infinitely outputs items. Sandbox only. block.item-source.description = Infinitely outputs items. Sandbox only.
block.item-void.description = Destroys any items. Sandbox only. block.item-void.description = Destroys inputted items. Sandbox only.
block.liquid-source.description = Infinitely outputs liquids. Sandbox only. block.liquid-source.description = Infinitely outputs liquids. Sandbox only.
block.liquid-void.description = Removes any liquids. Sandbox only. block.liquid-void.description = Destroys inputted liquids. Sandbox only.
block.payload-source.description = Infinitely outputs payloads. Sandbox only. block.payload-source.description = Infinitely outputs payloads. Sandbox only.
block.payload-void.description = Destroys any payloads. Sandbox only. block.payload-void.description = Destroys any payloads. Sandbox only.
block.copper-wall.description = Protects structures from enemy projectiles. block.copper-wall.description = Protects structures from enemy projectiles.

View File

@@ -860,7 +860,7 @@ category.items = Materialien
category.crafting = Erzeugung category.crafting = Erzeugung
category.function = Funktion category.function = Funktion
category.optional = Optionale Zusätze category.optional = Optionale Zusätze
setting.skipcoreanimation.name = Skip Core Launch/Land Animation setting.skipcoreanimation.name = Kern Start- und Lande-Animation überspringen
setting.landscape.name = Landschaft sperren setting.landscape.name = Landschaft sperren
setting.shadows.name = Schatten setting.shadows.name = Schatten
setting.blockreplace.name = Automatische Blockvorschläge setting.blockreplace.name = Automatische Blockvorschläge

View File

@@ -96,7 +96,7 @@ database.button = Database
savegame = Gravar Jogo savegame = Gravar Jogo
loadgame = Carregar Jogo loadgame = Carregar Jogo
joingame = Entrar no Jogo joingame = Entrar no Jogo
customgame = Jogo Customi-/nzado customgame = Jogo Customizado
newgame = Novo Jogo newgame = Novo Jogo
none = <nenhum> none = <nenhum>
none.found = [lightgray]<none found> none.found = [lightgray]<none found>
@@ -519,7 +519,7 @@ width = Largura:
height = Altura: height = Altura:
menu = Menu menu = Menu
play = Jogar play = Jogar
campaign = Campa-/nnha campaign = Campannha
load = Carregar load = Carregar
save = Gravar save = Gravar
fps = FPS: {0} fps = FPS: {0}
@@ -528,7 +528,7 @@ tps = TPS: {0}
memory = Mem: {0}mb memory = Mem: {0}mb
memory2 = Mem:\n {0}mb +\n {1}mb memory2 = Mem:\n {0}mb +\n {1}mb
language.restart = Por favor, reinicie seu jogo para a tradução tomar efeito. language.restart = Por favor, reinicie seu jogo para a tradução tomar efeito.
settings = Configu-/nrações settings = Configurações
tutorial = Tutorial tutorial = Tutorial
tutorial.retake = Refazer Tutorial tutorial.retake = Refazer Tutorial
editor = Editor editor = Editor

View File

@@ -568,6 +568,38 @@ public class NetServer implements ApplicationListener{
player.con.hasDisconnected = true; player.con.hasDisconnected = true;
} }
//these functions are for debugging only, and will be removed!
@Remote(targets = Loc.client, variants = Variant.one)
public static void requestDebugStatus(Player player){
int flags =
(player.con.hasDisconnected ? 1 : 0) |
(player.con.hasConnected ? 2 : 0) |
(player.isAdded() ? 4 : 0) |
(player.con.hasBegunConnecting ? 8 : 0);
Call.debugStatusClient(player.con, flags, player.con.lastReceivedClientSnapshot, player.con.snapshotsSent);
Call.debugStatusClientUnreliable(player.con, flags, player.con.lastReceivedClientSnapshot, player.con.snapshotsSent);
}
@Remote(variants = Variant.both, priority = PacketPriority.high)
public static void debugStatusClient(int value, int lastClientSnapshot, int snapshotsSent){
logClientStatus(true, value, lastClientSnapshot, snapshotsSent);
}
@Remote(variants = Variant.both, priority = PacketPriority.high, unreliable = true)
public static void debugStatusClientUnreliable(int value, int lastClientSnapshot, int snapshotsSent){
logClientStatus(false, value, lastClientSnapshot, snapshotsSent);
}
static void logClientStatus(boolean reliable, int value, int lastClientSnapshot, int snapshotsSent){
Log.info("@ Debug status received. disconnected = @, connected = @, added = @, begunConnecting = @ lastClientSnapshot = @, snapshotsSent = @",
reliable ? "[RELIABLE]" : "[UNRELIABLE]",
(value & 1) != 0, (value & 2) != 0, (value & 4) != 0, (value & 8) != 0,
lastClientSnapshot, snapshotsSent
);
}
@Remote(targets = Loc.client) @Remote(targets = Loc.client)
public static void serverPacketReliable(Player player, String type, String contents){ public static void serverPacketReliable(Player player, String type, String contents){
if(netServer.customPacketHandlers.containsKey(type)){ if(netServer.customPacketHandlers.containsKey(type)){
@@ -931,6 +963,7 @@ public class NetServer implements ApplicationListener{
Call.entitySnapshot(player.con, (short)sent, syncStream.toByteArray()); Call.entitySnapshot(player.con, (short)sent, syncStream.toByteArray());
} }
player.con.snapshotsSent ++;
} }
String fixName(String name){ String fixName(String name){

View File

@@ -22,6 +22,8 @@ public abstract class NetConnection{
public long connectTime = Time.millis(); public long connectTime = Time.millis();
/** ID of last received client snapshot. */ /** ID of last received client snapshot. */
public int lastReceivedClientSnapshot = -1; public int lastReceivedClientSnapshot = -1;
/** Count of snapshots sent from server. */
public int snapshotsSent;
/** Timestamp of last received snapshot. */ /** Timestamp of last received snapshot. */
public long lastReceivedClientTime; public long lastReceivedClientTime;
/** Build requests that have been recently rejected. This is cleared every snapshot. */ /** Build requests that have been recently rejected. This is cleared every snapshot. */

View File

@@ -41,7 +41,8 @@ public class LanguageDialog extends BaseDialog{
"be", "Беларуская", "be", "Беларуская",
"bg", "Български", "bg", "Български",
"ru", "Русский", "ru", "Русский",
"uk_UA", "Українська (Україна)", "sr", "Српски",
"uk_UA", "Українська",
"th", "ไทย", "th", "ไทย",
"zh_CN", "简体中文", "zh_CN", "简体中文",
"zh_TW", "正體中文", "zh_TW", "正體中文",

View File

@@ -169,7 +169,7 @@ public class Drill extends Block{
return new TextureRegion[]{region, rotatorRegion, topRegion}; return new TextureRegion[]{region, rotatorRegion, topRegion};
} }
void countOre(Tile tile){ protected void countOre(Tile tile){
returnItem = null; returnItem = null;
returnCount = 0; returnCount = 0;

View File

@@ -20,8 +20,8 @@ public enum StatUnit{
degrees, degrees,
seconds, seconds,
minutes, minutes,
perSecond, perSecond(false),
perMinute, perMinute(false),
perShot(false), perShot(false),
timesSpeed(false), timesSpeed(false),
percent(false), percent(false),

View File

@@ -342,7 +342,7 @@ public class StatValues{
} }
if(type.status != StatusEffects.none){ if(type.status != StatusEffects.none){
sep(bt, (type.minfo.mod == null ? type.status.emoji() : "") + "[stat]" + type.status.localizedName); sep(bt, (type.status.minfo.mod == null ? type.status.emoji() : "") + "[stat]" + type.status.localizedName);
} }
if(type.fragBullet != null){ if(type.fragBullet != null){

View File

@@ -576,7 +576,9 @@ public class ServerControl implements ApplicationListener{
if(arg.length == 1){ if(arg.length == 1){
info("'@' is currently @.", c.name(), c.get()); info("'@' is currently @.", c.name(), c.get());
}else{ }else{
if(c.isBool()){ if (arg[1].equals("default")){
c.set(c.defaultValue);
}else if(c.isBool()){
c.set(arg[1].equals("on") || arg[1].equals("true")); c.set(arg[1].equals("on") || arg[1].equals("true"));
}else if(c.isNum()){ }else if(c.isNum()){
try{ try{

View File

@@ -53,7 +53,7 @@
}, },
{ {
"name": "Omega", "name": "Omega",
"address": ["yeeth.mindustry.me:2004","185.86.230.61:25570"] "address": ["yeeth.mindustry.me:6568"]
}, },
{ {
"name": "Obvilion Network", "name": "Obvilion Network",

View File

@@ -3,10 +3,6 @@
"name": "mindustry.pl", "name": "mindustry.pl",
"address": ["0.baseduser.eu.org:6000", "0.baseduser.eu.org:6666", "0.baseduser.eu.org:6966"] "address": ["0.baseduser.eu.org:6000", "0.baseduser.eu.org:6666", "0.baseduser.eu.org:6966"]
}, },
{
"name": "SkaarjDustry",
"address": ["skaarjproject.duckdns.org"]
},
{ {
"name": "C.A.M.S.", "name": "C.A.M.S.",
"address": ["baseduser.eu.org:6569", "v7.thedimas.pp.ua", "yeeth.mindustry.me:7000", "yeeth.mindustry.me:4000", "yeeth.mindustry.me:2000", "yeeth.mindustry.me:3000"] "address": ["baseduser.eu.org:6569", "v7.thedimas.pp.ua", "yeeth.mindustry.me:7000", "yeeth.mindustry.me:4000", "yeeth.mindustry.me:2000", "yeeth.mindustry.me:3000"]
@@ -17,7 +13,7 @@
}, },
{ {
"name": "Omega", "name": "Omega",
"address": ["yeeth.mindustry.me", "yeeth.mindustry.me:2006", "yeeth.mindustry.me:2003","yeeth.mindustry.me:2002", "yeeth.mindustry.me:2001", "yeeth.mindustry.me:2007", "yeeth.mindustry.me:2005"] "address": ["yeeth.mindustry.me:5002", "yeeth.mindustry.me:5003", "yeeth.mindustry.me:5004","yeeth.mindustry.me:5005", "yeeth.mindustry.me:5006", "yeeth.mindustry.me:5007", "yeeth.mindustry.me", "yeeth.mindustry.me:4006"]
}, },
{ {
"name": "MeowLand", "name": "MeowLand",