adapt: adapt to GMLIB v0.13.10
This commit is contained in:
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
"name": "${modName}",
|
"name": "${modName}",
|
||||||
"entry": "${modFile}",
|
"entry": "${modFile}",
|
||||||
"type": "native",
|
"type": "native",
|
||||||
"version": "0.13.1",
|
"version": "0.13.2",
|
||||||
"author": "GroupMountain",
|
"author": "GroupMountain",
|
||||||
"description": "Better Death Messages",
|
"description": "Better Death Messages",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
|
namespace DeathMessages {
|
||||||
struct Config {
|
struct Config {
|
||||||
int version = 1;
|
int version = 1;
|
||||||
|
|
||||||
@@ -20,3 +21,4 @@ struct Config {
|
|||||||
std::string Language = "zh_CN";
|
std::string Language = "zh_CN";
|
||||||
} ServerSideTranslation;
|
} ServerSideTranslation;
|
||||||
};
|
};
|
||||||
|
} // namespace DeathMessages
|
||||||
+56
-49
@@ -1,108 +1,111 @@
|
|||||||
#include "Entry.h"
|
#include "Entry.h"
|
||||||
|
#include "GMLIB/Mod/Addons/CustomDamageCause.h"
|
||||||
#include "Global.h"
|
#include "Global.h"
|
||||||
|
#include "ll/api/event/player/PlayerConnectEvent.h"
|
||||||
|
#include "ll/api/event/player/PlayerDisconnectEvent.h"
|
||||||
|
|
||||||
void RegisterDamageDefinition() {
|
void RegisterDamageDefinition() {
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setCustomDamageCauseEnabled();
|
GMLIB::Mod::DamageCause::DamageCause::setCustomDamageCauseEnabled();
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::Anvil, "anvil");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::Anvil, "anvil");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::EntityAttack, "mob");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::EntityAttack, "mob");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::RamAttack, "mob");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::RamAttack, "mob");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::Drowning, "drown");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::Drowning, "drown");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::FallingBlock, "fallingBlock");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::FallingBlock, "fallingBlock");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::Fire, "inFire");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::Fire, "inFire");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::FireTick, "onFire");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::FireTick, "onFire");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::Fireworks, "fireworks");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::Fireworks, "fireworks");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::FlyIntoWall, "flyIntoWall");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::FlyIntoWall, "flyIntoWall");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::Freezing, "freeze");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::Freezing, "freeze");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::Lava, "lava");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::Lava, "lava");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::Lightning, "lightningBolt");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::Lightning, "lightningBolt");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::Wither, "wither");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::Wither, "wither");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::Magic, "indirectMagic");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::Magic, "indirectMagic");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::Magma, "hotFloor");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::Magma, "hotFloor");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::Stalactite, "stalactite");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::Stalactite, "stalactite");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::Stalagmite, "stalagmite");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::Stalagmite, "stalagmite");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::Starve, "starve");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::Starve, "starve");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::Suffocation, "inWall");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::Suffocation, "inWall");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::SonicBoom, "sonicBoom");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::SonicBoom, "sonicBoom");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::Void, "outOfWorld");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::Void, "outOfWorld");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::SelfDestruct, "genericKill");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::SelfDestruct, "genericKill");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::Projectile, "thrown");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::Projectile, "thrown");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::setVanillaCauseMessage(ActorDamageCause::Thorns, "thorns");
|
GMLIB::Mod::DamageCause::DamageCause::setVanillaCauseMessage(ActorDamageCause::Thorns, "thorns");
|
||||||
gmlib::mod::damage::DamageCauseRegistry::registerCustomDeathMessage(
|
GMLIB::Mod::DamageCause::DamageCause::registerCustomDeathMessage(
|
||||||
ActorDamageCause::Projectile,
|
ActorDamageCause::Projectile,
|
||||||
"death.attack.fireball.item",
|
"death.attack.fireball.item",
|
||||||
"minecraft:small_fireball"
|
"minecraft:small_fireball"
|
||||||
);
|
);
|
||||||
gmlib::mod::damage::DamageCauseRegistry::registerCustomDeathMessage(
|
GMLIB::Mod::DamageCause::DamageCause::registerCustomDeathMessage(
|
||||||
ActorDamageCause::Projectile,
|
ActorDamageCause::Projectile,
|
||||||
"death.attack.trident.item",
|
"death.attack.trident.item",
|
||||||
"minecraft:thrown_trident"
|
"minecraft:thrown_trident"
|
||||||
);
|
);
|
||||||
gmlib::mod::damage::DamageCauseRegistry::registerCustomDeathMessage(
|
GMLIB::Mod::DamageCause::DamageCause::registerCustomDeathMessage(
|
||||||
ActorDamageCause::Projectile,
|
ActorDamageCause::Projectile,
|
||||||
"death.attack.spit",
|
"death.attack.spit",
|
||||||
"minecraft:llama_spit"
|
"minecraft:llama_spit"
|
||||||
);
|
);
|
||||||
gmlib::mod::damage::DamageCauseRegistry::registerCustomDeathMessage(
|
GMLIB::Mod::DamageCause::DamageCause::registerCustomDeathMessage(
|
||||||
ActorDamageCause::Projectile,
|
ActorDamageCause::Projectile,
|
||||||
"death.attack.bullet",
|
"death.attack.bullet",
|
||||||
"minecraft:shulker_bullet"
|
"minecraft:shulker_bullet"
|
||||||
);
|
);
|
||||||
gmlib::mod::damage::DamageCauseRegistry::registerCustomDeathMessage(
|
GMLIB::Mod::DamageCause::DamageCause::registerCustomDeathMessage(
|
||||||
ActorDamageCause::Projectile,
|
ActorDamageCause::Projectile,
|
||||||
"death.attack.arrow.item",
|
"death.attack.arrow.item",
|
||||||
"minecraft:arrow"
|
"minecraft:arrow"
|
||||||
);
|
);
|
||||||
gmlib::mod::damage::DamageCauseRegistry::registerCustomDeathMessage(
|
GMLIB::Mod::DamageCause::DamageCause::registerCustomDeathMessage(
|
||||||
ActorDamageCause::Projectile,
|
ActorDamageCause::Projectile,
|
||||||
"death.attack.explosion.player",
|
"death.attack.explosion.player",
|
||||||
"minecraft:fireball"
|
"minecraft:fireball"
|
||||||
);
|
);
|
||||||
gmlib::mod::damage::DamageCauseRegistry::registerCustomDeathMessage(
|
GMLIB::Mod::DamageCause::DamageCause::registerCustomDeathMessage(
|
||||||
ActorDamageCause::Projectile,
|
ActorDamageCause::Projectile,
|
||||||
"death.attack.mob",
|
"death.attack.mob",
|
||||||
"minecraft:breeze_wind_charge_projectile"
|
"minecraft:breeze_wind_charge_projectile"
|
||||||
);
|
);
|
||||||
gmlib::mod::damage::DamageCauseRegistry::registerCustomDeathMessage(
|
GMLIB::Mod::DamageCause::DamageCause::registerCustomDeathMessage(
|
||||||
ActorDamageCause::Magic,
|
ActorDamageCause::Magic,
|
||||||
"death.attack.magic",
|
"death.attack.magic",
|
||||||
"empty"
|
"empty"
|
||||||
);
|
);
|
||||||
gmlib::mod::damage::DamageCauseRegistry::registerCustomDeathMessage(
|
GMLIB::Mod::DamageCause::DamageCause::registerCustomDeathMessage(
|
||||||
ActorDamageCause::SonicBoom,
|
ActorDamageCause::SonicBoom,
|
||||||
"death.attack.sonicBoom",
|
"death.attack.sonicBoom",
|
||||||
"minecraft:warden"
|
"minecraft:warden"
|
||||||
);
|
);
|
||||||
gmlib::mod::damage::DamageCauseRegistry::registerCustomDeathMessage(
|
GMLIB::Mod::DamageCause::DamageCause::registerCustomDeathMessage(
|
||||||
ActorDamageCause::Thorns,
|
ActorDamageCause::Thorns,
|
||||||
"death.attack.generic",
|
"death.attack.generic",
|
||||||
"empty"
|
"empty"
|
||||||
);
|
);
|
||||||
gmlib::mod::damage::DamageCauseRegistry::registerCustomDeathMessage(
|
GMLIB::Mod::DamageCause::DamageCause::registerCustomDeathMessage(
|
||||||
ActorDamageCause::EntityExplosion,
|
ActorDamageCause::EntityExplosion,
|
||||||
"death.attack.explosion.player",
|
"death.attack.explosion.player",
|
||||||
"all"
|
"all"
|
||||||
);
|
);
|
||||||
gmlib::mod::damage::DamageCauseRegistry::registerCustomDeathMessage(
|
GMLIB::Mod::DamageCause::DamageCause::registerCustomDeathMessage(
|
||||||
ActorDamageCause::EntityExplosion,
|
ActorDamageCause::EntityExplosion,
|
||||||
"minecraft:wither_skull",
|
"minecraft:wither_skull",
|
||||||
"death.attack.witherSkull.item"
|
"death.attack.witherSkull.item"
|
||||||
);
|
);
|
||||||
gmlib::mod::damage::DamageCauseRegistry::registerCustomDeathMessage(
|
GMLIB::Mod::DamageCause::DamageCause::registerCustomDeathMessage(
|
||||||
ActorDamageCause::EntityExplosion,
|
ActorDamageCause::EntityExplosion,
|
||||||
"minecraft:wither_skull_dangerous",
|
"minecraft:wither_skull_dangerous",
|
||||||
"death.attack.witherSkull.item"
|
"death.attack.witherSkull.item"
|
||||||
);
|
);
|
||||||
gmlib::mod::damage::DamageCauseRegistry::registerCustomDeathMessage(
|
GMLIB::Mod::DamageCause::DamageCause::registerCustomDeathMessage(
|
||||||
ActorDamageCause::EntityAttack,
|
ActorDamageCause::EntityAttack,
|
||||||
"minecraft:player",
|
"minecraft:player",
|
||||||
"death.attack.player.item"
|
"death.attack.player.item"
|
||||||
);
|
);
|
||||||
gmlib::mod::damage::DamageCauseRegistry::registerCustomDeathMessage(
|
GMLIB::Mod::DamageCause::DamageCause::registerCustomDeathMessage(
|
||||||
ActorDamageCause::EntityAttack,
|
ActorDamageCause::EntityAttack,
|
||||||
"minecraft:bee",
|
"minecraft:bee",
|
||||||
"death.attack.sting.item"
|
"death.attack.sting.item"
|
||||||
);
|
);
|
||||||
gmlib::mod::damage::DamageCauseRegistry::registerCustomDeathMessage(
|
GMLIB::Mod::DamageCause::DamageCause::registerCustomDeathMessage(
|
||||||
ActorDamageCause::RamAttack,
|
ActorDamageCause::RamAttack,
|
||||||
"minecraft:player",
|
"minecraft:player",
|
||||||
"death.attack.player.item"
|
"death.attack.player.item"
|
||||||
@@ -110,25 +113,29 @@ void RegisterDamageDefinition() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ListenEvents() {
|
void ListenEvents() {
|
||||||
auto& config = DeathMessages::Entry::getInstance()->getConfig();
|
auto& config = DeathMessages::Entry::getInstance().getConfig();
|
||||||
auto& eventBus = ll::event::EventBus::getInstance();
|
auto& eventBus = ll::event::EventBus::getInstance();
|
||||||
if (config.ConsoleLog.JoinMessage) {
|
if (config.ConsoleLog.JoinMessage) {
|
||||||
eventBus.emplaceListener<ll::event::player::PlayerConnectEvent>([](ll::event::player::PlayerConnectEvent& ev) {
|
eventBus.emplaceListener<ll::event::player::PlayerConnectEvent>([](ll::event::player::PlayerConnectEvent& ev) {
|
||||||
infoLogger.info(fmt::format(fg(fmt::color::yellow), tr("multiplayer.player.joined", {ev.self().getName()}))
|
infoLogger->info(fmt::format(fg(fmt::color::yellow), tr("multiplayer.player.joined", {ev.self().getName()}))
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (config.ConsoleLog.LeftMessage) {
|
if (config.ConsoleLog.LeftMessage) {
|
||||||
eventBus.emplaceListener<ll::event::player::PlayerLeaveEvent>([](ll::event::player::PlayerLeaveEvent& ev) {
|
eventBus.emplaceListener<ll::event::player::PlayerDisconnectEvent>(
|
||||||
infoLogger.info(fmt::format(fg(fmt::color::yellow), tr("multiplayer.player.left", {ev.self().getName()})));
|
[](ll::event::player::PlayerDisconnectEvent& ev) {
|
||||||
});
|
infoLogger->info(
|
||||||
|
fmt::format(fg(fmt::color::yellow), tr("multiplayer.player.left", {ev.self().getName()}))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
if (config.ConsoleLog.DeathMessage) {
|
if (config.ConsoleLog.DeathMessage) {
|
||||||
eventBus.emplaceListener<gmlib::event::entity::DeathMessageAfterEvent>(
|
eventBus.emplaceListener<GMLIB::Event::EntityEvent::DeathMessageAfterEvent>(
|
||||||
[](gmlib::event::entity::DeathMessageAfterEvent& ev) {
|
[](GMLIB::Event::EntityEvent::DeathMessageAfterEvent& ev) {
|
||||||
auto msg = ev.getDeathMessage();
|
auto msg = ev.getDeathMessage();
|
||||||
auto info = tr(msg.first, msg.second);
|
auto info = tr(msg.first, msg.second);
|
||||||
deathLogger.info(info);
|
deathLogger->info(info);
|
||||||
ev.getDeathMessage() = {info, msg.second};
|
ev.getDeathMessage() = {info, msg.second};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
+16
-12
@@ -2,14 +2,16 @@
|
|||||||
#include "Global.h"
|
#include "Global.h"
|
||||||
#include "Language.h"
|
#include "Language.h"
|
||||||
|
|
||||||
ll::Logger logger(MOD_NAME);
|
ll::io::LoggerRegistry& loggerRegistry = ll::io::LoggerRegistry::getInstance();
|
||||||
ll::Logger deathLogger("Death");
|
std::shared_ptr<ll::io::Logger> logger = loggerRegistry.getOrCreate(MOD_NAME);
|
||||||
ll::Logger infoLogger("Server");
|
std::shared_ptr<ll::io::Logger> deathLogger = loggerRegistry.getOrCreate("Death");
|
||||||
|
std::shared_ptr<ll::io::Logger> infoLogger = loggerRegistry.getOrCreate("Server");
|
||||||
|
|
||||||
|
|
||||||
namespace DeathMessages {
|
namespace DeathMessages {
|
||||||
|
|
||||||
std::unique_ptr<Entry>& Entry::getInstance() {
|
Entry& Entry::getInstance() {
|
||||||
static std::unique_ptr<Entry> instance;
|
static Entry instance;
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,7 +27,9 @@ bool Entry::load() {
|
|||||||
}
|
}
|
||||||
if (getConfig().FileLog.Enabled) {
|
if (getConfig().FileLog.Enabled) {
|
||||||
auto& path = getConfig().FileLog.Path;
|
auto& path = getConfig().FileLog.Path;
|
||||||
deathLogger.setFile(path);
|
ll::Polymorphic<ll::io::PatternFormatter> polymorphicFormatter =
|
||||||
|
ll::makePolymorphic<ll::io::PatternFormatter>("[{3:.3%F %T.} {2}][{1}] {0}", false);
|
||||||
|
deathLogger->addSink(std::make_shared<ll::io::FileSink>(path, polymorphicFormatter));
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -41,13 +45,13 @@ bool Entry::disable() { return true; }
|
|||||||
bool Entry::unload() {
|
bool Entry::unload() {
|
||||||
mConfig.reset();
|
mConfig.reset();
|
||||||
mI18n.reset();
|
mI18n.reset();
|
||||||
getInstance().reset();
|
// getInstance().reset();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Config& Entry::getConfig() { return mConfig.value(); }
|
Config& Entry::getConfig() { return mConfig.value(); }
|
||||||
|
|
||||||
std::optional<gmlib::i18n::LangI18n> Entry::getI18n() { return mI18n; }
|
std::optional<GMLIB::Files::I18n::LangI18n> Entry::getI18n() { return mI18n; }
|
||||||
|
|
||||||
void Entry::loadI18n() {
|
void Entry::loadI18n() {
|
||||||
mI18n.emplace(getSelf().getLangDir(), getConfig().ServerSideTranslation.Language);
|
mI18n.emplace(getSelf().getLangDir(), getConfig().ServerSideTranslation.Language);
|
||||||
@@ -58,8 +62,8 @@ void Entry::loadI18n() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Entry::loadResourcePack() {
|
void Entry::loadResourcePack() {
|
||||||
gmlib::tools::VanillaFix::setFixI18nEnabled();
|
GMLIB::Mod::VanillaFix::setFixI18nEnabled();
|
||||||
auto resource = gmlib::i18n::ResourceI18n(getSelf().getModDir() / u8"resource", MOD_NAME, 0, 8, 0);
|
auto resource = GMLIB::Files::ResourceLanguage(getSelf().getModDir() / u8"resource", MOD_NAME, 0, 8, 0);
|
||||||
resource.addLanguage("en_US", en_US);
|
resource.addLanguage("en_US", en_US);
|
||||||
resource.addLanguage("zh_CN", zh_CN);
|
resource.addLanguage("zh_CN", zh_CN);
|
||||||
}
|
}
|
||||||
@@ -69,8 +73,8 @@ void Entry::loadResourcePack() {
|
|||||||
LL_REGISTER_MOD(DeathMessages::Entry, DeathMessages::Entry::getInstance());
|
LL_REGISTER_MOD(DeathMessages::Entry, DeathMessages::Entry::getInstance());
|
||||||
|
|
||||||
std::string tr(std::string const& key, std::vector<std::string> const& params) {
|
std::string tr(std::string const& key, std::vector<std::string> const& params) {
|
||||||
if (auto i18n = DeathMessages::Entry::getInstance()->getI18n()) {
|
if (auto i18n = DeathMessages::Entry::getInstance().getI18n()) {
|
||||||
return i18n->get(key, params);
|
return i18n->get(key, params);
|
||||||
}
|
}
|
||||||
return gmlib::world::I18nAPI::get(key, params);
|
return ::I18nAPI::get(key, params);
|
||||||
}
|
}
|
||||||
+4
-4
@@ -7,9 +7,9 @@ namespace DeathMessages {
|
|||||||
class Entry {
|
class Entry {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static std::unique_ptr<Entry>& getInstance();
|
static Entry& getInstance();
|
||||||
|
|
||||||
Entry(ll::mod::NativeMod& self) : mSelf(self) {}
|
Entry() : mSelf(*ll::mod::NativeMod::current()) {}
|
||||||
|
|
||||||
[[nodiscard]] ll::mod::NativeMod& getSelf() const { return mSelf; }
|
[[nodiscard]] ll::mod::NativeMod& getSelf() const { return mSelf; }
|
||||||
|
|
||||||
@@ -27,7 +27,7 @@ public:
|
|||||||
|
|
||||||
Config& getConfig();
|
Config& getConfig();
|
||||||
|
|
||||||
std::optional<gmlib::i18n::LangI18n> getI18n();
|
std::optional<GMLIB::Files::I18n::LangI18n> getI18n();
|
||||||
|
|
||||||
void loadI18n();
|
void loadI18n();
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
ll::mod::NativeMod& mSelf;
|
ll::mod::NativeMod& mSelf;
|
||||||
std::optional<Config> mConfig;
|
std::optional<Config> mConfig;
|
||||||
std::optional<gmlib::i18n::LangI18n> mI18n;
|
std::optional<GMLIB::Files::I18n::LangI18n> mI18n;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace DeathMessages
|
} // namespace DeathMessages
|
||||||
|
|||||||
+4
-4
@@ -1,11 +1,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <headers/include_all.h>
|
#include <include_all.h>
|
||||||
|
|
||||||
#define MOD_NAME "DeathMessages"
|
#define MOD_NAME "DeathMessages"
|
||||||
|
|
||||||
extern ll::Logger logger;
|
extern std::shared_ptr<ll::io::Logger> logger;
|
||||||
extern ll::Logger deathLogger;
|
extern std::shared_ptr<ll::io::Logger> deathLogger;
|
||||||
extern ll::Logger infoLogger;
|
extern std::shared_ptr<ll::io::Logger> infoLogger;
|
||||||
|
|
||||||
extern std::string tr(std::string const& key, std::vector<std::string> const& data = {});
|
extern std::string tr(std::string const& key, std::vector<std::string> const& data = {});
|
||||||
|
|
||||||
|
|||||||
@@ -243,6 +243,11 @@ entity.warden.name=Warden
|
|||||||
entity.allay.name=Allay
|
entity.allay.name=Allay
|
||||||
entity.camel.name=Camel
|
entity.camel.name=Camel
|
||||||
entity.chest_raft.name=Raft with Chest
|
entity.chest_raft.name=Raft with Chest
|
||||||
|
entity.bogged.name=Bogged
|
||||||
|
entity.wind_charge_projectile.name=Wind Charge
|
||||||
|
entity.breeze_wind_charge_projectile.name=Wind Charge
|
||||||
|
entity.breeze.name=Breeze
|
||||||
|
entity.creaking.name=Creaking
|
||||||
multiplayer.player.joined=%s joined the game
|
multiplayer.player.joined=%s joined the game
|
||||||
multiplayer.player.left=%s left the game
|
multiplayer.player.left=%s left the game
|
||||||
)";
|
)";
|
||||||
@@ -494,6 +499,7 @@ entity.bogged.name=沼骸
|
|||||||
entity.wind_charge_projectile.name=风弹
|
entity.wind_charge_projectile.name=风弹
|
||||||
entity.breeze_wind_charge_projectile.name=风弹
|
entity.breeze_wind_charge_projectile.name=风弹
|
||||||
entity.breeze.name=旋风人
|
entity.breeze.name=旋风人
|
||||||
|
entity.creaking.name=嘎枝
|
||||||
multiplayer.player.joined=%s加入了游戏
|
multiplayer.player.joined=%s加入了游戏
|
||||||
multiplayer.player.left=%s退出了游戏
|
multiplayer.player.left=%s退出了游戏
|
||||||
)";
|
)";
|
||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"format_version": 2,
|
"format_version": 2,
|
||||||
"tooth": "github.com/GroupMountain/DeathMessages",
|
"tooth": "github.com/GroupMountain/DeathMessages",
|
||||||
"version": "0.13.1",
|
"version": "0.13.2",
|
||||||
"info": {
|
"info": {
|
||||||
"name": "DeathMessages",
|
"name": "DeathMessages",
|
||||||
"description": "Better Death Messages on MCBE",
|
"description": "Better Death Messages on MCBE",
|
||||||
@@ -11,9 +11,9 @@
|
|||||||
"DeathMessages"
|
"DeathMessages"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"asset_url": "https://github.com/GroupMountain/DeathMessages/releases/download/v0.13.1/DeathMessages-windows-x64.zip",
|
"asset_url": "https://github.com/GroupMountain/DeathMessages/releases/download/v0.13.2/DeathMessages-windows-x64.zip",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"github.com/GroupMountain/GMLIB": ">=0.13.8"
|
"github.com/GroupMountain/GMLIB": ">=0.13.10"
|
||||||
},
|
},
|
||||||
"files": {
|
"files": {
|
||||||
"place": [
|
"place": [
|
||||||
|
|||||||
@@ -7,41 +7,10 @@ if not has_config("vs_runtime") then
|
|||||||
set_runtimes("MD")
|
set_runtimes("MD")
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Option 1: Use the latest version of LeviLamina released on GitHub.
|
|
||||||
add_requires("levilamina")
|
add_requires("levilamina")
|
||||||
|
add_requires("levibuildscript")
|
||||||
add_requires("gmlib")
|
add_requires("gmlib")
|
||||||
|
|
||||||
-- Option 2: Use a specific version of LeviLamina released on GitHub.
|
|
||||||
-- add_requires("levilamina x.x.x")
|
|
||||||
|
|
||||||
-- Option 3: Use the latest commit of LeviLamina on GitHub.
|
|
||||||
-- -- Here, "develop" is the branch name. You can change it to any branch name you want.
|
|
||||||
-- add_requires("levilamina develop")
|
|
||||||
-- -- You can also use debug build of LeviLamina.
|
|
||||||
-- -- add_requires("levilamina develop", {debug = true})
|
|
||||||
-- package("levilamina")
|
|
||||||
-- add_urls("https://github.com/LiteLDev/LeviLamina.git")
|
|
||||||
|
|
||||||
-- add_deps("ctre 3.8.1")
|
|
||||||
-- add_deps("entt 3.12.2")
|
|
||||||
-- add_deps("fmt 10.1.1")
|
|
||||||
-- add_deps("gsl 4.0.0")
|
|
||||||
-- add_deps("leveldb 1.23")
|
|
||||||
-- add_deps("magic_enum 0.9.0")
|
|
||||||
-- add_deps("nlohmann_json 3.11.2")
|
|
||||||
-- add_deps("rapidjson 1.1.0")
|
|
||||||
-- add_deps("pcg_cpp 1.0.0")
|
|
||||||
-- add_deps("pfr 2.1.1")
|
|
||||||
-- add_deps("preloader 1.4.0")
|
|
||||||
-- add_deps("symbolprovider 1.1.0")
|
|
||||||
|
|
||||||
-- -- You may need to change this to the target BDS version of your choice.
|
|
||||||
-- add_deps("bdslibrary 1.20.50.03")
|
|
||||||
|
|
||||||
-- on_install(function (package)
|
|
||||||
-- import("package.tools.xmake").install(package)
|
|
||||||
-- end)
|
|
||||||
|
|
||||||
target("DeathMessages") -- Change this to your mod name.
|
target("DeathMessages") -- Change this to your mod name.
|
||||||
add_cxflags(
|
add_cxflags(
|
||||||
"/EHa",
|
"/EHa",
|
||||||
@@ -60,9 +29,14 @@ target("DeathMessages") -- Change this to your mod name.
|
|||||||
"levilamina",
|
"levilamina",
|
||||||
"gmlib"
|
"gmlib"
|
||||||
)
|
)
|
||||||
add_shflags(
|
add_defines(
|
||||||
"/DELAYLOAD:bedrock_server.dll" -- Magic to import symbols from BDS
|
"NOMINMAX",
|
||||||
|
"UNICODE",
|
||||||
|
"_HAS_CXX17",
|
||||||
|
"_HAS_CXX20",
|
||||||
|
"_HAS_CXX23"
|
||||||
)
|
)
|
||||||
|
add_rules("@levibuildscript/linkrule")
|
||||||
set_exceptions("none") -- To avoid conflicts with /EHa
|
set_exceptions("none") -- To avoid conflicts with /EHa
|
||||||
set_kind("shared")
|
set_kind("shared")
|
||||||
set_languages("cxx23")
|
set_languages("cxx23")
|
||||||
|
|||||||
Reference in New Issue
Block a user