【问题标题】:Arguments issues论据问题
【发布时间】:2017-04-19 06:47:19
【问题描述】:

所以,我正在尝试为我的 Minecraft 插件添加此命令的参数,我对此很陌生...

出于某种原因,每当我在游戏中使用命令“/bonustime 2(或任何整数参数)时,它都不会改变任何东西。为什么?我该如何解决这个问题?

这是我的代码中包含问题的部分:

public boolean onCommand(Command cmd, String label, int[] args, CommandSender sender, Player player) {
    if(player.hasPermission("itemgiver.set") || player.isOp()) {
    if(cmd.getName().equalsIgnoreCase("bonustime") && sender instanceof Player) {


        if(args.length == 1) {
         player = (Player) sender;
         time = args[0] * 1200;
        player.sendMessage(ChatColor.DARK_PURPLE + "Players will now recieve their bonus every" + args[0] + " mins.");
        }

    return true;
    }

}
    return false;
}

【问题讨论】:

  • 期望的行为是什么?
  • 所以,插件本质上是在每设定的时间内给玩家奖励物品。我希望能够设置一个可变的延迟,这样他们就不会一直收到物品。
  • 每当我尝试在游戏中使用命令时,它只会返回我为命令设置的内容:在 plugin.yml 中。
  • 看看schedules。您应该将时间保存在类变量中,以便固定创建您的日程安排

标签: java arguments minecraft


【解决方案1】:

您还需要确保您的命令已在主类中注册,否则服务器甚至不会注意到您的命令。

【讨论】:

    【解决方案2】:

    嗯,乍一看,我真的看不出代码有什么问题。是否有可能,您可能只是忘记在 main.class 中注册命令? 还要检查您是否在 Plugin.yml 中列出了该命令。

    author: The Developer
    version: 1.0.0
    main: com.TheDeveloper.main.main
    commands:
       bonustime:
         description: add some time
         permission: itemgiver.set
    

    【讨论】:

      猜你喜欢
      • 2011-03-27
      • 1970-01-01
      • 2020-06-27
      • 1970-01-01
      • 2019-03-16
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      相关资源
      最近更新 更多