Дык просто переопредели отправку статуса и броадкасты на нужные, плюс лапшекод на вызовах. Быстрый и немного костыльный способ.
Еще можешь сделать так. Вынести всю работу с пакеткой (все бекэнд броадкасты) нафиг из классов моделей. Во-первых, так правильнее ИМХО, а во-вторых, там ты уже можешь плясать, как хочешь, при этом одной строчкой добиться нужного эффекта, и конструировать любые пакеты, включая с контролем отслеживания частоты отправки и т.д.
У меня, к примеру, в l2character, определены базовые методы контроля броадкаста:
Код:
private FlowController<? extends L2Character> flowController;
public FlowController<? extends L2Character> getFlowController() {
if(flowController == null) {
flowController = createFlowController();
}
return flowController;
}
protected FlowController<? extends L2Character> createFlowController() {
FlowController<L2Character> flowController = new FlowController<>(this);
flowController.add(new ActorStatusUpdateController<>(this));
flowController.add(new ActorInfoController<>(this));
return flowController;
}
В наследниках, они могут переопределяться (игроки, суммоны). А в самом контроллере, просто есть методы для перебора уже конкретных реализаций броадкастеров (ActorStatusUpdateController, ActorInfoController, etc), которые следят за частотой броадкаста и изменении информации.
Если интересно, то отпиши в скуп, скину, как у меня сделана эта вся хрень.