/// /// import Feature from "../../featureClass/class"; import SettingBase from "../settings/settingThings/settingBase"; import ToggleSetting from "../settings/settingThings/toggle"; class FragBot extends Feature { constructor() { super() } onEnable() { this.initVariables() this.hostingFragBot = false this.fragBotQueue = [] this.commandQueue = [] new SettingBase("To host a fragbot use /fragbot", "", undefined, "host_fragbot_info", this) new SettingBase("NOTE: All this does atm is accept party invites", "More features for this coming soon", true, "stat_next_to_name_description", this) // this.uploadToWebsite = new ToggleSetting("Advertise fragbot status", "Will show up as a fragbot in other peoples fragbot lists", true, "advertise_fragbot", this) this.registerCommand("fragbot", this.fragbotCommand) this.registerStep(false, 5, this.step).registeredWhen(() => this.hostingFragBot) this.registerStep(true, 2, this.step2).registeredWhen(() => this.hostingFragBot) this.registerChat("&9&m---------------------------${*}&r&9\n&r${player} &r&ehas invited you to join their party!\n&r&eYou have &r&c60 &r&eseconds to accept. &r&6Click here to join!&r&9\n&r&9&m----------------------------${*}&r", this.recievedPartyInvite) } step() { if (!this.hostingFragBot) return if (this.fragBotQueue.length > 0) { let player = this.fragBotQueue.shift() if (player) { this.commandQueue.push("/party leave") this.commandQueue.push("/party accept " + player) } } } step2() { if (!this.hostingFragBot) return if (this.commandQueue.length > 0) { let command = this.commandQueue.shift() if (command) { ChatLib.say(command) } } } recievedPartyInvite(player) { if (!this.hostingFragBot) return player = ChatLib.removeFormatting(player).split(" ").pop() this.fragBotQueue.push(player) } fragbotCommand(...args) { if (this.hostingFragBot) { this.hostingFragBot = false ChatLib.chat(this.FeatureManager.messagePrefix + "Fragbot has been disabled") } else { this.hostingFragBot = true ChatLib.chat(this.FeatureManager.messagePrefix + "Now acting as a fragbot, run /fragbot again to disable") } } initVariables() { this.hostingFragBot = undefined this.fragBotQueue = undefined this.commandQueue = undefined } onDisable() { this.initVariables() } } module.exports = { class: new FragBot() }