【问题标题】:Spigot/Bukkit Help : Block ManipulationSpigot/Bukkit 帮助:块操作
【发布时间】:2016-08-29 11:16:13
【问题描述】:

我不知道为什么这不起作用。 我试过执行它,但是当我输入/build时,红石块没有放置。

plugin.yml

name: SkinStandoff
version: 0.1
main: com.sumeshdesh.skinstandoff.SkinStandoff
commands:
   arena:
    usage: /build

Main.java

public class SkinStandoff extends JavaPlugin implements Listener {

public boolean onCommand(Command cmd, CommandSender sender, String label, String args[]) {
    if (cmd.getName().equalsIgnoreCase("build") && sender instanceof Player) {
        Player player = (Player) sender;
        Location start;
        Block bEnd;
        Location end;

        start = player.getLocation();
        end = start.add(3, -1, 3);
        bEnd = end.getBlock();
        getLogger().info(bEnd.toString());
        bEnd.setType(Material.REDSTONE_BLOCK);
        return true;
    }
    return false;
 }
 }

【问题讨论】:

  • 您有任何错误吗?你试过调试吗?
  • 没有任何错误,除了命令之外,一切都运行良好。
  • 如果您想要一个好的答案,您将不得不向我们提供更多详细信息。对于初学者,您是否正确设置了您的 plugin.yml? (向我们展示设置)
  • @Xetnus 谢谢。
  • @Sumesh 没问题。

标签: java bukkit


【解决方案1】:

plugin.yml

在不了解您的设置的情况下,我可以告诉您您的 plugin.yml 设置不正确。具体来说,commands 部分。你的plugin.yml 应该看起来像这样:

name: SkinStandoff
version: 0.1
main: com.sumeshdesh.skinstandoff.SkinStandoff
commands:
    build:
        usage: Type /build to place the block!

之前,build: 所在的行是 arena:。这意味着玩家必须输入/arena,而不是/build。而且,除非我不正确,否则我认为您希望玩家输入/build。您可以通过checking out the Plugin YAML wiki. 阅读有关设置plugin.yml 的更多信息

onCommand

onCommand 方法的前两个参数应该切换。这个:

onCommand(Command cmd, CommandSender sender, String label, String args[])

应替换为:

onCommand(CommandSender sender, Command cmd, String label, String[] args)

此外,您没有理由检查是否输入了命令 /build。除非您在plugin.yml 中注册了多个命令,否则您可以确定玩家输入了/build,否则您的onCommand 方法将不会被调用。所以,我的建议是替换这一行:

if (cmd.getName().equalsIgnoreCase("build") && sender instanceof Player) {

用这一行:

if (sender instanceof Player) {

你可以通过checking out the Plugin Tutorial wiki.阅读更多关于onCommand方法和Bukkit插件的信息

【讨论】:

    猜你喜欢
    • 2016-11-14
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-23
    相关资源
    最近更新 更多