正文:
什么是 entm-core?
entm-core 是一个基于 TypeScript 编写的、专为 FiveM 设计的 ECS(实体组件系统)框架。它的灵感来源于 Tim Ford 关于《守望先锋》中如何运用 ECS 的演讲,其 API 设计得让那些使用过流行的 C++ ECS 库 EnTT 的开发者也能轻松上手。
ECS 是游戏开发中常见的一种架构模式。在这种模式下,不再由对象自行承载行为逻辑,而是采用以下结构:
– **实体**:仅包含一个 ID,没有其他内容
– **组件**:附加在实体上的纯数据(如位置、生命值、速度等)
– **系统**:针对拥有特定组件集合的实体运行的逻辑
《守望先锋》、《城市:天际线 2》以及《我的世界》的现代渲染器等都采用了这种模式。它具有出色的扩展性,能够实现逻辑解耦,并加快游戏状态的查询速度。
重要提示
这是一个面向开发者的工具与框架,本身无法独立运行。你需要编写模块(即独立的 FiveM 资源),将这些模块注册到该框架中,再利用它来创建实体、附加组件以及添加系统逻辑。可以把 entm-core 想象成引擎,而你的模块则相当于具体的游戏内容。
功能亮点
– 支持稀疏的组件存储结构,可实现快速遍历
– 通过 @sync 注解实现服务器端与客户端之间的组件同步
– 自动处理新加入游戏的玩家同步问题
– 内置玩家追踪功能
– 支持固定时间步长与可变时间步长的游戏循环
– 提供模块热重载功能
– 内置调试开关(可在服务器控制台输入 entm_debug 1 打开)
相关链接
– 核心代码库:GitHub – RatPrez/entm-core · GitHub
– 启动模板:GitHub – RatPrez/entm-template · GitHub
– 文档文档:entm-core/docs at master · RatPrez/entm-core · GitHub
补充说明
我并非 TypeScript 开发者,相比 C++,TypeScript 是除 C# 之外最合适的选项,不过在我看来 C# 在 FiveM 中的可用性稍低一些,因此代码中可能存在错误。
该框架是免费提供的,且会一直保持免费,没有任何附加条件。
我觉得这是一个很棒的项目,认为可能还有其他人能从中受益,所以才将其分享出来。我不会密切关注这个帖子,如果你遇到漏洞或希望提出功能需求,建议在 GitHub 上创建问题或讨论帖——那样我能更快地看到你的反馈。如果你认为自己能写出更好的版本,也欢迎提交 Pull Request,我很期待看到你的成果。
如果你使用该框架开发了什么作品,我真的非常希望能看到你的创作。

![[ESX] Poud Mine – 适用于 Fivem 服务器的采矿扩展模块。fivem资源网-fivem插件网-fivem脚本-fivem技术-fivem分享FIVEM资源网](https://forum-cfx-re.akamaized.net/original/5X/3/2/1/8/32187f638d9dc2d57e79a381eafb06ea782fbd02.jpeg)
![[esx/qbcore]记分牌4种风格fivem资源网-fivem插件网-fivem脚本-fivem技术-fivem分享FIVEM资源网](https://forum-cfx-re.akamaized.net/optimized/5X/9/d/2/0/9d20e03f5c6b162c3cf2efd1e1045d24d657c757_2_1024x682.jpeg)
![[免费] MG Garages — FiveM 车库系统 | ESX & QBCorefivem资源网-fivem插件网-fivem脚本-fivem技术-fivem分享FIVEM资源网](https://forum-cfx-re.akamaized.net/original/5X/f/a/9/b/fa9bf93ce1386e1d8a503fe4e7beb6142ac40d16.jpeg)

![[免费] PUB YELLOW JACK | MLO [免费]fivem资源网-fivem插件网-fivem脚本-fivem技术-fivem分享FIVEM资源网](https://forum-cfx-re.akamaized.net/original/5X/0/0/b/a/00baa7001127e878383f160ac60a47bed82bdcd1.jpeg)
![[免费] 🎬 HKN Works | 欢迎界面fivem资源网-fivem插件网-fivem脚本-fivem技术-fivem分享FIVEM资源网](https://forum.cfx.re/images/emoji/twitter/clapper_board.png?v=15)





暂无评论内容