diff --git a/lib/freecamera.js b/lib/freecamera.js index 559f4b79..789a8bf4 100644 --- a/lib/freecamera.js +++ b/lib/freecamera.js @@ -1,8 +1,8 @@ const EventEmitter = require('events') const { WorldView } = require('../viewer') -// freecamera is a dict -module.exports = (bot, freecamera, { viewDistance = 4, port = 3000, prefix = '' }) => { +// freecameras is a dict +module.exports = (bot, freecameras, id, { viewDistance = 4, port = 3000, prefix = '' }) => { const express = require('express') const app = express() @@ -16,7 +16,7 @@ module.exports = (bot, freecamera, { viewDistance = 4, port = 3000, prefix = '' const sockets = [] const primitives = {} - freecamera = new EventEmitter() + freecameras[id] = new EventEmitter() io.on('connection', (socket) => { socket.emit('version', bot.version) @@ -35,10 +35,10 @@ module.exports = (bot, freecamera, { viewDistance = 4, port = 3000, prefix = '' worldView.updatePosition(bot.entity.position) } - freecamera.on('update', botPosition) + freecameras[id].on('update', botPosition) worldView.listenToBot(bot) socket.on('disconnect', () => { - freecamera.removeListener('update', botPosition) + freecameras[id].removeListener('update', botPosition) worldView.removeListenersFromBot(bot) sockets.splice(sockets.indexOf(socket), 1) }) @@ -48,7 +48,7 @@ module.exports = (bot, freecamera, { viewDistance = 4, port = 3000, prefix = '' console.log(`Prismarine viewer free camera [id = ${id}] running on *:${port}`) }) - freecamera.close = () => { + freecameras[id].close = () => { http.close() for (const socket of sockets) { socket.disconnect()