问题标签 [bukkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
785 浏览

java - 无法让 Joda Time 使用我的 bukkit 插件

我正在尝试将 Joda-Time 与我的 bukkit 插件一起使用,但是我遇到了 ClassNotFoundException 和 NoClassDefFoundError。

我正在使用 eclipse 并将其添加到我的构建路径中,并在 jar 中的 MANIFEST 中修改了我的 Class-Path 变量(然后将 jar 添加到我的 jar 文件之外的 lib 文件夹中),并尝试添加我的 jar 文件中的 joda-time jar 文件。

所以让自己更清楚一点...... ClassNotFoundException 出现了,当我手动将文件添加到我的 jar 时, NoClassDefFoundError 出现了。

我已经尝试将我的项目转换为 maven(通过 eclipse)并将 joda-time 添加为 pom.xml 的依赖项,但我似乎也无法让它工作(也许我做错了什么)。

如果您需要更多信息,请询问。我不确定还包括什么。

感谢你给与我的帮助。

0 投票
1 回答
126 浏览

java - 从一个列表中保存并获取 3 个整数和一个字符串

您好,我正在为 minecraft bukkit 制作一个新插件,但我必须列出其中包含位置的玩家列表。

所以我很难用 3 个整数和一个字符串制作一个列表。3 个整数用于位置,字符串用于玩家名称。

但是我如何制作一个包含 3 个整数和一个字符串的列表,然后如何在玩家姓名上找到整数?

示例:我保存 3 个整数和我的玩家名称 12、20、10 这些是坐标 nobleleader13245 这是我的玩家名称

现在我将这些东西保存到列表中,我想取回坐标,所以我在列表中搜索玩家名,但我该怎么做呢?

对不起,如果我的例子不好或者我的英语不好,我希望有人能帮助我。

编辑 :

所以现在我有代码 tieTYT 建议我它可以工作,但现在我需要从列表中取回它。我怎么做?

所以我认为我必须查看列表并将发件人姓名与列出的玩家进行比较,如果其中之一相等,则获取整数,但如何?抱歉,我在 Java 方面有点菜鸟,但我尝试学习它!

0 投票
4 回答
325 浏览

java - Java从带有整数和字符串的列表中获取字符串

我正在尝试将我的世界中玩家的位置保存到一个列表中,这很好,但现在我如何通过在 playerName 上的列表中搜索来找回我的位置?

创建列表类的代码段和列表

我在列表中添加项目的一段代码:

这一切正常,但我如何取回数据,例如:

这是一个包含位置的列表:玩家名 XYZ:

球员三号 32 13 46

播放器二 12 60 212

播放器一号 43 62 523

所以我想在这个例子中搜索合适的播放器 我是 PlayerOne 所以我想从 playerList 中获取数据,其中字符串为 PlayerOne

在这种情况下,就是这个:PlayerOne 43 62 523

我该怎么做呢???

如果没有,我希望我很清楚。

0 投票
1 回答
115 浏览

java - IDE 没有给出错误,但 ArrayList 无法工作

RuneCraft在包中命名的主类中有这个com.mcvigor

public static ArrayList<String> prospPlayers = new ArrayList<String>();

我在另一个名为MiningListenerpackage的类中有这个com.mcvigor.listeners

在这之下还有其他的东西,但这并不重要。问题是当我勘探或检查矿石的岩石时,它应该将我添加到列表中,如果我再次尝试这样做,它不会让我直到我完成勘探(它从 ArrayList 中删除我的名字) .

为什么会这样?

if(RuneCraft.prospPlayers.contains(p.getName())) return;问题吗?

0 投票
2 回答
116 浏览

minecraft - 如何记录玩家的反应?

基本上我想要做的是让玩家响应一条消息,在该消息中他们只需要输入数字。从那时起,我可以将 String 解析为 int 并将其用于我的其余代码。另外,我正在尝试使它发生在我的事件方法中。任何帮助是极大的赞赏!

0 投票
2 回答
228 浏览

java - 可以使用合成或桥接方法来平滑 int -> double API 更改吗?

syntheticJava 在称为和的方法上有特殊标记bridge

JLS 13.1.7,“Java 编译器引入的任何在源代码中没有相应构造的构造都必须标记为合成……”

因此,合成方法是由编译器生成的任何东西,而不是在源代码中表示的东西,尽管该规范 PDF 中没有很好地提及它,但桥接方法用于类型检查泛型。(例如Animal.interactWith(Creature c),获得一个桥接方法interactWith(Object c),该方法转换为 Creature 并调用另一个方法。)


我们有一个名为 Bukkit 的 API,它提供了稳定的访问来改变 Minecraft 服务器的工作方式。API 底层实现的一个方面(又名 vanilla Minecraft),我们几乎无法控制,最近在版本中被迫1.6.1从整数值更改为浮点值。并且为了避免再次更改的困难,我们选择将我们所有的 API 方法更改为doubles.

因此,例如:

但是,与往常一样,我们希望使用以前版本编译的插件1.5.2,仍然尽可能地工作——这就是 API 的全部意义所在。

setHealth是一个已解决的问题,只需引入一个重载。目前,我们有一个名为的方法,它在实现编译(而不是API 编译)时_INVALID_getHealth(V)I被重命名为,这让旧插件继续运行。getHealth(V)I

然而,当有人试图扩展我们对这些重命名方法的实现时,他们会从双重命名的方法和覆盖中得到编译错误。

有没有办法使用手动/工具插入的合成或桥接方法同时提供int和返回,这不会导致那些试图更改我们 API 实现部分的人编译错误?double

0 投票
2 回答
5069 浏览

java - 禁止播放器命令的控制台输出

我正在制作一个 bukkit 插件,允许玩家使用密码锁定箱子。为了保护玩家,我希望密码不被服务器运营商窥探。

我想隐藏玩家使用命令时打印的控制台文本。例如,当玩家输入 /gamemode 1 时,控制台会打印出命令和使用者。有没有办法阻止这种情况?也许拦截它并擦除它,或者乱码?

0 投票
1 回答
1334 浏览

java - 添加对 UTF-8 字符的支持而不从 0 编写所有类代码?[Bukkit 和 Java]

我有 3 个班级来处理所有配置。(2 类 2000 行)

我想添加对 UTF-8 字符的支持,而不需要从 0 编写所有代码;/

我展示了我最小的课程(还没有完成,我不想用 1400 行发送垃圾邮件:))实际上只有两个变量:

我不知道如何在这里使用那个 UTF-8。

我也不想删除任何功能。

如果可以的话,也给我一些关于该代码的建议:)

//对不起我的英语不好

0 投票
1 回答
6636 浏览

java - 加载 yaml 文件时出错:此处不允许映射值

我有奇怪的问题...

我有那堂课:

http://pastebin.com/0rn9jCZd

还有那个配置文件:

那个错误......: http: //pastebin.com/E1HPssUX

而且我不知道如何解决这个问题......

如果我将配置更改为例如:

然后我在 rgoerihgyuehguidih 中的“:”也有同样的错误:

所以......知道如何解决这个问题吗?我花了 2 天......仍然一无所获;/

0 投票
1 回答
466 浏览

java - 分配器库存未更新 bukkit

我目前正在创建一个使用分配器的插件。我在监听器中有一个 while 循环,它应该从分配器的库存中取出一块煤,直到没有剩余的煤会中断。它循环良好并记录用于表示煤量的整数的倒计时。然而,分配器的库存不会更新,任何帮助将不胜感激。这是while循环中包含的代码