# @esengine/behavior-tree ## 4.2.0 ### Minor Changes - [#408](https://github.com/esengine/esengine/pull/408) [`b9ea8d1`](https://github.com/esengine/esengine/commit/b9ea8d14cf38e1480f638c229f9ee150b65f0c60) Thanks [@esengine](https://github.com/esengine)! - feat: add action() and condition() methods to BehaviorTreeBuilder Added new methods to support custom executor types directly in the builder: - `action(implementationType, name?, config?)` - Use custom action executors registered via `@NodeExecutorMetadata` - `condition(implementationType, name?, config?)` - Use custom condition executors This provides a cleaner API for using custom node executors compared to the existing `executeAction()` which only supports blackboard functions. Example: ```typescript // Define custom executor @NodeExecutorMetadata({ implementationType: 'AttackAction', nodeType: NodeType.Action, displayName: 'Attack', category: 'Combat' }) class AttackAction implements INodeExecutor { execute(context: NodeExecutionContext): TaskStatus { return TaskStatus.Success; } } // Use in builder const tree = BehaviorTreeBuilder.create('AI') .selector('Root') .action('AttackAction', 'Attack', { damage: 50 }) .end() .build(); ``` ## 4.1.2 ### Patch Changes - [#406](https://github.com/esengine/esengine/pull/406) [`0de4527`](https://github.com/esengine/esengine/commit/0de45279e612c04ae9be7fbd65ce496e4797a43c) Thanks [@esengine](https://github.com/esengine)! - fix(behavior-tree): export NodeExecutorMetadata as value instead of type Fixed the export of `NodeExecutorMetadata` decorator in `execution/index.ts`. Previously it was exported as `export type { NodeExecutorMetadata }` which only exported the type signature, not the actual function. This caused runtime errors in Cocos Creator: "TypeError: (intermediate value) is not a function". Changed to `export { NodeExecutorMetadata }` to properly export the decorator function. ## 4.1.1 ### Patch Changes - Updated dependencies [[`3e5b778`](https://github.com/esengine/esengine/commit/3e5b7783beec08e247f7525184935401923ecde8)]: - @esengine/ecs-framework@2.7.1 ## 4.1.0 ### Minor Changes - [#400](https://github.com/esengine/esengine/pull/400) [`d2af9ca`](https://github.com/esengine/esengine/commit/d2af9caae9d5620c5f690272ab80dc246e9b7e10) Thanks [@esengine](https://github.com/esengine)! - feat(behavior-tree): add pure BehaviorTreePlugin class for Cocos/Laya integration - Added `BehaviorTreePlugin` class that only depends on `@esengine/ecs-framework` - Implements `IPlugin` interface with `install()`, `uninstall()`, and `setupScene()` methods - Removed `esengine/` subdirectory that incorrectly depended on `@esengine/engine-core` - Updated package documentation with correct usage examples Usage: ```typescript import { Core, Scene } from '@esengine/ecs-framework'; import { BehaviorTreePlugin, BehaviorTreeBuilder, BehaviorTreeStarter } from '@esengine/behavior-tree'; Core.create(); const plugin = new BehaviorTreePlugin(); await Core.installPlugin(plugin); const scene = new Scene(); plugin.setupScene(scene); Core.setScene(scene); ``` ## 4.0.0 ### Patch Changes - Updated dependencies [[`1f3a76a`](https://github.com/esengine/esengine/commit/1f3a76aabea2d3eb8a5eb8b73e29127da57e2028)]: - @esengine/ecs-framework@2.7.0 ## 3.0.1 ### Patch Changes - Updated dependencies [[`04b08f3`](https://github.com/esengine/esengine/commit/04b08f3f073d69beb8f4be399c774bea0acb612e)]: - @esengine/ecs-framework@2.6.1 ## 3.0.0 ### Patch Changes - Updated dependencies []: - @esengine/ecs-framework@2.6.0 ## 2.0.1 ### Patch Changes - Updated dependencies [[`a08a84b`](https://github.com/esengine/esengine/commit/a08a84b7db28e1140cbc637d442552747ad81c76)]: - @esengine/ecs-framework@2.5.1 ## 2.0.0 ### Patch Changes - Updated dependencies [[`1f297ac`](https://github.com/esengine/esengine/commit/1f297ac769e37700f72fb4425639af7090898256)]: - @esengine/ecs-framework@2.5.0 ## 1.0.3 ### Patch Changes - Updated dependencies [[`7d74623`](https://github.com/esengine/esengine/commit/7d746237100084ac3456f1af92ff664db4e50cc8)]: - @esengine/ecs-framework@2.4.4 ## 1.0.2 ### Patch Changes - Updated dependencies [[`ce2db4e`](https://github.com/esengine/esengine/commit/ce2db4e48a7cdac44265420ef16e83f6424f4dea)]: - @esengine/ecs-framework@2.4.3