Skip to content

Commit 8d26237

Browse files
committed
feat: update allowed actions
1 parent f13333f commit 8d26237

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

carpet_bot_manager/cmd_tree.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def register_command(server: PluginServerInterface, manager: BotManager):
2323
builder.command('!!player <bot> spawn at <x> <y> <z>', lambda src, ctx: manager.add_bot(src, ctx['bot'], ctx))
2424
builder.command('!!player <bot> spawn at <x> <y> <z> facing <pitch> <yaw>', lambda src, ctx: manager.add_bot(src, ctx['bot'], ctx))
2525
builder.command('!!player <bot> spawn at <x> <y> <z> facing <pitch> <yaw> in <dim>', lambda src, ctx: manager.add_bot(src, ctx['bot'], ctx))
26-
builder.command('!!player <ebot> <action>', lambda src, ctx: manager.add_action(src, ctx['ebot'], ctx['action']))
26+
builder.command('!!player <bot> <action>', lambda src, ctx: manager.add_action(src, ctx['bot'], ctx['action']))
2727

2828
builder.command("!!bot", lambda src: src.reply(general_help))
2929
builder.command("!!bot list", lambda src: manager.list_bots(src))
@@ -48,15 +48,21 @@ def get_existed_bot_node(name: str):
4848
).suggests(lambda: manager.bots_in_list)
4949
def get_actions_node(name: str):
5050
return GreedyText(name).requires(
51+
lambda src, ctx: manager.check_list(ctx['bot']),
52+
lambda src: src.reply(tr('command.unknown_bot'))
53+
).requires(
5154
lambda src, ctx: re.match(constants.action_pattern, ctx[name]) is not None,
5255
lambda src: src.reply(tr('command.wrong_action'))
5356
).requires(
54-
lambda src, ctx: manager.check_action_limit(ctx['ebot']),
57+
lambda src, ctx: manager.check_action_limit(ctx['bot']),
5558
lambda src: src.reply(tr('command.action_too_much'))
5659
)
5760
def get_dimension_node(name: str):
5861
dims = list(constants.dimension_map.keys())
59-
return Text(name).requires(lambda _, ctx: ctx[name] in dims, lambda src: src.reply(tr('command.unknown_dimension')))
62+
return Text(name).requires(
63+
lambda _, ctx: ctx[name] in dims,
64+
lambda src: src.reply(tr('command.unknown_dimension'))
65+
)
6066

6167
builder.arg('ebot', get_existed_bot_node)
6268
builder.arg('action', get_actions_node)

carpet_bot_manager/constants.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,11 @@
5151
}
5252

5353
action_pattern = re.compile(r'^('
54-
r'((use|attack|jump) (once|continuous|(interval \d+)))|'
54+
r'((use|attack|jump|swapHands) (randomly|once|continuous|((after|interval) \d+)))|'
55+
r'(turn (left|right|back))|'
5556
r'(move (forward|backward|left|right))|'
5657
r'(look (up|down|north|south|east|west|(at -?\d+ \d+ -?\d+)))|'
5758
r'(drop(Stack)? (all|continuous|mainhand|offhand|(interval \d+)))|'
58-
r'dismount|kill|(hotbar [1-9])|'
59-
r'(delay %d+)'
59+
r'sneak|unsneak|sprint|unsprint|stop|dismount|kill|(hotbar [1-9])|'
60+
r'(delay \d+)'
6061
r')$')

0 commit comments

Comments
 (0)