private void addMcEnchant(final EnchantmentStorageMeta meta, final by enchNbt) {
try {
// Here we are not using (dh.e(String)) because it does not fail correctly:
// it returns 0 instead of throwing an exception.
// Instead, we use (dw.e()). This way either the cast will fail or a NPE will be thrown.
final short enchId = ((cj) enchNbt.a("r1_6_4/net/minecraft/server/id")).a;
final short enchLvl = ((cj) enchNbt.a("lvl")).a;
@SuppressWarnings("deprecation")
final Enchantment ench = Enchantment.getById(enchId);
if (ench == null) {
Log.warn("Unknown Enchantment ID (" + enchId + "), ignored.");
} else {
meta.addStoredEnchant(ench, enchLvl, false);
}
} catch (final RuntimeException e) {
if (e instanceof ClassCastException || e instanceof NullPointerException) {
Log.error("Failed to add Enchantment to Enchanted Book, ignored.\nThe NBT was: " + enchNbt, e);
} else {
throw e;
}
}
}
NmsProxyTileChest.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:Pure
作者:
评论列表
文章目录