LeviLamina
LeviLamina copied to clipboard
指令注册冲突时报错或者进行某些操作
异常模块
Core(核心)
操作系统
Windows 11
LiteLoader版本
2.4.1
BDS版本
1.19.10.03
发生了什么?
如果两个插件有一个相同的命令,那么其中一个插件的所有命令都会无法使用。trapdoor和betweaker都有一个seed指令,如果同时加载这两个插件,trapdoor的所有指令都无法使用。 附加信息: Trapdoor用的是dynamicCommand:
void setup_seedCommand(int level) {
using ParamType = DynamicCommand::ParameterType;
auto command = DynamicCommand::createCommand("seed", "print seed",
static_cast<CommandPermissionLevel>(level));
auto &seedItemEnum = command->setEnum("showSubCommand", {"enchant", "level"});
command->mandatory("seed", ParamType::Enum, seedItemEnum,
CommandParameterOption::EnumAutocompleteExpansion);
command->addOverload({seedItemEnum});
}
Bet用的是继承的方案:
class SeedCommand : public Command
{
public:
void execute(CommandOrigin const& ori, CommandOutput& output) const override
{}
static void setup(CommandRegistry* registry)
{}
};
复现此问题的步骤
No response
有关的日志/输出
No response
插件列表
No response
加了个异常,应该会有用
Reopen due to #643
笑死
指令检查针对注册中的空格进行过滤(以允许假指令以同样的指令前缀重复注册)