NmsProxyTileChest.java 文件源码

java
阅读 20 收藏 0 点赞 0 评论 0

项目:Pure 作者:
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;
        }
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号