Fix Script Ability System on Create not Available

This commit is contained in:
Kam committed 2026-03-03 22:31:32 -05:00
1 parent 54e0ca6510
commit 307a029995
2 files changed
+20 -4

No files matched your search

@@ -88,9 +88,17 @@ public final class AbilityScriptPacket extends AbstractPacket {
Ability ability = AbilityController.Instance.resolveAbility(id);
if (ability == null) {
// Ability not yet saved — send default empty script data so the GUI is usable
// Ability not yet saved — store handler in global map so scripts persist
// until the ability is saved via CustomAbilitySavePacket
AbilityScript data = AbilityController.Instance.abilityScriptHandlers.get(id);
if (data == null) {
data = new AbilityScript(id);
AbilityController.Instance.abilityScriptHandlers.put(id, data);
}
if (requestedAction == Action.GET) {
PacketUtil.getScripts((IScriptHandler) new AbilityScript(id), (EntityPlayerMP) player);
PacketUtil.getScripts((IScriptHandler) data, (EntityPlayerMP) player);
} else {
data.saveScript(in, player);
}
return;
}
@@ -88,9 +88,17 @@ public final class ChainedAbilityScriptPacket extends AbstractPacket {
ChainedAbility chain = AbilityController.Instance.resolveChainedAbility(id);
if (chain == null) {
// Chain not yet saved — send default empty script data so the GUI is usable
// Chain not yet saved — store handler in global map so scripts persist
// until the chain is saved via ChainedAbilitySavePacket
ChainedAbilityScript data = AbilityController.Instance.chainedAbilityScriptHandlers.get(id);
if (data == null) {
data = new ChainedAbilityScript(id);
AbilityController.Instance.chainedAbilityScriptHandlers.put(id, data);
}
if (requestedAction == Action.GET) {
PacketUtil.getScripts((IScriptHandler) new ChainedAbilityScript(id), (EntityPlayerMP) player);
PacketUtil.getScripts((IScriptHandler) data, (EntityPlayerMP) player);
} else {
data.saveScript(in, player);
}
return;
}