Runtime events let plugins react to Agent activity using normal PMMP listeners.
AgentMessageEvent
AgentPubSubPublishedEvent
AgentNetworkEventHandledEvent
AgentNetworkEventSkippedEvent
AgentCommandDispatchResultEvent
AgentKVChangedEvent
AgentNetworkFlagChangedEvent
AgentServerStateChangedEvent
AgentRpcRequestReceivedEvent
AgentRpcResponseReceivedEvent
AgentComputeResultEvent
AgentComputeFailedEvent
AgentComputeExpiredEventExample:
use imperazim\agent\constant\AgentNetworkFlags;
use imperazim\agent\event\AgentNetworkFlagChangedEvent;
use pocketmine\event\Listener;
final class BoosterListener implements Listener{
public function onFlagChanged(AgentNetworkFlagChangedEvent $event) : void{
if($event->getFlag() !== AgentNetworkFlags::DOUBLE_XP){
return;
}
if($event->isActive()){
// activate local booster cache
}
}
}Target checks for custom PubSub listeners use AgentPubSubAPI:
use imperazim\agent\api\AgentPubSubAPI;
use imperazim\agent\event\AgentMessageEvent;
if(!AgentPubSubAPI::eventTargetsThisServer($event)){
return;
}Events only fire when agent.enabled=true. If the bridge is disabled, no Agent manager, poller or placeholder expansion is registered.
See examples/agent/AgentFlagsExample.php, AgentPubSubListenerExample.php, AgentRpcExample.php and AgentComputeExample.php for listener-oriented consumer snippets.