Skip to content

社交调度器与事件系统

组件
调度器引擎net.dasik.social.core.EntitySocialScheduler
事件注册表net.dasik.social.api.SocialEventRegistry
优先级别PriorityTier (CRITICAL, HIGH, NORMAL, LOW)
信号模式SignalType (DANGER, OWNER_ACTION, THUNDER, DEATH_CRY, FOOD_DETECTED, SOCIAL_INVITE)

🔄 双轨调度模型

每个社交实体均持有一个 EntitySocialScheduler,负责并行处理双轨任务:

  1. Mood Track (情绪长轨/长期行为状态):以较低频率(例如每 20-100 Tick)评估,用于更新情绪基准线、攻击倾向或耐力。
  2. Ambient Track (环境短轨/短期战术信号):以高频率(每 1-5 Tick)评估,用于对突发信号、威胁或集群转向调整作出即时反应。
ascii
                      ┌───────────────────────────────┐
                      │    EntitySocialScheduler      │
                      └───────────────┬───────────────┘

              ┌───────────────────────┴───────────────────────┐
              ▼                                               ▼
   ┌─────────────────────┐                         ┌─────────────────────┐
   │     Mood Track      │                         │    Ambient Track    │
   │ (Low Frequency Ticks)│                         │(High Frequency Ticks)│
   │ - Pack Hierarchy   │                         │ - Obstacle Avoidance│
   │ - Hunger / Fatigue  │                         │ - Signal Response   │
   └─────────────────────┘                         └─────────────────────┘

📢 SocialEventRegistry 与事件实现

下游模组实现 SocialEvent 并在模组初始化时向 SocialEventRegistry 注册实例:

java
public class HowlEvent implements SocialEvent {
    @Override public String getId() { return "betterdogs:howl"; }
    @Override public int getPriorityValue() { return 80; }
    @Override public String getTrackId() { return "pack_command"; }
    @Override public boolean canPreempt(SocialEvent other) { return other.getPriorityValue() < 80; }
    @Override public void onStart(TickContext context) {}
    @Override public boolean tick(TickContext context) { return false; }
    @Override public void onEnd(SocialEntity entity, EndReason reason) {}
}

// Register during mod initialization (frozen on first pulse)
SocialEventRegistry.register(new HowlEvent());

📊 优先级别矩阵

Tier最大轨道数分配策略典型用途
CRITICAL2即时覆盖,最高优先级脱离危险、战斗求生
HIGH8抢占低/普通优先级任务战术指令、狼群召唤
NORMAL16标准执行预算社交互动、常规游荡
LOW32最大容量,低优先级后台环境巡视

🔗 相关页面

Official documentation & web portal for Dasik Igaijinn mods.