yhz71976249
询问下如何创建一个可以加附加条件,类似time set 100怎么获取这个100到变量里面啊?目前找到的教程中只涉及到建立指令和子指令,并没有详细的附加值教程,希望可以得到大佬们的指点
如果可以的话,希望可以贴一段示例代码供我参考,比如输入/abc 123 然后处理效果为变量abc=123

Ph-苯
mod还是插件?

yhz71976249

mod,forge的

Ph-苯

那这原版就有代码呀,你可以搜索一些原版的指令的类。我是fabric的,我注册指令就是根据原版依葫芦画瓢的。

yhz71976249
Ph-苯 发表于 2022-6-15 23:24
那这原版就有代码呀,你可以搜索一些原版的指令的类。我是fabric的,我注册指令就是根据原版依葫芦画瓢的 ...

原版的我看了,大部分是引用的一个类,可读性太差,看着费劲(

Ph-苯
yhz71976249 发表于 2022-6-16 13:04
原版的我看了,大部分是引用的一个类,可读性太差,看着费劲(

引用一个类?不同的指令不是放在不同的类里面吗?

yhz71976249
Ph-苯 发表于 2022-6-16 17:35
引用一个类?不同的指令不是放在不同的类里面吗?

是分开的,但是会引用一个方法类,跳着读有点读不懂

MiaoLio
  1. CommandDispatcher<Object> dispatcher = null;
  2.         dispatcher.register(LiteralArgumentBuilder.literal("abc").then(
  3.                 RequiredArgumentBuilder.argument("number", IntegerArgumentType.integer(0, 255)) // 可以在 com.mojang.brigadier.arguments 查看更多参数或自定义参数解析器。
  4.                         .executes(context -> {
  5.                             int abc = IntegerArgumentType.getInteger(context, "number");
  6.                             return 0;
  7.                         })
  8.                 )
  9.         );
复制代码

Ph-苯
  1. CommandRegistrationCallback.EVENT.register { dispatcher, dedicated ->
  2.     dispatcher.register(CommandManager.literal("setCount")
  3.       .then(CommandManager.argument("count", IntegerArgumentType.integer())
  4.         .executes {
  5.             (it.source.entity as? LivingEntity)?.apply {
  6.                 if (!mainHandStack.isEmpty) {
  7.                     val count = IntegerArgumentType.getInteger(it, "count")//获取count参数
  8.                     mainHandStack.count = count
  9.                     return@executes count
  10.                 }
  11.             }
  12.             return@executes 0
  13.         }))
  14. }
复制代码

yhz71976249

太感谢了,帮大忙了..

灬南湘
6666666666

第一页 上一页 下一页 最后一页