diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index ade8b99f4a..14f39467fa 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -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-source.description = Infinitely outputs power. 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-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-void.description = Destroys any payloads. Sandbox only. block.copper-wall.description = Protects structures from enemy projectiles. diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index 64f33a9f70..1c404226e4 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -860,7 +860,7 @@ category.items = Materialien category.crafting = Erzeugung category.function = Funktion 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.shadows.name = Schatten setting.blockreplace.name = Automatische Blockvorschläge diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index eb446c9397..2b380c191b 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -96,7 +96,7 @@ database.button = Database savegame = Gravar Jogo loadgame = Carregar Jogo joingame = Entrar no Jogo -customgame = Jogo Customi-/nzado +customgame = Jogo Customizado newgame = Novo Jogo none = none.found = [lightgray] @@ -519,7 +519,7 @@ width = Largura: height = Altura: menu = Menu play = Jogar -campaign = Campa-/nnha +campaign = Campannha load = Carregar save = Gravar fps = FPS: {0} @@ -528,7 +528,7 @@ tps = TPS: {0} memory = Mem: {0}mb memory2 = Mem:\n {0}mb +\n {1}mb language.restart = Por favor, reinicie seu jogo para a tradução tomar efeito. -settings = Configu-/nrações +settings = Configurações tutorial = Tutorial tutorial.retake = Refazer Tutorial editor = Editor diff --git a/core/src/mindustry/core/NetServer.java b/core/src/mindustry/core/NetServer.java index 8c8498c03f..2a5e73b1a3 100644 --- a/core/src/mindustry/core/NetServer.java +++ b/core/src/mindustry/core/NetServer.java @@ -568,6 +568,38 @@ public class NetServer implements ApplicationListener{ 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) public static void serverPacketReliable(Player player, String type, String contents){ if(netServer.customPacketHandlers.containsKey(type)){ @@ -931,6 +963,7 @@ public class NetServer implements ApplicationListener{ Call.entitySnapshot(player.con, (short)sent, syncStream.toByteArray()); } + player.con.snapshotsSent ++; } String fixName(String name){ diff --git a/core/src/mindustry/net/NetConnection.java b/core/src/mindustry/net/NetConnection.java index 3d9ac3e5ee..09929ec27f 100644 --- a/core/src/mindustry/net/NetConnection.java +++ b/core/src/mindustry/net/NetConnection.java @@ -22,6 +22,8 @@ public abstract class NetConnection{ public long connectTime = Time.millis(); /** ID of last received client snapshot. */ public int lastReceivedClientSnapshot = -1; + /** Count of snapshots sent from server. */ + public int snapshotsSent; /** Timestamp of last received snapshot. */ public long lastReceivedClientTime; /** Build requests that have been recently rejected. This is cleared every snapshot. */ diff --git a/core/src/mindustry/ui/dialogs/LanguageDialog.java b/core/src/mindustry/ui/dialogs/LanguageDialog.java index 6504bbe60c..a124c3896f 100644 --- a/core/src/mindustry/ui/dialogs/LanguageDialog.java +++ b/core/src/mindustry/ui/dialogs/LanguageDialog.java @@ -41,7 +41,8 @@ public class LanguageDialog extends BaseDialog{ "be", "Беларуская", "bg", "Български", "ru", "Русский", - "uk_UA", "Українська (Україна)", + "sr", "Српски", + "uk_UA", "Українська", "th", "ไทย", "zh_CN", "简体中文", "zh_TW", "正體中文", diff --git a/core/src/mindustry/world/blocks/production/Drill.java b/core/src/mindustry/world/blocks/production/Drill.java index c7795a853e..1aae664e82 100644 --- a/core/src/mindustry/world/blocks/production/Drill.java +++ b/core/src/mindustry/world/blocks/production/Drill.java @@ -169,7 +169,7 @@ public class Drill extends Block{ return new TextureRegion[]{region, rotatorRegion, topRegion}; } - void countOre(Tile tile){ + protected void countOre(Tile tile){ returnItem = null; returnCount = 0; diff --git a/core/src/mindustry/world/meta/StatUnit.java b/core/src/mindustry/world/meta/StatUnit.java index e6486d10cd..1ee6a594db 100644 --- a/core/src/mindustry/world/meta/StatUnit.java +++ b/core/src/mindustry/world/meta/StatUnit.java @@ -20,8 +20,8 @@ public enum StatUnit{ degrees, seconds, minutes, - perSecond, - perMinute, + perSecond(false), + perMinute(false), perShot(false), timesSpeed(false), percent(false), diff --git a/core/src/mindustry/world/meta/StatValues.java b/core/src/mindustry/world/meta/StatValues.java index 69139a08ce..e292f5bf33 100644 --- a/core/src/mindustry/world/meta/StatValues.java +++ b/core/src/mindustry/world/meta/StatValues.java @@ -342,7 +342,7 @@ public class StatValues{ } 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){ diff --git a/server/src/mindustry/server/ServerControl.java b/server/src/mindustry/server/ServerControl.java index 230180772d..2a4026d792 100644 --- a/server/src/mindustry/server/ServerControl.java +++ b/server/src/mindustry/server/ServerControl.java @@ -576,7 +576,9 @@ public class ServerControl implements ApplicationListener{ if(arg.length == 1){ info("'@' is currently @.", c.name(), c.get()); }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")); }else if(c.isNum()){ try{ diff --git a/servers_v6.json b/servers_v6.json index f549b49a9e..14f1771ee6 100644 --- a/servers_v6.json +++ b/servers_v6.json @@ -53,7 +53,7 @@ }, { "name": "Omega", - "address": ["yeeth.mindustry.me:2004","185.86.230.61:25570"] + "address": ["yeeth.mindustry.me:6568"] }, { "name": "Obvilion Network", diff --git a/servers_v7.json b/servers_v7.json index 8f9812946d..befb1d1637 100644 --- a/servers_v7.json +++ b/servers_v7.json @@ -3,10 +3,6 @@ "name": "mindustry.pl", "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.", "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", - "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",