询问下如何创建一个可以加附加条件,类似time set 100怎么获取这个100到变量里面啊?目前找到的教程中只涉及到建立指令和子指令,并没有详细的附加值教程,希望可以得到大佬们的指点
如果可以的话,希望可以贴一段示例代码供我参考,比如输入/abc 123 然后处理效果为变量abc=123
如果可以的话,希望可以贴一段示例代码供我参考,比如输入/abc 123 然后处理效果为变量abc=123
mod还是插件?
Ph-苯 发表于 2022-6-13 23:32
mod还是插件?
mod,forge的
yhz71976249 发表于 2022-6-15 20:45
mod,forge的
那这原版就有代码呀,你可以搜索一些原版的指令的类。我是fabric的,我注册指令就是根据原版依葫芦画瓢的。
Ph-苯 发表于 2022-6-15 23:24
那这原版就有代码呀,你可以搜索一些原版的指令的类。我是fabric的,我注册指令就是根据原版依葫芦画瓢的 ...
原版的我看了,大部分是引用的一个类,可读性太差,看着费劲(
yhz71976249 发表于 2022-6-16 13:04
原版的我看了,大部分是引用的一个类,可读性太差,看着费劲(
引用一个类?不同的指令不是放在不同的类里面吗?
Ph-苯 发表于 2022-6-16 17:35
引用一个类?不同的指令不是放在不同的类里面吗?
是分开的,但是会引用一个方法类,跳着读有点读不懂
- CommandDispatcher<Object> dispatcher = null;
- dispatcher.register(LiteralArgumentBuilder.literal("abc").then(
- RequiredArgumentBuilder.argument("number", IntegerArgumentType.integer(0, 255)) // 可以在 com.mojang.brigadier.arguments 查看更多参数或自定义参数解析器。
- .executes(context -> {
- int abc = IntegerArgumentType.getInteger(context, "number");
- return 0;
- })
- )
- );
- CommandRegistrationCallback.EVENT.register { dispatcher, dedicated ->
- dispatcher.register(CommandManager.literal("setCount")
- .then(CommandManager.argument("count", IntegerArgumentType.integer())
- .executes {
- (it.source.entity as? LivingEntity)?.apply {
- if (!mainHandStack.isEmpty) {
- val count = IntegerArgumentType.getInteger(it, "count")//获取count参数
- mainHandStack.count = count
- return@executes count
- }
- }
- return@executes 0
- }))
- }
太感谢了,帮大忙了..
6666666666