feat: add damage cause

This commit is contained in:
Tsubasa6848
2024-02-16 18:57:47 +08:00
Unverified
parent 94d4384e75
commit 264edaff6a
3 changed files with 269 additions and 252 deletions
+29 -10
View File
@@ -1,32 +1,51 @@
#include "Global.h" #include "Global.h"
void RegisterDamageDefinition() { void RegisterDamageDefinition() {
// GMLIB::Mod::DamageCause::registerDamageCause() GMLIB::Mod::DamageCause::setCustomDamageCauseEnabled();
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::Anvil, "anvil");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::EntityAttack, "mob");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::Drowning, "drown");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::FallingBlock, "fallingBlock");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::Fire, "inFire");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::FireTick, "onFire");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::Fireworks, "fireworks");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::FlyIntoWall, "flyIntoWall");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::Freezing, "freeze");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::Lava, "lava");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::Lightning, "lightningBolt");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::Wither, "wither");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::Magic, "indirectMagic");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::Magma, "hotFloor");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::Stalactite, "stalactite");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::Stalagmite, "stalagmite");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::Starve, "starve");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::Suffocation, "inWall");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::SonicBoom, "sonicBoom");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::Void, "outOfWorld");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::SelfDestruct, "genericKill");
GMLIB::Mod::DamageCause::setVanillaCauseMessage(ActorDamageCause::Projectile, "thrown");
} }
void ListenEvents() { void ListenEvents() {
auto& eventBus = ll::event::EventBus::getInstance(); auto& eventBus = ll::event::EventBus::getInstance();
if (ConfigData::mJoinMessage) { if (ConfigData::mJoinMessage) {
eventBus.emplaceListener<ll::event::player::PlayerConnectEvent>([](ll::event::player::PlayerConnectEvent& ev) { eventBus.emplaceListener<ll::event::player::PlayerConnectEvent>([](ll::event::player::PlayerConnectEvent& ev) {
infoLogger.info( infoLogger.info(fmt::format(fg(fmt::color::yellow), tr("multiplayer.player.joined", {ev.self().getName()}))
"{}",
fmt::format(fg(fmt::color::yellow), tr("multiplayer.player.joined", {ev.self().getName()}))
); );
}); });
} }
if (ConfigData::mLeftMessage) { if (ConfigData::mLeftMessage) {
eventBus.emplaceListener<ll::event::player::PlayerLeaveEvent>([](ll::event::player::PlayerLeaveEvent& ev) { eventBus.emplaceListener<ll::event::player::PlayerLeaveEvent>([](ll::event::player::PlayerLeaveEvent& ev) {
infoLogger.info( infoLogger.info(fmt::format(fg(fmt::color::yellow), tr("multiplayer.player.left", {ev.self().getName()})));
"{}",
fmt::format(fg(fmt::color::yellow), tr("multiplayer.player.left", {ev.self().getName()}))
);
}); });
} }
if (ConfigData::mDeathMessage) { if (ConfigData::mDeathMessage) {
eventBus.emplaceListener<GMLIB::Event::EntityEvent::DeathMessageAfterEvent>( eventBus.emplaceListener<GMLIB::Event::EntityEvent::DeathMessageAfterEvent>(
[](GMLIB::Event::EntityEvent::DeathMessageAfterEvent& ev) { [](GMLIB::Event::EntityEvent::DeathMessageAfterEvent& ev) {
auto msg = ev.getDeathMessage(); auto msg = ev.getDeathMessage();
deathLogger.info(tr(msg.first, msg.second)); auto info = tr(msg.first, msg.second);
deathLogger.info(info);
ev.setDeathMessage({info, msg.second});
} }
); );
} }
+239 -241
View File
@@ -140,250 +140,248 @@ entity.chest_raft.name=Raft with Chest
)"; )";
std::string zh_CN = R"( std::string zh_CN = R"(
death.attack.anvil=%1$s被坠落的铁砧压扁了 # death.attack.anvil=%1$s被坠落的铁砧压扁了
death.attack.anvil.player=%1$sz在与%2$s战斗时被坠落的铁砧压扁了 # death.attack.anvil.player=%1$sz在与%2$s战斗时被坠落的铁砧压扁了
death.attack.anvil.item=%1$s在与持有%3$s的%2$s战斗时被坠落的铁砧压扁了 # death.attack.anvil.item=%1$s在与持有%3$s的%2$s战斗时被坠落的铁砧压扁了
death.attack.arrow=%1$s被%2$s射杀 # death.attack.arrow=%1$s被%2$s射杀
death.attack.arrow.item=%1$s被%2$s用%3$s射杀 # death.attack.arrow.item=%1$s被%2$s用%3$s射杀
death.attack.bullet=%1$s被%2$s狙击了 # death.attack.bullet=%1$s被%2$s狙击了
death.attack.cactus=%1$s被戳死了 # death.attack.cactus=%1$s被戳死了
death.attack.cactus.player=%1$s在试图逃离%2$s时撞上了仙人掌 # death.attack.cactus.player=%1$s在试图逃离%2$s时撞上了仙人掌
death.attack.cactus.item=%1$s在试图逃离持有%3$s的%2$s时撞上了仙人掌 # death.attack.cactus.item=%1$s在试图逃离持有%3$s的%2$s时撞上了仙人掌
death.attack.drown=%1$s淹死了 # death.attack.drown=%1$s淹死了
death.attack.drown.player=%1$s在试图逃离%2$s时淹死了 # death.attack.drown.player=%1$s在试图逃离%2$s时淹死了
death.attack.drown.item=%1$s在试图逃离持有%3$s的%2$s时淹死了 # death.attack.drown.item=%1$s在试图逃离持有%3$s的%2$s时淹死了
death.attack.explosion=%1$s爆炸了 # death.attack.explosion=%1$s爆炸了
death.attack.explosion.player=%1$s被%2$s炸死了 # death.attack.explosion.player=%1$s被%2$s炸死了
death.attack.explosion.item=%1$s被%2$s使用%3$s炸死了 # death.attack.explosion.item=%1$s被%2$s使用%3$s炸死了
death.attack.badRespawnPoint.message=%1$s被[] # death.attack.badRespawnPoint.message=%1$s被[]
death.attack.fall=%1$s落地过猛 # death.attack.fall=%1$s落地过猛
death.attack.fall.player=%1$s在试图逃离%2$s时落地过猛 # death.attack.fall.player=%1$s在试图逃离%2$s时落地过猛
death.attack.fall.item=%1$s在试图逃离持有%3$s的%2$s时落地过猛 # death.attack.fall.item=%1$s在试图逃离持有%3$s的%2$s时落地过猛
death.attack.fallingBlock=%1$s被坠落的方块压扁了 # death.attack.fallingBlock=%1$s被坠落的方块压扁了
death.attack.fallingBlock.player=%1$sz在与%2$s战斗时被坠落的方块压扁了 # death.attack.fallingBlock.player=%1$sz在与%2$s战斗时被坠落的方块压扁了
death.attack.fallingBlock.item=%1$s在与持有%3$s的%2$s战斗时被坠落的方块压扁了 # death.attack.fallingBlock.item=%1$s在与持有%3$s的%2$s战斗时被坠落的方块压扁了
death.attack.fireball=%1$s被%2$s用火球烧死了 # death.attack.fireball=%1$s被%2$s用火球烧死了
death.attack.fireball.item=%1$s被%2$s用%3$s发射的火球烧死了 # death.attack.fireball.item=%1$s被%2$s用%3$s发射的火球烧死了
death.attack.fireworks=%1$s随着一声巨响消失了 # death.attack.fireworks=%1$s随着一声巨响消失了
death.attack.fireworks.player=%1$s在与%2$s战斗时随着一声巨响消失了 # death.attack.fireworks.player=%1$s在与%2$s战斗时随着一声巨响消失了
death.attack.fireworks.item=%1$s随着%2$s用%3$s发射的烟花发出的巨响消失了 # death.attack.fireworks.item=%1$s随着%2$s用%3$s发射的烟花发出的巨响消失了
death.attack.flyIntoWall=%1$s感受到了动能 # death.attack.flyIntoWall=%1$s感受到了动能
death.attack.flyIntoWall.player=%1$s在试图逃离%2$s时感受到了动能 # death.attack.flyIntoWall.player=%1$s在试图逃离%2$s时感受到了动能
death.attack.flyIntoWall.item=%1$s在试图逃离持有%3$s的%2$s时感受到了动能 # death.attack.flyIntoWall.item=%1$s在试图逃离持有%3$s的%2$s时感受到了动能
death.attack.generic=%1$s死了 # death.attack.generic=%1$s死了
death.attack.generic.player=%1$s死于%2$s # death.attack.generic.player=%1$s死于%2$s
death.attack.indirectMagic=%1$s被%2$s使用的魔法杀死了 # death.attack.indirectMagic=%1$s被%2$s使用的魔法杀死了
death.attack.indirectMagic.item=%1$s被%2$s用%3$s杀死了 # death.attack.indirectMagic.item=%1$s被%2$s用%3$s杀死了
death.attack.inFire=%1$s浴火焚身 # death.attack.inFire=%1$s浴火焚身
death.attack.inFire.player=%1$s在与%2$s战斗时不慎走入了火中 # death.attack.inFire.player=%1$s在与%2$s战斗时不慎走入了火中
death.attack.inFire.item=%1$s在与持有%3$s的%2$s战斗时不慎走入了火中 # death.attack.inFire.item=%1$s在与持有%3$s的%2$s战斗时不慎走入了火中
death.attack.inWall=%1$s在墙里窒息而亡 # death.attack.inWall=%1$s在墙里窒息而亡
death.attack.inWall.player=%1$s在与%2$s战斗时在墙里窒息而亡 # death.attack.inWall.player=%1$s在与%2$s战斗时在墙里窒息而亡
death.attack.inWall.item=%1$s在与持有%3$s的%2$s战斗时在墙里窒息而亡 # death.attack.inWall.item=%1$s在与持有%3$s的%2$s战斗时在墙里窒息而亡
death.attack.lava=%1$s试图在熔岩里游泳 # death.attack.lava=%1$s试图在熔岩里游泳
death.attack.lava.player=%1$s在试图逃离%2$s时试图在熔岩里游泳 # death.attack.lava.player=%1$s在试图逃离%2$s时试图在熔岩里游泳
death.attack.lava.item=%1$s在试图逃离持有%3$s的%2$s时试图在熔岩里游泳 # death.attack.lava.item=%1$s在试图逃离持有%3$s的%2$s时试图在熔岩里游泳
death.attack.lightningBolt=%1$s被闪电击中 # death.attack.lightningBolt=%1$s被闪电击中
death.attack.lightningBolt.player=%1$s在与%2$s战斗时被闪电击中 # death.attack.lightningBolt.player=%1$s在与%2$s战斗时被闪电击中
death.attack.lightningBolt.item=%1$s在与持有%3$s的%2$s战斗时被闪电击中 # death.attack.lightningBolt.item=%1$s在与持有%3$s的%2$s战斗时被闪电击中
death.attack.magic=%1$s被魔法杀死了 # death.attack.magic=%1$s被魔法杀死了
death.attack.hotFloor=%1$s发现地板是熔岩做的 # death.attack.hotFloor=%1$s发现地板是熔岩做的
death.attack.hotFloor.player=%1$s因%2$s而步入危险之地 # death.attack.hotFloor.player=%1$s因%2$s而步入危险之地
death.attack.hotFloor.item=%1$s因持有%3$s的%2$s而步入危险之地 # death.attack.hotFloor.item=%1$s因持有%3$s的%2$s而步入危险之地
death.attack.mob=%1$s被%2$s杀死了 # death.attack.mob=%1$s被%2$s杀死了
death.attack.mob.item=%1$s被%2$s用%3$s杀死了 # death.attack.mob.item=%1$s被%2$s用%3$s杀死了
death.attack.sting=%1$s被%2$s蛰死了 # death.attack.sting=%1$s被%2$s蛰死了
death.attack.sting.item=%1$s被%2$s用%3$s蛰死了 # death.attack.sting.item=%1$s被%2$s用%3$s蛰死了
death.attack.onFire=%1$s被烧死了 # death.attack.onFire=%1$s被烧死了
death.attack.onFire.player=%1$s在与%2$s战斗时被烤的酥脆 # death.attack.onFire.player=%1$s在与%2$s战斗时被烤的酥脆
death.attack.onFire.item=%1$s在与持有%3$s的%2$s战斗时被烤的酥脆 # death.attack.onFire.item=%1$s在与持有%3$s的%2$s战斗时被烤的酥脆
death.attack.outOfWorld=%1$s掉出了这个世界 # death.attack.outOfWorld=%1$s掉出了这个世界
death.attack.outOfWorld.player=%1$s与%2$s不共戴天 # death.attack.outOfWorld.player=%1$s与%2$s不共戴天
death.attack.outOfWorld.item=%1$s与持有%3$s的%2$s不共戴天 # death.attack.outOfWorld.item=%1$s与持有%3$s的%2$s不共戴天
death.attack.player=%1$s被%2$s杀死了 # death.attack.player=%1$s被%2$s杀死了
death.attack.player.item=%1$s被%2$s用%3$s杀死了 # death.attack.player.item=%1$s被%2$s用%3$s杀死了
death.attack.spit=%1$s被%2$s的口水淹死了 # death.attack.spit=%1$s被%2$s的口水淹死了
death.attack.starve=%1$s饿死了 # death.attack.starve=%1$s饿死了
death.attack.starve.player=%1$s在与%2$s战斗时饿死了 # death.attack.starve.player=%1$s在与%2$s战斗时饿死了
death.attack.starve.item=%1$s在与持有%3$s的%2$s战斗时饿死了 # death.attack.starve.item=%1$s在与持有%3$s的%2$s战斗时饿死了
death.attack.sweetBerry=%1$s被甜浆果丛刺死了 # death.attack.sweetBerry=%1$s被甜浆果丛刺死了
death.attack.sweetBerry.player=%1$s在试图逃离%2$s时被甜浆果丛刺死了 # death.attack.sweetBerry.player=%1$s在试图逃离%2$s时被甜浆果丛刺死了
death.attack.sweetBerry.item=%1$s在试图逃离持有%3$s的%2$s时被甜浆果丛刺死了 # death.attack.sweetBerry.item=%1$s在试图逃离持有%3$s的%2$s时被甜浆果丛刺死了
death.attack.thorns=%1$s在试图伤害%2$s时被杀 # death.attack.thorns=%1$s在试图伤害%2$s时被杀
death.attack.thorns.item=%1$s在试图伤害%2$s时被%3$s杀死 # death.attack.thorns.item=%1$s在试图伤害%2$s时被%3$s杀死
death.attack.thrown=%1$s被%2$s给砸死了 # death.attack.thrown=%1$s被%2$s给砸死了
death.attack.thrown.item=%1$s被%2$s用%3$s给砸死了 # death.attack.thrown.item=%1$s被%2$s用%3$s给砸死了
death.attack.trident=%1$s被%2$s刺穿了 # death.attack.trident=%1$s被%2$s刺穿了
death.attack.trident.item=%1$s被%2$s使用%3$s刺穿了 # death.attack.trident.item=%1$s被%2$s使用%3$s刺穿了
death.attack.wither=%1$s凋零了 # death.attack.wither=%1$s凋零了
death.attack.wither.player=%1$s在与%2$s战斗时凋零了 # death.attack.wither.player=%1$s在与%2$s战斗时凋零了
death.attack.wither.item=%1$s在与持有%3$s的%2$s战斗时凋零了 # death.attack.wither.item=%1$s在与持有%3$s的%2$s战斗时凋零了
death.attack.freeze=%1$s被冻死了 # death.attack.freeze=%1$s被冻死了
death.attack.freeze.player=%1$s被%2$s冻死了 # death.attack.freeze.player=%1$s被%2$s冻死了
death.attack.freeze.item=%1$s被持有%3$s的%2$s冻死了 # death.attack.freeze.item=%1$s被持有%3$s的%2$s冻死了
death.attack.sonicBoom=%1$s被一道音波尖啸抹除了 # death.attack.sonicBoom=%1$s被一道音波尖啸抹除了
death.attack.sonicBoom.player=%1$s在试图逃离%2$s时被一道音波尖啸抹除了 # death.attack.sonicBoom.player=%1$s在试图逃离%2$s时被一道音波尖啸抹除了
death.attack.stalactite=%1$s被坠落的钟乳石刺穿了 # death.attack.stalactite=%1$s被坠落的钟乳石刺穿了
death.attack.stalactite.player=%1$s在与%2$s战斗时被坠落的钟乳石刺穿了 # death.attack.stalactite.player=%1$s在与%2$s战斗时被坠落的钟乳石刺穿了
death.attack.stalactite.item=%1$s在与持有%3$s的%2$s战斗时被坠落的钟乳石刺穿了 # death.attack.stalactite.item=%1$s在与持有%3$s的%2$s战斗时被坠落的钟乳石刺穿了
death.attack.stalagmite=%1$s被石笋刺穿了 # death.attack.stalagmite=%1$s被石笋刺穿了
death.attack.stalagmite.player=%1$s在与%2$s战斗时被石笋刺穿了 # death.attack.stalagmite.player=%1$s在与%2$s战斗时被石笋刺穿了
death.attack.stalagmite.item=%1$s在与持有%3$s的%2$s战斗时被石笋刺穿了 # death.attack.stalagmite.item=%1$s在与持有%3$s的%2$s战斗时被石笋刺穿了
death.attack.witherSkull=%1$s被%2$s发射的头颅射杀 # death.attack.witherSkull=%1$s被%2$s发射的头颅射杀
death.attack.witherSkull.item=%1$s被%2$s用%3$s发射的头颅射杀 # death.attack.witherSkull.item=%1$s被%2$s用%3$s发射的头颅射杀
death.attack.even_more_magic=%1$s被不为人知的魔法杀死了 # death.attack.even_more_magic=%1$s被不为人知的魔法杀死了
death.attack.genericKill=%1$s被杀死了 # death.attack.genericKill=%1$s被杀死了
death.attack.genericKill.player=%1$s在与%2$s战斗时被杀死了 # death.attack.genericKill.player=%1$s在与%2$s战斗时被杀死了
death.attack.genericKill.item=%1$s在与持有%3$s的%2$s战斗时被杀死了 # death.attack.genericKill.item=%1$s在与持有%3$s的%2$s战斗时被杀死了
death.attack.dragonBreath=%1$s被龙息烤熟了 # death.attack.dragonBreath=%1$s被龙息烤熟了
death.attack.dragonBreath.player=%1$s被%2$s的龙息烤熟了 # death.attack.dragonBreath.player=%1$s被%2$s的龙息烤熟了
death.attack.dryout=%1$s因脱水而死 death.attack.dryout=%1$s因脱水而死
death.attack.dryout.player=%1$s在试图逃离%2$s时因脱水而死 death.attack.dryout.player=%1$s在试图逃离%2$s时因脱水而死
death.attack.outsideBorder=%1$s脱离了这个世界 death.attack.outsideBorder=%1$s脱离了这个世界
death.attack.outsideBorder.player=%1$s在与%2$s战斗时脱离了这个世界 death.attack.outsideBorder.player=%1$s在与%2$s战斗时脱离了这个世界
death.fell.accident.generic=%1$s从高处摔了下来 # death.fell.accident.generic=%1$s从高处摔了下来
death.fell.assist=%1$s因为%2$s注定要摔死 # death.fell.assist=%1$s因为%2$s注定要摔死
death.fell.assist.item=%1$s因为%2$s使用了%3$s注定要摔死 # death.fell.assist.item=%1$s因为%2$s使用了%3$s注定要摔死
death.fell.finish=%1$s摔伤得太重并被%2$s完结了生命 # death.fell.finish=%1$s摔伤得太重并被%2$s完结了生命
death.fell.finish.item=%1$s摔伤得太重并被%2$s用%3$s完结了生命 # death.fell.finish.item=%1$s摔伤得太重并被%2$s用%3$s完结了生命
death.fell.killer=%1$s注定要摔死 death.fell.killer=%1$s注定要摔死
entity.area_effect_cloud.name=
multiplayer.player.joined=%s加入了游戏 # entity.armor_stand.name=
multiplayer.player.left=%s退出了游戏 # entity.arrow.name=
entity.bat.name=
entity.area_effect_cloud.name= # entity.bee.name=
entity.armor_stand.name= # entity.blaze.name=
entity.arrow.name= # entity.boat.name=
entity.bat.name= # entity.cat.name=
entity.bee.name= # entity.cave_spider.name=
entity.blaze.name= # entity.chicken.name=
entity.boat.name= # entity.cow.name=
entity.cat.name= # entity.creeper.name=
entity.cave_spider.name= # entity.dolphin.name=
entity.chicken.name= # entity.goat.name=
entity.cow.name= # entity.panda.name=
entity.creeper.name= # entity.donkey.name=
entity.dolphin.name= # entity.dragon_fireball.name=
entity.goat.name= # entity.drowned.name=
entity.panda.name= # entity.egg.name=
entity.donkey.name= # entity.elder_guardian.name=
entity.dragon_fireball.name= # entity.ender_crystal.name=
entity.drowned.name= # entity.ender_dragon.name=
entity.egg.name= # entity.enderman.name=
entity.elder_guardian.name= # entity.endermite.name=
entity.ender_crystal.name= # entity.ender_pearl.name=
entity.ender_dragon.name= # entity.evocation_illager.name=
entity.enderman.name= # entity.evocation_fang.name=
entity.endermite.name= # entity.eye_of_ender_signal.name=
entity.ender_pearl.name= # entity.falling_block.name=
entity.evocation_illager.name= # entity.fireball.name=
entity.evocation_fang.name= # entity.fireworks_rocket.name=
entity.eye_of_ender_signal.name= # entity.fishing_hook.name=
entity.falling_block.name= # entity.fish.clownfish.name=
entity.fireball.name= # entity.fox.name=
entity.fireworks_rocket.name= # entity.cod.name=
entity.fishing_hook.name= # entity.pufferfish.name=
entity.fish.clownfish.name= # entity.salmon.name=
entity.fox.name= # entity.tropicalfish.name=
entity.cod.name= # entity.axolotl.name=西
entity.pufferfish.name= # entity.ghast.name=
entity.salmon.name= # entity.glow_squid.name=鱿
entity.tropicalfish.name= # entity.piglin_brute.name=
entity.axolotl.name=西 # entity.guardian.name=
entity.ghast.name= # entity.hoglin.name=
entity.glow_squid.name=鱿 # entity.horse.name=
entity.piglin_brute.name= # entity.husk.name=
entity.guardian.name= # entity.ravager.name=
entity.hoglin.name= # entity.iron_golem.name=
entity.horse.name= # entity.item.name=
entity.husk.name= # entity.leash_knot.name=
entity.ravager.name= # entity.lightning_bolt.name=
entity.iron_golem.name= # entity.lingering_potion.name=
entity.item.name= # entity.llama.name=
entity.leash_knot.name= # entity.trader_llama.name=
entity.lightning_bolt.name= # entity.llama_spit.name=
entity.lingering_potion.name= # entity.magma_cube.name=
entity.llama.name= # entity.minecart.name=
entity.trader_llama.name= # entity.chest_minecart.name=
entity.llama_spit.name= # entity.command_block_minecart.name=
entity.magma_cube.name= # entity.furnace_minecart.name=
entity.minecart.name= # entity.hopper_minecart.name=
entity.chest_minecart.name= # entity.tnt_minecart.name=TNT矿车
entity.command_block_minecart.name= # entity.mule.name=
entity.furnace_minecart.name= # entity.mooshroom.name=
entity.hopper_minecart.name= # entity.moving_block.name=
entity.tnt_minecart.name=TNT矿车 # entity.ocelot.name=
entity.mule.name= # entity.painting.name=
entity.mooshroom.name= # entity.parrot.name=
entity.moving_block.name= # entity.phantom.name=
entity.ocelot.name= # entity.pig.name=
entity.painting.name= # entity.piglin.name=
entity.parrot.name= # entity.pillager.name=
entity.phantom.name= # entity.polar_bear.name=
entity.pig.name= # entity.rabbit.name=
entity.piglin.name= # entity.sheep.name=
entity.pillager.name= # entity.shulker.name=
entity.polar_bear.name= # entity.shulker_bullet.name=
entity.rabbit.name= # entity.silverfish.name=
entity.sheep.name= # entity.skeleton.name=
entity.shulker.name= # entity.skeleton_horse.name=
entity.shulker_bullet.name= # entity.stray.name=
entity.silverfish.name= # entity.slime.name=
entity.skeleton.name= # entity.small_fireball.name=
entity.skeleton_horse.name= # entity.sniffer.name=
entity.stray.name= # entity.snowball.name=
entity.slime.name= # entity.snow_golem.name=
entity.small_fireball.name= # entity.spider.name=
entity.sniffer.name= # entity.splash_potion.name=
entity.snowball.name= # entity.squid.name=鱿
entity.snow_golem.name= # entity.strider.name=
entity.spider.name= # entity.tnt.name=TNT
entity.splash_potion.name= # entity.thrown_trident.name=
entity.squid.name=鱿 # entity.tripod_camera.name=
entity.strider.name= # entity.turtle.name=
entity.tnt.name=TNT # entity.unknown.name=
entity.thrown_trident.name= # entity.vex.name=
entity.tripod_camera.name= # entity.villager.name=
entity.turtle.name= # entity.villager.armor=
entity.unknown.name= # entity.villager.butcher=
entity.vex.name= # entity.villager.cartographer=
entity.villager.name= # entity.villager.cleric=
entity.villager.armor= # entity.villager.farmer=
entity.villager.butcher= # entity.villager.fisherman=
entity.villager.cartographer= # entity.villager.fletcher=
entity.villager.cleric= # entity.villager.leather=
entity.villager.farmer= # entity.villager.librarian=
entity.villager.fisherman= # entity.villager.shepherd=
entity.villager.fletcher= # entity.villager.tool=
entity.villager.leather= # entity.villager.weapon=
entity.villager.librarian= # entity.villager.mason=
entity.villager.shepherd= # entity.villager.unskilled=
entity.villager.tool= # entity.villager_v2.name=
entity.villager.weapon= # entity.vindicator.name=
entity.villager.mason= # entity.wandering_trader.name=
entity.villager.unskilled= # entity.witch.name=
entity.villager_v2.name= # entity.wither.name=
entity.vindicator.name= # entity.wither_skeleton.name=
entity.wandering_trader.name= # entity.wither_skull.name=
entity.witch.name= # entity.wither_skull_dangerous.name=
entity.wither.name= # entity.wolf.name=
entity.wither_skeleton.name= # entity.xp_orb.name=
entity.wither_skull.name= # entity.xp_bottle.name=
entity.wither_skull_dangerous.name= # entity.zoglin.name=
entity.wolf.name= # entity.zombie.name=
entity.xp_orb.name= # entity.zombie_horse.name=
entity.xp_bottle.name= # entity.zombie_pigman.name=
entity.zoglin.name= # entity.zombie_villager.name=
entity.zombie.name= # entity.zombie_villager_v2.name=
entity.zombie_horse.name= # entity.sniffer.name=
entity.zombie_pigman.name= # entity.frog.name=
entity.zombie_villager.name= # entity.tadpole.name=
entity.zombie_villager_v2.name= # entity.warden.name=
entity.sniffer.name= # entity.allay.name=
entity.frog.name= # entity.camel.name=
entity.tadpole.name= # entity.chest_raft.name=
entity.warden.name= # multiplayer.player.joined=%s加入了游戏
entity.allay.name= # multiplayer.player.left=%s退出了游戏
entity.camel.name= #
entity.chest_raft.name= #
)"; )";