aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--map.go24
1 files changed, 11 insertions, 13 deletions
diff --git a/map.go b/map.go
index f877dca..3d4faee 100644
--- a/map.go
+++ b/map.go
@@ -41,23 +41,21 @@ func newMap(l *lua.LState) *Map {
func (mp *Map) process(client *Client, pkt *mt.Pkt) {
switch cmd := pkt.Cmd.(type) {
case *mt.ToCltBlkData:
- go func() {
- mp.mu.Lock()
- defer mp.mu.Unlock()
+ mp.mu.Lock()
+ defer mp.mu.Unlock()
- blk := &MapBlk{}
- blk.data = &cmd.Blk
+ blk := &MapBlk{}
+ blk.data = &cmd.Blk
- if mp.pathfind {
- if oldblk, ok := mp.blocks[cmd.Blkpos]; ok {
- pathRemoveBlock(oldblk)
- }
-
- pathAddBlock(mp, blk, cmd.Blkpos)
+ if mp.pathfind {
+ if oldblk, ok := mp.blocks[cmd.Blkpos]; ok {
+ pathRemoveBlock(oldblk)
}
- mp.blocks[cmd.Blkpos] = blk
- }()
+ pathAddBlock(mp, blk, cmd.Blkpos)
+ }
+
+ mp.blocks[cmd.Blkpos] = blk
client.conn.SendCmd(&mt.ToSrvGotBlks{Blks: [][3]int16{cmd.Blkpos}})
}