diff --git a/components/events.js b/components/events.js new file mode 100644 index 0000000..3dd35bf --- /dev/null +++ b/components/events.js @@ -0,0 +1,3 @@ +const event = require('events'); + +module.exports = new event.EventEmitter(); \ No newline at end of file diff --git a/components/launcher.js b/components/launcher.js index 78016fe..3ad4fba 100644 --- a/components/launcher.js +++ b/components/launcher.js @@ -1,4 +1,5 @@ const child = require('child_process'); +const event = require('./events'); const path = require('path'); const handler = require('./handler'); const fs = require('fs'); @@ -53,8 +54,8 @@ module.exports = async function (options) { const arguments = args.concat(memory, jvm, classPaths, launchOptions); const minecraft = child.spawn("java", arguments); - - minecraft.stdout.on('data', (data) => {console.log(`[Minecraft] ${data}`)}); - minecraft.stderr.on('data', (data) => {console.error(`[Error] ${data}`)}); - minecraft.on('close', (code) => {console.log(`Minecraft closed with code ${code}`)}); + event.emit('start', null); + minecraft.stdout.on('data', (data) => event.emit('data', data)); + minecraft.stderr.on('data', (data) => event.emit('error', data)); + minecraft.on('close', (code) => event.emit('close', code)); }; \ No newline at end of file diff --git a/index.js b/index.js index 309eb1a..16fee25 100644 --- a/index.js +++ b/index.js @@ -1,6 +1,6 @@ module.exports = { core: require('./components/launcher'), - + event: require('./components/events'), handler: require('./components/handler'), authenticator: require('./components/authenticator'), }; \ No newline at end of file diff --git a/package.json b/package.json index 29744e3..a6e840b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "minecraft-launcher-core", - "version": "1.0.6", + "version": "1.1.0", "description": "Module that downloads Minecraft assets and runs Minecraft.", "main": "index.js", "dependencies": {