From 9a364bb7bc672a2f462eb2323d47b7053a285b1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=9D=8F=E9=BB=91?= Date: Mon, 24 Jun 2019 21:53:36 +0800 Subject: [PATCH] 1.14 supported --- src/main/resources/Addons/TabooLibDeprecated | Bin 426873 -> 427269 bytes src/main/resources/simplei18n/high/zh_CN.yml | 1250 ++++++++++------- src/main/resources/simplei18n/low/zh_CN.yml | 2 +- .../taboolib/common/nms/NMSHandlerImpl.java | 27 +- .../taboolib/common/util/SimpleI18n.java | 2 +- .../skymc/taboolib/cronus/CronusParser.java | 23 +- .../me/skymc/taboolib/cronus/CronusUtils.java | 4 + .../taboolib/cronus/bukkit/ItemStack.java | 36 + .../taboolib/cronus/bukkit/Location.java | 66 +- .../cronus/util/StringExpression.java | 103 ++ .../taboolib/cronus/util/StringNumber.java | 135 ++ .../skymc/taboolib/inventory/ItemUtils.java | 93 +- .../builder/v2/ClickListener1_9.java | 2 +- .../me/skymc/taboolib/listener/TListener.java | 19 +- .../taboolib/listener/TListenerHandler.java | 5 + 15 files changed, 1127 insertions(+), 640 deletions(-) create mode 100644 src/main/scala/me/skymc/taboolib/cronus/util/StringExpression.java create mode 100644 src/main/scala/me/skymc/taboolib/cronus/util/StringNumber.java diff --git a/src/main/resources/Addons/TabooLibDeprecated b/src/main/resources/Addons/TabooLibDeprecated index 817fe8ff57ec2c1d411ff664740b743cac4334f0..a2acc1a1f545fc47bbed022b61d0da55e7452715 100644 GIT binary patch delta 14018 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 F{{W4v&(r__ delta 13351 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 diff --git a/src/main/resources/simplei18n/high/zh_CN.yml b/src/main/resources/simplei18n/high/zh_CN.yml index 7f97cc8..d29592b 100644 --- a/src/main/resources/simplei18n/high/zh_CN.yml +++ b/src/main/resources/simplei18n/high/zh_CN.yml @@ -1,531 +1,4 @@ -'version': 2 -'entity_null': '实体' -'entity_minecraft_area_effect_cloud': '区域效果云' -'entity_minecraft_armor_stand': '盔甲架' -'entity_minecraft_arrow': '箭' -'entity_minecraft_bat': '蝙蝠' -'entity_minecraft_blaze': '烈焰人' -'entity_minecraft_boat': '船' -'entity_minecraft_cat': '猫' -'entity_minecraft_cave_spider': '洞穴蜘蛛' -'entity_minecraft_chest_minecart': '运输矿车' -'entity_minecraft_chicken': '鸡' -'entity_minecraft_cod': '鳕鱼' -'entity_minecraft_command_block_minecart': '命令方块矿车' -'entity_minecraft_cow': '牛' -'entity_minecraft_creeper': '爬行者' -'entity_minecraft_dolphin': '海豚' -'entity_minecraft_donkey': '驴' -'entity_minecraft_dragon_fireball': '龙的火球' -'entity_minecraft_drowned': '溺尸' -'entity_minecraft_egg': '掷出的鸡蛋' -'entity_minecraft_elder_guardian': '远古守卫者' -'entity_minecraft_end_crystal': '末影水晶' -'entity_minecraft_ender_dragon': '末影龙' -'entity_minecraft_ender_pearl': '掷出的末影珍珠' -'entity_minecraft_enderman': '末影人' -'entity_minecraft_endermite': '末影螨' -'entity_minecraft_evoker': '唤魔者' -'entity_minecraft_evoker_fangs': '唤魔者的尖牙' -'entity_minecraft_experience_bottle': '掷出的附魔之瓶' -'entity_minecraft_experience_orb': '经验球' -'entity_minecraft_eye_of_ender': '末影之眼' -'entity_minecraft_falling_block': '下落的方块' -'entity_minecraft_fireball': '火球' -'entity_minecraft_firework_rocket': '烟花火箭' -'entity_minecraft_fishing_bobber': '浮漂' -'entity_minecraft_furnace_minecart': '动力矿车' -'entity_minecraft_ghast': '恶魂' -'entity_minecraft_giant': '巨人' -'entity_minecraft_guardian': '守卫者' -'entity_minecraft_hopper_minecart': '漏斗矿车' -'entity_minecraft_horse': '马' -'entity_minecraft_husk': '尸壳' -'entity_minecraft_illusioner': '幻术师' -'entity_minecraft_iron_golem': '铁傀儡' -'entity_minecraft_item': '物品' -'entity_minecraft_item_frame': '物品展示框' -'entity_minecraft_killer_bunny': '杀手兔' -'entity_minecraft_leash_knot': '拴绳结' -'entity_minecraft_lightning_bolt': '闪电束' -'entity_minecraft_llama': '羊驼' -'entity_minecraft_llama_spit': '羊驼唾沫' -'entity_minecraft_magma_cube': '岩浆怪' -'entity_minecraft_minecart': '矿车' -'entity_minecraft_mooshroom': '哞菇' -'entity_minecraft_mule': '骡' -'entity_minecraft_ocelot': '豹猫' -'entity_minecraft_painting': '画' -'entity_minecraft_parrot': '鹦鹉' -'entity_minecraft_phantom': '幻翼' -'entity_minecraft_pig': '猪' -'entity_minecraft_player': '玩家' -'entity_minecraft_polar_bear': '北极熊' -'entity_minecraft_potion': '药水' -'entity_minecraft_pufferfish': '河豚' -'entity_minecraft_rabbit': '兔子' -'entity_minecraft_salmon': '鲑鱼' -'entity_minecraft_sheep': '羊' -'entity_minecraft_shulker': '潜影贝' -'entity_minecraft_shulker_bullet': '潜影贝导弹' -'entity_minecraft_silverfish': '蠹虫' -'entity_minecraft_skeleton': '骷髅' -'entity_minecraft_skeleton_horse': '骷髅马' -'entity_minecraft_slime': '史莱姆' -'entity_minecraft_small_fireball': '小火球' -'entity_minecraft_snow_golem': '雪傀儡' -'entity_minecraft_snowball': '雪球' -'entity_minecraft_spawner_minecart': '刷怪箱矿车' -'entity_minecraft_spectral_arrow': '光灵箭' -'entity_minecraft_spider': '蜘蛛' -'entity_minecraft_squid': '鱿鱼' -'entity_minecraft_stray': '流浪者' -'entity_minecraft_tnt': '被激活的TNT' -'entity_minecraft_tnt_minecart': 'TNT矿车' -'entity_minecraft_trident': '三叉戟' -'entity_minecraft_tropical_fish': '热带鱼' -'entity_minecraft_turtle': '海龟' -'entity_minecraft_vex': '恼鬼' -'entity_minecraft_villager': '村民' -'entity_minecraft_villager_armorer': '盔甲商' -'entity_minecraft_villager_butcher': '屠夫' -'entity_minecraft_villager_cartographer': '制图师' -'entity_minecraft_villager_cleric': '牧师' -'entity_minecraft_villager_farmer': '农民' -'entity_minecraft_villager_fisherman': '渔夫' -'entity_minecraft_villager_fletcher': '制箭师' -'entity_minecraft_villager_leatherworker': '皮匠' -'entity_minecraft_villager_librarian': '图书管理员' -'entity_minecraft_villager_nitwit': '傻子' -'entity_minecraft_villager_shepherd': '牧羊人' -'entity_minecraft_villager_tool_smith': '工具商' -'entity_minecraft_villager_weapon_smith': '武器商' -'entity_minecraft_vindicator': '卫道士' -'entity_minecraft_witch': '女巫' -'entity_minecraft_wither': '凋灵' -'entity_minecraft_wither_skeleton': '凋灵骷髅' -'entity_minecraft_wither_skull': '凋灵头颅' -'entity_minecraft_wolf': '狼' -'entity_minecraft_zombie': '僵尸' -'entity_minecraft_zombie_horse': '僵尸马' -'entity_minecraft_zombie_pigman': '僵尸猪人' -'entity_minecraft_zombie_villager': '僵尸村民' -'item_null': '空气' -'item_air': '空气' -'item_minecraft_acacia_boat': '金合欢木船' -'item_minecraft_apple': '苹果' -'item_minecraft_armor_stand': '盔甲架' -'item_minecraft_arrow': '箭' -'item_minecraft_baked_potato': '烤马铃薯' -'item_minecraft_bat_spawn_egg': '蝙蝠刷怪蛋' -'item_minecraft_beef': '生牛肉' -'item_minecraft_beetroot': '甜菜根' -'item_minecraft_beetroot_seeds': '甜菜种子' -'item_minecraft_beetroot_soup': '甜菜汤' -'item_minecraft_birch_boat': '白桦木船' -'item_minecraft_blaze_powder': '烈焰粉' -'item_minecraft_blaze_rod': '烈焰棒' -'item_minecraft_blaze_spawn_egg': '烈焰人刷怪蛋' -'item_minecraft_bone': '骨头' -'item_minecraft_bone_meal': '骨粉' -'item_minecraft_book': '书' -'item_minecraft_bow': '弓' -'item_minecraft_bowl': '碗' -'item_minecraft_bread': '面包' -'item_minecraft_brewing_stand': '酿造台' -'item_minecraft_brick': '红砖' -'item_minecraft_bucket': '桶' -'item_minecraft_cactus_green': '仙人掌绿' -'item_minecraft_carrot': '胡萝卜' -'item_minecraft_carrot_on_a_stick': '胡萝卜钓竿' -'item_minecraft_cauldron': '炼药锅' -'item_minecraft_cave_spider_spawn_egg': '洞穴蜘蛛刷怪蛋' -'item_minecraft_chainmail_boots': '锁链靴子' -'item_minecraft_chainmail_chestplate': '锁链胸甲' -'item_minecraft_chainmail_helmet': '锁链头盔' -'item_minecraft_chainmail_leggings': '锁链护腿' -'item_minecraft_charcoal': '木炭' -'item_minecraft_chest_minecart': '运输矿车' -'item_minecraft_chicken': '生鸡肉' -'item_minecraft_chicken_spawn_egg': '鸡刷怪蛋' -'item_minecraft_chorus_fruit': '紫颂果' -'item_minecraft_clay_ball': '粘土' -'item_minecraft_clock': '钟' -'item_minecraft_coal': '煤炭' -'item_minecraft_cocoa_beans': '可可豆' -'item_minecraft_cod': '生鳕鱼' -'item_minecraft_cod_bucket': '鳕鱼桶' -'item_minecraft_cod_spawn_egg': '鳕鱼刷怪蛋' -'item_minecraft_command_block_minecart': '命令方块矿车' -'item_minecraft_compass': '指南针' -'item_minecraft_cooked_beef': '牛排' -'item_minecraft_cooked_chicken': '熟鸡肉' -'item_minecraft_cooked_cod': '熟鳕鱼' -'item_minecraft_cooked_mutton': '熟羊肉' -'item_minecraft_cooked_porkchop': '熟猪排' -'item_minecraft_cooked_rabbit': '熟兔肉' -'item_minecraft_cooked_salmon': '熟鲑鱼' -'item_minecraft_cookie': '曲奇' -'item_minecraft_cow_spawn_egg': '牛刷怪蛋' -'item_minecraft_creeper_head': '爬行者的头' -'item_minecraft_creeper_spawn_egg': '爬行者刷怪蛋' -'item_minecraft_cyan_dye': '青色染料' -'item_minecraft_dandelion_yellow': '蒲公英黄' -'item_minecraft_dark_oak_boat': '深色橡木船' -'item_minecraft_debug_stick': '调试棒' -'item_minecraft_diamond': '钻石' -'item_minecraft_diamond_axe': '钻石斧' -'item_minecraft_diamond_boots': '钻石靴子' -'item_minecraft_diamond_chestplate': '钻石胸甲' -'item_minecraft_diamond_helmet': '钻石头盔' -'item_minecraft_diamond_hoe': '钻石锄' -'item_minecraft_diamond_horse_armor': '钻石马铠' -'item_minecraft_diamond_leggings': '钻石护腿' -'item_minecraft_diamond_pickaxe': '钻石镐' -'item_minecraft_diamond_shovel': '钻石锹' -'item_minecraft_diamond_sword': '钻石剑' -'item_minecraft_dolphin_spawn_egg': '海豚刷怪蛋' -'item_minecraft_donkey_spawn_egg': '驴刷怪蛋' -'item_minecraft_dragon_breath': '龙息' -'item_minecraft_dragon_head': '龙首' -'item_minecraft_dried_kelp': '干海带' -'item_minecraft_drowned_spawn_egg': '溺尸刷怪蛋' -'item_minecraft_egg': '鸡蛋' -'item_minecraft_elder_guardian_spawn_egg': '远古守卫者刷怪蛋' -'item_minecraft_elytra': '鞘翅' -'item_minecraft_emerald': '绿宝石' -'item_minecraft_enchanted_book': '附魔书' -'item_minecraft_enchanted_golden_apple': '附魔金苹果' -'item_minecraft_end_crystal': '末影水晶' -'item_minecraft_ender_eye': '末影之眼' -'item_minecraft_ender_pearl': '末影珍珠' -'item_minecraft_enderman_spawn_egg': '末影人刷怪蛋' -'item_minecraft_endermite_spawn_egg': '末影螨刷怪蛋' -'item_minecraft_evoker_spawn_egg': '唤魔者刷怪蛋' -'item_minecraft_experience_bottle': '附魔之瓶' -'item_minecraft_feather': '羽毛' -'item_minecraft_fermented_spider_eye': '发酵蛛眼' -'item_minecraft_filled_map': '地图' -'item_minecraft_fire_charge': '火焰弹' -'item_minecraft_firework_rocket': '烟花火箭' -'item_minecraft_firework_rocket_flight': '飞行时间:' -'item_minecraft_firework_star': '烟火之星' -'item_minecraft_firework_star_black': '黑色' -'item_minecraft_firework_star_blue': '蓝色' -'item_minecraft_firework_star_brown': '棕色' -'item_minecraft_firework_star_custom_color': '自定义' -'item_minecraft_firework_star_cyan': '青色' -'item_minecraft_firework_star_fade_to': '淡化至' -'item_minecraft_firework_star_flicker': '闪烁' -'item_minecraft_firework_star_gray': '灰色' -'item_minecraft_firework_star_green': '绿色' -'item_minecraft_firework_star_light_blue': '淡蓝色' -'item_minecraft_firework_star_light_gray': '淡灰色' -'item_minecraft_firework_star_lime': '黄绿色' -'item_minecraft_firework_star_magenta': '品红色' -'item_minecraft_firework_star_orange': '橙色' -'item_minecraft_firework_star_pink': '粉红色' -'item_minecraft_firework_star_purple': '紫色' -'item_minecraft_firework_star_red': '红色' -'item_minecraft_firework_star_shape': '未知形状' -'item_minecraft_firework_star_shape_burst': '爆裂状' -'item_minecraft_firework_star_shape_creeper': '爬行者状' -'item_minecraft_firework_star_shape_large_ball': '大型球状' -'item_minecraft_firework_star_shape_small_ball': '小型球状' -'item_minecraft_firework_star_shape_star': '星形' -'item_minecraft_firework_star_trail': '踪迹' -'item_minecraft_firework_star_white': '白色' -'item_minecraft_firework_star_yellow': '黄色' -'item_minecraft_fishing_rod': '钓鱼竿' -'item_minecraft_flint': '燧石' -'item_minecraft_flint_and_steel': '打火石' -'item_minecraft_flower_pot': '花盆' -'item_minecraft_furnace_minecart': '动力矿车' -'item_minecraft_ghast_spawn_egg': '恶魂刷怪蛋' -'item_minecraft_ghast_tear': '恶魂之泪' -'item_minecraft_glass_bottle': '玻璃瓶' -'item_minecraft_glistering_melon_slice': '闪烁的西瓜片' -'item_minecraft_glowstone_dust': '荧石粉' -'item_minecraft_gold_ingot': '金锭' -'item_minecraft_gold_nugget': '金粒' -'item_minecraft_golden_apple': '金苹果' -'item_minecraft_golden_axe': '金斧' -'item_minecraft_golden_boots': '金靴子' -'item_minecraft_golden_carrot': '金胡萝卜' -'item_minecraft_golden_chestplate': '金胸甲' -'item_minecraft_golden_helmet': '金头盔' -'item_minecraft_golden_hoe': '金锄' -'item_minecraft_golden_horse_armor': '金马铠' -'item_minecraft_golden_leggings': '金护腿' -'item_minecraft_golden_pickaxe': '金镐' -'item_minecraft_golden_shovel': '金锹' -'item_minecraft_golden_sword': '金剑' -'item_minecraft_gray_dye': '灰色染料' -'item_minecraft_guardian_spawn_egg': '守卫者刷怪蛋' -'item_minecraft_gunpowder': '火药' -'item_minecraft_heart_of_the_sea': '海洋之心' -'item_minecraft_hopper_minecart': '漏斗矿车' -'item_minecraft_horse_spawn_egg': '马刷怪蛋' -'item_minecraft_husk_spawn_egg': '尸壳刷怪蛋' -'item_minecraft_ink_sac': '墨囊' -'item_minecraft_iron_axe': '铁斧' -'item_minecraft_iron_boots': '铁靴子' -'item_minecraft_iron_chestplate': '铁胸甲' -'item_minecraft_iron_helmet': '铁头盔' -'item_minecraft_iron_hoe': '铁锄' -'item_minecraft_iron_horse_armor': '铁马铠' -'item_minecraft_iron_ingot': '铁锭' -'item_minecraft_iron_leggings': '铁护腿' -'item_minecraft_iron_nugget': '铁粒' -'item_minecraft_iron_pickaxe': '铁镐' -'item_minecraft_iron_shovel': '铁锹' -'item_minecraft_iron_sword': '铁剑' -'item_minecraft_item_frame': '物品展示框' -'item_minecraft_jungle_boat': '丛林木船' -'item_minecraft_knowledge_book': '知识之书' -'item_minecraft_lapis_lazuli': '青金石' -'item_minecraft_lava_bucket': '熔岩桶' -'item_minecraft_lead': '拴绳' -'item_minecraft_leather': '皮革' -'item_minecraft_leather_boots': '皮革靴子' -'item_minecraft_leather_chestplate': '皮革外套' -'item_minecraft_leather_helmet': '皮革帽子' -'item_minecraft_leather_leggings': '皮革裤子' -'item_minecraft_light_blue_dye': '淡蓝色染料' -'item_minecraft_light_gray_dye': '淡灰色染料' -'item_minecraft_lime_dye': '黄绿色染料' -'item_minecraft_lingering_potion': '滞留药水' -'item_minecraft_lingering_potion_effect_awkward': '滞留型粗制药水' -'item_minecraft_lingering_potion_effect_empty': '不可合成的滞留型药水' -'item_minecraft_lingering_potion_effect_fire_resistance': '滞留型抗火药水' -'item_minecraft_lingering_potion_effect_harming': '滞留型伤害药水' -'item_minecraft_lingering_potion_effect_healing': '滞留型治疗药水' -'item_minecraft_lingering_potion_effect_invisibility': '滞留型隐身药水' -'item_minecraft_lingering_potion_effect_leaping': '滞留型跳跃药水' -'item_minecraft_lingering_potion_effect_levitation': '滞留型飘浮药水' -'item_minecraft_lingering_potion_effect_luck': '滞留型幸运药水' -'item_minecraft_lingering_potion_effect_mundane': '滞留型平凡的药水' -'item_minecraft_lingering_potion_effect_night_vision': '滞留型夜视药水' -'item_minecraft_lingering_potion_effect_poison': '滞留型剧毒药水' -'item_minecraft_lingering_potion_effect_regeneration': '滞留型再生药水' -'item_minecraft_lingering_potion_effect_slow_falling': '滞留型缓降药水' -'item_minecraft_lingering_potion_effect_slowness': '滞留型迟缓药水' -'item_minecraft_lingering_potion_effect_strength': '滞留型力量药水' -'item_minecraft_lingering_potion_effect_swiftness': '滞留型迅捷药水' -'item_minecraft_lingering_potion_effect_thick': '滞留型浓稠的药水' -'item_minecraft_lingering_potion_effect_turtle_master': '滞留型神龟药水' -'item_minecraft_lingering_potion_effect_water': '滞留型水瓶' -'item_minecraft_lingering_potion_effect_water_breathing': '滞留型水肺药水' -'item_minecraft_lingering_potion_effect_weakness': '滞留型虚弱药水' -'item_minecraft_llama_spawn_egg': '羊驼刷怪蛋' -'item_minecraft_magenta_dye': '品红色染料' -'item_minecraft_magma_cream': '岩浆膏' -'item_minecraft_magma_cube_spawn_egg': '岩浆怪刷怪蛋' -'item_minecraft_map': '空地图' -'item_minecraft_melon_seeds': '西瓜种子' -'item_minecraft_melon_slice': '西瓜片' -'item_minecraft_milk_bucket': '牛奶桶' -'item_minecraft_minecart': '矿车' -'item_minecraft_mooshroom_spawn_egg': '哞菇刷怪蛋' -'item_minecraft_mule_spawn_egg': '骡刷怪蛋' -'item_minecraft_mushroom_stew': '蘑菇煲' -'item_minecraft_music_disc_11': '音乐唱片 C418 - 11' -'item_minecraft_music_disc_13': '音乐唱片 C418 - 13' -'item_minecraft_music_disc_blocks': '音乐唱片 C418 - blocks' -'item_minecraft_music_disc_cat': '音乐唱片 C418 - cat' -'item_minecraft_music_disc_chirp': '音乐唱片 C418 - chirp' -'item_minecraft_music_disc_far': '音乐唱片 C418 - far' -'item_minecraft_music_disc_mall': '音乐唱片 C418 - mall' -'item_minecraft_music_disc_mellohi': '音乐唱片 C418 - mellohi' -'item_minecraft_music_disc_stal': '音乐唱片 C418 - stal' -'item_minecraft_music_disc_strad': '音乐唱片 C418 - strad' -'item_minecraft_music_disc_wait': '音乐唱片 C418 - wait' -'item_minecraft_music_disc_ward': '音乐唱片 C418 - ward' -'item_minecraft_mutton': '生羊肉' -'item_minecraft_name_tag': '命名牌' -'item_minecraft_nautilus_shell': '鹦鹉螺壳' -'item_minecraft_nether_brick': '地狱砖' -'item_minecraft_nether_star': '下界之星' -'item_minecraft_nether_wart': '地狱疣' -'item_minecraft_oak_boat': '橡木船' -'item_minecraft_ocelot_spawn_egg': '豹猫刷怪蛋' -'item_minecraft_orange_dye': '橙色染料' -'item_minecraft_painting': '画' -'item_minecraft_paper': '纸' -'item_minecraft_parrot_spawn_egg': '鹦鹉刷怪蛋' -'item_minecraft_phantom_membrane': '幻翼膜' -'item_minecraft_phantom_spawn_egg': '幻翼刷怪蛋' -'item_minecraft_pig_spawn_egg': '猪刷怪蛋' -'item_minecraft_pink_dye': '粉红色染料' -'item_minecraft_poisonous_potato': '毒马铃薯' -'item_minecraft_polar_bear_spawn_egg': '北极熊刷怪蛋' -'item_minecraft_popped_chorus_fruit': '爆裂紫颂果' -'item_minecraft_porkchop': '生猪排' -'item_minecraft_potato': '马铃薯' -'item_minecraft_potion': '药水' -'item_minecraft_potion_effect_awkward': '粗制的药水' -'item_minecraft_potion_effect_empty': '不可合成的药水' -'item_minecraft_potion_effect_fire_resistance': '抗火药水' -'item_minecraft_potion_effect_harming': '伤害药水' -'item_minecraft_potion_effect_healing': '治疗药水' -'item_minecraft_potion_effect_invisibility': '隐身药水' -'item_minecraft_potion_effect_leaping': '跳跃药水' -'item_minecraft_potion_effect_levitation': '飘浮药水' -'item_minecraft_potion_effect_luck': '幸运药水' -'item_minecraft_potion_effect_mundane': '平凡的药水' -'item_minecraft_potion_effect_night_vision': '夜视药水' -'item_minecraft_potion_effect_poison': '剧毒药水' -'item_minecraft_potion_effect_regeneration': '再生药水' -'item_minecraft_potion_effect_slow_falling': '缓降药水' -'item_minecraft_potion_effect_slowness': '迟缓药水' -'item_minecraft_potion_effect_strength': '力量药水' -'item_minecraft_potion_effect_swiftness': '迅捷药水' -'item_minecraft_potion_effect_thick': '浓稠的药水' -'item_minecraft_potion_effect_turtle_master': '神龟药水' -'item_minecraft_potion_effect_water': '水瓶' -'item_minecraft_potion_effect_water_breathing': '水肺药水' -'item_minecraft_potion_effect_weakness': '虚弱药水' -'item_minecraft_prismarine_crystals': '海晶砂粒' -'item_minecraft_prismarine_shard': '海晶碎片' -'item_minecraft_pufferfish': '河豚' -'item_minecraft_pufferfish_bucket': '河豚桶' -'item_minecraft_pufferfish_spawn_egg': '河豚刷怪蛋' -'item_minecraft_pumpkin_pie': '南瓜派' -'item_minecraft_pumpkin_seeds': '南瓜种子' -'item_minecraft_purple_dye': '紫色染料' -'item_minecraft_quartz': '下界石英' -'item_minecraft_rabbit': '生兔肉' -'item_minecraft_rabbit_foot': '兔子脚' -'item_minecraft_rabbit_hide': '兔子皮' -'item_minecraft_rabbit_spawn_egg': '兔子刷怪蛋' -'item_minecraft_rabbit_stew': '兔肉煲' -'item_minecraft_redstone': '红石' -'item_minecraft_rose_red': '玫瑰红' -'item_minecraft_rotten_flesh': '腐肉' -'item_minecraft_saddle': '鞍' -'item_minecraft_salmon': '生鲑鱼' -'item_minecraft_salmon_bucket': '鲑鱼桶' -'item_minecraft_salmon_spawn_egg': '鲑鱼刷怪蛋' -'item_minecraft_scute': '鳞甲' -'item_minecraft_shears': '剪刀' -'item_minecraft_sheep_spawn_egg': '羊刷怪蛋' -'item_minecraft_shield': '盾牌' -'item_minecraft_shield_black': '黑色盾牌' -'item_minecraft_shield_blue': '蓝色盾牌' -'item_minecraft_shield_brown': '棕色盾牌' -'item_minecraft_shield_cyan': '青色盾牌' -'item_minecraft_shield_gray': '灰色盾牌' -'item_minecraft_shield_green': '绿色盾牌' -'item_minecraft_shield_light_blue': '淡蓝色盾牌' -'item_minecraft_shield_light_gray': '淡灰色盾牌' -'item_minecraft_shield_lime': '黄绿色盾牌' -'item_minecraft_shield_magenta': '品红色盾牌' -'item_minecraft_shield_orange': '橙色盾牌' -'item_minecraft_shield_pink': '粉红色盾牌' -'item_minecraft_shield_purple': '紫色盾牌' -'item_minecraft_shield_red': '红色盾牌' -'item_minecraft_shield_white': '白色盾牌' -'item_minecraft_shield_yellow': '黄色盾牌' -'item_minecraft_shulker_shell': '潜影壳' -'item_minecraft_shulker_spawn_egg': '潜影贝刷怪蛋' -'item_minecraft_sign': '告示牌' -'item_minecraft_silverfish_spawn_egg': '蠹虫刷怪蛋' -'item_minecraft_skeleton_horse_spawn_egg': '骷髅马刷怪蛋' -'item_minecraft_skeleton_skull': '骷髅头颅' -'item_minecraft_skeleton_spawn_egg': '骷髅刷怪蛋' -'item_minecraft_slime_ball': '粘液球' -'item_minecraft_slime_spawn_egg': '史莱姆刷怪蛋' -'item_minecraft_snowball': '雪球' -'item_minecraft_spectral_arrow': '光灵箭' -'item_minecraft_spider_eye': '蜘蛛眼' -'item_minecraft_spider_spawn_egg': '蜘蛛刷怪蛋' -'item_minecraft_splash_potion': '喷溅药水' -'item_minecraft_splash_potion_effect_awkward': '喷溅型粗制药水' -'item_minecraft_splash_potion_effect_empty': '不可合成的喷溅型药水' -'item_minecraft_splash_potion_effect_fire_resistance': '喷溅型抗火药水' -'item_minecraft_splash_potion_effect_harming': '喷溅型伤害药水' -'item_minecraft_splash_potion_effect_healing': '喷溅型治疗药水' -'item_minecraft_splash_potion_effect_invisibility': '喷溅型隐身药水' -'item_minecraft_splash_potion_effect_leaping': '喷溅型跳跃药水' -'item_minecraft_splash_potion_effect_levitation': '喷溅型飘浮药水' -'item_minecraft_splash_potion_effect_luck': '喷溅型幸运药水' -'item_minecraft_splash_potion_effect_mundane': '喷溅型平凡的药水' -'item_minecraft_splash_potion_effect_night_vision': '喷溅型夜视药水' -'item_minecraft_splash_potion_effect_poison': '喷溅型剧毒药水' -'item_minecraft_splash_potion_effect_regeneration': '喷溅型再生药水' -'item_minecraft_splash_potion_effect_slow_falling': '喷溅型缓降药水' -'item_minecraft_splash_potion_effect_slowness': '喷溅型迟缓药水' -'item_minecraft_splash_potion_effect_strength': '喷溅型力量药水' -'item_minecraft_splash_potion_effect_swiftness': '喷溅型迅捷药水' -'item_minecraft_splash_potion_effect_thick': '喷溅型浓稠的药水' -'item_minecraft_splash_potion_effect_turtle_master': '喷溅型神龟药水' -'item_minecraft_splash_potion_effect_water': '喷溅型水瓶' -'item_minecraft_splash_potion_effect_water_breathing': '喷溅型水肺药水' -'item_minecraft_splash_potion_effect_weakness': '喷溅型虚弱药水' -'item_minecraft_spruce_boat': '云杉木船' -'item_minecraft_squid_spawn_egg': '鱿鱼刷怪蛋' -'item_minecraft_stick': '木棍' -'item_minecraft_stone_axe': '石斧' -'item_minecraft_stone_hoe': '石锄' -'item_minecraft_stone_pickaxe': '石镐' -'item_minecraft_stone_shovel': '石锹' -'item_minecraft_stone_sword': '石剑' -'item_minecraft_stray_spawn_egg': '流浪者刷怪蛋' -'item_minecraft_string': '线' -'item_minecraft_sugar': '糖' -'item_minecraft_tipped_arrow': '药箭' -'item_minecraft_tipped_arrow_effect_awkward': '药箭' -'item_minecraft_tipped_arrow_effect_empty': '不可合成的药箭' -'item_minecraft_tipped_arrow_effect_fire_resistance': '抗火之箭' -'item_minecraft_tipped_arrow_effect_harming': '伤害之箭' -'item_minecraft_tipped_arrow_effect_healing': '治疗之箭' -'item_minecraft_tipped_arrow_effect_invisibility': '隐身之箭' -'item_minecraft_tipped_arrow_effect_leaping': '跳跃之箭' -'item_minecraft_tipped_arrow_effect_levitation': '飘浮之箭' -'item_minecraft_tipped_arrow_effect_luck': '幸运之箭' -'item_minecraft_tipped_arrow_effect_mundane': '药箭' -'item_minecraft_tipped_arrow_effect_night_vision': '夜视之箭' -'item_minecraft_tipped_arrow_effect_poison': '剧毒之箭' -'item_minecraft_tipped_arrow_effect_regeneration': '再生之箭' -'item_minecraft_tipped_arrow_effect_slow_falling': '缓降之箭' -'item_minecraft_tipped_arrow_effect_slowness': '迟缓之箭' -'item_minecraft_tipped_arrow_effect_strength': '力量之箭' -'item_minecraft_tipped_arrow_effect_swiftness': '迅捷之箭' -'item_minecraft_tipped_arrow_effect_thick': '药箭' -'item_minecraft_tipped_arrow_effect_turtle_master': '神龟之箭' -'item_minecraft_tipped_arrow_effect_water': '喷溅之箭' -'item_minecraft_tipped_arrow_effect_water_breathing': '水肺之箭' -'item_minecraft_tipped_arrow_effect_weakness': '虚弱之箭' -'item_minecraft_tnt_minecart': 'TNT矿车' -'item_minecraft_totem_of_undying': '不死图腾' -'item_minecraft_trident': '三叉戟' -'item_minecraft_tropical_fish': '热带鱼' -'item_minecraft_tropical_fish_bucket': '热带鱼桶' -'item_minecraft_tropical_fish_spawn_egg': '热带鱼刷怪蛋' -'item_minecraft_turtle_helmet': '海龟壳' -'item_minecraft_turtle_spawn_egg': '海龟刷怪蛋' -'item_minecraft_vex_spawn_egg': '恼鬼刷怪蛋' -'item_minecraft_villager_spawn_egg': '村民刷怪蛋' -'item_minecraft_vindicator_spawn_egg': '卫道士刷怪蛋' -'item_minecraft_water_bucket': '水桶' -'item_minecraft_wheat': '小麦' -'item_minecraft_wheat_seeds': '小麦种子' -'item_minecraft_witch_spawn_egg': '女巫刷怪蛋' -'item_minecraft_wither_skeleton_skull': '凋灵骷髅头颅' -'item_minecraft_wither_skeleton_spawn_egg': '凋灵骷髅刷怪蛋' -'item_minecraft_wolf_spawn_egg': '狼刷怪蛋' -'item_minecraft_wooden_axe': '木斧' -'item_minecraft_wooden_hoe': '木锄' -'item_minecraft_wooden_pickaxe': '木镐' -'item_minecraft_wooden_shovel': '木锹' -'item_minecraft_wooden_sword': '木剑' -'item_minecraft_writable_book': '书与笔' -'item_minecraft_written_book': '成书' -'item_minecraft_zombie_head': '僵尸的头' -'item_minecraft_zombie_horse_spawn_egg': '僵尸马刷怪蛋' -'item_minecraft_zombie_pigman_spawn_egg': '僵尸猪人刷怪蛋' -'item_minecraft_zombie_spawn_egg': '僵尸刷怪蛋' -'item_minecraft_zombie_villager_spawn_egg': '僵尸村民刷怪蛋' +'version': 3 'block_minecraft_acacia_button': '金合欢木按钮' 'block_minecraft_acacia_door': '金合欢木门' 'block_minecraft_acacia_fence': '金合欢栅栏' @@ -535,18 +8,25 @@ 'block_minecraft_acacia_planks': '金合欢木板' 'block_minecraft_acacia_pressure_plate': '金合欢木压力板' 'block_minecraft_acacia_sapling': '金合欢树苗' +'block_minecraft_acacia_sign': '金合欢木告示牌' 'block_minecraft_acacia_slab': '金合欢木台阶' 'block_minecraft_acacia_stairs': '金合欢木楼梯' 'block_minecraft_acacia_trapdoor': '金合欢活板门' +'block_minecraft_acacia_wall_sign': '墙上的金合欢木告示牌' 'block_minecraft_acacia_wood': '金合欢木' 'block_minecraft_activator_rail': '激活铁轨' 'block_minecraft_air': '空气' 'block_minecraft_allium': '绒球葱' 'block_minecraft_andesite': '安山岩' +'block_minecraft_andesite_slab': '安山岩台阶' +'block_minecraft_andesite_stairs': '安山岩楼梯' +'block_minecraft_andesite_wall': '安山岩墙' 'block_minecraft_anvil': '铁砧' 'block_minecraft_attached_melon_stem': '结果的西瓜茎' 'block_minecraft_attached_pumpkin_stem': '结果的南瓜茎' 'block_minecraft_azure_bluet': '茜草花' +'block_minecraft_bamboo': '竹子' +'block_minecraft_bamboo_sapling': '竹笋' 'block_minecraft_banner': '旗帜' 'block_minecraft_banner_border_black': '黑色方框边' 'block_minecraft_banner_border_blue': '蓝色方框边' @@ -724,6 +204,22 @@ 'block_minecraft_banner_flower_red': '红色花朵盾徽' 'block_minecraft_banner_flower_white': '白色花朵盾徽' 'block_minecraft_banner_flower_yellow': '黄色花朵盾徽' +'block_minecraft_banner_globe_black': '黑色地球' +'block_minecraft_banner_globe_blue': '蓝色地球' +'block_minecraft_banner_globe_brown': '棕色地球' +'block_minecraft_banner_globe_cyan': '青色地球' +'block_minecraft_banner_globe_gray': '灰色地球' +'block_minecraft_banner_globe_green': '绿色地球' +'block_minecraft_banner_globe_light_blue': '淡蓝色地球' +'block_minecraft_banner_globe_light_gray': '淡灰色地球' +'block_minecraft_banner_globe_lime': '黄绿色地球' +'block_minecraft_banner_globe_magenta': '品红色地球' +'block_minecraft_banner_globe_orange': '橙色地球' +'block_minecraft_banner_globe_pink': '粉红色地球' +'block_minecraft_banner_globe_purple': '紫色地球' +'block_minecraft_banner_globe_red': '红色地球' +'block_minecraft_banner_globe_white': '白色地球' +'block_minecraft_banner_globe_yellow': '黄色地球' 'block_minecraft_banner_gradient_black': '黑色自上渐淡' 'block_minecraft_banner_gradient_blue': '蓝色自上渐淡' 'block_minecraft_banner_gradient_brown': '棕色自上渐淡' @@ -1156,6 +652,7 @@ 'block_minecraft_banner_triangles_top_red': '红色顶波纹' 'block_minecraft_banner_triangles_top_white': '白色顶波纹' 'block_minecraft_banner_triangles_top_yellow': '黄色顶波纹' +'block_minecraft_barrel': '木桶' 'block_minecraft_barrier': '屏障' 'block_minecraft_beacon': '信标' 'block_minecraft_beacon_primary': '主效果' @@ -1164,10 +661,12 @@ 'block_minecraft_bed_no_sleep': '你只能在夜间或雷暴中入眠' 'block_minecraft_bed_not_safe': '你现在不能休息,周围有怪物在游荡' 'block_minecraft_bed_not_valid': '你的床已遗失或被阻挡' +'block_minecraft_bed_obstructed': '这张床已被阻挡' 'block_minecraft_bed_occupied': '这张床已被占用' 'block_minecraft_bed_too_far_away': '你现在不能休息,床太远了' 'block_minecraft_bedrock': '基岩' 'block_minecraft_beetroots': '甜菜根' +'block_minecraft_bell': '钟' 'block_minecraft_birch_button': '白桦木按钮' 'block_minecraft_birch_door': '白桦木门' 'block_minecraft_birch_fence': '白桦木栅栏' @@ -1177,9 +676,11 @@ 'block_minecraft_birch_planks': '白桦木板' 'block_minecraft_birch_pressure_plate': '白桦木压力板' 'block_minecraft_birch_sapling': '白桦树苗' +'block_minecraft_birch_sign': '白桦木告示牌' 'block_minecraft_birch_slab': '白桦木台阶' 'block_minecraft_birch_stairs': '白桦木楼梯' 'block_minecraft_birch_trapdoor': '白桦木活板门' +'block_minecraft_birch_wall_sign': '墙上的白桦木告示牌' 'block_minecraft_birch_wood': '白桦木' 'block_minecraft_black_banner': '黑色旗帜' 'block_minecraft_black_bed': '黑色床' @@ -1192,6 +693,7 @@ 'block_minecraft_black_stained_glass_pane': '黑色染色玻璃板' 'block_minecraft_black_terracotta': '黑色陶瓦' 'block_minecraft_black_wool': '黑色羊毛' +'block_minecraft_blast_furnace': '高炉' 'block_minecraft_blue_banner': '蓝色旗帜' 'block_minecraft_blue_bed': '蓝色床' 'block_minecraft_blue_carpet': '蓝色地毯' @@ -1214,6 +716,7 @@ 'block_minecraft_brewing_stand': '酿造台' 'block_minecraft_brick_slab': '砖台阶' 'block_minecraft_brick_stairs': '砖楼梯' +'block_minecraft_brick_wall': '砖块墙' 'block_minecraft_bricks': '砖块' 'block_minecraft_brown_banner': '棕色旗帜' 'block_minecraft_brown_bed': '棕色床' @@ -1235,7 +738,9 @@ 'block_minecraft_bubble_coral_wall_fan': '墙上的气泡珊瑚扇' 'block_minecraft_cactus': '仙人掌' 'block_minecraft_cake': '蛋糕' +'block_minecraft_campfire': '营火' 'block_minecraft_carrots': '胡萝卜' +'block_minecraft_cartography_table': '制图台' 'block_minecraft_carved_pumpkin': '雕刻过的南瓜' 'block_minecraft_cauldron': '炼药锅' 'block_minecraft_cave_air': '洞穴空气' @@ -1248,7 +753,7 @@ 'block_minecraft_chiseled_stone_bricks': '錾制石砖' 'block_minecraft_chorus_flower': '紫颂花' 'block_minecraft_chorus_plant': '紫颂植物' -'block_minecraft_clay': '粘土块' +'block_minecraft_clay': '黏土' 'block_minecraft_coal_block': '煤炭块' 'block_minecraft_coal_ore': '煤矿石' 'block_minecraft_coarse_dirt': '砂土' @@ -1260,13 +765,17 @@ 'block_minecraft_cocoa': '可可果' 'block_minecraft_command_block': '命令方块' 'block_minecraft_comparator': '红石比较器' +'block_minecraft_composter': '堆肥桶' 'block_minecraft_conduit': '潮涌核心' +'block_minecraft_cornflower': '矢车菊' 'block_minecraft_cracked_stone_bricks': '裂石砖' 'block_minecraft_crafting_table': '工作台' 'block_minecraft_creeper_head': '爬行者的头' 'block_minecraft_creeper_wall_head': '墙上的爬行者头颅' 'block_minecraft_cut_red_sandstone': '切制红砂岩' +'block_minecraft_cut_red_sandstone_slab': '切制红砂岩台阶' 'block_minecraft_cut_sandstone': '切制砂岩' +'block_minecraft_cut_sandstone_slab': '切制砂岩台阶' 'block_minecraft_cyan_banner': '青色旗帜' 'block_minecraft_cyan_bed': '青色床' 'block_minecraft_cyan_carpet': '青色地毯' @@ -1289,27 +798,34 @@ 'block_minecraft_dark_oak_planks': '深色橡木木板' 'block_minecraft_dark_oak_pressure_plate': '深色橡木压力板' 'block_minecraft_dark_oak_sapling': '深色橡树树苗' +'block_minecraft_dark_oak_sign': '深色橡木告示牌' 'block_minecraft_dark_oak_slab': '深色橡木台阶' 'block_minecraft_dark_oak_stairs': '深色橡木楼梯' 'block_minecraft_dark_oak_trapdoor': '深色橡木活板门' +'block_minecraft_dark_oak_wall_sign': '墙上的深色橡木告示牌' 'block_minecraft_dark_oak_wood': '深色橡木' 'block_minecraft_dark_prismarine': '暗海晶石' 'block_minecraft_dark_prismarine_slab': '暗海晶石台阶' 'block_minecraft_dark_prismarine_stairs': '暗海晶石楼梯' 'block_minecraft_daylight_detector': '阳光探测器' +'block_minecraft_dead_brain_coral': '失活的脑纹珊瑚' 'block_minecraft_dead_brain_coral_block': '失活的脑纹珊瑚块' 'block_minecraft_dead_brain_coral_fan': '失活的脑纹珊瑚扇' 'block_minecraft_dead_brain_coral_wall_fan': '墙上的失活脑纹珊瑚扇' +'block_minecraft_dead_bubble_coral': '失活的气泡珊瑚' 'block_minecraft_dead_bubble_coral_block': '失活的气泡珊瑚块' 'block_minecraft_dead_bubble_coral_fan': '失活的气泡珊瑚扇' 'block_minecraft_dead_bubble_coral_wall_fan': '墙上的失活气泡珊瑚扇' -'block_minecraft_dead_bush': '枯死的灌木' +'block_minecraft_dead_bush': '枯萎的灌木' +'block_minecraft_dead_fire_coral': '失活的火珊瑚' 'block_minecraft_dead_fire_coral_block': '失活的火珊瑚块' 'block_minecraft_dead_fire_coral_fan': '失活的火珊瑚扇' 'block_minecraft_dead_fire_coral_wall_fan': '墙上的失活火珊瑚扇' +'block_minecraft_dead_horn_coral': '失活的鹿角珊瑚' 'block_minecraft_dead_horn_coral_block': '失活的鹿角珊瑚块' 'block_minecraft_dead_horn_coral_fan': '失活的鹿角珊瑚扇' 'block_minecraft_dead_horn_coral_wall_fan': '墙上的失活鹿角珊瑚扇' +'block_minecraft_dead_tube_coral': '失活的管珊瑚' 'block_minecraft_dead_tube_coral_block': '失活的管珊瑚块' 'block_minecraft_dead_tube_coral_fan': '失活的管珊瑚扇' 'block_minecraft_dead_tube_coral_wall_fan': '墙上的失活管珊瑚扇' @@ -1317,6 +833,9 @@ 'block_minecraft_diamond_block': '钻石块' 'block_minecraft_diamond_ore': '钻石矿石' 'block_minecraft_diorite': '闪长岩' +'block_minecraft_diorite_slab': '闪长岩台阶' +'block_minecraft_diorite_stairs': '闪长岩楼梯' +'block_minecraft_diorite_wall': '闪长岩墙' 'block_minecraft_dirt': '泥土' 'block_minecraft_dispenser': '发射器' 'block_minecraft_dragon_egg': '龙蛋' @@ -1332,6 +851,9 @@ 'block_minecraft_end_portal_frame': '末地传送门框架' 'block_minecraft_end_rod': '末地烛' 'block_minecraft_end_stone': '末地石' +'block_minecraft_end_stone_brick_slab': '末地石砖台阶' +'block_minecraft_end_stone_brick_stairs': '末地石砖楼梯' +'block_minecraft_end_stone_brick_wall': '末地石砖墙' 'block_minecraft_end_stone_bricks': '末地石砖' 'block_minecraft_ender_chest': '末影箱' 'block_minecraft_farmland': '耕地' @@ -1341,6 +863,7 @@ 'block_minecraft_fire_coral_block': '火珊瑚块' 'block_minecraft_fire_coral_fan': '火珊瑚扇' 'block_minecraft_fire_coral_wall_fan': '墙上的火珊瑚扇' +'block_minecraft_fletching_table': '制箭台' 'block_minecraft_flower_pot': '花盆' 'block_minecraft_flowing_lava': '流动的熔岩' 'block_minecraft_flowing_water': '流动的水' @@ -1353,6 +876,9 @@ 'block_minecraft_gold_block': '金块' 'block_minecraft_gold_ore': '金矿石' 'block_minecraft_granite': '花岗岩' +'block_minecraft_granite_slab': '花岗岩台阶' +'block_minecraft_granite_stairs': '花岗岩楼梯' +'block_minecraft_granite_wall': '花岗岩墙' 'block_minecraft_grass': '草' 'block_minecraft_grass_block': '草方块' 'block_minecraft_grass_path': '草径' @@ -1379,6 +905,7 @@ 'block_minecraft_green_stained_glass_pane': '绿色染色玻璃板' 'block_minecraft_green_terracotta': '绿色陶瓦' 'block_minecraft_green_wool': '绿色羊毛' +'block_minecraft_grindstone': '砂轮' 'block_minecraft_hay_block': '干草块' 'block_minecraft_heavy_weighted_pressure_plate': '重质测重压力板' 'block_minecraft_hopper': '漏斗' @@ -1399,6 +926,7 @@ 'block_minecraft_iron_ore': '铁矿石' 'block_minecraft_iron_trapdoor': '铁活板门' 'block_minecraft_jack_o_lantern': '南瓜灯' +'block_minecraft_jigsaw': '拼图方块' 'block_minecraft_jukebox': '唱片机' 'block_minecraft_jungle_button': '丛林木按钮' 'block_minecraft_jungle_door': '丛林木门' @@ -1409,17 +937,21 @@ 'block_minecraft_jungle_planks': '丛林木板' 'block_minecraft_jungle_pressure_plate': '丛林木压力板' 'block_minecraft_jungle_sapling': '丛林树苗' +'block_minecraft_jungle_sign': '丛林木告示牌' 'block_minecraft_jungle_slab': '丛林木台阶' 'block_minecraft_jungle_stairs': '丛林木楼梯' 'block_minecraft_jungle_trapdoor': '丛林木活板门' +'block_minecraft_jungle_wall_sign': '墙上的丛林木告示牌' 'block_minecraft_jungle_wood': '丛林木' 'block_minecraft_kelp': '海带' 'block_minecraft_kelp_plant': '海带植株' 'block_minecraft_ladder': '梯子' +'block_minecraft_lantern': '灯笼' 'block_minecraft_lapis_block': '青金石块' 'block_minecraft_lapis_ore': '青金石矿石' 'block_minecraft_large_fern': '大型蕨' 'block_minecraft_lava': '熔岩' +'block_minecraft_lectern': '讲台' 'block_minecraft_lever': '拉杆' 'block_minecraft_light_blue_banner': '淡蓝色旗帜' 'block_minecraft_light_blue_bed': '淡蓝色床' @@ -1445,6 +977,7 @@ 'block_minecraft_light_gray_wool': '淡灰色羊毛' 'block_minecraft_light_weighted_pressure_plate': '轻质测重压力板' 'block_minecraft_lilac': '丁香' +'block_minecraft_lily_of_the_valley': '铃兰' 'block_minecraft_lily_pad': '睡莲' 'block_minecraft_lime_banner': '黄绿色旗帜' 'block_minecraft_lime_bed': '黄绿色床' @@ -1457,6 +990,7 @@ 'block_minecraft_lime_stained_glass_pane': '黄绿色染色玻璃板' 'block_minecraft_lime_terracotta': '黄绿色陶瓦' 'block_minecraft_lime_wool': '黄绿色羊毛' +'block_minecraft_loom': '织布机' 'block_minecraft_magenta_banner': '品红色旗帜' 'block_minecraft_magenta_bed': '品红色床' 'block_minecraft_magenta_carpet': '品红色地毯' @@ -1472,7 +1006,12 @@ 'block_minecraft_melon': '西瓜' 'block_minecraft_melon_stem': '西瓜茎' 'block_minecraft_mossy_cobblestone': '苔石' +'block_minecraft_mossy_cobblestone_slab': '苔石台阶' +'block_minecraft_mossy_cobblestone_stairs': '苔石楼梯' 'block_minecraft_mossy_cobblestone_wall': '苔石墙' +'block_minecraft_mossy_stone_brick_slab': '苔石砖台阶' +'block_minecraft_mossy_stone_brick_stairs': '苔石砖楼梯' +'block_minecraft_mossy_stone_brick_wall': '苔石砖墙' 'block_minecraft_mossy_stone_bricks': '苔石砖' 'block_minecraft_moving_piston': '移动的活塞' 'block_minecraft_mushroom_stem': '蘑菇柄' @@ -1480,6 +1019,7 @@ 'block_minecraft_nether_brick_fence': '地狱砖栅栏' 'block_minecraft_nether_brick_slab': '地狱砖台阶' 'block_minecraft_nether_brick_stairs': '地狱砖楼梯' +'block_minecraft_nether_brick_wall': '地狱砖墙' 'block_minecraft_nether_bricks': '地狱砖块' 'block_minecraft_nether_portal': '下界传送门' 'block_minecraft_nether_quartz_ore': '下界石英矿石' @@ -1496,12 +1036,15 @@ 'block_minecraft_oak_planks': '橡木木板' 'block_minecraft_oak_pressure_plate': '橡木压力板' 'block_minecraft_oak_sapling': '橡树树苗' +'block_minecraft_oak_sign': '橡木告示牌' 'block_minecraft_oak_slab': '橡木台阶' 'block_minecraft_oak_stairs': '橡木楼梯' 'block_minecraft_oak_trapdoor': '橡木活板门' +'block_minecraft_oak_wall_sign': '墙上的橡木告示牌' 'block_minecraft_oak_wood': '橡木' 'block_minecraft_observer': '侦测器' 'block_minecraft_obsidian': '黑曜石' +'block_minecraft_ominous_banner': '灾厄旗帜' 'block_minecraft_orange_banner': '橙色旗帜' 'block_minecraft_orange_bed': '橙色床' 'block_minecraft_orange_carpet': '橙色地毯' @@ -1537,22 +1080,31 @@ 'block_minecraft_player_wall_head': '墙上的玩家头颅' 'block_minecraft_podzol': '灰化土' 'block_minecraft_polished_andesite': '磨制安山岩' +'block_minecraft_polished_andesite_slab': '磨制安山岩台阶' +'block_minecraft_polished_andesite_stairs': '磨制安山岩楼梯' 'block_minecraft_polished_diorite': '磨制闪长岩' +'block_minecraft_polished_diorite_slab': '磨制闪长岩台阶' +'block_minecraft_polished_diorite_stairs': '磨制闪长岩楼梯' 'block_minecraft_polished_granite': '磨制花岗岩' +'block_minecraft_polished_granite_slab': '磨制花岗岩台阶' +'block_minecraft_polished_granite_stairs': '磨制花岗岩楼梯' 'block_minecraft_poppy': '虞美人' 'block_minecraft_potatoes': '马铃薯' 'block_minecraft_potted_acacia_sapling': '金合欢树苗盆栽' 'block_minecraft_potted_allium': '绒球葱盆栽' 'block_minecraft_potted_azure_bluet': '茜草花盆栽' +'block_minecraft_potted_bamboo': '竹子盆栽' 'block_minecraft_potted_birch_sapling': '白桦树苗盆栽' 'block_minecraft_potted_blue_orchid': '兰花盆栽' 'block_minecraft_potted_brown_mushroom': '棕色蘑菇盆栽' 'block_minecraft_potted_cactus': '仙人掌盆栽' +'block_minecraft_potted_cornflower': '矢车菊盆栽' 'block_minecraft_potted_dandelion': '蒲公英盆栽' 'block_minecraft_potted_dark_oak_sapling': '深色橡树树苗盆栽' -'block_minecraft_potted_dead_bush': '枯死的灌木盆栽' +'block_minecraft_potted_dead_bush': '枯萎的灌木盆栽' 'block_minecraft_potted_fern': '蕨盆栽' 'block_minecraft_potted_jungle_sapling': '丛林树苗盆栽' +'block_minecraft_potted_lily_of_the_valley': '铃兰盆栽' 'block_minecraft_potted_oak_sapling': '橡树树苗盆栽' 'block_minecraft_potted_orange_tulip': '橙色郁金香盆栽' 'block_minecraft_potted_oxeye_daisy': '滨菊盆栽' @@ -1562,6 +1114,7 @@ 'block_minecraft_potted_red_tulip': '红色郁金香盆栽' 'block_minecraft_potted_spruce_sapling': '云杉树苗盆栽' 'block_minecraft_potted_white_tulip': '白色郁金香盆栽' +'block_minecraft_potted_wither_rose': '凋零玫瑰盆栽' 'block_minecraft_powered_rail': '充能铁轨' 'block_minecraft_prismarine': '海晶石' 'block_minecraft_prismarine_brick_slab': '海晶石砖台阶' @@ -1569,6 +1122,7 @@ 'block_minecraft_prismarine_bricks': '海晶石砖' 'block_minecraft_prismarine_slab': '海晶石台阶' 'block_minecraft_prismarine_stairs': '海晶石楼梯' +'block_minecraft_prismarine_wall': '海晶石墙' 'block_minecraft_pumpkin': '南瓜' 'block_minecraft_pumpkin_stem': '南瓜梗' 'block_minecraft_purple_banner': '紫色旗帜' @@ -1599,11 +1153,15 @@ 'block_minecraft_red_glazed_terracotta': '红色带釉陶瓦' 'block_minecraft_red_mushroom': '红色蘑菇' 'block_minecraft_red_mushroom_block': '红色蘑菇方块' +'block_minecraft_red_nether_brick_slab': '红色地狱砖台阶' +'block_minecraft_red_nether_brick_stairs': '红色地狱砖楼梯' +'block_minecraft_red_nether_brick_wall': '红色地狱砖墙' 'block_minecraft_red_nether_bricks': '红色地狱砖块' 'block_minecraft_red_sand': '红沙' 'block_minecraft_red_sandstone': '红砂岩' 'block_minecraft_red_sandstone_slab': '红砂岩台阶' 'block_minecraft_red_sandstone_stairs': '红砂岩楼梯' +'block_minecraft_red_sandstone_wall': '红砂岩墙' 'block_minecraft_red_shulker_box': '红色潜影盒' 'block_minecraft_red_stained_glass': '红色染色玻璃' 'block_minecraft_red_stained_glass_pane': '红色染色玻璃板' @@ -1615,7 +1173,7 @@ 'block_minecraft_redstone_ore': '红石矿石' 'block_minecraft_redstone_torch': '红石火把' 'block_minecraft_redstone_wall_torch': '墙上的红石火把' -'block_minecraft_redstone_wire': '红石粉' +'block_minecraft_redstone_wire': '红石线' 'block_minecraft_repeater': '红石中继器' 'block_minecraft_repeating_command_block': '循环型命令方块' 'block_minecraft_rose_bush': '玫瑰丛' @@ -1623,18 +1181,28 @@ 'block_minecraft_sandstone': '砂岩' 'block_minecraft_sandstone_slab': '砂岩台阶' 'block_minecraft_sandstone_stairs': '砂岩楼梯' +'block_minecraft_sandstone_wall': '砂岩墙' +'block_minecraft_scaffolding': '脚手架' 'block_minecraft_sea_lantern': '海晶灯' 'block_minecraft_sea_pickle': '海泡菜' 'block_minecraft_seagrass': '海草' 'block_minecraft_shulker_box': '潜影盒' -'block_minecraft_sign': '告示牌' 'block_minecraft_skeleton_skull': '骷髅头颅' 'block_minecraft_skeleton_wall_skull': '墙上的骷髅头颅' 'block_minecraft_slime_block': '粘液块' +'block_minecraft_smithing_table': '锻造台' +'block_minecraft_smoker': '烟熏炉' 'block_minecraft_smooth_quartz': '平滑石英' +'block_minecraft_smooth_quartz_slab': '平滑石英台阶' +'block_minecraft_smooth_quartz_stairs': '平滑石英楼梯' 'block_minecraft_smooth_red_sandstone': '平滑红砂岩' +'block_minecraft_smooth_red_sandstone_slab': '平滑红砂岩台阶' +'block_minecraft_smooth_red_sandstone_stairs': '平滑红砂岩楼梯' 'block_minecraft_smooth_sandstone': '平滑砂岩' +'block_minecraft_smooth_sandstone_slab': '平滑砂岩台阶' +'block_minecraft_smooth_sandstone_stairs': '平滑砂岩楼梯' 'block_minecraft_smooth_stone': '平滑石头' +'block_minecraft_smooth_stone_slab': '平滑石台阶' 'block_minecraft_snow': '雪' 'block_minecraft_snow_block': '雪块' 'block_minecraft_soul_sand': '灵魂沙' @@ -1649,18 +1217,23 @@ 'block_minecraft_spruce_planks': '云杉木板' 'block_minecraft_spruce_pressure_plate': '云杉木压力板' 'block_minecraft_spruce_sapling': '云杉树苗' +'block_minecraft_spruce_sign': '云杉木告示牌' 'block_minecraft_spruce_slab': '云杉木台阶' 'block_minecraft_spruce_stairs': '云杉木楼梯' 'block_minecraft_spruce_trapdoor': '云杉木活板门' +'block_minecraft_spruce_wall_sign': '墙上的云杉木告示牌' 'block_minecraft_spruce_wood': '云杉木' 'block_minecraft_sticky_piston': '粘性活塞' 'block_minecraft_stone': '石头' 'block_minecraft_stone_brick_slab': '石砖台阶' 'block_minecraft_stone_brick_stairs': '石砖楼梯' +'block_minecraft_stone_brick_wall': '石砖墙' 'block_minecraft_stone_bricks': '石砖' 'block_minecraft_stone_button': '石头按钮' 'block_minecraft_stone_pressure_plate': '石质压力板' 'block_minecraft_stone_slab': '石台阶' +'block_minecraft_stone_stairs': '石楼梯' +'block_minecraft_stonecutter': '切石机' 'block_minecraft_stripped_acacia_log': '去皮金合欢原木' 'block_minecraft_stripped_acacia_wood': '去皮金合欢木' 'block_minecraft_stripped_birch_log': '去皮白桦原木' @@ -1677,6 +1250,7 @@ 'block_minecraft_structure_void': '结构空位' 'block_minecraft_sugar_cane': '甘蔗' 'block_minecraft_sunflower': '向日葵' +'block_minecraft_sweet_berry_bush': '甜浆果丛' 'block_minecraft_tall_grass': '高草丛' 'block_minecraft_tall_seagrass': '高海草' 'block_minecraft_terracotta': '陶瓦' @@ -1695,7 +1269,6 @@ 'block_minecraft_vine': '藤蔓' 'block_minecraft_void_air': '虚空空气' 'block_minecraft_wall_banner': '墙上的旗帜' -'block_minecraft_wall_sign': '墙上的告示牌' 'block_minecraft_wall_torch': '墙上的火把' 'block_minecraft_water': '水' 'block_minecraft_wet_sponge': '湿海绵' @@ -1712,6 +1285,7 @@ 'block_minecraft_white_terracotta': '白色陶瓦' 'block_minecraft_white_tulip': '白色郁金香' 'block_minecraft_white_wool': '白色羊毛' +'block_minecraft_wither_rose': '凋零玫瑰' 'block_minecraft_wither_skeleton_skull': '凋灵骷髅头颅' 'block_minecraft_wither_skeleton_wall_skull': '墙上的凋灵骷髅头颅' 'block_minecraft_yellow_banner': '黄色旗帜' @@ -1726,4 +1300,610 @@ 'block_minecraft_yellow_terracotta': '黄色陶瓦' 'block_minecraft_yellow_wool': '黄色羊毛' 'block_minecraft_zombie_head': '僵尸的头' -'block_minecraft_zombie_wall_head': '墙上的僵尸头颅' \ No newline at end of file +'block_minecraft_zombie_wall_head': '墙上的僵尸头颅' +'entity_null': '实体' +'entity_minecraft_area_effect_cloud': '区域效果云' +'entity_minecraft_armor_stand': '盔甲架' +'entity_minecraft_arrow': '箭' +'entity_minecraft_bat': '蝙蝠' +'entity_minecraft_blaze': '烈焰人' +'entity_minecraft_boat': '船' +'entity_minecraft_cat': '猫' +'entity_minecraft_cave_spider': '洞穴蜘蛛' +'entity_minecraft_chest_minecart': '运输矿车' +'entity_minecraft_chicken': '鸡' +'entity_minecraft_cod': '鳕鱼' +'entity_minecraft_command_block_minecart': '命令方块矿车' +'entity_minecraft_cow': '牛' +'entity_minecraft_creeper': '爬行者' +'entity_minecraft_dolphin': '海豚' +'entity_minecraft_donkey': '驴' +'entity_minecraft_dragon_fireball': '龙的火球' +'entity_minecraft_drowned': '溺尸' +'entity_minecraft_egg': '掷出的鸡蛋' +'entity_minecraft_elder_guardian': '远古守卫者' +'entity_minecraft_end_crystal': '末影水晶' +'entity_minecraft_ender_dragon': '末影龙' +'entity_minecraft_ender_pearl': '掷出的末影珍珠' +'entity_minecraft_enderman': '末影人' +'entity_minecraft_endermite': '末影螨' +'entity_minecraft_evoker': '唤魔者' +'entity_minecraft_evoker_fangs': '唤魔者的尖牙' +'entity_minecraft_experience_bottle': '掷出的附魔之瓶' +'entity_minecraft_experience_orb': '经验球' +'entity_minecraft_eye_of_ender': '末影之眼' +'entity_minecraft_falling_block': '下落的方块' +'entity_minecraft_fireball': '火球' +'entity_minecraft_firework_rocket': '烟花火箭' +'entity_minecraft_fishing_bobber': '浮漂' +'entity_minecraft_fox': '狐狸' +'entity_minecraft_furnace_minecart': '动力矿车' +'entity_minecraft_ghast': '恶魂' +'entity_minecraft_giant': '巨人' +'entity_minecraft_guardian': '守卫者' +'entity_minecraft_hopper_minecart': '漏斗矿车' +'entity_minecraft_horse': '马' +'entity_minecraft_husk': '尸壳' +'entity_minecraft_illusioner': '幻术师' +'entity_minecraft_iron_golem': '铁傀儡' +'entity_minecraft_item': '物品' +'entity_minecraft_item_frame': '物品展示框' +'entity_minecraft_killer_bunny': '杀手兔' +'entity_minecraft_leash_knot': '拴绳结' +'entity_minecraft_lightning_bolt': '闪电束' +'entity_minecraft_llama': '羊驼' +'entity_minecraft_llama_spit': '羊驼唾沫' +'entity_minecraft_magma_cube': '岩浆怪' +'entity_minecraft_minecart': '矿车' +'entity_minecraft_mooshroom': '哞菇' +'entity_minecraft_mule': '骡' +'entity_minecraft_ocelot': '豹猫' +'entity_minecraft_painting': '画' +'entity_minecraft_panda': '熊猫' +'entity_minecraft_parrot': '鹦鹉' +'entity_minecraft_phantom': '幻翼' +'entity_minecraft_pig': '猪' +'entity_minecraft_pillager': '掠夺者' +'entity_minecraft_player': '玩家' +'entity_minecraft_polar_bear': '北极熊' +'entity_minecraft_potion': '药水' +'entity_minecraft_pufferfish': '河豚' +'entity_minecraft_rabbit': '兔子' +'entity_minecraft_ravager': '劫掠兽' +'entity_minecraft_salmon': '鲑鱼' +'entity_minecraft_sheep': '羊' +'entity_minecraft_shulker': '潜影贝' +'entity_minecraft_shulker_bullet': '潜影贝导弹' +'entity_minecraft_silverfish': '蠹虫' +'entity_minecraft_skeleton': '骷髅' +'entity_minecraft_skeleton_horse': '骷髅马' +'entity_minecraft_slime': '史莱姆' +'entity_minecraft_small_fireball': '小火球' +'entity_minecraft_snow_golem': '雪傀儡' +'entity_minecraft_snowball': '雪球' +'entity_minecraft_spawner_minecart': '刷怪箱矿车' +'entity_minecraft_spectral_arrow': '光灵箭' +'entity_minecraft_spider': '蜘蛛' +'entity_minecraft_squid': '鱿鱼' +'entity_minecraft_stray': '流浪者' +'entity_minecraft_tnt': '被激活的TNT' +'entity_minecraft_tnt_minecart': 'TNT矿车' +'entity_minecraft_trader_llama': '行商羊驼' +'entity_minecraft_trident': '三叉戟' +'entity_minecraft_tropical_fish': '热带鱼' +'entity_minecraft_tropical_fish_predefined_0': '海葵鱼' +'entity_minecraft_tropical_fish_predefined_1': '黑刺尾鲷' +'entity_minecraft_tropical_fish_predefined_10': '镰鱼' +'entity_minecraft_tropical_fish_predefined_11': '华丽蝴蝶鱼' +'entity_minecraft_tropical_fish_predefined_12': '鹦嘴鱼' +'entity_minecraft_tropical_fish_predefined_13': '额斑刺蝶鱼' +'entity_minecraft_tropical_fish_predefined_14': '红丽鱼' +'entity_minecraft_tropical_fish_predefined_15': '红唇真蛇鳚' +'entity_minecraft_tropical_fish_predefined_16': '红边笛鲷' +'entity_minecraft_tropical_fish_predefined_17': '马鲅' +'entity_minecraft_tropical_fish_predefined_18': '白条双锯鱼' +'entity_minecraft_tropical_fish_predefined_19': '鳞鲀' +'entity_minecraft_tropical_fish_predefined_2': '蓝刺尾鲷' +'entity_minecraft_tropical_fish_predefined_20': '高鳍鹦嘴鱼' +'entity_minecraft_tropical_fish_predefined_21': '黄刺尾鲷' +'entity_minecraft_tropical_fish_predefined_3': '蝴蝶鱼' +'entity_minecraft_tropical_fish_predefined_4': '丽鱼' +'entity_minecraft_tropical_fish_predefined_5': '小丑鱼' +'entity_minecraft_tropical_fish_predefined_6': '五彩搏鱼' +'entity_minecraft_tropical_fish_predefined_7': '绣雀鲷' +'entity_minecraft_tropical_fish_predefined_8': '川纹笛鲷' +'entity_minecraft_tropical_fish_predefined_9': '拟羊鱼' +'entity_minecraft_tropical_fish_type_betty': '背蒂类' +'entity_minecraft_tropical_fish_type_blockfish': '方身类' +'entity_minecraft_tropical_fish_type_brinely': '咸水类' +'entity_minecraft_tropical_fish_type_clayfish': '陶鱼类' +'entity_minecraft_tropical_fish_type_dasher': '速跃类' +'entity_minecraft_tropical_fish_type_flopper': '飞翼类' +'entity_minecraft_tropical_fish_type_glitter': '闪鳞类' +'entity_minecraft_tropical_fish_type_kob': '石首类' +'entity_minecraft_tropical_fish_type_snooper': '窥伺类' +'entity_minecraft_tropical_fish_type_spotty': '多斑类' +'entity_minecraft_tropical_fish_type_stripey': '条纹类' +'entity_minecraft_tropical_fish_type_sunstreak': '日纹类' +'entity_minecraft_turtle': '海龟' +'entity_minecraft_vex': '恼鬼' +'entity_minecraft_villager': '村民' +'entity_minecraft_villager_armorer': '盔甲匠' +'entity_minecraft_villager_butcher': '屠夫' +'entity_minecraft_villager_cartographer': '制图师' +'entity_minecraft_villager_cleric': '牧师' +'entity_minecraft_villager_farmer': '农民' +'entity_minecraft_villager_fisherman': '渔夫' +'entity_minecraft_villager_fletcher': '制箭师' +'entity_minecraft_villager_leatherworker': '皮匠' +'entity_minecraft_villager_librarian': '图书管理员' +'entity_minecraft_villager_mason': '石匠' +'entity_minecraft_villager_nitwit': '傻子' +'entity_minecraft_villager_none': '村民' +'entity_minecraft_villager_shepherd': '牧羊人' +'entity_minecraft_villager_toolsmith': '工具匠' +'entity_minecraft_villager_weaponsmith': '武器匠' +'entity_minecraft_vindicator': '卫道士' +'entity_minecraft_wandering_trader': '流浪商人' +'entity_minecraft_witch': '女巫' +'entity_minecraft_wither': '凋灵' +'entity_minecraft_wither_skeleton': '凋灵骷髅' +'entity_minecraft_wither_skull': '凋灵头颅' +'entity_minecraft_wolf': '狼' +'entity_minecraft_zombie': '僵尸' +'entity_minecraft_zombie_horse': '僵尸马' +'entity_minecraft_zombie_pigman': '僵尸猪人' +'entity_minecraft_zombie_villager': '僵尸村民' +'item_null': '空气' +'item_minecraft_acacia_boat': '金合欢木船' +'item_minecraft_apple': '苹果' +'item_minecraft_armor_stand': '盔甲架' +'item_minecraft_arrow': '箭' +'item_minecraft_baked_potato': '烤马铃薯' +'item_minecraft_bat_spawn_egg': '蝙蝠刷怪蛋' +'item_minecraft_beef': '生牛肉' +'item_minecraft_beetroot': '甜菜根' +'item_minecraft_beetroot_seeds': '甜菜种子' +'item_minecraft_beetroot_soup': '甜菜汤' +'item_minecraft_birch_boat': '白桦木船' +'item_minecraft_black_dye': '黑色染料' +'item_minecraft_blaze_powder': '烈焰粉' +'item_minecraft_blaze_rod': '烈焰棒' +'item_minecraft_blaze_spawn_egg': '烈焰人刷怪蛋' +'item_minecraft_blue_dye': '蓝色染料' +'item_minecraft_bone': '骨头' +'item_minecraft_bone_meal': '骨粉' +'item_minecraft_book': '书' +'item_minecraft_bow': '弓' +'item_minecraft_bowl': '碗' +'item_minecraft_bread': '面包' +'item_minecraft_brewing_stand': '酿造台' +'item_minecraft_brick': '红砖' +'item_minecraft_brown_dye': '棕色染料' +'item_minecraft_bucket': '桶' +'item_minecraft_carrot': '胡萝卜' +'item_minecraft_carrot_on_a_stick': '胡萝卜钓竿' +'item_minecraft_cat_spawn_egg': '猫刷怪蛋' +'item_minecraft_cauldron': '炼药锅' +'item_minecraft_cave_spider_spawn_egg': '洞穴蜘蛛刷怪蛋' +'item_minecraft_chainmail_boots': '锁链靴子' +'item_minecraft_chainmail_chestplate': '锁链胸甲' +'item_minecraft_chainmail_helmet': '锁链头盔' +'item_minecraft_chainmail_leggings': '锁链护腿' +'item_minecraft_charcoal': '木炭' +'item_minecraft_chest_minecart': '运输矿车' +'item_minecraft_chicken': '生鸡肉' +'item_minecraft_chicken_spawn_egg': '鸡刷怪蛋' +'item_minecraft_chorus_fruit': '紫颂果' +'item_minecraft_clay_ball': '粘土' +'item_minecraft_clock': '时钟' +'item_minecraft_coal': '煤炭' +'item_minecraft_cocoa_beans': '可可豆' +'item_minecraft_cod': '生鳕鱼' +'item_minecraft_cod_bucket': '鳕鱼桶' +'item_minecraft_cod_spawn_egg': '鳕鱼刷怪蛋' +'item_minecraft_command_block_minecart': '命令方块矿车' +'item_minecraft_compass': '指南针' +'item_minecraft_cooked_beef': '牛排' +'item_minecraft_cooked_chicken': '熟鸡肉' +'item_minecraft_cooked_cod': '熟鳕鱼' +'item_minecraft_cooked_mutton': '熟羊肉' +'item_minecraft_cooked_porkchop': '熟猪排' +'item_minecraft_cooked_rabbit': '熟兔肉' +'item_minecraft_cooked_salmon': '熟鲑鱼' +'item_minecraft_cookie': '曲奇' +'item_minecraft_cow_spawn_egg': '牛刷怪蛋' +'item_minecraft_creeper_banner_pattern': '旗帜图案' +'item_minecraft_creeper_banner_pattern_desc': '爬行者盾徽' +'item_minecraft_creeper_head': '爬行者的头' +'item_minecraft_creeper_spawn_egg': '爬行者刷怪蛋' +'item_minecraft_crossbow': '弩' +'item_minecraft_crossbow_projectile': '弹射物:' +'item_minecraft_cyan_dye': '青色染料' +'item_minecraft_dark_oak_boat': '深色橡木船' +'item_minecraft_debug_stick': '调试棒' +'item_minecraft_diamond': '钻石' +'item_minecraft_diamond_axe': '钻石斧' +'item_minecraft_diamond_boots': '钻石靴子' +'item_minecraft_diamond_chestplate': '钻石胸甲' +'item_minecraft_diamond_helmet': '钻石头盔' +'item_minecraft_diamond_hoe': '钻石锄' +'item_minecraft_diamond_horse_armor': '钻石马铠' +'item_minecraft_diamond_leggings': '钻石护腿' +'item_minecraft_diamond_pickaxe': '钻石镐' +'item_minecraft_diamond_shovel': '钻石锹' +'item_minecraft_diamond_sword': '钻石剑' +'item_minecraft_dolphin_spawn_egg': '海豚刷怪蛋' +'item_minecraft_donkey_spawn_egg': '驴刷怪蛋' +'item_minecraft_dragon_breath': '龙息' +'item_minecraft_dragon_head': '龙首' +'item_minecraft_dried_kelp': '干海带' +'item_minecraft_drowned_spawn_egg': '溺尸刷怪蛋' +'item_minecraft_egg': '鸡蛋' +'item_minecraft_elder_guardian_spawn_egg': '远古守卫者刷怪蛋' +'item_minecraft_elytra': '鞘翅' +'item_minecraft_emerald': '绿宝石' +'item_minecraft_enchanted_book': '附魔书' +'item_minecraft_enchanted_golden_apple': '附魔金苹果' +'item_minecraft_end_crystal': '末影水晶' +'item_minecraft_ender_eye': '末影之眼' +'item_minecraft_ender_pearl': '末影珍珠' +'item_minecraft_enderman_spawn_egg': '末影人刷怪蛋' +'item_minecraft_endermite_spawn_egg': '末影螨刷怪蛋' +'item_minecraft_evoker_spawn_egg': '唤魔者刷怪蛋' +'item_minecraft_experience_bottle': '附魔之瓶' +'item_minecraft_feather': '羽毛' +'item_minecraft_fermented_spider_eye': '发酵蛛眼' +'item_minecraft_filled_map': '地图' +'item_minecraft_fire_charge': '火焰弹' +'item_minecraft_firework_rocket': '烟花火箭' +'item_minecraft_firework_rocket_flight': '飞行时间:' +'item_minecraft_firework_star': '烟火之星' +'item_minecraft_firework_star_black': '黑色' +'item_minecraft_firework_star_blue': '蓝色' +'item_minecraft_firework_star_brown': '棕色' +'item_minecraft_firework_star_custom_color': '自定义' +'item_minecraft_firework_star_cyan': '青色' +'item_minecraft_firework_star_fade_to': '淡化至' +'item_minecraft_firework_star_flicker': '闪烁' +'item_minecraft_firework_star_gray': '灰色' +'item_minecraft_firework_star_green': '绿色' +'item_minecraft_firework_star_light_blue': '淡蓝色' +'item_minecraft_firework_star_light_gray': '淡灰色' +'item_minecraft_firework_star_lime': '黄绿色' +'item_minecraft_firework_star_magenta': '品红色' +'item_minecraft_firework_star_orange': '橙色' +'item_minecraft_firework_star_pink': '粉红色' +'item_minecraft_firework_star_purple': '紫色' +'item_minecraft_firework_star_red': '红色' +'item_minecraft_firework_star_shape': '未知形状' +'item_minecraft_firework_star_shape_burst': '爆裂状' +'item_minecraft_firework_star_shape_creeper': '爬行者状' +'item_minecraft_firework_star_shape_large_ball': '大型球状' +'item_minecraft_firework_star_shape_small_ball': '小型球状' +'item_minecraft_firework_star_shape_star': '星形' +'item_minecraft_firework_star_trail': '踪迹' +'item_minecraft_firework_star_white': '白色' +'item_minecraft_firework_star_yellow': '黄色' +'item_minecraft_fishing_rod': '钓鱼竿' +'item_minecraft_flint': '燧石' +'item_minecraft_flint_and_steel': '打火石' +'item_minecraft_flower_banner_pattern': '旗帜图案' +'item_minecraft_flower_banner_pattern_desc': '花朵盾徽' +'item_minecraft_flower_pot': '花盆' +'item_minecraft_fox_spawn_egg': '狐狸刷怪蛋' +'item_minecraft_furnace_minecart': '动力矿车' +'item_minecraft_ghast_spawn_egg': '恶魂刷怪蛋' +'item_minecraft_ghast_tear': '恶魂之泪' +'item_minecraft_glass_bottle': '玻璃瓶' +'item_minecraft_glistering_melon_slice': '闪烁的西瓜片' +'item_minecraft_globe_banner_pattern': '旗帜图案' +'item_minecraft_globe_banner_pattern_desc': '地球' +'item_minecraft_glowstone_dust': '荧石粉' +'item_minecraft_gold_ingot': '金锭' +'item_minecraft_gold_nugget': '金粒' +'item_minecraft_golden_apple': '金苹果' +'item_minecraft_golden_axe': '金斧' +'item_minecraft_golden_boots': '金靴子' +'item_minecraft_golden_carrot': '金胡萝卜' +'item_minecraft_golden_chestplate': '金胸甲' +'item_minecraft_golden_helmet': '金头盔' +'item_minecraft_golden_hoe': '金锄' +'item_minecraft_golden_horse_armor': '金马铠' +'item_minecraft_golden_leggings': '金护腿' +'item_minecraft_golden_pickaxe': '金镐' +'item_minecraft_golden_shovel': '金锹' +'item_minecraft_golden_sword': '金剑' +'item_minecraft_gray_dye': '灰色染料' +'item_minecraft_green_dye': '绿色染料' +'item_minecraft_guardian_spawn_egg': '守卫者刷怪蛋' +'item_minecraft_gunpowder': '火药' +'item_minecraft_heart_of_the_sea': '海洋之心' +'item_minecraft_hopper_minecart': '漏斗矿车' +'item_minecraft_horse_spawn_egg': '马刷怪蛋' +'item_minecraft_husk_spawn_egg': '尸壳刷怪蛋' +'item_minecraft_ink_sac': '墨囊' +'item_minecraft_iron_axe': '铁斧' +'item_minecraft_iron_boots': '铁靴子' +'item_minecraft_iron_chestplate': '铁胸甲' +'item_minecraft_iron_helmet': '铁头盔' +'item_minecraft_iron_hoe': '铁锄' +'item_minecraft_iron_horse_armor': '铁马铠' +'item_minecraft_iron_ingot': '铁锭' +'item_minecraft_iron_leggings': '铁护腿' +'item_minecraft_iron_nugget': '铁粒' +'item_minecraft_iron_pickaxe': '铁镐' +'item_minecraft_iron_shovel': '铁锹' +'item_minecraft_iron_sword': '铁剑' +'item_minecraft_item_frame': '物品展示框' +'item_minecraft_jungle_boat': '丛林木船' +'item_minecraft_knowledge_book': '知识之书' +'item_minecraft_lapis_lazuli': '青金石' +'item_minecraft_lava_bucket': '熔岩桶' +'item_minecraft_lead': '拴绳' +'item_minecraft_leather': '皮革' +'item_minecraft_leather_boots': '皮革靴子' +'item_minecraft_leather_chestplate': '皮革外套' +'item_minecraft_leather_helmet': '皮革帽子' +'item_minecraft_leather_horse_armor': '皮革马铠' +'item_minecraft_leather_leggings': '皮革裤子' +'item_minecraft_light_blue_dye': '淡蓝色染料' +'item_minecraft_light_gray_dye': '淡灰色染料' +'item_minecraft_lime_dye': '黄绿色染料' +'item_minecraft_lingering_potion': '滞留药水' +'item_minecraft_lingering_potion_effect_awkward': '滞留型粗制药水' +'item_minecraft_lingering_potion_effect_empty': '不可合成的滞留型药水' +'item_minecraft_lingering_potion_effect_fire_resistance': '滞留型抗火药水' +'item_minecraft_lingering_potion_effect_harming': '滞留型伤害药水' +'item_minecraft_lingering_potion_effect_healing': '滞留型治疗药水' +'item_minecraft_lingering_potion_effect_invisibility': '滞留型隐身药水' +'item_minecraft_lingering_potion_effect_leaping': '滞留型跳跃药水' +'item_minecraft_lingering_potion_effect_levitation': '滞留型飘浮药水' +'item_minecraft_lingering_potion_effect_luck': '滞留型幸运药水' +'item_minecraft_lingering_potion_effect_mundane': '滞留型平凡的药水' +'item_minecraft_lingering_potion_effect_night_vision': '滞留型夜视药水' +'item_minecraft_lingering_potion_effect_poison': '滞留型剧毒药水' +'item_minecraft_lingering_potion_effect_regeneration': '滞留型再生药水' +'item_minecraft_lingering_potion_effect_slow_falling': '滞留型缓降药水' +'item_minecraft_lingering_potion_effect_slowness': '滞留型迟缓药水' +'item_minecraft_lingering_potion_effect_strength': '滞留型力量药水' +'item_minecraft_lingering_potion_effect_swiftness': '滞留型迅捷药水' +'item_minecraft_lingering_potion_effect_thick': '滞留型浓稠的药水' +'item_minecraft_lingering_potion_effect_turtle_master': '滞留型神龟药水' +'item_minecraft_lingering_potion_effect_water': '滞留型水瓶' +'item_minecraft_lingering_potion_effect_water_breathing': '滞留型水肺药水' +'item_minecraft_lingering_potion_effect_weakness': '滞留型虚弱药水' +'item_minecraft_llama_spawn_egg': '羊驼刷怪蛋' +'item_minecraft_magenta_dye': '品红色染料' +'item_minecraft_magma_cream': '岩浆膏' +'item_minecraft_magma_cube_spawn_egg': '岩浆怪刷怪蛋' +'item_minecraft_map': '空地图' +'item_minecraft_melon_seeds': '西瓜种子' +'item_minecraft_melon_slice': '西瓜片' +'item_minecraft_milk_bucket': '牛奶桶' +'item_minecraft_minecart': '矿车' +'item_minecraft_mojang_banner_pattern': '旗帜图案' +'item_minecraft_mojang_banner_pattern_desc': 'Mojang徽标' +'item_minecraft_mooshroom_spawn_egg': '哞菇刷怪蛋' +'item_minecraft_mule_spawn_egg': '骡刷怪蛋' +'item_minecraft_mushroom_stew': '蘑菇煲' +'item_minecraft_music_disc_11': '音乐唱片' +'item_minecraft_music_disc_11_desc': 'C418 - 11' +'item_minecraft_music_disc_13': '音乐唱片' +'item_minecraft_music_disc_13_desc': 'C418 - 13' +'item_minecraft_music_disc_blocks': '音乐唱片' +'item_minecraft_music_disc_blocks_desc': 'C418 - blocks' +'item_minecraft_music_disc_cat': '音乐唱片' +'item_minecraft_music_disc_cat_desc': 'C418 - cat' +'item_minecraft_music_disc_chirp': '音乐唱片' +'item_minecraft_music_disc_chirp_desc': 'C418 - chirp' +'item_minecraft_music_disc_far': '音乐唱片' +'item_minecraft_music_disc_far_desc': 'C418 - far' +'item_minecraft_music_disc_mall': '音乐唱片' +'item_minecraft_music_disc_mall_desc': 'C418 - mall' +'item_minecraft_music_disc_mellohi': '音乐唱片' +'item_minecraft_music_disc_mellohi_desc': 'C418 - mellohi' +'item_minecraft_music_disc_stal': '音乐唱片' +'item_minecraft_music_disc_stal_desc': 'C418 - stal' +'item_minecraft_music_disc_strad': '音乐唱片' +'item_minecraft_music_disc_strad_desc': 'C418 - strad' +'item_minecraft_music_disc_wait': '音乐唱片' +'item_minecraft_music_disc_wait_desc': 'C418 - wait' +'item_minecraft_music_disc_ward': '音乐唱片' +'item_minecraft_music_disc_ward_desc': 'C418 - ward' +'item_minecraft_mutton': '生羊肉' +'item_minecraft_name_tag': '命名牌' +'item_minecraft_nautilus_shell': '鹦鹉螺壳' +'item_minecraft_nether_brick': '地狱砖' +'item_minecraft_nether_star': '下界之星' +'item_minecraft_nether_wart': '地狱疣' +'item_minecraft_oak_boat': '橡木船' +'item_minecraft_ocelot_spawn_egg': '豹猫刷怪蛋' +'item_minecraft_orange_dye': '橙色染料' +'item_minecraft_painting': '画' +'item_minecraft_panda_spawn_egg': '熊猫刷怪蛋' +'item_minecraft_paper': '纸' +'item_minecraft_parrot_spawn_egg': '鹦鹉刷怪蛋' +'item_minecraft_phantom_membrane': '幻翼膜' +'item_minecraft_phantom_spawn_egg': '幻翼刷怪蛋' +'item_minecraft_pig_spawn_egg': '猪刷怪蛋' +'item_minecraft_pillager_spawn_egg': '掠夺者刷怪蛋' +'item_minecraft_pink_dye': '粉红色染料' +'item_minecraft_poisonous_potato': '毒马铃薯' +'item_minecraft_polar_bear_spawn_egg': '北极熊刷怪蛋' +'item_minecraft_popped_chorus_fruit': '爆裂紫颂果' +'item_minecraft_porkchop': '生猪排' +'item_minecraft_potato': '马铃薯' +'item_minecraft_potion': '药水' +'item_minecraft_potion_effect_awkward': '粗制的药水' +'item_minecraft_potion_effect_empty': '不可合成的药水' +'item_minecraft_potion_effect_fire_resistance': '抗火药水' +'item_minecraft_potion_effect_harming': '伤害药水' +'item_minecraft_potion_effect_healing': '治疗药水' +'item_minecraft_potion_effect_invisibility': '隐身药水' +'item_minecraft_potion_effect_leaping': '跳跃药水' +'item_minecraft_potion_effect_levitation': '飘浮药水' +'item_minecraft_potion_effect_luck': '幸运药水' +'item_minecraft_potion_effect_mundane': '平凡的药水' +'item_minecraft_potion_effect_night_vision': '夜视药水' +'item_minecraft_potion_effect_poison': '剧毒药水' +'item_minecraft_potion_effect_regeneration': '再生药水' +'item_minecraft_potion_effect_slow_falling': '缓降药水' +'item_minecraft_potion_effect_slowness': '迟缓药水' +'item_minecraft_potion_effect_strength': '力量药水' +'item_minecraft_potion_effect_swiftness': '迅捷药水' +'item_minecraft_potion_effect_thick': '浓稠的药水' +'item_minecraft_potion_effect_turtle_master': '神龟药水' +'item_minecraft_potion_effect_water': '水瓶' +'item_minecraft_potion_effect_water_breathing': '水肺药水' +'item_minecraft_potion_effect_weakness': '虚弱药水' +'item_minecraft_prismarine_crystals': '海晶砂粒' +'item_minecraft_prismarine_shard': '海晶碎片' +'item_minecraft_pufferfish': '河豚' +'item_minecraft_pufferfish_bucket': '河豚桶' +'item_minecraft_pufferfish_spawn_egg': '河豚刷怪蛋' +'item_minecraft_pumpkin_pie': '南瓜派' +'item_minecraft_pumpkin_seeds': '南瓜种子' +'item_minecraft_purple_dye': '紫色染料' +'item_minecraft_quartz': '下界石英' +'item_minecraft_rabbit': '生兔肉' +'item_minecraft_rabbit_foot': '兔子脚' +'item_minecraft_rabbit_hide': '兔子皮' +'item_minecraft_rabbit_spawn_egg': '兔子刷怪蛋' +'item_minecraft_rabbit_stew': '兔肉煲' +'item_minecraft_ravager_spawn_egg': '劫掠兽刷怪蛋' +'item_minecraft_red_dye': '红色染料' +'item_minecraft_redstone': '红石粉' +'item_minecraft_rotten_flesh': '腐肉' +'item_minecraft_saddle': '鞍' +'item_minecraft_salmon': '生鲑鱼' +'item_minecraft_salmon_bucket': '鲑鱼桶' +'item_minecraft_salmon_spawn_egg': '鲑鱼刷怪蛋' +'item_minecraft_scute': '鳞甲' +'item_minecraft_shears': '剪刀' +'item_minecraft_sheep_spawn_egg': '羊刷怪蛋' +'item_minecraft_shield': '盾牌' +'item_minecraft_shield_black': '黑色盾牌' +'item_minecraft_shield_blue': '蓝色盾牌' +'item_minecraft_shield_brown': '棕色盾牌' +'item_minecraft_shield_cyan': '青色盾牌' +'item_minecraft_shield_gray': '灰色盾牌' +'item_minecraft_shield_green': '绿色盾牌' +'item_minecraft_shield_light_blue': '淡蓝色盾牌' +'item_minecraft_shield_light_gray': '淡灰色盾牌' +'item_minecraft_shield_lime': '黄绿色盾牌' +'item_minecraft_shield_magenta': '品红色盾牌' +'item_minecraft_shield_orange': '橙色盾牌' +'item_minecraft_shield_pink': '粉红色盾牌' +'item_minecraft_shield_purple': '紫色盾牌' +'item_minecraft_shield_red': '红色盾牌' +'item_minecraft_shield_white': '白色盾牌' +'item_minecraft_shield_yellow': '黄色盾牌' +'item_minecraft_shulker_shell': '潜影壳' +'item_minecraft_shulker_spawn_egg': '潜影贝刷怪蛋' +'item_minecraft_sign': '告示牌' +'item_minecraft_silverfish_spawn_egg': '蠹虫刷怪蛋' +'item_minecraft_skeleton_horse_spawn_egg': '骷髅马刷怪蛋' +'item_minecraft_skeleton_skull': '骷髅头颅' +'item_minecraft_skeleton_spawn_egg': '骷髅刷怪蛋' +'item_minecraft_skull_banner_pattern': '旗帜图案' +'item_minecraft_skull_banner_pattern_desc': '头颅盾徽' +'item_minecraft_slime_ball': '粘液球' +'item_minecraft_slime_spawn_egg': '史莱姆刷怪蛋' +'item_minecraft_snowball': '雪球' +'item_minecraft_spectral_arrow': '光灵箭' +'item_minecraft_spider_eye': '蜘蛛眼' +'item_minecraft_spider_spawn_egg': '蜘蛛刷怪蛋' +'item_minecraft_splash_potion': '喷溅药水' +'item_minecraft_splash_potion_effect_awkward': '喷溅型粗制药水' +'item_minecraft_splash_potion_effect_empty': '不可合成的喷溅型药水' +'item_minecraft_splash_potion_effect_fire_resistance': '喷溅型抗火药水' +'item_minecraft_splash_potion_effect_harming': '喷溅型伤害药水' +'item_minecraft_splash_potion_effect_healing': '喷溅型治疗药水' +'item_minecraft_splash_potion_effect_invisibility': '喷溅型隐身药水' +'item_minecraft_splash_potion_effect_leaping': '喷溅型跳跃药水' +'item_minecraft_splash_potion_effect_levitation': '喷溅型飘浮药水' +'item_minecraft_splash_potion_effect_luck': '喷溅型幸运药水' +'item_minecraft_splash_potion_effect_mundane': '喷溅型平凡的药水' +'item_minecraft_splash_potion_effect_night_vision': '喷溅型夜视药水' +'item_minecraft_splash_potion_effect_poison': '喷溅型剧毒药水' +'item_minecraft_splash_potion_effect_regeneration': '喷溅型再生药水' +'item_minecraft_splash_potion_effect_slow_falling': '喷溅型缓降药水' +'item_minecraft_splash_potion_effect_slowness': '喷溅型迟缓药水' +'item_minecraft_splash_potion_effect_strength': '喷溅型力量药水' +'item_minecraft_splash_potion_effect_swiftness': '喷溅型迅捷药水' +'item_minecraft_splash_potion_effect_thick': '喷溅型浓稠的药水' +'item_minecraft_splash_potion_effect_turtle_master': '喷溅型神龟药水' +'item_minecraft_splash_potion_effect_water': '喷溅型水瓶' +'item_minecraft_splash_potion_effect_water_breathing': '喷溅型水肺药水' +'item_minecraft_splash_potion_effect_weakness': '喷溅型虚弱药水' +'item_minecraft_spruce_boat': '云杉木船' +'item_minecraft_squid_spawn_egg': '鱿鱼刷怪蛋' +'item_minecraft_stick': '木棍' +'item_minecraft_stone_axe': '石斧' +'item_minecraft_stone_hoe': '石锄' +'item_minecraft_stone_pickaxe': '石镐' +'item_minecraft_stone_shovel': '石锹' +'item_minecraft_stone_sword': '石剑' +'item_minecraft_stray_spawn_egg': '流浪者刷怪蛋' +'item_minecraft_string': '线' +'item_minecraft_sugar': '糖' +'item_minecraft_suspicious_stew': '迷之炖菜' +'item_minecraft_sweet_berries': '甜浆果' +'item_minecraft_tipped_arrow': '药箭' +'item_minecraft_tipped_arrow_effect_awkward': '药箭' +'item_minecraft_tipped_arrow_effect_empty': '不可合成的药箭' +'item_minecraft_tipped_arrow_effect_fire_resistance': '抗火之箭' +'item_minecraft_tipped_arrow_effect_harming': '伤害之箭' +'item_minecraft_tipped_arrow_effect_healing': '治疗之箭' +'item_minecraft_tipped_arrow_effect_invisibility': '隐身之箭' +'item_minecraft_tipped_arrow_effect_leaping': '跳跃之箭' +'item_minecraft_tipped_arrow_effect_levitation': '飘浮之箭' +'item_minecraft_tipped_arrow_effect_luck': '幸运之箭' +'item_minecraft_tipped_arrow_effect_mundane': '药箭' +'item_minecraft_tipped_arrow_effect_night_vision': '夜视之箭' +'item_minecraft_tipped_arrow_effect_poison': '剧毒之箭' +'item_minecraft_tipped_arrow_effect_regeneration': '再生之箭' +'item_minecraft_tipped_arrow_effect_slow_falling': '缓降之箭' +'item_minecraft_tipped_arrow_effect_slowness': '迟缓之箭' +'item_minecraft_tipped_arrow_effect_strength': '力量之箭' +'item_minecraft_tipped_arrow_effect_swiftness': '迅捷之箭' +'item_minecraft_tipped_arrow_effect_thick': '药箭' +'item_minecraft_tipped_arrow_effect_turtle_master': '神龟之箭' +'item_minecraft_tipped_arrow_effect_water': '喷溅之箭' +'item_minecraft_tipped_arrow_effect_water_breathing': '水肺之箭' +'item_minecraft_tipped_arrow_effect_weakness': '虚弱之箭' +'item_minecraft_tnt_minecart': 'TNT矿车' +'item_minecraft_totem_of_undying': '不死图腾' +'item_minecraft_trader_llama_spawn_egg': '行商羊驼刷怪蛋' +'item_minecraft_trident': '三叉戟' +'item_minecraft_tropical_fish': '热带鱼' +'item_minecraft_tropical_fish_bucket': '热带鱼桶' +'item_minecraft_tropical_fish_spawn_egg': '热带鱼刷怪蛋' +'item_minecraft_turtle_helmet': '海龟壳' +'item_minecraft_turtle_spawn_egg': '海龟刷怪蛋' +'item_minecraft_vex_spawn_egg': '恼鬼刷怪蛋' +'item_minecraft_villager_spawn_egg': '村民刷怪蛋' +'item_minecraft_vindicator_spawn_egg': '卫道士刷怪蛋' +'item_minecraft_wandering_trader_spawn_egg': '流浪商人刷怪蛋' +'item_minecraft_water_bucket': '水桶' +'item_minecraft_wheat': '小麦' +'item_minecraft_wheat_seeds': '小麦种子' +'item_minecraft_white_dye': '白色染料' +'item_minecraft_witch_spawn_egg': '女巫刷怪蛋' +'item_minecraft_wither_skeleton_skull': '凋灵骷髅头颅' +'item_minecraft_wither_skeleton_spawn_egg': '凋灵骷髅刷怪蛋' +'item_minecraft_wolf_spawn_egg': '狼刷怪蛋' +'item_minecraft_wooden_axe': '木斧' +'item_minecraft_wooden_hoe': '木锄' +'item_minecraft_wooden_pickaxe': '木镐' +'item_minecraft_wooden_shovel': '木锹' +'item_minecraft_wooden_sword': '木剑' +'item_minecraft_writable_book': '书与笔' +'item_minecraft_written_book': '成书' +'item_minecraft_yellow_dye': '黄色染料' +'item_minecraft_zombie_head': '僵尸的头' +'item_minecraft_zombie_horse_spawn_egg': '僵尸马刷怪蛋' +'item_minecraft_zombie_pigman_spawn_egg': '僵尸猪人刷怪蛋' +'item_minecraft_zombie_spawn_egg': '僵尸刷怪蛋' +'item_minecraft_zombie_villager_spawn_egg': '僵尸村民刷怪蛋' \ No newline at end of file diff --git a/src/main/resources/simplei18n/low/zh_CN.yml b/src/main/resources/simplei18n/low/zh_CN.yml index b743db2..ae69a90 100644 --- a/src/main/resources/simplei18n/low/zh_CN.yml +++ b/src/main/resources/simplei18n/low/zh_CN.yml @@ -1,4 +1,4 @@ -'version': 2 +'version': 3 'entity_null': '实体' 'entity_ArmorStand_name': '盔甲架' 'entity_Arrow_name': '箭' diff --git a/src/main/scala/me/skymc/taboolib/common/nms/NMSHandlerImpl.java b/src/main/scala/me/skymc/taboolib/common/nms/NMSHandlerImpl.java index c35bb0c..c9b65c5 100644 --- a/src/main/scala/me/skymc/taboolib/common/nms/NMSHandlerImpl.java +++ b/src/main/scala/me/skymc/taboolib/common/nms/NMSHandlerImpl.java @@ -90,7 +90,21 @@ public class NMSHandlerImpl extends NMSHandler { @Override public String getName(Entity entity) { - if (TabooLib.getVersionNumber() < 11300) { + if (TabooLib.getVersionNumber() >= 11400) { + net.minecraft.server.v1_14_R1.MinecraftKey minecraftKey = net.minecraft.server.v1_14_R1.EntityTypes.getName(((org.bukkit.craftbukkit.v1_14_R1.entity.CraftEntity) entity).getHandle().getEntityType()); + return "entity.minecraft." + minecraftKey.getKey(); + } else if (TabooLib.getVersionNumber() == 11300) { + try { + String name = "entity.minecraft." + IRegistry.ENTITY_TYPE.getKey((net.minecraft.server.v1_13_R2.EntityTypes) entityTypesField.get(((org.bukkit.craftbukkit.v1_13_R2.entity.CraftEntity) entity).getHandle())).getKey(); + if (entity instanceof Villager && ((CraftVillager) entity).getCareer() != null) { + name += "." + String.valueOf(((CraftVillager) entity).getCareer()).toLowerCase(); + } + return name; + } catch (Throwable t) { + t.printStackTrace(); + } + return "entity.null"; + } else { try { if (entity instanceof Player) { return "entity.Player.name"; @@ -150,17 +164,6 @@ public class NMSHandlerImpl extends NMSHandler { t.printStackTrace(); } return "entity.null"; - } else { - try { - String name = "entity.minecraft." + IRegistry.ENTITY_TYPE.getKey((net.minecraft.server.v1_13_R2.EntityTypes) entityTypesField.get(((org.bukkit.craftbukkit.v1_13_R2.entity.CraftEntity) entity).getHandle())).getKey(); - if (entity instanceof Villager && ((CraftVillager) entity).getCareer() != null) { - name += "." + String.valueOf(((CraftVillager) entity).getCareer()).toLowerCase(); - } - return name; - } catch (Throwable t) { - t.printStackTrace(); - } - return "entity.null"; } } diff --git a/src/main/scala/me/skymc/taboolib/common/util/SimpleI18n.java b/src/main/scala/me/skymc/taboolib/common/util/SimpleI18n.java index 7cb28dd..017cfcf 100644 --- a/src/main/scala/me/skymc/taboolib/common/util/SimpleI18n.java +++ b/src/main/scala/me/skymc/taboolib/common/util/SimpleI18n.java @@ -37,7 +37,7 @@ public class SimpleI18n { } else { lang = ConfigUtils.load(TabooLib.instance(), localeFile); } - if (lang.getInt("version") < 2 && !released) { + if (lang.getInt("version") < 3 && !released) { released = true; FileUtils.deleteAllFile(new File(Main.getInst().getDataFolder(), "simpleI18n")); init(); diff --git a/src/main/scala/me/skymc/taboolib/cronus/CronusParser.java b/src/main/scala/me/skymc/taboolib/cronus/CronusParser.java index 937d1df..82eb624 100644 --- a/src/main/scala/me/skymc/taboolib/cronus/CronusParser.java +++ b/src/main/scala/me/skymc/taboolib/cronus/CronusParser.java @@ -15,10 +15,25 @@ public class CronusParser { public static Location toLocation(Object in) { String str = String.valueOf(in); - if (str.toLowerCase().startsWith("area=")) { - String[] area = str.substring("area=".length()).split("~"); - return new Location(Location.Mode.AREA, new org.bukkit.Location[] {toBukkitLocation(area[0]), toBukkitLocation(area[area.length > 1 ? 1 : 0])}, null); - } else { + // 区域 + // world:0,80,0~0,90,0 + if (str.contains(":") && str.contains("~")) { + String[] area = str.split("~"); + try { + return new Location(Location.Mode.AREA, new org.bukkit.Location[] {toBukkitLocation(area[0].replace(":", ",")), toBukkitLocation(area[0].split(":")[0] + "," + area[1])}, null); + } catch (Throwable ignored) { + return new Location(Location.Mode.AREA, null, null); + } + } + // 范围 + // world:0,80,0 r:10 + else if (str.contains("r:")) { + String[] range = str.split("r:"); + return new Location(Location.Mode.RANGE, new org.bukkit.Location[] {toBukkitLocation(range[0].replace(":", ","))}, NumberConversions.toInt(range[1])); + } + // 单项 + // world,0,80,0;world,0,90,0 + else { return new Location(Location.Mode.POINT, null, Arrays.stream(str.split(";")).map(CronusParser::toBukkitLocation).toArray(org.bukkit.Location[]::new)); } } diff --git a/src/main/scala/me/skymc/taboolib/cronus/CronusUtils.java b/src/main/scala/me/skymc/taboolib/cronus/CronusUtils.java index fa8b483..dbf866e 100644 --- a/src/main/scala/me/skymc/taboolib/cronus/CronusUtils.java +++ b/src/main/scala/me/skymc/taboolib/cronus/CronusUtils.java @@ -30,6 +30,10 @@ public class CronusUtils { return player.getItemInHand().getType() == material ? player.getItemInHand() : player.getInventory().getItemInOffHand(); } + public static boolean next(int page, int size, int entry) { + return size / (double) entry > page + 1; + } + public static boolean isInt(String in) { try { Integer.parseInt(in); diff --git a/src/main/scala/me/skymc/taboolib/cronus/bukkit/ItemStack.java b/src/main/scala/me/skymc/taboolib/cronus/bukkit/ItemStack.java index 128d39a..1cebbde 100644 --- a/src/main/scala/me/skymc/taboolib/cronus/bukkit/ItemStack.java +++ b/src/main/scala/me/skymc/taboolib/cronus/bukkit/ItemStack.java @@ -1,6 +1,8 @@ package me.skymc.taboolib.cronus.bukkit; import me.skymc.taboolib.inventory.ItemUtils; +import org.bukkit.Material; +import org.bukkit.entity.Player; /** * @Author 坏黑 @@ -46,6 +48,40 @@ public class ItemStack { return isType(itemStack) && isName(itemStack) && isLore(itemStack) && isDamage(itemStack) && isAmount(itemStack); } + public boolean hasItem(Player player) { + int checkAmount = amount; + for (org.bukkit.inventory.ItemStack itemStack : player.getInventory().getContents()) { + if (itemStack != null && !itemStack.getType().equals(Material.AIR) && isItem(itemStack)) { + checkAmount -= itemStack.getAmount(); + if (checkAmount <= 0) { + return true; + } + } + } + return false; + } + + public boolean takeItem(Player player) { + int takeAmount = amount; + org.bukkit.inventory.ItemStack[] contents = player.getInventory().getContents(); + for (int i = 0; i < contents.length; i++) { + org.bukkit.inventory.ItemStack itemStack = contents[i]; + if (itemStack != null && !itemStack.getType().equals(Material.AIR) && isItem(itemStack)) { + takeAmount -= itemStack.getAmount(); + if (takeAmount < 0) { + itemStack.setAmount(itemStack.getAmount() - (takeAmount + itemStack.getAmount())); + return true; + } else { + player.getInventory().setItem(i, null); + if (takeAmount == 0) { + return true; + } + } + } + } + return false; + } + public String getType() { return type; } diff --git a/src/main/scala/me/skymc/taboolib/cronus/bukkit/Location.java b/src/main/scala/me/skymc/taboolib/cronus/bukkit/Location.java index f5392ec..58f6d75 100644 --- a/src/main/scala/me/skymc/taboolib/cronus/bukkit/Location.java +++ b/src/main/scala/me/skymc/taboolib/cronus/bukkit/Location.java @@ -1,5 +1,7 @@ package me.skymc.taboolib.cronus.bukkit; +import org.bukkit.Bukkit; + import java.util.Arrays; /** @@ -11,6 +13,7 @@ public class Location { private Mode mode; private org.bukkit.Location[] area; private org.bukkit.Location[] points; + private int range; public Location(Mode mode, org.bukkit.Location[] area, org.bukkit.Location[] points) { this.mode = mode; @@ -18,8 +21,14 @@ public class Location { this.points = points; } + public Location(Mode mode, org.bukkit.Location[] points, int range) { + this.mode = mode; + this.points = points; + this.range = range; + } + public org.bukkit.Location toBukkit() { - return points[0]; + return points != null && points.length > 0 ? points[0] : new org.bukkit.Location(Bukkit.getWorlds().get(0), 0, 0, 0); } public boolean isBukkit() { @@ -30,36 +39,65 @@ public class Location { return false; } + public boolean isSelect(org.bukkit.Location locationA, org.bukkit.Location locationB) { + return locationA.getWorld().equals(locationB.getWorld()) && locationA.getX() == locationB.getX() && locationA.getY() == locationB.getY() && locationA.getZ() == locationB.getZ(); + } + public boolean inSelect(org.bukkit.Location location) { if (!isSelectWorld(location)) { return false; } - if (mode == Mode.AREA) { - return location.toVector().isInAABB(area[0].toVector(), area[1].toVector()); - } else { - return Arrays.asList(points).contains(location); + switch (mode) { + case AREA: + return area != null && location.toVector().isInAABB(area[0].toVector(), area[1].toVector()); + case POINT: + return points != null && Arrays.stream(points).anyMatch(p -> isSelect(p, location)); + case RANGE: + return points != null && toBukkit().distance(location) <= range; + default: + return false; } } public boolean isSelectWorld(org.bukkit.Location location) { - if (mode == Mode.AREA) { - return location.getWorld().equals(area[0].getWorld()); - } else { - return Arrays.stream(points).anyMatch(p -> p.getWorld().equals(location.getWorld())); + switch (mode) { + case AREA: + return area != null && location.getWorld().equals(area[0].getWorld()); + default: + return points != null && Arrays.stream(points).anyMatch(p -> p.getWorld().equals(location.getWorld())); } } - public enum Mode { - - AREA, POINT - } - @Override public String toString() { return "Location{" + "mode=" + mode + ", area=" + Arrays.toString(area) + ", points=" + Arrays.toString(points) + + ", range=" + range + '}'; } + + // ********************************* + // + // Getter and Setter + // + // ********************************* + + public Mode getMode() { + return mode; + } + + public org.bukkit.Location[] getArea() { + return area; + } + + public org.bukkit.Location[] getPoints() { + return points; + } + + public enum Mode { + + AREA, POINT, RANGE + } } diff --git a/src/main/scala/me/skymc/taboolib/cronus/util/StringExpression.java b/src/main/scala/me/skymc/taboolib/cronus/util/StringExpression.java new file mode 100644 index 0000000..afbfab8 --- /dev/null +++ b/src/main/scala/me/skymc/taboolib/cronus/util/StringExpression.java @@ -0,0 +1,103 @@ +package me.skymc.taboolib.cronus.util; + +import com.ilummc.tlib.logger.TLogger; +import com.ilummc.tlib.resources.TLocale; +import me.skymc.taboolib.common.inject.TInject; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * @Author 坏黑 + * @Since 2019-06-07 23:51 + */ +public class StringExpression { + + @TInject + private static TLogger logger; + private static Pattern pattern = Pattern.compile("(?>|>=|<|<=|==|=|!=|≈≈|≈|!≈)[ ]?(?.+)"); + private String symbol; + private StringNumber number; + + public StringExpression(Object in) { + Matcher matcher = pattern.matcher(String.valueOf(in)); + if (!matcher.find()) { + logger.error("StringExpression \"" + in + "\" parsing failed."); + return; + } + symbol = matcher.group("symbol"); + number = new StringNumber(matcher.group("number")); + } + + public boolean isSelect(String string) { + switch (symbol) { + case "=": + case "==": + return number.getSource().equals(string); + case "!=": + return !number.getSource().equals(string); + case "≈": + case "≈≈": + return number.getSource().equalsIgnoreCase(string); + case "!≈": + return !number.getSource().equalsIgnoreCase(string); + default: + return false; + } + } + + public boolean isSelect(double number) { + if (!this.number.isNumber()) { + return false; + } + double v = this.number.getNumber().doubleValue(); + switch (symbol) { + case ">": + return number > v; + case ">=": + return number >= v; + case "<": + return number < v; + case "<=": + return number <= v; + case "=": + case "==": + return number == v; + default: + return false; + } + } + + public String translate() { + switch (symbol) { + case ">": + return TLocale.asString("translate-expression-0") + " " + number.getSource(); + case ">=": + return TLocale.asString("translate-expression-1") + " " + number.getSource(); + case "<": + return TLocale.asString("translate-expression-2") + " " + number.getSource(); + case "<=": + return TLocale.asString("translate-expression-3") + " " + number.getSource(); + case "=": + case "==": + return TLocale.asString("translate-expression-4") + " " + number.getSource(); + } + return symbol + " " + number.getSource(); + } + + @Override + public String toString() { + return "StringExpression{" + + "symbol='" + symbol + '\'' + + ", number=" + number + + '}'; + } + + public String getSymbol() { + return symbol; + } + + public StringNumber getNumber() { + return number; + } +} diff --git a/src/main/scala/me/skymc/taboolib/cronus/util/StringNumber.java b/src/main/scala/me/skymc/taboolib/cronus/util/StringNumber.java new file mode 100644 index 0000000..a903e68 --- /dev/null +++ b/src/main/scala/me/skymc/taboolib/cronus/util/StringNumber.java @@ -0,0 +1,135 @@ +package me.skymc.taboolib.cronus.util; + +/** + * @Author 坏黑 + * @Since 2019-05-29 21:43 + */ +public class StringNumber { + + private NumberType type; + private Number number; + private String source; + + public StringNumber(long number) { + this.number = number; + this.type = NumberType.INT; + } + + public StringNumber(double number) { + this.number = number; + this.type = NumberType.DOUBLE; + } + + public StringNumber(String source) { + this.source = source; + try { + number = Long.valueOf(source); + type = NumberType.INT; + } catch (Throwable ignored) { + try { + number = Double.valueOf(source); + type = NumberType.DOUBLE; + } catch (Throwable ignored2) { + type = NumberType.STRING; + } + } + } + + public StringNumber add(String v) { + StringNumber numberFormat = new StringNumber(v); + if (isNumber() && numberFormat.isNumber()) { + if (type == NumberType.INT && numberFormat.getType() == NumberType.INT) { + number = number.longValue() + numberFormat.getNumber().longValue(); + } else { + number = number.doubleValue() + numberFormat.getNumber().doubleValue(); + type = NumberType.DOUBLE; + } + } else { + source += numberFormat.getSource(); + type = NumberType.STRING; + } + return this; + } + + public StringNumber subtract(String v) { + StringNumber numberFormat = new StringNumber(v); + if (isNumber() && numberFormat.isNumber()) { + if (type == NumberType.INT && numberFormat.getType() == NumberType.INT) { + number = number.longValue() - numberFormat.getNumber().longValue(); + } else { + number = number.doubleValue() - numberFormat.getNumber().doubleValue(); + type = NumberType.DOUBLE; + } + } + return this; + } + + public StringNumber multiply(String v) { + StringNumber numberFormat = new StringNumber(v); + if (isNumber() && numberFormat.isNumber()) { + if (type == NumberType.INT && numberFormat.getType() == NumberType.INT) { + number = number.longValue() * numberFormat.getNumber().longValue(); + } else { + number = number.doubleValue() * numberFormat.getNumber().doubleValue(); + type = NumberType.DOUBLE; + } + } + return this; + } + + public StringNumber division(String v) { + StringNumber numberFormat = new StringNumber(v); + if (isNumber() && numberFormat.isNumber()) { + if (type == NumberType.INT && numberFormat.getType() == NumberType.INT) { + number = number.longValue() / numberFormat.getNumber().longValue(); + } else { + number = number.doubleValue() / numberFormat.getNumber().doubleValue(); + type = NumberType.DOUBLE; + } + + } + return this; + } + + public Object get() { + switch (type) { + case INT: + return number.longValue(); + case DOUBLE: + return number.doubleValue(); + default: + return source; + } + } + + public boolean isNumber() { + return type == NumberType.INT || type == NumberType.DOUBLE; + } + + public Number getNumber() { + return number; + } + + public NumberType getType() { + return type; + } + + public String getSource() { + return source; + } + + public enum NumberType { + + DOUBLE, INT, STRING + + } + + @Override + public String toString() { + return "StringNumber{" + + "type=" + type + + ", number=" + number + + ", source='" + source + '\'' + + '}'; + } +} diff --git a/src/main/scala/me/skymc/taboolib/inventory/ItemUtils.java b/src/main/scala/me/skymc/taboolib/inventory/ItemUtils.java index f677698..428e52c 100644 --- a/src/main/scala/me/skymc/taboolib/inventory/ItemUtils.java +++ b/src/main/scala/me/skymc/taboolib/inventory/ItemUtils.java @@ -5,12 +5,13 @@ import me.clip.placeholderapi.PlaceholderAPI; import me.skymc.taboolib.Main; import me.skymc.taboolib.TabooLib; import me.skymc.taboolib.common.function.TFunction; +import me.skymc.taboolib.common.nms.NMSHandler; +import me.skymc.taboolib.common.nms.nbt.NBTBase; +import me.skymc.taboolib.common.nms.nbt.NBTCompound; +import me.skymc.taboolib.common.nms.nbt.NBTList; import me.skymc.taboolib.common.util.SimpleI18n; import me.skymc.taboolib.fileutils.ConfigUtils; import me.skymc.taboolib.itemnbtapi.NBTItem; -import me.skymc.taboolib.itemnbtapi.NBTList; -import me.skymc.taboolib.itemnbtapi.NBTListCompound; -import me.skymc.taboolib.itemnbtapi.NBTType; import me.skymc.taboolib.other.NumberUtils; import org.bukkit.Color; import org.bukkit.Material; @@ -27,6 +28,7 @@ import org.bukkit.inventory.meta.LeatherArmorMeta; import org.bukkit.inventory.meta.PotionMeta; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; +import org.bukkit.util.NumberConversions; import java.io.File; import java.util.Arrays; @@ -361,47 +363,46 @@ public class ItemUtils { // 元数据 item.setItemMeta(meta); // 数据 - NBTItem nbt = new NBTItem(item); + NBTCompound nbt = NMSHandler.getHandler().loadNBT(item); // 物品标签 if (section.contains("nbt")) { for (String name : section.getConfigurationSection("nbt").getKeys(false)) { Object obj = section.get("nbt." + name); if (obj instanceof String) { - nbt.setString(name, obj.toString()); + nbt.put(name, new NBTBase(obj.toString())); } else if (obj instanceof Double) { - nbt.setDouble(name, Double.valueOf(obj.toString())); + nbt.put(name, new NBTBase(NumberConversions.toDouble(obj))); } else if (obj instanceof Integer) { - nbt.setInteger(name, Integer.valueOf(obj.toString())); + nbt.put(name, new NBTBase(NumberConversions.toInt(obj))); } else if (obj instanceof Long) { - nbt.setLong(name, Long.valueOf(obj.toString())); - } else { - nbt.setObject(name, obj); + nbt.put(name, new NBTBase(NumberConversions.toLong(obj))); } } } // 物品属性 if (section.contains("attributes")) { - NBTList attr = nbt.getList("AttributeModifiers", NBTType.NBTTagCompound); + NBTList attr = new NBTList(); for (String hand : section.getConfigurationSection("attributes").getKeys(false)) { for (String name : section.getConfigurationSection("attributes." + hand).getKeys(false)) { if (asAttribute(name) != null) { try { - NBTListCompound _attr = attr.addCompound(); - Object num = section.get("attributes." + hand + "." + name); - if (num.toString().contains("%")) { - _attr.setDouble("Amount", Double.valueOf(num.toString().replace("%", "")) / 100D); - _attr.setInteger("Operation", 1); + NBTCompound a = new NBTCompound(); + String num = section.getString("attributes." + hand + "." + name); + if (num.endsWith("%")) { + a.put("Amount", new NBTBase(NumberConversions.toDouble(num.substring(0, num.length() - 1)) / 100D)); + a.put("Operation", new NBTBase(1)); } else { - _attr.setDouble("Amount", Double.valueOf(num.toString())); - _attr.setInteger("Operation", 0); + a.put("Amount", new NBTBase(NumberConversions.toDouble(num) / 100D)); + a.put("Operation", new NBTBase(0)); } - _attr.setString("AttributeName", asAttribute(name)); - _attr.setInteger("UUIDMost", NumberUtils.getRandom().nextInt(Integer.MAX_VALUE)); - _attr.setInteger("UUIDLeast", NumberUtils.getRandom().nextInt(Integer.MAX_VALUE)); - _attr.setString("Name", asAttribute(name)); - if (!"all".equals(hand)) { - _attr.setString("Slot", hand); + a.put("AttributeName", new NBTBase(asAttribute(name))); + a.put("UUIDMost", new NBTBase(NumberUtils.getRandom().nextInt(Integer.MAX_VALUE))); + a.put("UUIDLeast", new NBTBase(NumberUtils.getRandom().nextInt(Integer.MAX_VALUE))); + a.put("Name", new NBTBase(asAttribute(name))); + if (!hand.equals("all")) { + a.put("Slot", new NBTBase(hand)); } + attr.add(a); } catch (Exception ignored) { } } else { @@ -409,44 +410,9 @@ public class ItemUtils { } } } + nbt.put("AttributeModifiers", attr); } - return nbt.getItem(); - } - - public static NBTItem setAttribute(NBTItem nbt, String name, Object num, String hand) { - NBTList attr = nbt.getList("AttributeModifiers", NBTType.NBTTagCompound); - if (asAttribute(name) != null) { - try { - NBTListCompound _attr = null; - for (int i = 0; i < attr.size(); i++) { - NBTListCompound nlc = attr.getCompound(i); - if (nlc.getString("AttributeName").equals(asAttribute(name))) { - _attr = nlc; - } - } - if (_attr == null) { - _attr = attr.addCompound(); - } - if (num.toString().contains("%")) { - _attr.setDouble("Amount", Double.valueOf(num.toString().replace("%", "")) / 100D); - _attr.setInteger("Operation", 1); - } else { - _attr.setDouble("Amount", Double.valueOf(num.toString())); - _attr.setInteger("Operation", 0); - } - _attr.setString("AttributeName", asAttribute(name)); - _attr.setInteger("UUIDMost", NumberUtils.getRandom().nextInt(Integer.MAX_VALUE)); - _attr.setInteger("UUIDLeast", NumberUtils.getRandom().nextInt(Integer.MAX_VALUE)); - _attr.setString("Name", asAttribute(name)); - if (!"all".equals(hand)) { - _attr.setString("Slot", hand); - } - } catch (NumberFormatException ignored) { - } - } else { - TLocale.Logger.error("ITEM-UTILS.FAIL-LOAD-POTION", name); - } - return nbt; + return NMSHandler.getHandler().saveNBT(item, nbt); } // ********************************* @@ -485,6 +451,11 @@ public class ItemUtils { // // ********************************* + @Deprecated + public static NBTItem setAttribute(NBTItem nbt, String name, Object num, String hand) { + return nbt; + } + @Deprecated public static FileConfiguration getItemdir() { return itemDir; diff --git a/src/main/scala/me/skymc/taboolib/inventory/builder/v2/ClickListener1_9.java b/src/main/scala/me/skymc/taboolib/inventory/builder/v2/ClickListener1_9.java index f53644a..206f02e 100644 --- a/src/main/scala/me/skymc/taboolib/inventory/builder/v2/ClickListener1_9.java +++ b/src/main/scala/me/skymc/taboolib/inventory/builder/v2/ClickListener1_9.java @@ -9,7 +9,7 @@ import org.bukkit.event.player.PlayerSwapHandItemsEvent; * @Author 坏黑 * @Since 2019-05-21 22:04 */ -@TListener +@TListener(version = ">=10900") class ClickListener1_9 implements Listener { @EventHandler diff --git a/src/main/scala/me/skymc/taboolib/listener/TListener.java b/src/main/scala/me/skymc/taboolib/listener/TListener.java index 7d172ae..2ce6682 100644 --- a/src/main/scala/me/skymc/taboolib/listener/TListener.java +++ b/src/main/scala/me/skymc/taboolib/listener/TListener.java @@ -14,31 +14,28 @@ import java.lang.annotation.Target; public @interface TListener { /** - * 注册时执行方法 - * - * @return 方法名 + * 注册时执行的方法名 */ String register() default ""; /** - * 注销时执行方法 - * - * @return 方法名 + * 注销时执行的方法名 */ String cancel() default ""; /** - * 注册时判断条件 - * - * @return 方法名 + * 注册时判断的方法名,需返回布尔值 */ String condition() default ""; /** * 注册前判断依赖插件 - * - * @return 依赖插件 */ String[] depend() default ""; + /** + * 注册前判断依赖版本 + */ + String version() default ">0"; + } \ No newline at end of file diff --git a/src/main/scala/me/skymc/taboolib/listener/TListenerHandler.java b/src/main/scala/me/skymc/taboolib/listener/TListenerHandler.java index f79bbe0..92243bd 100644 --- a/src/main/scala/me/skymc/taboolib/listener/TListenerHandler.java +++ b/src/main/scala/me/skymc/taboolib/listener/TListenerHandler.java @@ -4,6 +4,7 @@ import com.ilummc.tlib.logger.TLogger; import com.ilummc.tlib.util.Strings; import me.skymc.taboolib.TabooLib; import me.skymc.taboolib.TabooLibLoader; +import me.skymc.taboolib.cronus.util.StringExpression; import me.skymc.taboolib.events.TPluginEnableEvent; import me.skymc.taboolib.methods.ReflectionUtils; import org.bukkit.Bukkit; @@ -50,6 +51,10 @@ public class TListenerHandler implements Listener { if (Listener.class.isAssignableFrom(pluginClass) && pluginClass.isAnnotationPresent(TListener.class)) { try { TListener tListener = pluginClass.getAnnotation(TListener.class); + // 检查版本 + if (!new StringExpression(tListener.version()).isSelect(TabooLib.getVersionNumber())) { + continue; + } // 检查注册条件 if (tListener.depend().length > 0 && !Strings.isBlank(tListener.depend()[0])) { if (Arrays.stream(tListener.depend()).anyMatch(depend -> Bukkit.getPluginManager().getPlugin(depend) == null)) {