fix: fix error

This commit is contained in:
Tsubasa6848
2024-03-05 00:04:28 +08:00
Unverified
parent 0fe3c691e5
commit aab3c154c3
3 changed files with 30 additions and 20 deletions
+3 -3
View File
@@ -21,17 +21,17 @@ class PAPI {
static registerPlayerPlaceholder(func, PluginName, PAPIName) { static registerPlayerPlaceholder(func, PluginName, PAPIName) {
ll.export(func, PluginName, func.getName()); ll.export(func, PluginName, func.getName());
PlaceholderAPI.registerPlayerPlaceholderAPI(PluginName, func.getName(), PAPIName); return PlaceholderAPI.registerPlayerPlaceholderAPI(PluginName, func.getName(), PAPIName);
} }
static registerServerPlaceholder(func, PluginName, PAPIName) { static registerServerPlaceholder(func, PluginName, PAPIName) {
ll.export(func, PluginName, func.getName()); ll.export(func, PluginName, func.getName());
PlaceholderAPI.registerServerPlaceholderAPI(PluginName, func.getName(), PAPIName); return PlaceholderAPI.registerServerPlaceholderAPI(PluginName, func.getName(), PAPIName);
} }
static registerStaticPlaceholder(func, PluginName, PAPIName, UpdateInterval = 50) { static registerStaticPlaceholder(func, PluginName, PAPIName, UpdateInterval = 50) {
ll.export(func, PluginName, func.getName()); ll.export(func, PluginName, func.getName());
PlaceholderAPI.registerStaticPlaceholderAPI(PluginName, func.getName(), PAPIName, UpdateInterval); return PlaceholderAPI.registerStaticPlaceholderAPI(PluginName, func.getName(), PAPIName, UpdateInterval);
} }
static getValue(key) { static getValue(key) {
+10
View File
@@ -15,6 +15,8 @@ const GMLIB_API = {
getPlayerNbt: ll.import("GMLIB_API", "getPlayerNbt"), getPlayerNbt: ll.import("GMLIB_API", "getPlayerNbt"),
setPlayerNbt: ll.import("GMLIB_API", "setPlayerNbt"), setPlayerNbt: ll.import("GMLIB_API", "setPlayerNbt"),
setPlayerNbtTags: ll.import("GMLIB_API", "setPlayerNbtTags"), setPlayerNbtTags: ll.import("GMLIB_API", "setPlayerNbtTags"),
resourcePackTranslate: ll.import("GMLIB_API", "resourcePackTranslate"),
chooseResourcePackI18nLanguage: ll.import("GMLIB_API", "chooseResourcePackI18nLanguage"),
setEducationFeatureEnabled: ll.import("GMLib_ServerAPI", "setEducationFeatureEnabled"), setEducationFeatureEnabled: ll.import("GMLib_ServerAPI", "setEducationFeatureEnabled"),
registerAbilityCommand: ll.import("GMLib_ServerAPI", "registerAbilityCommand"), registerAbilityCommand: ll.import("GMLib_ServerAPI", "registerAbilityCommand"),
setEnableAchievement: ll.import("GMLib_ServerAPI", "setEnableAchievement"), setEnableAchievement: ll.import("GMLib_ServerAPI", "setEnableAchievement"),
@@ -300,6 +302,14 @@ class Minecraft {
static throwEntity(entity, proj, speed = 2, offset = 3) { static throwEntity(entity, proj, speed = 2, offset = 3) {
return GMLIB_API.throwEntity(entity, proj, speed = 2, offset = 3); return GMLIB_API.throwEntity(entity, proj, speed = 2, offset = 3);
} }
static chooseResourcePackI18nLanguage(language) {
return GMLIB_API.chooseResourcePackI18nLanguage(language);
}
static resourcePackTranslate(key, params = []) {
return GMLIB_API.resourcePackTranslate(key, params);
}
} }
class Recipes { class Recipes {
+17 -17
View File
@@ -17,12 +17,14 @@ void Export_Event_API() {
); );
eventBus->emplaceListener<GMLIB::Event::PacketEvent::ClientLoginAfterEvent>( eventBus->emplaceListener<GMLIB::Event::PacketEvent::ClientLoginAfterEvent>(
[Call](GMLIB::Event::PacketEvent::ClientLoginAfterEvent& ev) { [Call](GMLIB::Event::PacketEvent::ClientLoginAfterEvent& ev) {
Call( try {
ev.getRealName(), Call(
ev.getUuid().asString(), ev.getRealName(),
ev.getServerAuthXuid(), ev.getUuid().asString(),
ev.getClientAuthXuid() ev.getServerAuthXuid(),
); ev.getClientAuthXuid()
);
} catch (...) {}
} }
); );
return true; return true;
@@ -96,7 +98,9 @@ void Export_Event_API() {
auto pos = ev.getPosition(); auto pos = ev.getPosition();
auto dimid = ev.getBlockSource().getDimensionId().id; auto dimid = ev.getBlockSource().getDimensionId().id;
std::pair<Vec3, int> lsePos = {pos, dimid}; std::pair<Vec3, int> lsePos = {pos, dimid};
Call(&ev.getItem(), (Actor*)&ev.getItemActor(), lsePos, ev.getSpawner()); try {
Call(&ev.getItem(), (Actor*)&ev.getItemActor(), lsePos, ev.getSpawner());
} catch (...) {}
} }
); );
return true; return true;
@@ -133,21 +137,17 @@ void Export_Event_API() {
return true; return true;
} }
case do_hash("onDeathMessage"): { case do_hash("onDeathMessage"): {
auto Call = RemoteCall::importAs< auto Call = RemoteCall::importAs<bool(std::string message, std::vector<std::string>, Actor * dead)>(
bool(std::string message, std::vector<std::string>, Actor * dead, Actor * killer, int cause)>(
eventName, eventName,
eventId eventId
); );
eventBus->emplaceListener<GMLIB::Event::EntityEvent::DeathMessageAfterEvent>( eventBus->emplaceListener<GMLIB::Event::EntityEvent::DeathMessageAfterEvent>(
[Call](GMLIB::Event::EntityEvent::DeathMessageAfterEvent& ev) { [Call](GMLIB::Event::EntityEvent::DeathMessageAfterEvent& ev) {
auto msg = ev.getDeathMessage(); auto msg = ev.getDeathMessage();
auto source = ev.getDamageSource(); auto source = ev.getDamageSource();
Actor* entity = nullptr; try {
entity = GMLIB_Level::getLevel()->fetchEntity(source.getDamagingEntityUniqueID()); Call(msg.first, msg.second, &ev.self());
if (entity->getOwner()) { } catch (...) {}
entity = entity->getOwner();
}
Call(msg.first, msg.second, &ev.self(), entity, (int)source.getCause());
} }
); );
return true; return true;