🚧 开发中
方块实体
方块实体是一种奇特的混合体 —— 既不是纯粹的方块,也不是纯粹的实体,而是介于两者之间。从外表看,它就像其他方块一样,但底层却能像实体一样存储数据。这意味着它可以承载无限数据,非常适合打造工业机器、自定义容器或交互式工作方块等。
基于实体的方块渲染
客户端对方块变体数量有限制,当我们需要拥有独特碰撞箱的自定义方块时,就必须动脑筋。我们使用带有隐藏纹理的方块状态(如屏障或隐形方块)仅用于碰撞,而真正的视觉效果则由展示实体负责呈现。
秘诀是 —— 虽然玩家看到的是屏障或隐形方块,但在服务器端看来它们仍然是功能齐全的自定义方块,拥有自己的行为。
因此,我们依然可以调整硬度或发光等属性——非常适合制作发光的家具。
进度
CraftEngine 需要自定义进度,因为原版 Minecraft 将进度与配方紧密绑定。在原版中,某些配方是被进度锁定的 —— 比如第一次进入水中后才解锁船的合成。
译者注:如果你不了解进度是什么,可以阅读成就(消歧义)
内置简易地形生成器
提示
我去,有些插件居然尝试用 Bukkit 的 ChunkLoadEvent 来实现简单的矿物或地物生成。但问题是 —— 这不仅严重影响性能,还会导致出现大量矿物堆积在单个区块的抽象问题,而不是分布在多个区块的自然矿脉。
你可以选择 Iris、Terra 或数据包等地形/矿物/结构生成方案。因为 CraftEngine 注入了真实的服务器端侧方块,理论上所有地形插件都兼容。当然,你也可以等待 CraftEngine 未来推出自己的解决方案。