SBW Mesh Loader
Please note that installing this mod itself will not add any fighter jets or tanks. This mod is in beta. Please be aware that it may behave unexpectedly. If you'd like to add tanks and fighter jets, please download “Superb Modern Combat” along with this mod.
Please note that if you want to use this mod to create an SBW add-on for a mesh model and release it, you must define this mod as a dependency.
Please do not report any bugs encountered with this SBW Mesh Loader to the Superb Warfare servers under any circumstances. Please report them in the comments section of this mod or on Vell's Mods info server.
⚠ Temporary support notice: This mod is intended as a stopgap solution until Superb Warfare officially supports mesh models natively. Once SBW ships built-in poly_mesh support, this library will no longer be maintained or necessary. Plan your addon accordingly.
SBW Mesh Loader is a client-side library mod for Superb Warfare addons that enables Blockbench poly_mesh geometry to be rendered in-game via hardware-accelerated VBOs (Vertex Buffer Objects). It bridges the gap between Bedrock-format poly_mesh geometry and SBW's existing simplebedrockmodel rendering pipeline — letting addon authors use freeform mesh geometry today, before SBW supports it officially.
Key features
- VBO rendering — Per-light-level VBO caching enables fast GPU draw calls, switching to a VertexConsumer fallback on first entry to a new light level.
- Translucency support — Bones named with
translucent are routed through MultiBufferSource for correct depth-sorting.
- Quad triangulation — Automatically expands triangles into degenerate quads (v0,v1,v2,v2) to match Minecraft's QUADS vertex format.
For addon developers
Add this mod as a mandatory dependency in your mods.toml, then use the three-class API:
- Declare
sbwmeshloader as a mandatory dependency in your [[dependencies]] block.
- Load your geo JSON once via
PolyMeshLoader.loadModel(ResourceLocation). Returns null on failure — handle gracefully.
- In your renderer's
render() method, call polyMeshModel.renderWithTranslucentSplit(poseStack, bufferSource, texture, packedLight).
- On world unload or model disposal, call
polyMeshModel.close() to release GPU resources.
For detailed instructions, please refer to the Superb Modern Combat source code.
License
Released under the GPL-3.0 License.