【问题标题】:Java Plugin for Minecraft - Changing commandMinecraft 的 Java 插件 - 更改命令
【发布时间】:2017-09-28 21:17:19
【问题描述】:

所以我正在编辑一个用于 minecraft spigot 的插件。

在反编译器/调试器中,这就是 me.twister915.ffly 下的“FlyCommand.class”显示的内容

https://pastebin.com/KB3jLX7S

这是我的 intellij 项目中出现的相同文件的内容。

https://pastebin.com/kqX3DzTu

我正在尝试更改部件

  public FlyCommand()
  {
    super("fly");
  }

我从 intellij 假设这是需要编辑的地方。但我不知道如何改变,所以人们不要在游戏中使用命令“/fly”。我宁愿把它改成“/vfly”之类的东西

我不知道该怎么做。

【问题讨论】:

  • 1.为什么需要“vfly” 2. 你确定插件许可证允许你这样做吗? 3.你需要使用源代码并编辑它(或使用反编译器将所有内容反编译成源代码),然后重新编译它
  • 我只是不希望它用 /fly 的另一个插件覆盖另一个命令。这就是它目前正在做的事情,我希望它具有第二优先级。我认为最好的方法是更改​​命令。我还用 jd-gui 反编译,然后保存所有源并将其导入 intellij。 @SocraticPhoenix
  • 嗯...这可能更适合 bukkit 论坛...无论如何,如果您真的想更改它,只需将“fly”文本更改为“vfly”(是文件扩展名.java 还是 .class?)

标签: java minecraft


【解决方案1】:

您可以拦截CommandPreProcessEvent (javadocs) 并根据需要处理该事件。

@EventHandler
public void onCmdPreProcess(PlayerCommandPreprocessEvent e) {
    if (e.getMessage().equalsIgnoreCase("/" + "command") {
        e.setCancelled(true);    //Treat command in your way
    }
}

【讨论】:

    猜你喜欢
    • 2017-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多