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.