changes to entity load handler keeping it backwards compatible

This commit is contained in:
gnembon committed 2021-06-25 20:09:15 -03:00
1 parent 85d60b283f
commit 448fde1f36
4 files changed
+83 -13

No files matched your search

+12 -1
View File
@@ -275,10 +275,21 @@ public class Entities {
if (funArg.function == null)
{
types.forEach(et -> events.removeBuiltInEvent(CarpetEventServer.Event.getEntityLoadEventName(et), (CarpetScriptHost) c.host));
types.forEach(et -> events.removeBuiltInEvent(CarpetEventServer.Event.getEntityHandlerEventName(et), (CarpetScriptHost) c.host));
}
else
{
types.forEach(et -> events.addBuiltInEvent(CarpetEventServer.Event.getEntityLoadEventName(et), c.host, funArg.function, funArg.args));
///compat
int argno = funArg.function.getArguments().size() - funArg.args.size();
if (argno == 1)
{
c.host.issueDeprecation("entity_load_handler() with single argument callback");
types.forEach(et -> events.addBuiltInEvent(CarpetEventServer.Event.getEntityLoadEventName(et), c.host, funArg.function, funArg.args));
}
else
{
types.forEach(et -> events.addBuiltInEvent(CarpetEventServer.Event.getEntityHandlerEventName(et), c.host, funArg.function, funArg.args));
}
}
return new NumericValue(types.size());
});