From 8704e14fd7039e1ab218f740b1a7ecb7cf5dbb98 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 1 Feb 2021 09:24:39 -0500 Subject: [PATCH] Fixed #4493 / Fixed #4492 / Fixed #4490 --- core/src/mindustry/core/NetClient.java | 5 +++++ core/src/mindustry/core/NetServer.java | 1 + core/src/mindustry/type/UnitType.java | 3 ++- desktop/src/mindustry/desktop/steam/SStats.java | 3 +++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/core/NetClient.java b/core/src/mindustry/core/NetClient.java index 32b058997b..a8db5057d3 100644 --- a/core/src/mindustry/core/NetClient.java +++ b/core/src/mindustry/core/NetClient.java @@ -445,11 +445,16 @@ public class NetClient implements ApplicationListener{ for(int i = 0; i < amount; i++){ int pos = input.readInt(); + short block = input.readShort(); Tile tile = world.tile(pos); if(tile == null || tile.build == null){ Log.warn("Missing entity at @. Skipping block snapshot.", tile); break; } + if(tile.build.block.id != block){ + Log.warn("Block ID mismatch at @: @ != @. Skipping block snapshot.", tile, tile.build.block.id, block); + break; + } tile.build.readAll(Reads.get(input), tile.build.version()); } }catch(Exception e){ diff --git a/core/src/mindustry/core/NetServer.java b/core/src/mindustry/core/NetServer.java index d358a3958d..1f64b34a96 100644 --- a/core/src/mindustry/core/NetServer.java +++ b/core/src/mindustry/core/NetServer.java @@ -824,6 +824,7 @@ public class NetServer implements ApplicationListener{ sent ++; dataStream.writeInt(entity.pos()); + dataStream.writeShort(entity.block.id); entity.writeAll(Writes.get(dataStream)); if(syncStream.size() > maxSnapshotSize){ diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index a72d4669e1..9520c43669 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -11,6 +11,7 @@ import arc.scene.ui.*; import arc.scene.ui.layout.*; import arc.struct.*; import arc.util.*; +import mindustry.*; import mindustry.ai.types.*; import mindustry.annotations.Annotations.*; import mindustry.content.*; @@ -300,7 +301,7 @@ public class UnitType extends UnlockableContent{ } if(weapons.isEmpty()){ - range = maxRange = 0f; + range = maxRange = miningRange; } if(mechStride < 0){ diff --git a/desktop/src/mindustry/desktop/steam/SStats.java b/desktop/src/mindustry/desktop/steam/SStats.java index 9146ff12cd..c96bb9ebf1 100644 --- a/desktop/src/mindustry/desktop/steam/SStats.java +++ b/desktop/src/mindustry/desktop/steam/SStats.java @@ -51,6 +51,9 @@ public class SStats implements SteamUserStatsCallback{ stats.storeStats(); } }, statSavePeriod * 60, statSavePeriod * 60); + + if(Items.thorium.unlocked()) obtainThorium.complete(); + if(Items.titanium.unlocked()) obtainTitanium.complete(); }); }