func (c *Client) Connected(g *Game, w *game.World) { p := game.NewPlayer(w, c.name) for id, b := range w.Biotics() { c.BioticCreated(id, b) c.Send(&proto.MsgScoreboardAdd{ Name: string(id), Score: g.scores[string(id)], }) } for id, wi := range w.WorldItems() { c.WorldItemAdded(id, wi) } w.AddEntity(p) w.AddBlockListener(c) w.AddBioticListener(c) w.AddWorldItemListener(c) c.player = p c.Send(&proto.MsgInventoryState{ Items: c.player.Inventory().ItemsToByteArray(), }) }
func (p *persister) ListenForChanges(w *game.World) { w.AddChunkListener(p) w.AddBlockListener(p) }