获取材料类型&改用新材料

时间:2013-06-23 01:22:23

标签: java variables object

final Material b = event.getClickedBlock().getType();

p.sendMessage(ChatColor.GRAY + "This rock contains " + b.toString().toLowerCase().replaceAll("_", " ") + ".");

好吧,让我们说b等于CLAY,我想要打印出来" clay"在消息中。我在这里做的很有用。但是,让我们说b等于LAPIS_ORE,我想打印出"铜"在消息中。在这种情况下,它不会起作用,因为它会打印出青石矿石#34;而不是"铜"。在我使用的API中,铜不是Material类型,因此我无法声明变量Material LAPIS_ORE = COPPER;。我怎么能打印出来"铜"来自材料类型LAPIS_ORE?

我试过了:

String LAPIS_ORE = "copper";

p.sendMessage("This rock contains " + b.toString() + ".");

但是那仍然没有成功,可能是因为LAPIS_ORE不是字符串,所以我怎么做呢?如果需要,我如何声明一个新的材料类型并将其设置为等于LAPIS_ORE?

编辑:我可以使用switch语句执行此操作,但效率非常低。

编辑:修正了!比我想象的更简单,有点尴尬。 b.toString().toLowerCase().replaceAll("_", " ").replaceAll("GLOWING_REDSTONE_ORE", "copper ore").replaceAll("REDSTONE_ORE", "copper ore")

1 个答案:

答案 0 :(得分:0)

不是那种方式我确定:)你可以轻松搞定...... :)看看例子一种方法: http://forums.bukkit.org/threads/solved-checking-sign-text.57905/

享受它......