我尝试通过执行以下操作将字符串转换为Material
:
for (Material ma : Material.values()) {
if (String.valueOf(ma.getId()).equals(args[0]) || ma.name().equalsIgnoreCase(args[0])) {
}
}
如果args[0]
是2
或grass
之类的字符串,那么效果非常好,但如何将41:2
转换为Material
?
感谢您的帮助,抱歉我的英语不好;)
答案 0 :(得分:1)
如果您描述的表示法使用两个以冒号分隔的魔术值(类型ID和数据值)来指定块的某个“类型”,则需要拆分字符串和分别设置两个值。可能有一种更好的方法可以使用if (!(indent in byIndent)) byIndent[indent] = rawBuild(value,indent);
类转换魔术值数据字节,但使用MaterialData
的直接和弃用方法可能更容易。因此,如果block.setData(byte data)
包含冒号,则将其拆分并解析这两个数字。对此有所帮助:
args[0]