diff --git a/Config.js b/Config.js index 35b8618..3f75dfe 100644 --- a/Config.js +++ b/Config.js @@ -1,7 +1,7 @@ // LiteLoader-AIDS automatic generated /// -const { I18nAPI, Minecraft } = require('./../GMLIB-LegacyRemoteCallApi/lib/GMLIB_API-JS.js'); +const { I18nAPI, Minecraft, UserCache } = require('./../GMLIB-LegacyRemoteCallApi/lib/GMLIB_API-JS.js'); module.exports = { Config: { @@ -18,13 +18,13 @@ module.exports = { Conditions: true, Text: (Player, Block) => I18nAPI.get('plugins.Waila.block.name', [Block.getTranslateName(Player.langCode), Block.type], Player.langCode) }, - {// 挖掘时间 + {// 硬度 Conditions: (_Player, Block) => !Block.isUnbreakable, Text: (Player, Block) => '\n' + I18nAPI.get('plugins.Waila.block.hardness', [Block.getBlockDestroySpeed().toFixed(1).toString()], Player.langCode) }, {// 是否可以采集 Conditions: (_Player, Block) => !Block.isUnbreakable, - Text: (Player, Block,Cache) => '\n' + I18nAPI.get('plugins.Waila.block.destroy', [(!(Player.isAdventure && !Cache['HandItem'].canDestroy(Block)) && (Block.isAlwaysDestroyable() || Cache['HandItem'].canDestroySpecial(Block))) ? '§a✔' : '§c✘'], Player.langCode) + Text: (Player, Block, Cache) => '\n' + I18nAPI.get('plugins.Waila.block.destroy', [(!(Player.isAdventure && !Cache['HandItem'].canDestroy(Block)) && (Block.isAlwaysDestroyable() || Cache['HandItem'].canDestroySpecial(Block))) ? '§a✔' : '§c✘'], Player.langCode) }, {// 蛋糕 Conditions: (_Player, Block) => Block.type === 'minecraft:cake', @@ -32,8 +32,7 @@ module.exports = { }, {// 箱子容量 Conditions: (_Player, Block) => Block.hasContainer(), - Text: (Player, _Block, Cache) => '\n' + I18nAPI.get('plugins.Waila.block.chest.size', [Cache['BlockContainer'].getAllItems().filter(Item => !Item.isNull()).length.toString(), Cache['BlockContainer'].size.toString()], Player.langCde) - + Text: (Player, _Block, Cache) => '\n' + I18nAPI.get('plugins.Waila.block.chest.size', [Cache['BlockContainer'].getAllItems().filter(Item => !Item.isNull()).length.toString(), Cache['BlockContainer'].size.toString(), Cache['BlockContainer'].getAllItems().map(Item => Item.count).reduce((acc, curr) => acc + curr).toString(), (Cache['BlockContainer'].size * 64).toString()], Player.langCde) }, {// 农作物成熟程度数值 Conditions: (_Player, Block) => Block.isCropBlock, @@ -56,7 +55,7 @@ module.exports = { Text: (Player, _Block, Cache) => '\n' + I18nAPI.get(`plugins.Waila.block.flower_pot`, [I18nAPI.get(Minecraft.getBlockTranslateKeyFromName(Cache['BlockEntityNbt'].getTag('PlantBlock').getData('name')), [], Player.langCode)], Player.langCode) }, {// 命令方块 - Conditions: (_Player, Block, Cache) => ['minecraft:repeating_command_block', 'minecraft:command_block', 'minecraft:chain_command_block'].includes(Block.type) && Cache['BlockEntityNbt']?.getData('Command') !== '', + Conditions: (_Player, Block, Cache) => ['minecraft:repeating_command_block', 'minecraft:command_block', 'minecraft:chain_command_block'].includes(Block.type) && Cache['BlockEntityNbt']?.getData('Command') !== '' && Cache['BlockEntityNbt'].getData('Command').length < 100, Text: (Player, _Block, Cache) => '\n' + I18nAPI.get(`plugins.Waila.block.commandblock.command`, [Cache['BlockEntityNbt'].getData('Command')], Player.langCode) }, {// 刷怪笼 @@ -71,12 +70,49 @@ module.exports = { Conditions: (_Player, Block) => Block.type === 'minecraft:composter', Text: (Player, _Block, Cache) => '\n' + I18nAPI.get(`plugins.Waila.block.composter`, [Cache['BlockNbt']?.getTag('states')?.getData('composter_fill_level')?.toString()], Player.langCode) }, + {// 钟摆动时间 + Conditions: (_Player, Block, Cache) => Block.type === 'minecraft:bell' && Cache['BlockEntityNbt'].getData('Ringing'), + Text: (Player, _Block, Cache) => '\n' + I18nAPI.get(`plugins.Waila.block.RingingTime`, [((50 - Cache['BlockEntityNbt'].getData('Ticks')) / 20)?.toString()], Player.langCode) + }, + {// 酿造剩余时间 + Conditions: (_Player, Block, Cache) => Block.type === 'minecraft:brewing_stand' && Cache['BlockEntityNbt'].getData('CookTime') > 0, + Text: (Player, _Block, Cache) => '\n' + I18nAPI.get(`plugins.Waila.block.BrewingStand.cookTime`, [(Cache['BlockEntityNbt'].getData('CookTime') / 20)?.toString()], Player.langCode) + }, + {// 酿造剩余燃料 + Conditions: (_Player, Block, Cache) => Block.type === 'minecraft:brewing_stand' && Cache['BlockEntityNbt'].getData('FuelAmount') > 0, + Text: (Player, _Block, Cache) => '\n' + I18nAPI.get(`plugins.Waila.block.BrewingStand.Fuel`, [Cache['BlockEntityNbt'].getData('FuelAmount').toString(), Cache['BlockEntityNbt'].getData('FuelTotal').toString()], Player.langCode) + }, {// 信标 Conditions: (_Player, Block, Cache) => Block.type === 'minecraft:beacon' && ![0, null].includes(Cache['BlockEntityNbt']?.getData('primary')), - Text: (Player, _Block, Cache) => { - const BuffID = [null, 'moveSpeed', 'moveSlowdown', 'digSpeed', 'digSlowDown', 'damageBoost', 'heal', 'harm', 'jump', 'confusion', 'regeneration', 'resistance', 'fireResistance', 'waterBreathing', 'invisibility', 'blindness', 'nightVision', 'hunger', 'weakness', 'poison', 'wither', 'healthBoost', 'absorption', 'saturation', 'levitation', 'poison', 'conduitPower', 'slowFalling']; - return '\n' + I18nAPI.get(`plugins.Waila.block.beacon`, [I18nAPI.get(`potion.${BuffID[Cache['BlockEntityNbt'].getData('primary')]}`, [], Player.langCode) + ' ' + (Cache['BlockEntityNbt'].getData('secondary') !== 0 ? I18nAPI.get(`potion.${BuffID[Cache['BlockEntityNbt'].getData('secondary')]}`, [], Player.langCode) : '')], Player.langCode); - } + Text: (Player, _Block, Cache) => '\n' + I18nAPI.get(`plugins.Waila.block.beacon`, [I18nAPI.get(`potion.${Cache['BuffKeyID'][Cache['BlockEntityNbt'].getData('primary')]}`, [], Player.langCode) + ' ' + (Cache['BlockEntityNbt'].getData('secondary') !== 0 ? I18nAPI.get(`potion.${Cache['BuffKeyID'][Cache['BlockEntityNbt'].getData('secondary')]}`, [], Player.langCode) : '')], Player.langCode) + }, + {// 炼药锅药水效果 + Conditions: (_Player, Block, Cache) => Block.type === 'minecraft:cauldron' && Cache['BlockEntityNbt']?.getData('PotionId') !== -1, + Text: (Player, _Block, Cache) => '\n' + I18nAPI.get(`plugins.Waila.block.cauldron`, [I18nAPI.get(`potion.${Cache['BuffKeyID'][Cache['BlockEntityNbt'].getData('PotionId')]}`, [], Player.langCode), I18nAPI.get(`itemGroup.name.${['potion', 'splashPotion', 'lingeringPotion'][Cache['BlockEntityNbt'].getData('PotionType')]}`)], Player.langCode) + }, + {// 红石比较器信号强度 + Conditions: (_Player, Block) => Block.type === 'minecraft:powered_comparator', + Text: (Player, _Block, Cache) => '\n' + I18nAPI.get(`plugins.Waila.block.powered_comparator`, [Cache['BlockEntityNbt'].getData('OutputSignal').toString()], Player.langCode) + }, + {// 末地折跃门 + Conditions: (_Player, Block) => Block.type === 'minecraft:end_gateway' && Block.pos.dimid === 2, + Text: (Player, _Block, Cache) => '\n' + I18nAPI.get(`plugins.Waila.block.end_gateway`, [Cache['BlockEntityNbt'].getData('ExitPortal').toArray().map(item => item.toString()).join(' ')], Player.langCode) + }, + {// 熔炼存储经验 + Conditions: (_Player, Block, Cache) => ['minecraft:furnace', 'minecraft:lit_furnace'].includes(Block.type) && Cache['BlockEntityNbt']?.getData('StoredXPInt') > 0, + Text: (Player, _Block, Cache) => '\n' + I18nAPI.get(`plugins.Waila.block.furnace.StoredXPInt`, [Cache['BlockEntityNbt'].getData('StoredXPInt').toString()], Player.langCode) + }, + {// 熔炼熔炼进度 + Conditions: (_Player, Block, Cache) => ['minecraft:furnace', 'minecraft:lit_furnace'].includes(Block.type) && Cache['BlockEntityNbt']?.getData('CookTime') > 0, + Text: (Player, _Block, Cache) => '\n' + I18nAPI.get(`plugins.Waila.block.furnace.CookTime`, [(Cache['BlockEntityNbt'].getData('CookTime') / 2).toString()], Player.langCode) + }, + {// 熔炼剩余燃料 + Conditions: (_Player, Block, Cache) => ['minecraft:furnace', 'minecraft:lit_furnace'].includes(Block.type) && Cache['BlockEntityNbt']?.getData('BurnTime') > 0, + Text: (Player, _Block, Cache) => '\n' + I18nAPI.get(`plugins.Waila.block.furnace.Burn`, [Cache['BlockEntityNbt']?.getData('BurnTime').toString(), Cache['BlockEntityNbt']?.getData('BurnDuration').toString()], Player.langCode) + }, + {// 最后编辑告示牌的玩家 + Conditions: (_Player, Block, Cache) => Block.type.includes('_sign') && Cache['BlockEntityNbt']?.getTag('FrontText')?.getData('TextOwner') !== '', + Text: (Player, _Block, Cache) => '\n' + I18nAPI.get(`plugins.Waila.block.sign`, [UserCache.getNameByXuid(Cache['BlockEntityNbt'].getTag('FrontText').getData('TextOwner'))], Player.langCode) }, {// 方块坐标 Conditions: true, @@ -113,13 +149,45 @@ module.exports = { Conditions: (_Player, Entity) => Entity.type === 'minecraft:tnt', Text: (Player, _Entity, Cache) => '\n' + I18nAPI.get('plugins.Waila.entity.tnt', [Cache['EntityNbt']?.getData('Fuse')?.toString() ?? '0'], Player.langCode) }, + {// 繁殖冷却时间 + Conditions: (_Player, _Entity, Cache) => Cache['EntityNbt'].getData('BreedCooldown') > 0, + Text: (Player, _Entity, Cache) => '\n' + I18nAPI.get('plugins.Waila.entity.breedcooldown', [(Cache['EntityNbt']?.getData('BreedCooldown') / 20)?.toFixed(1)?.toString()], Player.langCode) + }, + {// 成年所需时间 + Conditions: (_Player, Entity) => Entity.isBaby, + Text: (Player, _Entity, Cache) => '\n' + I18nAPI.get('plugins.Waila.entity.age', [(Math.abs(Cache['EntityNbt']?.getData('Age')) / 20)?.toFixed(1)?.toString()], Player.langCode) + }, + {// 跳跃高度 + Conditions: (_Player, Entity) => ['minecraft:horse', 'minecraft:skeleton_horse', 'minecraft:zombie_horse', 'minecraft:donkey', 'minecraft:mule', 'minecraft:llama', 'minecraft:trader_llama'].includes(Entity.type), + Text: (Player, _Entity, Cache) => '\n' + I18nAPI.get('plugins.Waila.entity.jump', [(Cache['EntityNbt'].getTag('Attributes').toArray().find(Attribute => Attribute.Name === 'minecraft:horse.jump_strength')['Current'] / 0.2724275).toFixed(1).toString()], Player.langCode) + }, + {// 村民职业 + Conditions: (_Player, Entity) => Entity.type === 'minecraft:villager_v2' && !Entity.isBaby, + Text: (Player, _Entity, Cache) => '\n' + I18nAPI.get('plugins.Waila.entity.village.profession', [I18nAPI.get(`entity.villager.${({ 'armorer': 'armor', 'weaponsmith': 'weapon', 'leatherworker': 'leather', 'toolsmith': 'tool', 'undefined': 'unskilled' })[Cache['EntityNbt'].getData('PreferredProfession')] ?? Cache['EntityNbt'].getData('PreferredProfession')}`, [], Player.langCode)], Player.langCode) + }, + {// 无敌时间 + Conditions: (_Player, _Entity, Cache) => Cache['EntityNbt'].getData('HurtTime') > 0, + Text: (Player, _Entity, Cache) => '\n' + I18nAPI.get('plugins.Waila.entity.Invincible_time', [(Cache['EntityNbt'].getData('HurtTime') / 20).toFixed(1).toString()], Player.langCode) + }, + {// 玩家游戏模式 + Conditions: (_Player, Entity) => Entity.isPlayer(), + Text: (Player, Entity) => '\n' + I18nAPI.get('plugins.Waila.entity.gamemode', [I18nAPI.get(`gameMode.${['survival', 'creative', 'adventure', null, null, null, 'spectator'][Entity.toPlayer().gameMode]}`, [], Player.langCode)], Player.langCode) + }, + {// 末影螨剩余存在时间 + Conditions: (_Player, Entity) => Entity.type === 'minecraft:endermite', + Text: (Player, _Entity, Cache) => '\n' + I18nAPI.get('plugins.Waila.entity.endermite.Lifetime', [((2400 - Cache['EntityNbt'].getData('Lifetime')) / 20).toFixed(1).toString()], Player.langCode) + }, + {// 山羊羊角数量 + Conditions: (_Player, Entity) => Entity.type === 'minecraft:goat', + Text: (Player, _Entity, Cache) => '\n' + I18nAPI.get('plugins.Waila.entity.goat.GoatHornCount', [Cache['EntityNbt'].getData('GoatHornCount').toString()], Player.langCode) + }, {// 村民 Conditions: (_Player, Entity, Cache) => Entity.type === 'minecraft:villager_v2' && Cache['EntityNbt']?.getTag('Offers')?.getTag('Recipes') != null, Text: (Player, _Entity, Cache) => { let /** @type {NbtList} */OffersNbts = Cache['EntityNbt'].getTag('Offers').getTag('Recipes'),/** @type {String[]} */ OffersTexts = []; for (let index = 0; index < OffersNbts.getSize(); index++) { const /** @type {NbtCompound} */OffersNbt = OffersNbts.getData(index); - if (Cache['EntityNbt'].getTag('Offers').getTag('TierExpRequirements').getData(OffersNbt.getData('tier')).getData(OffersNbt.getData('tier').toString()) > Cache['EntityNbt'].getData('Riches')) continue; + if (OffersNbt.getData('tier') > Cache['EntityNbt'].getData('TradeTier')) continue; const BuyItemA = mc.newItem(OffersNbt.getTag('buyA').getData('Name'), OffersNbt.getData('buyCountA')); OffersTexts[index] = I18nAPI.get('plugins.Waila.entity.village.offers.item1', [BuyItemA.getTranslateName(Player.langCode), BuyItemA.count.toString()], Player.langCode); if (OffersNbt.getTag('buyB')) { @@ -180,6 +248,7 @@ module.exports = { * BlockEntityNbt:NbtCompound|null, * BlockContainer:Container|null, * EntityNbt:NbtCompound|null + * BuffKeyID:String[] * },PlayerConfig): boolean | boolean} Conditions - 条件函数 * @property {(string | function(Player, Block|Entity, * { @@ -188,5 +257,6 @@ module.exports = { * BlockEntityNbt:NbtCompound|null, * BlockContainer:Container|null, * EntityNbt:NbtCompound|null + * BuffKeyID:String[] * },PlayerConfig): string)} Text - 文本内容 */ \ No newline at end of file diff --git a/Language/en-US.lang b/Language/en-US.lang index a5fc318..0bfd7bd 100644 --- a/Language/en-US.lang +++ b/Language/en-US.lang @@ -1,96 +1,118 @@ ## Command Translations -plugins.Waila.command.description=§bHighlight Settings §7- §dby Xiaoxiaozi Mu -plugins.Waila.command.translators.error=§cTarget block §a%s §calready has a translation→ §e%s +plugins.Waila.command.description=§bHighlight Display Settings §7- §dby Little Zimu +plugins.Waila.command.translators.error=§cTarget block §a%s §calready has a translation → §e%s plugins.Waila.command.translators.succes=§eTarget block §b%s §ehas been translated to §6%s plugins.Waila.command.language.error=§cLanguage §a%s §cdoes not exist -plugins.Waila.gui.title=§eHighlight Settings -plugins.Waila.gui.cancel=§8Settings canceled -plugins.Waila.gui.succes=§gSettings successful -plugins.Waila.gui.switch=§bHighlight Switch +plugins.Waila.gui.title=§eHighlight Display Settings +plugins.Waila.gui.cancel=§8Settings Cancelled +plugins.Waila.gui.succes=§gSettings Saved +plugins.Waila.gui.switch=§bToggle Highlight plugins.Waila.gui.dropdown=§aDisplay Mode plugins.Waila.gui.dropdown.items.bossbar=§1BOSS Bar -plugins.Waila.gui.dropdown.items.tell_popup=§2Jukebox Message -plugins.Waila.gui.dropdown.items.tell_tip=§3Above Item Bar +plugins.Waila.gui.dropdown.items.tell_popup=§2Chat Message +plugins.Waila.gui.dropdown.items.tell_tip=§3Above Inventory plugins.Waila.gui.dropdown.items.actionBar=§5Action Bar ## Configuration File Translations plugins.Waila.block.name=§6%s §7(%s) -plugins.Waila.block.hardness=Hardness §6%s -plugins.Waila.block.destroy=§l%s §r§7Can be destroyed?§r -plugins.Waila.block.cake.status=§3Cake Status:§c%s/7 -plugins.Waila.block.chest.size=§bCapacity:§a%s/%s -plugins.Waila.block.jukebox=§8Playing Record §c%s -plugins.Waila.block.beacon=§7Selected Effect:§5%s -plugins.Waila.block.noteblock=§cMusical Scale:§d%s -plugins.Waila.block.composter=§bCompost Level:§e%s/8 -plugins.Waila.block.mob_spawner=§dSpawning Mob:§a%s -plugins.Waila.block.commandblock.command=§dCommand:§a%s -plugins.Waila.block.flower_pot=§dPlanted Flower:§b%s -plugins.Waila.block.open_status.open=§eOpen Status:§6Open -plugins.Waila.block.open_status.close=§eOpen Status:§6Closed -plugins.Waila.block.pos=§7X:§g%s §7Y:§g%s §7Z:§g%s -plugins.Waila.block.Cropnum=§3Growth Level:§g%s -plugins.Waila.block.redstonelv=§cRedstone Level:§e%s +plugins.Waila.block.hardness=§7Hardness §6%s +plugins.Waila.block.destroy=§l%s §r§7Can be mined§r +plugins.Waila.block.cake.status=§3Cake Status: §c%s/7 +plugins.Waila.block.chest.size=§bCapacity: §a%s/%s §d%s/%s +plugins.Waila.block.jukebox=§8Playing Disc §c%s +plugins.Waila.block.beacon=§7Selected Effect: §5%s +plugins.Waila.block.noteblock=§cNote §6: §d%s +plugins.Waila.block.composter=§bCompost Level §a: §e%s/8 +plugins.Waila.block.mob_spawner=§dMob Spawner: §a%s +plugins.Waila.block.commandblock.command=§dCommand: §a%s +plugins.Waila.block.flower_pot=§dPlanted Flower §b: %s +plugins.Waila.block.open_status.open=§eOpen Status: §6Open +plugins.Waila.block.open_status.close=§eOpen Status: §6Closed +plugins.Waila.block.pos=§7X: §g%s §7Y: §g%s §7Z: §g%s +plugins.Waila.block.Cropnum=§3Growth Level: §g%s +plugins.Waila.block.RingingTime=§eSwing Time: §d%s +plugins.Waila.block.BrewingStand.cookTime=§dRemaining Brew Time: §a%s +plugins.Waila.block.BrewingStand.Fuel=§6Remaining Fuel: §b%s/%s +plugins.Waila.block.cauldron=§cPotion Effect: §d%s§6(%s) +plugins.Waila.block.powered_comparator=§dSignal Strength: §c%s +plugins.Waila.block.end_gateway=§cTeleport Coordinates: §d%s +plugins.Waila.block.furnace.StoredXPInt=§bStored Experience: §a%s +plugins.Waila.block.furnace.CookTime=§eBurning Progress Percentage: §c%s +plugins.Waila.block.furnace.Burn=§dRemaining Fuel: §b%s/%s +plugins.Waila.block.sign=§cLast Edited by: §6%s +plugins.Waila.block.redstonelv=§cRedstone Level: §e%s plugins.Waila.entity.name=§6%s §7(%s) -plugins.Waila.entity.pose=§dPose ID:§a%s -plugins.Waila.entity.painting=§aTheme:§6%s -plugins.Waila.entity.slime.size=§6Size:§3%s -plugins.Waila.entity.falling_block=§7Block:§9%s -plugins.Waila.entity.tnt=§dExplosion Time:§a%s(Tick) -plugins.Waila.entity.village.offers=§cTrade Information:\n +plugins.Waila.entity.pose=§dPose ID: §a%s +plugins.Waila.entity.painting=§aSubject: §6%s +plugins.Waila.entity.slime.size=§6Size: §3%s +plugins.Waila.entity.falling_block=§7Block: §9%s +plugins.Waila.entity.tnt=§dExplosion Time: §a%s (Tick) +plugins.Waila.entity.village.offers=§cTrading Information:\n plugins.Waila.entity.village.offers.item1= §d%s§r§a*§b%s plugins.Waila.entity.village.offers.item2= §g+ §d%s§r§a*§b%s plugins.Waila.entity.village.offers.item3= §6=> %s§r§a*§b%s plugins.Waila.entity.health=§l§c❤ §a%s/%s§r -plugins.Waila.entity.pos=§7X:§g%s §7Y:§g%s §7Z:§g%s +plugins.Waila.entity.breedcooldown=§eBreeding Cooldown: §c%s +plugins.Waila.entity.age=§6Maturity Time: §c%s +plugins.Waila.entity.jump=§dJump Height: §a%s blocks +plugins.Waila.entity.village.profession=§bVillager Profession §e%s +plugins.Waila.entity.Invincible_time=§dInvincible Time: §6%s +plugins.Waila.entity.gamemode=§eGame Mode §c%s +plugins.Waila.entity.endermite.Lifetime=§aLifetime: §6%s +plugins.Waila.entity.goat.GoatHornCount=§aHorn Count: §e%s +plugins.Waila.entity.pos=§7X: §g%s §7Y: §g%s §7Z: §g%s -## Completing Mojang's Untranslated Blocks or Entities -tile.daylight_detector_inverted.name=Inverted Daylight Detector -tile.melon_stem.name=Melon Stem -tile.wall_sign.name=Oak Wall Sign -tile.spruce_wall_sign.name=Spruce Wall Sign -tile.birch_wall_sign.name=Birch Wall Sign -tile.jungle_wall_sign.name=Jungle Wall Sign -tile.acacia_wall_sign.name=Acacia Wall Sign -tile.darkoak_wall_sign.name=Dark Oak Wall Sign -tile.mangrove_wall_sign.name=Mangrove Wall Sign -tile.cherry_wall_sign.name=Cherry Wall Sign -tile.bamboo_wall_sign.name=Bamboo Wall Sign -tile.warped_wall_sign.name=Warped Wall Sign -tile.oak_hanging_sign.name=Oak Hanging Sign -tile.spruce_hanging_sign.name=Spruce Hanging Sign -tile.birch_hanging_sign.name=Birch Hanging Sign -tile.jungle_hanging_sign.name=Jungle Hanging Sign -tile.acacia_hanging_sign.name=Acacia Hanging Sign -tile.dark_oak_hanging_sign.name=Dark Oak Hanging Sign -tile.mangrove_hanging_sign.name=Mangrove Hanging Sign -tile.cherry_hanging_sign.name=Cherry Hanging Sign -tile.bamboo_hanging_sign.name=Bamboo Hanging Sign -tile.warped_hanging_sign.name=Warped Hanging Sign -tile.lit_redstone_ore.name=Glowing Redstone Ore -tile.lit_deepslate_redstone_ore.name=Glowing Deepslate Redstone Ore -tile.torchflower_crop.name=Torchflower Seedling -tile.pitcher_crop.name=Pitcher Plant Pod -tile.unpowered_repeater.name=Redstone Repeater -tile.powered_repeater.name=Activated Redstone Repeater -tile.sticky_piston_arm_collision.name=Sticky Piston Arm -tile.piston_arm_collision.name=Piston Arm -tile.wooden_door.name=Oak Door -tile.spruce_door.name=Spruce Door -tile.birch_door.name=Birch Door -tile.jungle_door.name=Jungle Door -tile.acacia_door.name=Acacia Door -tile.dark_oak_door.name=Dark Oak Door -tile.mangrove_door.name=Mangrove Door -tile.cherry_door.name=Cherry Door -tile.bamboo_door.name=Bamboo Door -tile.iron_door.name=Iron Door -tile.crimson_door.name=Crimson Door -tile.warped_door.name=Warped Door -tile.lit_redstone_lamp.name=Glowing Redstone Lamp -tile.frame.name=Item Frame -tile.skull.name=Skull -tile.flower_pot.name=Flower Pot -tile.end_portal.name=End Portal -tile.end_gateway.name=End Gateway Block \ No newline at end of file +## Completing Blocks or Entities Not Translated by Mojang +tile.daylight_detector_inverted.name = Daylight Detector (Inverted) +tile.melon_stem.name = Melon Stem +tile.wall_sign.name = Oak Wall Sign +tile.spruce_wall_sign.name = Spruce Wall Sign +tile.birch_wall_sign.name = Birch Wall Sign +tile.jungle_wall_sign.name = Jungle Wall Sign +tile.acacia_wall_sign.name = Acacia Wall Sign +tile.darkoak_wall_sign.name = Dark Oak Wall Sign +tile.mangrove_wall_sign.name = Mangrove Wall Sign +tile.cherry_wall_sign.name = Cherry Wood Wall Sign +tile.bamboo_wall_sign.name = Bamboo Wall Sign +tile.warped_wall_sign.name = Warped Wood Wall Sign +tile.oak_hanging_sign.name = Oak Hanging Sign +tile.spruce_hanging_sign.name = Spruce Hanging Sign +tile.birch_hanging_sign.name = Birch Hanging Sign +tile.jungle_hanging_sign.name = Jungle Hanging Sign +tile.acacia_hanging_sign.name = Acacia Hanging Sign +tile.dark_oak_hanging_sign.name = Dark Oak Hanging Sign +tile.mangrove_hanging_sign.name = Mangrove Hanging Sign +tile.cherry_hanging_sign.name = Cherry Wood Hanging Sign +tile.bamboo_hanging_sign.name = Bamboo Hanging Sign +tile.warped_hanging_sign.name = Warped Wood Hanging Sign +tile.lit_redstone_ore.name = Glowing Redstone Ore +tile.lit_deepslate_redstone_ore.name = Glowing Deepslate Redstone Ore +tile.torchflower_crop.name = Torchflower Crop +tile.pitcher_crop.name = Pitcher Pod +tile.unpowered_repeater.name = Unpowered Redstone Repeater +tile.powered_repeater.name = Powered Redstone Repeater +tile.sticky_piston_arm_collision.name = Sticky Piston Arm Collision +tile.piston_arm_collision.name = Piston Arm Collision +tile.wooden_door.name = Oak Door +tile.spruce_door.name = Spruce Door +tile.birch_door.name = Birch Door +tile.jungle_door.name = Jungle Door +tile.acacia_door.name = Acacia Door +tile.dark_oak_door.name = Dark Oak Door +tile.mangrove_door.name = Mangrove Door +tile.cherry_door.name = Cherry Wood Door +tile.bamboo_door.name = Bamboo Door +tile.iron_door.name = Iron Door +tile.crimson_door.name = Crimson Door +tile.warped_door.name = Warped Door +tile.lit_redstone_lamp.name = Glowing Redstone Lamp +tile.frame.name = Item Frame +tile.skull.name = Skull +tile.flower_pot.name = Flower Pot +tile.end_portal.name = End Portal +tile.end_gateway.name = End Gateway Block +tile.wall_banner.name = Wall Banner +tile.unpowered_comparator.name = Unpowered Redstone Comparator +tile.powered_comparator.name = Powered Redstone Comparator +tile.lit_furnace.name = Lit Furnace diff --git a/Language/en_GB.lang b/Language/en_GB.lang index 31ee6a8..7e48172 100644 --- a/Language/en_GB.lang +++ b/Language/en_GB.lang @@ -1,63 +1,81 @@ ## Command Translations -plugins.Waila.command.description=§bHighlight Settings §7- §dby Xiaoxiaozi Mu -plugins.Waila.command.translators.error=§cTarget block §a%s §calready has a translation→ §e%s +plugins.Waila.command.description=§bHighlight Display Settings §7- §dby Tiny Zimu +plugins.Waila.command.translators.error=§cTarget block §a%s §calready has a translation → §e%s plugins.Waila.command.translators.succes=§eTarget block §b%s §ehas been translated to §6%s plugins.Waila.command.language.error=§cLanguage §a%s §cdoes not exist -plugins.Waila.gui.title=§eHighlight Settings -plugins.Waila.gui.cancel=§8Settings canceled -plugins.Waila.gui.succes=§gSettings successful -plugins.Waila.gui.switch=§bHighlight switch -plugins.Waila.gui.dropdown=§aDisplay mode -plugins.Waila.gui.dropdown.items.bossbar=§1BOSS bar -plugins.Waila.gui.dropdown.items.tell_popup=§2Jukebox message -plugins.Waila.gui.dropdown.items.tell_tip=§3Above the item bar -plugins.Waila.gui.dropdown.items.actionBar=§5Action bar +plugins.Waila.gui.title=§eHighlight Display Settings +plugins.Waila.gui.cancel=§8Settings Canceled +plugins.Waila.gui.succes=§gSettings Successful +plugins.Waila.gui.switch=§bHighlight Toggle +plugins.Waila.gui.dropdown=§aDisplay Mode +plugins.Waila.gui.dropdown.items.bossbar=§1BOSS Bar +plugins.Waila.gui.dropdown.items.tell_popup=§2Jukebox Message +plugins.Waila.gui.dropdown.items.tell_tip=§3Above Inventory +plugins.Waila.gui.dropdown.items.actionBar=§5Action Bar -## Configuration File Translations +## Config File Translations plugins.Waila.block.name=§6%s §7(%s) -plugins.Waila.block.hardness=Hardness §6%s -plugins.Waila.block.destroy=§l%s §r§7Can it be collected?§r -plugins.Waila.block.cake.status=§3Cake status: §c%s/7 -plugins.Waila.block.chest.size=§bCapacity: §a%s/%s -plugins.Waila.block.jukebox=§8Playing record §c%s -plugins.Waila.block.beacon=§7Select effect: §5%s -plugins.Waila.block.noteblock=§cMusical scale §6: §d%s -plugins.Waila.block.composter=§bCompost level §a: §e%s/8 -plugins.Waila.block.mob_spawner=§dSpawn monster: §a%s +plugins.Waila.block.hardness=§7Hardness §6%s +plugins.Waila.block.destroy=§l%s §r§7Can Be Mined §r +plugins.Waila.block.cake.status=§3Cake Status: §c%s/7 +plugins.Waila.block.chest.size=§bCapacity: §a%s/%s §d%s/%s +plugins.Waila.block.jukebox=§8Playing Record §c%s +plugins.Waila.block.beacon=§7Select Effect: §5%s +plugins.Waila.block.noteblock=§cOctave §6: §d%s +plugins.Waila.block.composter=§bCompost Level §a: §e%s/8 +plugins.Waila.block.mob_spawner=§dSpawns Mob: §a%s plugins.Waila.block.commandblock.command=§dCommand: §a%s -plugins.Waila.block.flower_pot=§dPlanted flower §b: %s -plugins.Waila.block.open_status.open=§eOpen status: §6Open -plugins.Waila.block.open_status.close=§eOpen status: §6Closed +plugins.Waila.block.flower_pot=§dPlanted Flower §b: %s +plugins.Waila.block.open_status.open=§eOpen Status: §6Open +plugins.Waila.block.open_status.close=§eOpen Status: §6Closed plugins.Waila.block.pos=§7X: §g%s §7Y: §g%s §7Z: §g%s -plugins.Waila.block.Cropnum=§3Growth level: §g%s -plugins.Waila.block.redstonelv=§cRedstone level: §e%s +plugins.Waila.block.Cropnum=§3Growth Level: §g%s +plugins.Waila.block.RingingTime=§eSwing Time: §d%s +plugins.Waila.block.BrewingStand.cookTime=§dRemaining Brewing Time: §a%s +plugins.Waila.block.BrewingStand.Fuel=§6Remaining Fuel: §b%s/%s +plugins.Waila.block.cauldron=§cPotion Effects: §d%s§6(%s) +plugins.Waila.block.powered_comparator=§dSignal Strength: §c%s +plugins.Waila.block.end_gateway=§cTeleport Coordinates: §d%s +plugins.Waila.block.furnace.StoredXPInt=§bStored XP: §a%s +plugins.Waila.block.furnace.CookTime=§eBurning Progress Percentage: §c%s +plugins.Waila.block.furnace.Burn=§dRemaining Fuel: §b%s/%s +plugins.Waila.block.sign=§cLast Edited By: §6%s +plugins.Waila.block.redstonelv=§cRedstone Level: §e%s plugins.Waila.entity.name=§6%s §7(%s) plugins.Waila.entity.pose=§dPose ID: §a%s plugins.Waila.entity.painting=§aTheme: §6%s plugins.Waila.entity.slime.size=§6Size: §3%s plugins.Waila.entity.falling_block=§7Block: §9%s -plugins.Waila.entity.tnt=§dExplosion time: §a%s (Tick) -plugins.Waila.entity.village.offers=§cTransaction information:\n -plugins.Waila.entity.village.offers.item1= §d%s§r§a*§b%s -plugins.Waila.entity.village.offers.item2= §g+ §d%s§r§a*§b%s -plugins.Waila.entity.village.offers.item3= §6=> %s§r§a*§b%s +plugins.Waila.entity.tnt=§dExplosion Time: §a%s(Tick) +plugins.Waila.entity.village.offers=§cTrade Information:\n +plugins.Waila.entity.village.offers.item1= §d%s§r§a*%b%s +plugins.Waila.entity.village.offers.item2= §g+ §d%s§r§a*%b%s +plugins.Waila.entity.village.offers.item3= §6=> %s§r§a*%b%s plugins.Waila.entity.health=§l§c❤ §a%s/%s§r +plugins.Waila.entity.breedcooldown=§eBreeding Cooldown: §c%s +plugins.Waila.entity.age=§6Adulthood Time: §c%s +plugins.Waila.entity.jump=§dJump Height: §a%s blocks +plugins.Waila.entity.village.profession=§bVillager Profession §e%s +plugins.Waila.entity.Invincible_time=§dInvincibility Time: §6%s +plugins.Waila.entity.gamemode=§eGame Mode §c%s +plugins.Waila.entity.endermite.Lifetime=§aLifetime: §6%s +plugins.Waila.entity.goat.GoatHornCount=§aHorn Count: §e%s plugins.Waila.entity.pos=§7X: §g%s §7Y: §g%s §7Z: §g%s -## Completing Blocks or Entities Not Translated by Mojang -tile.daylight_detector_inverted.name=Night Sensor -tile.melon_stem.name=Watermelon Stem -tile.wall_sign.name=Oak Sign -tile.spruce_wall_sign.name=Spruce Sign -tile.birch_wall_sign.name=Birch Sign -tile.jungle_wall_sign.name=Jungle Sign -tile.acacia_wall_sign.name=Acacia Sign -tile.darkoak_wall_sign.name=Dark Oak Sign -tile.mangrove_wall_sign.name=Mangrove Sign -tile.cherry_wall_sign.name=Cherry Sign -tile.bamboo_wall_sign.name=Bamboo Sign -tile.warped_wall_sign.name=Warped Sign +## Complement Mojang's untranslated blocks or entities +tile.daylight_detector_inverted.name=Inverted Daylight Detector +tile.melon_stem.name=Melon Stem +tile.wall_sign.name=Oak Wall Sign +tile.spruce_wall_sign.name=Spruce Wall Sign +tile.birch_wall_sign.name=Birch Wall Sign +tile.jungle_wall_sign.name=Jungle Wall Sign +tile.acacia_wall_sign.name=Acacia Wall Sign +tile.darkoak_wall_sign.name=Dark Oak Wall Sign +tile.mangrove_wall_sign.name=Mangrove Wall Sign +tile.cherry_wall_sign.name=Cherry Wood Wall Sign +tile.bamboo_wall_sign.name=Bamboo Wall Sign +tile.warped_wall_sign.name=Warped Wall Sign tile.oak_hanging_sign.name=Oak Hanging Sign tile.spruce_hanging_sign.name=Spruce Hanging Sign tile.birch_hanging_sign.name=Birch Hanging Sign @@ -65,23 +83,25 @@ tile.jungle_hanging_sign.name=Jungle Hanging Sign tile.acacia_hanging_sign.name=Acacia Hanging Sign tile.dark_oak_hanging_sign.name=Dark Oak Hanging Sign tile.mangrove_hanging_sign.name=Mangrove Hanging Sign -tile.cherry_hanging_sign.name=Cherry Hanging Sign +tile.cherry_hanging_sign.name=Cherry Wood Hanging Sign tile.bamboo_hanging_sign.name=Bamboo Hanging Sign tile.warped_hanging_sign.name=Warped Hanging Sign tile.lit_redstone_ore.name=Glowing Redstone Ore tile.lit_deepslate_redstone_ore.name=Glowing Deepslate Redstone Ore -tile.torchflower_crop.name=Torch Flower Seedling +tile.torchflower_crop.name=Torchflower Crop tile.pitcher_crop.name=Pitcher Plant Pod -tile.unpowered_repeater.name=Redstone Repeater -tile.powered_repeater.name=Activated Redstone Repeater +tile.unpowered_repeater.name=Unpowered Redstone Repeater +tile.powered_repeater.name=Powered Redstone Repeater +tile.sticky_piston_arm_collision.name=Sticky Piston Arm Collision +tile.piston_arm_collision.name=Piston Arm Collision tile.wooden_door.name=Oak Door tile.spruce_door.name=Spruce Door tile.birch_door.name=Birch Door tile.jungle_door.name=Jungle Door tile.acacia_door.name=Acacia Door tile.dark_oak_door.name=Dark Oak Door -tile.mangrove_door.name=Mangrove Door Dream -tile.cherry_door.name=Cherry Door +tile.mangrove_door.name=Mangrove Door +tile.cherry_door.name=Cherry Wood Door tile.bamboo_door.name=Bamboo Door tile.iron_door.name=Iron Door tile.crimson_door.name=Crimson Door @@ -91,4 +111,8 @@ tile.frame.name=Item Frame tile.skull.name=Skull tile.flower_pot.name=Flower Pot tile.end_portal.name=End Portal -tile.end_gateway.name=End Gateway Block \ No newline at end of file +tile.end_gateway.name=End Gateway Block +tile.wall_banner.name=Wall Banner +tile.unpowered_comparator.name=Unpowered Redstone Comparator +tile.powered_comparator.name=Powered Redstone Comparator +tile.lit_furnace.name=Lit Furnace diff --git a/Language/zh_CN.lang b/Language/zh_CN.lang index bf6cbcb..5ad6746 100644 --- a/Language/zh_CN.lang +++ b/Language/zh_CN.lang @@ -14,13 +14,11 @@ plugins.Waila.gui.dropdown.items.tell_tip=§3物品栏上方 plugins.Waila.gui.dropdown.items.actionBar=§5活动栏 ## 配置文件翻译 -plugins.Waila.get.error=§c获取实体或方块失败 - plugins.Waila.block.name=§6%s §7(%s) -plugins.Waila.block.destroytime=§7破坏时长 §6%ss +plugins.Waila.block.hardness=§7硬度 §6%s plugins.Waila.block.destroy=§l%s §r§7能否采集§r plugins.Waila.block.cake.status=§3蛋糕状态:§c%s/7 -plugins.Waila.block.chest.size=§b容量:§a%s/%s +plugins.Waila.block.chest.size=§b容量:§a%s/%s §d%s/%s plugins.Waila.block.jukebox=§8播放唱片 §c%s plugins.Waila.block.beacon=§7选择效果:§5%s plugins.Waila.block.noteblock=§c音阶§6:§d%s @@ -32,6 +30,16 @@ plugins.Waila.block.open_status.open=§e开启状态:§6开 plugins.Waila.block.open_status.close=§e开启状态:§6关 plugins.Waila.block.pos=§7X:§g%s §7Y:§g%s §7Z:§g%s plugins.Waila.block.Cropnum=§3成长程度:§g%s +plugins.Waila.block.RingingTime=§e摆动时间:§d%s +plugins.Waila.block.BrewingStand.cookTime=§d酿造剩余时间:§a%s +plugins.Waila.block.BrewingStand.Fuel=§6剩余燃料:§b%s/%s +plugins.Waila.block.cauldron=§c药水效果:§d%s§6(%s) +plugins.Waila.block.powered_comparator=§d信号强度:§c%s +plugins.Waila.block.end_gateway=§c传送坐标:§d%s +plugins.Waila.block.furnace.StoredXPInt=§b存储经验:§a%s +plugins.Waila.block.furnace.CookTime=§e燃烧进度百分比:§c%s +plugins.Waila.block.furnace.Burn=§d剩余燃料:§b%s/%s +plugins.Waila.block.sign=§c最后编辑玩家:§6%s plugins.Waila.block.redstonelv=§c红石等级:§e%s plugins.Waila.entity.name=§6%s §7(%s) @@ -45,54 +53,69 @@ plugins.Waila.entity.village.offers.item1= §d%s§r§a*§b%s plugins.Waila.entity.village.offers.item2= §g+ §d%s§r§a*§b%s plugins.Waila.entity.village.offers.item3= §6=> %s§r§a*§b%s plugins.Waila.entity.health=§l§c❤ §a%s/%s§r +plugins.Waila.entity.breedcooldown=§e繁殖冷却时间:§c%s +plugins.Waila.entity.age=§6成年时间:§c%s +plugins.Waila.entity.jump=§d跳跃高度:§a%s格 +plugins.Waila.entity.village.profession=§b村民职业 §e%s +plugins.Waila.entity.Invincible_time=§d无敌时间:§6%s +plugins.Waila.entity.gamemode=§e游戏模式 §c%s +plugins.Waila.entity.endermite.Lifetime=§a存在时间:§6%s +plugins.Waila.entity.goat.GoatHornCount=§a羊角数量:§e%s plugins.Waila.entity.pos=§7X:§g%s §7Y:§g%s §7Z:§g%s -## 补全Mojang没有翻译的方块或实体 -tile.daylight_detector_inverted.name=黑夜传感器 -tile.melon_stem.name=西瓜茎 +## 翻译修改 +entity.villager.unskilled=傻子 ## 村民职业 + +## 補全Mojang未翻譯的方块或實體 +tile.daylight_detector_inverted.name=黑夜傳感器 +tile.melon_stem.name=西瓜莖 tile.wall_sign.name=橡木告示牌 -tile.spruce_wall_sign.name=云杉木告示牌 -tile.birch_wall_sign.name=白桦木告示牌 -tile.jungle_wall_sign.name=丛林木告示牌 -tile.acacia_wall_sign.name=金合欢告示牌 +tile.spruce_wall_sign.name=雲杉木告示牌 +tile.birch_wall_sign.name=白樺木告示牌 +tile.jungle_wall_sign.name=叢林木告示牌 +tile.acacia_wall_sign.name=金合歡告示牌 tile.darkoak_wall_sign.name=深色橡木告示牌 -tile.mangrove_wall_sign.name=红树木告示牌 -tile.cherry_wall_sign.name=樱花木告示牌 -tile.bamboo_wall_sign.name=竹制告示牌 -tile.warped_wall_sign.name=诡异木告示牌 -tile.oak_hanging_sign.name=橡木悬挂告示牌 -tile.spruce_hanging_sign.name=云杉木悬挂告示牌 -tile.birch_hanging_sign.name=白桦木悬式告示牌 -tile.jungle_hanging_sign.name=丛林悬挂告示牌 -tile.acacia_hanging_sign.name=金合欢悬挂告示牌 -tile.dark_oak_hanging_sign.name=深色橡木悬挂告示牌 -tile.mangrove_hanging_sign.name=红树木悬挂告示牌 -tile.cherry_hanging_sign.name=樱花木悬挂告示牌 -tile.bamboo_hanging_sign.name=竹制悬挂告示牌 -tile.warped_hanging_sign.name=翘曲悬挂告示牌 -tile.lit_redstone_ore.name=发光的红石矿石 -tile.lit_deepslate_redstone_ore.name=发光的深层红石矿石 +tile.mangrove_wall_sign.name=紅樹木告示牌 +tile.cherry_wall_sign.name=櫻花木告示牌 +tile.bamboo_wall_sign.name=竹製告示牌 +tile.warped_wall_sign.name=詭異木告示牌 +tile.oak_hanging_sign.name=橡木懸掛告示牌 +tile.spruce_hanging_sign.name=雲杉木懸掛告示牌 +tile.birch_hanging_sign.name=白樺木懸式告示牌 +tile.jungle_hanging_sign.name=叢林懸掛告示牌 +tile.acacia_hanging_sign.name=金合歡懸掛告示牌 +tile.dark_oak_hanging_sign.name=深色橡木懸掛告示牌 +tile.mangrove_hanging_sign.name=紅樹木懸掛告示牌 +tile.cherry_hanging_sign.name=櫻花木懸掛告示牌 +tile.bamboo_hanging_sign.name=竹製懸掛告示牌 +tile.warped_hanging_sign.name=翹曲懸掛告示牌 +tile.lit_redstone_ore.name=發光的紅石礦石 +tile.lit_deepslate_redstone_ore.name=發光的深層紅石礦石 tile.torchflower_crop.name=火把花幼苗 tile.pitcher_crop.name=猪笼草荚果 -tile.unpowered_repeater.name=红石中继器 -tile.powered_repeater.name=激活的红石中继器 +tile.unpowered_repeater.name=紅石中继器 +tile.powered_repeater.name=激活的紅石中继器 tile.sticky_piston_arm_collision.name=粘性活塞的爪爪 tile.piston_arm_collision.name=活塞的爪爪 -tile.wooden_door.name=橡木门 -tile.spruce_door.name=云杉木门 -tile.birch_door.name=白桦木门 -tile.jungle_door.name=丛林木门 -tile.acacia_door.name=金合欢木门 -tile.dark_oak_door.name=深色橡木门 -tile.mangrove_door.name=红树木梦 -tile.cherry_door.name=樱花木门 -tile.bamboo_door.name=竹门 -tile.iron_door.name=铁门 -tile.crimson_door.name=绯红木门 -tile.warped_door.name=诡异门 -tile.lit_redstone_lamp.name=发光的红石灯 +tile.wooden_door.name=橡木門 +tile.spruce_door.name=雲杉木門 +tile.birch_door.name=白樺木門 +tile.jungle_door.name=叢林木門 +tile.acacia_door.name=金合歡木門 +tile.dark_oak_door.name=深色橡木門 +tile.mangrove_door.name=紅樹木門 +tile.cherry_door.name=櫻花木門 +tile.bamboo_door.name=竹門 +tile.iron_door.name=鐵門 +tile.crimson_door.name=緋紅木門 +tile.warped_door.name=詭異門 +tile.lit_redstone_lamp.name=發光的紅石燈 tile.frame.name=物品展示框 -tile.skull.name=头颅 +tile.skull.name=頭顱 tile.flower_pot.name=花盆 -tile.end_portal.name=末地传送门 -tile.end_gateway.name=末地折跃门方块 +tile.end_portal.name=末地傳送門 +tile.end_gateway.name=末地折躍門方塊 +tile.wall_banner.name=災厄旗幟 +tile.unpowered_comparator.name=紅石比較器 +tile.powered_comparator.name=激活的紅石比較器 +tile.lit_furnace.name=燃燒的熔爐 diff --git a/Language/zh_TW.lang b/Language/zh_TW.lang index 2419bb5..a5c0eab 100644 --- a/Language/zh_TW.lang +++ b/Language/zh_TW.lang @@ -1,4 +1,4 @@ -## 命令翻译 +## 命令翻譯 plugins.Waila.command.description=§b高亮顯示設置 §7- §dby 小小的子沐呀 plugins.Waila.command.translators.error=§c目標方塊 §a%s §c已有翻譯→ §e%s plugins.Waila.command.translators.succes=§e目標方塊 §b%s §e已翻譯成 §6%s @@ -9,16 +9,16 @@ plugins.Waila.gui.succes=§g設置成功 plugins.Waila.gui.switch=§b高亮顯示開關 plugins.Waila.gui.dropdown=§a顯示模式 plugins.Waila.gui.dropdown.items.bossbar=§1BOSS欄 -plugins.Waila.gui.dropdown.items.tell_popup=§2音樂盒消息 +plugins.Waila.gui.dropdown.items.tell_popup=§2音樂盒訊息 plugins.Waila.gui.dropdown.items.tell_tip=§3物品欄上方 plugins.Waila.gui.dropdown.items.actionBar=§5活動欄 -## 配置文件翻译 +## 配置檔翻譯 plugins.Waila.block.name=§6%s §7(%s) -plugins.Waila.block.hardness=硬度 §6%s +plugins.Waila.block.hardness=§7硬度 §6%s plugins.Waila.block.destroy=§l%s §r§7能否採集§r plugins.Waila.block.cake.status=§3蛋糕狀態:§c%s/7 -plugins.Waila.block.chest.size=§b容量:§a%s/%s +plugins.Waila.block.chest.size=§b容量:§a%s/%s §d%s/%s plugins.Waila.block.jukebox=§8播放唱片 §c%s plugins.Waila.block.beacon=§7選擇效果:§5%s plugins.Waila.block.noteblock=§c音階§6:§d%s @@ -30,6 +30,16 @@ plugins.Waila.block.open_status.open=§e開啟狀態:§6開 plugins.Waila.block.open_status.close=§e開啟狀態:§6關 plugins.Waila.block.pos=§7X:§g%s §7Y:§g%s §7Z:§g%s plugins.Waila.block.Cropnum=§3成長程度:§g%s +plugins.Waila.block.RingingTime=§e擺動時間:§d%s +plugins.Waila.block.BrewingStand.cookTime=§d釀造剩餘時間:§a%s +plugins.Waila.block.BrewingStand.Fuel=§6剩餘燃料:§b%s/%s +plugins.Waila.block.cauldron=§c藥水效果:§d%s§6(%s) +plugins.Waila.block.powered_comparator=§d信號強度:§c%s +plugins.Waila.block.end_gateway=§c傳送座標:§d%s +plugins.Waila.block.furnace.StoredXPInt=§b存儲經驗:§a%s +plugins.Waila.block.furnace.CookTime=§e燃燒進度百分比:§c%s +plugins.Waila.block.furnace.Burn=§d剩餘燃料:§b%s/%s +plugins.Waila.block.sign=§c最後編輯玩家:§6%s plugins.Waila.block.redstonelv=§c紅石等級:§e%s plugins.Waila.entity.name=§6%s §7(%s) @@ -43,8 +53,19 @@ plugins.Waila.entity.village.offers.item1= §d%s§r§a*§b%s plugins.Waila.entity.village.offers.item2= §g+ §d%s§r§a*§b%s plugins.Waila.entity.village.offers.item3= §6=> %s§r§a*§b%s plugins.Waila.entity.health=§l§c❤ §a%s/%s§r +plugins.Waila.entity.breedcooldown=§e繁殖冷卻時間:§c%s +plugins.Waila.entity.age=§6成年時間:§c%s +plugins.Waila.entity.jump=§d跳躍高度:§a%s格 +plugins.Waila.entity.village.profession=§b村民職業 §e%s +plugins.Waila.entity.Invincible_time=§d無敵時間:§6%s +plugins.Waila.entity.gamemode=§e遊戲模式 §c%s +plugins.Waila.entity.endermite.Lifetime=§a存在時間:§6%s +plugins.Waila.entity.goat.GoatHornCount=§a羊角數量:§e%s plugins.Waila.entity.pos=§7X:§g%s §7Y:§g%s §7Z:§g%s +## 翻譯修改 +entity.villager.unskilled=傻子 ## 村民職業 + ## 補全Mojang沒有翻譯的方塊或實體 tile.daylight_detector_inverted.name=黑夜感測器 tile.melon_stem.name=西瓜莖 @@ -92,3 +113,7 @@ tile.skull.name=頭顱 tile.flower_pot.name=花盆 tile.end_portal.name=末地傳送門 tile.end_gateway.name=末地折躍門方塊 +tile.wall_banner.name=災厄旗幟 +tile.unpowered_comparator.name=紅石比較器 +tile.powered_comparator.name=激活的紅石比較器 +tile.lit_furnace.name=燃燒的熔爐 diff --git a/README.md b/README.md index 4714a5e..b2fe19d 100644 --- a/README.md +++ b/README.md @@ -3,31 +3,44 @@ ## 简单介绍 Waila 是一个 LSE 高亮显示插件,他集成了许多原版信息的具体化显示,可以更好的方便玩家对方块或生物的信息进行查看 +> 默认自带 43 种信息属性显示 ## 图骗展示
展开 - 基础演示 - 破坏时长和采集演示 - 蛋糕状态 - 箱子容量 - 农作物状态 - 红石等级 - 开关状态 - 播放唱片 - 花盆种植 - 命令方块的命令 - 刷怪笼刷新生物 - 信标效果 - 盔甲架姿势 - 画的主题 - 史莱姆大小 - 下落方块的实际方块 - TNT剩余爆炸时间 - 村民交易 - 音符盒 - 堆肥桶 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
## 如何正确加载 Waila @@ -36,7 +49,7 @@ Waila 是一个 LSE 高亮显示插件,他集成了许多原版信息的具体 需要在 Bedrock Dedicated Server(BDS)服务端下装载前置: -- LeviLamina +- LeviLamina`>=0.12.x` - legacy-script-engine-quickjs`≥0.7.9` - GMLIB`≥0.12.8` - GMLIB-LegacyRemoteCallApi`≥v0.12.8` @@ -44,37 +57,58 @@ Waila 是一个 LSE 高亮显示插件,他集成了许多原版信息的具体 ### 如何装载 - 第一种:下载释放文件,解压插件文件夹至 BDS 服务端 plugins 文件夹内,并加载 -- 第二种:使用 Lip 安装,输入命令 lip install github.com/zimuya4153/LSE_Waila +- 第二种:使用 Lip 安装,输入命令 `lip install github.com/zimuya4153/LSE_Waila` ## 使用方法 游戏内玩家可输入/waila 来设置自己的 Waila 开关及样式 ![表单](https://github.com/zimuya4153/LSE_Waila/blob/main/image/form.png?raw=true) -ps:如果装了我们的 [UI 包](https://wwm.lanzouq.com/iSMiT20o39ze "点击前往下载链接"),那活动栏将是一个非常好的选择 - -## 语言文件[zh_CN.lang](https://github.com/zimuya4153/LSE_Waila/blob/main/Language/zh_CN.lang) - -> 如果遇到原版未翻译的或者你有自己的个性都可以去访问这个文件 -> 切记如果你没有基础请按照规律来修改,修改错误可能导致你无法使用 Waila +PS:如果装了我们的 [UI 包](https://wwm.lanzouq.com/iSMiT20o39ze "点击前往下载链接"),那活动栏将是一个非常好的选择 +`温馨提示:"UI 包"是可以被点击的超链接` # 特别操作 ## 有些方块没有翻译怎么办? - 不慌,输入指令/waila 语言 翻译的文本 -- 你可能好奇?语言填啥?可以填 zh_CN(中文简体),zh_TW(中文繁體),en_US(English (United States)),en_GB(English (United Kingdom))…… +- 你可能好奇?语言填啥?可以填以下内容 + +| .lang 文件名称 | 语言名称 | +| -------------- | -------------- | +| id_ID | 印度尼西亚语 | +| da_DK | 丹麦语 | +| de_DE | 德语 | +| en_GB | 英语,英国 | +| en_US | 英语,美国 | +| es_ES | 西班牙语 | +| es_MX | 墨西哥西班牙语 | +| fr_CA | 加拿大法语 | +| fr_FR | 法语 | +| it_IT | 意大利语 | +| hu_HU | 匈牙利语 | +| nl_NL | 荷兰语 | +| nb_NO | 博克马尔语 | +| pl_PL | 波兰语 | +| pt_BR | 巴西葡萄牙语 | +| pt_PT | 葡萄牙语 | +| sk_SK | 斯洛伐克语 | +| fi_FI | 芬兰语 | +| sv_SE | 瑞典语 | +| tr_TR | 土耳其语 | +| cs_CZ | 捷克语 | +| el_GR | 希腊语 | +| bg_BG | 保加利亚语 | +| ru_RU | 俄语 | +| uk_UA | 乌克兰语 | +| ja_JP | 日语 | +| zh_CN | 中文(简体) | +| zh_TW | 中文(繁体) | +| ko_KR | 韩语 | 这里是 WuHuiZhang6902(合作者),教你点东西,看到 Config.js 文件没,如果你觉着名称后面的英文 id 显示太长,你可以将以下代码替换第 19 行,那么这 type 就变成短短的整数 id 了 ```javascript -Text: (Player, PlayerConfig, Block) => I18nAPI.get('plugins.Waila.block.name', [Block.getTranslateName(Player.langCode), Block.id.toString()], Player.langCode) -``` - -什么,你还要再学点小操作? -如果你不想让他在不瞄准任何东西情况下提示文字,那么你只需要将下面代码替换 Config.js 文件的 `158` 行 - -```javascript -DefaultText: "", +Text: (Player, Block) => I18nAPI.get('plugins.Waila.block.name', [Block.getTranslateName(Player.langCode), Block.id.toString()], Player.langCode) ``` ## 配置文件介绍 @@ -118,7 +152,7 @@ module.exports = { Percent: 100, }, /** 默认文本 @type {String} */ - DefaultText: "\n\n&plugins.Waila.get.error&", + DefaultText: "", /** 刷新时间(秒) @type {Number} */ Hz: 0.1, /** 查找最大距离 @type {Number} */ diff --git a/Waila.js b/Waila.js index 63322ce..ad72024 100644 --- a/Waila.js +++ b/Waila.js @@ -19,6 +19,7 @@ * BlockEntityNbt:NbtCompound|null, * BlockContainer:Container|null, * EntityNbt:NbtCompound|null + * BuffKeyID:String[] * },PlayerConfig): boolean | boolean} Conditions - 条件函数 * @property {(string | function(Player, Block|Entity, * { @@ -27,6 +28,7 @@ * BlockEntityNbt:NbtCompound|null, * BlockContainer:Container|null, * EntityNbt:NbtCompound|null + * BuffKeyID:String[] * },PlayerConfig): string)} Text - 文本内容 */ @@ -69,30 +71,31 @@ setInterval(() => { text += Config.DefaultText.replace(/&(.*)&/g, (_, key) => I18nAPI.get(key, [], Player.langCode)); } else { let TempCache = { - 'HandItem':Player.getHand(), + 'HandItem': Player.getHand(), 'BlockNbt': ViewBlock ? ViewBlock.getNbt() : null, 'BlockEntityNbt': ViewBlock.hasBlockEntity() ? ViewBlock.getBlockEntity().getNbt() : null, 'BlockContainer': ViewBlock.hasContainer() ? ViewBlock.getContainer() : null, 'EntityNbt': ViewEntity ? ViewEntity.getNbt() : null, + 'BuffKeyID': [null, 'moveSpeed', 'moveSlowdown', 'digSpeed', 'digSlowDown', 'damageBoost', 'heal', 'harm', 'jump', 'confusion', 'regeneration', 'resistance', 'fireResistance', 'waterBreathing', 'invisibility', 'blindness', 'nightVision', 'hunger', 'weakness', 'poison', 'wither', 'healthBoost', 'absorption', 'saturation', 'levitation', 'poison', 'conduitPower', 'slowFalling'], } - const EvalGetText = - /** - * @param {ConfigItem} Items - * @returns {String} - */ - Items => { - try { - if (typeof (Items.Conditions) === 'function' ? Items.Conditions(Player, ViewEntity ?? ViewBlock, TempCache, PlayerConfig) : Items.Conditions) { - return typeof (Items.Text) === 'string' ? Items.Text : Items.Text(Player, ViewEntity ?? ViewBlock, TempCache, PlayerConfig); + const EvalGetText = + /** + * @param {ConfigItem} Items + * @returns {String} + */ + Items => { + try { + if (typeof (Items.Conditions) === 'function' ? Items.Conditions(Player, ViewEntity ?? ViewBlock, TempCache, PlayerConfig) : Items.Conditions) { + return typeof (Items.Text) === 'string' ? Items.Text : Items.Text(Player, ViewEntity ?? ViewBlock, TempCache, PlayerConfig); + } + } catch (error) { + const ErrorText = `报错:${error.message}\n文本条件:${Items.Conditions.toString()}\n文本结果:${Items.Text.toString()}\n堆栈:\n${error.stack}` + if (ErrorList.includes(ErrorText)) return; + ErrorList.push(ErrorText); + logger.error(ErrorText); } - } catch (error) { - const ErrorText = `报错:${error.message}\n文本条件:${Items.Conditions.toString()}\n文本结果:${Items.Text.toString()}\n堆栈:\n${error.stack}` - if(ErrorList.includes(ErrorText))return; - ErrorList.push(ErrorText); - logger.error(ErrorText); - } - return ''; - }; + return ''; + }; text += Config.AllBefore.map(EvalGetText).join(''); if (ViewEntity && (!ViewBlock || Player.distanceTo(ViewEntity) <= Player.distanceTo(ViewBlock.pos))) text += Config.Entity.map(EvalGetText).join(''); diff --git a/image/image_1.png b/image/image_1.png index 2a4cbad..08fc949 100644 Binary files a/image/image_1.png and b/image/image_1.png differ diff --git a/image/image_10.png b/image/image_10.png index e9ae25d..354cf40 100644 Binary files a/image/image_10.png and b/image/image_10.png differ diff --git a/image/image_11.png b/image/image_11.png index d126f97..c37d558 100644 Binary files a/image/image_11.png and b/image/image_11.png differ diff --git a/image/image_12.png b/image/image_12.png index 2cdba03..d480b0d 100644 Binary files a/image/image_12.png and b/image/image_12.png differ diff --git a/image/image_13.png b/image/image_13.png index c9c7a49..17573cc 100644 Binary files a/image/image_13.png and b/image/image_13.png differ diff --git a/image/image_14.png b/image/image_14.png index 7d36570..111c71f 100644 Binary files a/image/image_14.png and b/image/image_14.png differ diff --git a/image/image_15.png b/image/image_15.png index 0038263..1464308 100644 Binary files a/image/image_15.png and b/image/image_15.png differ diff --git a/image/image_16.png b/image/image_16.png index 4d8e3e4..53f793f 100644 Binary files a/image/image_16.png and b/image/image_16.png differ diff --git a/image/image_17.png b/image/image_17.png index cfcdf06..4a00c70 100644 Binary files a/image/image_17.png and b/image/image_17.png differ diff --git a/image/image_18.png b/image/image_18.png index b1e64c5..e8c3e92 100644 Binary files a/image/image_18.png and b/image/image_18.png differ diff --git a/image/image_19.png b/image/image_19.png index d294cfc..fe069d9 100644 Binary files a/image/image_19.png and b/image/image_19.png differ diff --git a/image/image_2.png b/image/image_2.png index f460d02..c0075bb 100644 Binary files a/image/image_2.png and b/image/image_2.png differ diff --git a/image/image_20.png b/image/image_20.png index eb7c564..72f854f 100644 Binary files a/image/image_20.png and b/image/image_20.png differ diff --git a/image/image_21.png b/image/image_21.png new file mode 100644 index 0000000..d07c487 Binary files /dev/null and b/image/image_21.png differ diff --git a/image/image_22.png b/image/image_22.png new file mode 100644 index 0000000..c69d6cb Binary files /dev/null and b/image/image_22.png differ diff --git a/image/image_23.png b/image/image_23.png new file mode 100644 index 0000000..3c034e6 Binary files /dev/null and b/image/image_23.png differ diff --git a/image/image_24.png b/image/image_24.png new file mode 100644 index 0000000..2bd2b21 Binary files /dev/null and b/image/image_24.png differ diff --git a/image/image_25.png b/image/image_25.png new file mode 100644 index 0000000..b614046 Binary files /dev/null and b/image/image_25.png differ diff --git a/image/image_26.png b/image/image_26.png new file mode 100644 index 0000000..0907f80 Binary files /dev/null and b/image/image_26.png differ diff --git a/image/image_27.png b/image/image_27.png new file mode 100644 index 0000000..f79ea8c Binary files /dev/null and b/image/image_27.png differ diff --git a/image/image_28.png b/image/image_28.png new file mode 100644 index 0000000..b82a128 Binary files /dev/null and b/image/image_28.png differ diff --git a/image/image_29.png b/image/image_29.png new file mode 100644 index 0000000..c187834 Binary files /dev/null and b/image/image_29.png differ diff --git a/image/image_3.png b/image/image_3.png index b3fa31f..13a8493 100644 Binary files a/image/image_3.png and b/image/image_3.png differ diff --git a/image/image_30.png b/image/image_30.png new file mode 100644 index 0000000..1f50506 Binary files /dev/null and b/image/image_30.png differ diff --git a/image/image_31.png b/image/image_31.png new file mode 100644 index 0000000..792e675 Binary files /dev/null and b/image/image_31.png differ diff --git a/image/image_32.png b/image/image_32.png new file mode 100644 index 0000000..a616ad9 Binary files /dev/null and b/image/image_32.png differ diff --git a/image/image_4.png b/image/image_4.png index 1575bdf..61d5337 100644 Binary files a/image/image_4.png and b/image/image_4.png differ diff --git a/image/image_5.png b/image/image_5.png index 712fd4f..a406352 100644 Binary files a/image/image_5.png and b/image/image_5.png differ diff --git a/image/image_6.png b/image/image_6.png index a36ab58..e0d2551 100644 Binary files a/image/image_6.png and b/image/image_6.png differ diff --git a/image/image_7.png b/image/image_7.png index 8805b1c..a7d18c1 100644 Binary files a/image/image_7.png and b/image/image_7.png differ diff --git a/image/image_8.png b/image/image_8.png index 473cc23..eaf1664 100644 Binary files a/image/image_8.png and b/image/image_8.png differ diff --git a/image/image_9.png b/image/image_9.png index 4457022..9ff83ff 100644 Binary files a/image/image_9.png and b/image/image_9.png differ diff --git a/manifest.json b/manifest.json index a72f7df..94de03b 100644 --- a/manifest.json +++ b/manifest.json @@ -4,7 +4,7 @@ "type": "lse-quickjs", "description":"普普通通的搞高亮显示", "author":"小小的子沐呀", - "version":"1.2.0", + "version":"1.3.0", "dependencies": [ { "name": "legacy-script-engine-quickjs", diff --git a/tooth.json b/tooth.json index a24750c..ce5604d 100644 --- a/tooth.json +++ b/tooth.json @@ -1,7 +1,7 @@ { "format_version": 2, "tooth": "github.com/zimuya4153/LSE_Waila", - "version": "1.2.0", + "version": "1.3.0", "info": { "name": "LSE_Waila", "description": "普普通通的高亮显示~", @@ -15,7 +15,7 @@ "legacyscriptengine" ] }, - "asset_url": "https://github.com/zimuya4153/LSE_Waila/releases/download/v1.2.0/LSE_Waila-1.2.0.zip", + "asset_url": "https://github.com/zimuya4153/LSE_Waila/releases/download/v1.3.0/LSE_Waila-1.3.0.zip", "dependencies": { "github.com/LiteLDev/LeviLamina": ">=0.12.x", "gitea.litebds.com/LiteLDev/legacy-script-engine-quickjs": ">=0.7.9",