首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取材料类型并更改为新材料

获取材料类型并更改为新材料
EN

Stack Overflow用户
提问于 2013-06-23 09:22:23
回答 1查看 57关注 0票数 0

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

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

好的,假设b等于红土,我想在消息中打印出“红土”。我在这里所做的工作是有效的。但是假设b等于铜,并且我想在消息中打印出“LAPIS_ORE”。在这种情况下,它不会工作,因为它将打印“青金石”而不是“铜”。在我使用的API中,铜不是一种材料类型,因此我不能声明一个变量Material LAPIS_ORE = COPPER;。否则我怎么能从Material type LAPIS_ORE打印出“to”呢?

我试过了:

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")

EN

回答 1

Stack Overflow用户

发布于 2013-06-23 09:35:55

我敢肯定不是这样的:)你可以很容易地让它工作... :)请看示例:http://forums.bukkit.org/threads/solved-checking-sign-text.57905/

尽情享受吧。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17256881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档