下面列出了org.bukkit.Material#getNewData ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
static MaterialData decodeMaterial(int encoded) {
if (encoded == ENCODED_NULL_MATERIAL) return null;
Material material = decodeType(encoded);
if (material.getData() == MaterialData.class) {
return new MaterialData(material, decodeMetadata(encoded));
} else {
return material.getNewData(decodeMetadata(encoded));
}
}
/**
* Gets the MaterialData for this stack of items
*
* @return MaterialData for this item
*/
public MaterialData getData() {
Material mat = getType();
if (data == null && mat != null && mat.getData() != null) {
data = mat.getNewData((byte) this.getDurability());
}
return data;
}
private void createData(final byte data) {
Material mat = Material.getMaterial(type);
if (mat == null) {
this.data = new MaterialData(type, data);
} else {
this.data = mat.getNewData(data);
}
}
private void createData(final byte data) {
Material mat = getType();
if (mat == null || mat.getData() == null) {
this.data = new MaterialData(type, data);
} else {
this.data = mat.getNewData(data);
}
}
public static MaterialData parseMaterialData(Node node, String text) throws InvalidXMLException {
String[] pieces = text.split(":");
Material material = parseMaterial(node, pieces[0]);
byte data;
if(pieces.length > 1) {
data = parseNumber(node, pieces[1], Byte.class);
} else {
data = 0;
}
return material.getNewData(data);
}
@Override
protected MaterialData parseInternal(Node node, String text) throws FormatException, InvalidXMLException {
final String[] pieces = text.split(":");
final Material material = materialParser.parse(node, pieces[0]);
final byte data;
if(pieces.length > 1) {
data = byteParser.parse(node, pieces[1]);
} else {
data = 0;
}
return material.getNewData(data);
}
public static MaterialData decodeMaterial(int encoded) {
if(encoded == ENCODED_NULL_MATERIAL) return null;
Material material = decodeType(encoded);
if(material.getData() == MaterialData.class) {
return new MaterialData(material, decodeMetadata(encoded));
} else {
return material.getNewData(decodeMetadata(encoded));
}
}
public MaterialData getData() {
Material mat = Bukkit.getUnsafe().toLegacy(this.getType());
if (this.data == null && mat != null && mat.getData() != null) {
this.data = mat.getNewData((byte)this.getDurability());
}
return this.data;
}
private void createData(final byte data) {
Material mat = getType();
if (mat == null || mat.getData() == null) {
this.data = new MaterialData(type, data);
} else {
this.data = mat.getNewData(data);
}
}