Skip to content

🤖 行動プロファイル、Goalフラグと状態アクセサ ​

📌 リポジトリソースコードに関する免責事項: 本Wikiドキュメントはリポジトリの最新ソースコード状態を反映しており、CurseForgeやModrinthで公開されているリリース版に含まれない開発中機能を含む場合があります。

📊 AI Goal 優先順位マトリクス ​

All custom goals set move flags (this.setFlags(EnumSet.of(Goal.Flag.MOVE))) to prevent conflicting movement vector calculations:

Priority LevelGoal ClassActivation ConditionBehavior Summary
Priority 1BatPanicGoalAcoustic vibration detected (distSq < 256.0)Instant flock dispersion, rapid fleeing away from disturbance
Priority 2BatSleepGoalDaytime (world.isDay()) or darkness retreatSeeks dark ceilings, stalactites, lanterns; hangs inverted
Priority 3BatHuntLightGoalNighttime & artificial light within 10 blocksApproaches lantern/torch, transitions into circular banking orbit
Priority 4BatDiveBombGoalSilverfish / Endermite within 8 blocksAscends, locks target, delivers high-speed dive-bomb impact
Priority 5BatFlightHelper / FlockingAirborne, no high-priority interruptsContinuous 3D BOIDs cohesion, alignment, separation flight

☕ 個人開発者ノート: 3D BOIDsによるコウモリのリアルな群飛やグアノによる作物施肥を気に入っていただけたら、ぜひ Ko-fi でのご支援をお願いします!


🔌 BatStateAccessor インターフェース ​

BatStateAccessor allows external mods or internal mixins to inspect live bat state without reflection:

java
public interface BatStateAccessor {
    boolean betterbats$isPanicking();
    boolean betterbats$isHuntingLight();
    BlockPos betterbats$getTargetLightPos();
}

See also: アーキテクチャとパッケージ | 他Mod向け連携ガイド

Official documentation & web portal for Dasik Igaijinn mods.