feat: adapted to GMLIB version and remove some shit

This commit is contained in:
子沐呀
2024-10-22 21:24:16 +08:00
Unverified
parent ac64e23ee7
commit b0a9303e6c
12 changed files with 461 additions and 611 deletions
+24 -25
View File
@@ -2,50 +2,50 @@
void Export_Legacy_GMLib_ServerAPI() {
RemoteCall::exportAs("GMLib_ServerAPI", "setEducationFeatureEnabled", []() -> void {
GMLIB_Level::tryEnableEducationEdition();
gmlib::world::Level::tryEnableEducationEdition();
});
RemoteCall::exportAs("GMLib_ServerAPI", "registerAbilityCommand", []() -> void {
GMLIB_Level::tryRegisterAbilityCommand();
gmlib::world::Level::tryRegisterAbilityCommand();
});
RemoteCall::exportAs("GMLib_ServerAPI", "setEnableAchievement", []() -> void {
GMLIB_Level::setForceAchievementsEnabled();
gmlib::world::Level::setForceAchievementsEnabled();
});
RemoteCall::exportAs("GMLib_ServerAPI", "setForceTrustSkins", []() -> void {
gmlib::world::Level::trustAllSkins();
});
RemoteCall::exportAs("GMLib_ServerAPI", "setForceTrustSkins", []() -> void { GMLIB_Level::trustAllSkins(); });
RemoteCall::exportAs("GMLib_ServerAPI", "enableCoResourcePack", []() -> void {
GMLIB_Level::requireServerResourcePackAndAllowClientResourcePack();
gmlib::world::Level::requireServerResourcePackAndAllowClientResourcePack();
});
RemoteCall::exportAs("GMLib_ServerAPI", "getLevelName", []() -> std::string {
if (auto level = GMLIB_Level::getInstance()) {
return level->getLevelName();
}
return {};
return gmlib::world::Level::getInstance()
.transform([](gmlib::world::Level& level) -> std::string { return level.getLevelName(); })
.value_or("");
});
RemoteCall::exportAs("GMLib_ServerAPI", "setLevelName", [](std::string const& name) -> void {
if (auto level = GMLIB_Level::getInstance()) {
if (auto level = gmlib::world::Level::getInstance()) {
level->setLevelName(name);
}
});
RemoteCall::exportAs("GMLib_ServerAPI", "getLevelSeed", []() -> std::string {
if (auto level = GMLIB_Level::getInstance()) {
return std::to_string(level->getSeed());
}
return {};
return gmlib::world::Level::getInstance()
.transform([](gmlib::world::Level& level) -> std::string { return std::to_string(level.getSeed()); })
.value_or("");
});
RemoteCall::exportAs("GMLib_ServerAPI", "setFakeSeed", [](int64_t seed) -> void {
return GMLIB_Level::setFakeSeed(seed);
return gmlib::world::Level::setFakeSeed(seed);
});
RemoteCall::exportAs(
"GMLib_ServerAPI",
"spawnEntity",
[](std::pair<Vec3, int> pos, std::string const& name) -> Actor* {
return GMLIB_Spawner::spawnEntity(pos.first, pos.second, name).as_ptr();
return gmlib::world::Spawner::spawnEntity(pos.first, pos.second, name).as_ptr();
}
);
RemoteCall::exportAs(
"GMLib_ServerAPI",
"shootProjectile",
[](Actor* owner, std::string const& name, float speed, float offset) -> Actor* {
auto ac = (GMLIB_Actor*)owner;
auto ac = (gmlib::world::Actor*)owner;
return ac->shootProjectile(name, speed, offset).as_ptr();
}
);
@@ -53,7 +53,7 @@ void Export_Legacy_GMLib_ServerAPI() {
"GMLib_ServerAPI",
"throwEntity",
[](Actor* owner, Actor* actor, float speed, float offset) -> bool {
auto ac = (GMLIB_Actor*)owner;
auto ac = (gmlib::world::Actor*)owner;
return ac->throwEntity(*actor, speed, offset);
}
);
@@ -62,19 +62,18 @@ void Export_Legacy_GMLib_ServerAPI() {
"GMLib_ServerAPI",
"addFakeList",
[](const std::string& name, const std::string& xuid) -> bool {
return FakeList::addFakeList(name, xuid, ActorUniqueID(-1));
return gmlib::tools::FakeList::addFakeList(name, xuid, ActorUniqueID(-1));
}
);
RemoteCall::exportAs("GMLib_ServerAPI", "removeFakeList", [](const std::string& nameOrXuid) -> bool {
return FakeList::removeFakeList(nameOrXuid);
return gmlib::tools::FakeList::removeFakeList(nameOrXuid);
});
RemoteCall::exportAs("GMLib_ServerAPI", "removeAllFakeList", []() -> void {
return FakeList::removeAllFakeLists();
return gmlib::tools::FakeList::removeAllFakeLists();
});
RemoteCall::exportAs("GMLib_ServerAPI", "getMaxPlayers", []() -> int {
if (auto level = GMLIB_Level::getInstance()) {
return level->getMaxPlayerCount();
}
return {};
return gmlib::world::Level::getInstance()
.transform([](gmlib::world::Level& level) -> int { return level.getMaxPlayerCount(); })
.value_or(0);
});
}