/* eslint-disable max-len */ /* eslint-disable require-jsdoc */ function inject(bot) { let vanish = false; let cspy = false; let op = true; let gameMode = 1; let prefix = false; let muted = false; bot.on('parsed_chat', (data) => { if (data.toString()=='You are now completely invisible to normal users, and hidden from in-game commands.') vanish = true; if (!bot.visibility) { if (data.toString().startsWith('Vanish for ') && data.toString().endsWith('disabled')) vanish = false; } if (data.toString()=='Successfully enabled CommandSpy') cspy = true; if (data.toString()=='Successfully disabled CommandSpy') cspy = false; if (data.toString()=='You now have the tag: [ChomeNS Bot]') { prefix = true; return; } if (data.toString().startsWith('You no longer have a tag')) prefix = false; if (data.toString().startsWith('You now have the tag: ')) prefix = false; if (data.toString().startsWith('You have been muted')) muted = true; if (data.toString()=='You have been unmuted.') muted = false; }); bot._client.on('entity_status', (data) => { if (data.entityId !== bot.entityId) return; switch (data.entityStatus) { case 24: op = false; bot.emit('deop'); break; case 28: op = true; bot.emit('op'); break; } bot.emit('entity_status', data); }); bot._client.on('game_state_change', (data) => { if (data.reason !== 3) return; gameMode = data.gameMode; }); bot._client.once('login', (data) => { gameMode = data.gameMode; }); const interval = setInterval(() => { if (!op) { bot.chat('/minecraft:op @s[type=player]'); return; } if (!vanish) bot.chat('/essentials:vanish enable'); if (!cspy) bot.chat('/commandspy:commandspy on'); if (gameMode !== 1) bot.chat('/minecraft:gamemode creative @s[type=player]'); if (!prefix) bot.chat('/extras:prefix &8[&eChomeNS Bot&8]'); if (muted) bot.chat('/essentials:mute ' + bot.uuid); }, 1000 * 5); bot.once('end', () => { clearInterval(interval); }); } module.exports = {inject};