aboutsummaryrefslogtreecommitdiff
path: root/azalea/examples/testbot/commands/combat.rs
blob: b440b3ace0c3e4b6255b62eb72af5f13bdef4fd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use azalea::brigadier::prelude::*;
use parking_lot::Mutex;

use super::{CommandSource, Ctx};

pub fn register(commands: &mut CommandDispatcher<Mutex<CommandSource>>) {
    commands.register(
        literal("killaura").then(argument("enabled", bool()).executes(|ctx: &Ctx| {
            let enabled = get_bool(ctx, "enabled").unwrap();
            let source = ctx.source.lock();
            let bot = source.bot.clone();
            {
                let mut ecs = bot.ecs.lock();
                let mut entity = ecs.entity_mut(bot.entity);
                let mut state = entity.get_mut::<crate::State>().unwrap();
                state.killaura = enabled
            }
            source.reply(if enabled {
                "Enabled killaura"
            } else {
                "Disabled killaura"
            });
            1
        })),
    );
}