void Server_PacketReceived(PrecisionPacket packet) { if (packet.GridId == 0) { Server_PrecisionData.Remove(packet.OriginalSenderSteamId); } else { PrecisionData data; if (!Server_PrecisionData.TryGetValue(packet.OriginalSenderSteamId, out data)) { data = new PrecisionData(); Server_PrecisionData[packet.OriginalSenderSteamId] = data; } data.GridEntId = packet.GridId; data.BlockPos = packet.BlockPos; } }
public override void Register() { Packet = new PrecisionPacket(); if (Networking.IsPlayer) { Main.GrinderHandler.GrinderChanged += Local_EquippedGrinderChanged; } if (MyAPIGateway.Session.IsServer) { Server_PrecisionData = new Dictionary <ulong, PrecisionData>(); Main.GrindDamageHandler.GrindingBlock += Server_GrindingBlock; Main.GrindDamageHandler.GrindingFloatingObject += Server_GrindingFloatingObject; PrecisionPacket.OnReceive += Server_PacketReceived; MyVisualScriptLogicProvider.PlayerDisconnected += Server_PlayerDisconnected; } }