dgc_support-0.1.0-beta.jar
Curse Maven Snippet
What's new
## [0.1.0-beta] — 2026-09-30
First public beta release of DGC Support for Minecraft 1.21.1 with NeoForge.
### Core API
- Added `DgcSupportApi` as the library's simplified entry point.
- Added `DgcModelApi` as a singleton service for model detection and loading.
- Added `DgcModelLoader` for loading models from a `Path`.
- Added loading from an `InputStream` with automatic format detection.
- Added the `isDgcModel`, `isBbModel`, and `isSupportedModel` methods.
- Added manifest loading through `loadManifest`.
- Added error messages for missing, empty, or invalid JSON files.
### Model formats
- Added support for `.dgcmodel` packages.
- Added direct support for native `.bbmodel` files without requiring prior conversion.
- Added support for reading `model.bbmodel`, with `model.json` as a fallback inside `.dgcmodel` packages.
- Added automatic manifest generation for `.bbmodel` files.
- Added support for reading the Blockbench project's texture resolution.
- `.bbmodel` files are no longer removed during resource processing and JAR generation.
### Model structure
- Added `DgcModelData` as the complete representation of a loaded model.
- Added support for cubes and faces with UV coordinates, rotation, textures, and `cullface`.
- Added support for meshes, vertices, polygons, and per-vertex UV coordinates.
- Added support for hierarchical groups and bones from the Blockbench outliner.
- Added billboard support.
- Added support for splines and curves.
- Added null object support.
- Added support for locators and their association with bones.
- Added support for item, hand, ground, head, and GUI display transforms.
- Added calculation and caching of the model's geometric center.
### Runtime queries and editing
- Added lookup of bones, cubes, meshes, billboards, splines, null objects, locators, and animations by name, UUID, or index when applicable.
- Added programmatic modification of bone position and rotation.
- Added modification of cube bounds and rotation.
- Added modification of mesh origin and rotation.
- Added editing and removal of mesh vertices.
- Added modification of null object and locator positions.
- Added access to raw textures, registered textures, animations, colliders, and model metadata.
### Textures
- Added loading of textures stored inside `.dgcmodel` packages.
- Added loading of Base64 textures embedded in `.bbmodel` files.
- Added loading of external textures through relative paths, absolute paths, and `file:` URIs.
- Added dynamic texture registration on the Minecraft client.
- Added a white fallback texture for models without a valid texture.
- Added resolution of Blockbench texture references by index, ID, UUID, name, and `#` prefix.
- Fixed `texture_map` loading from `.dgcmodel` manifests.
- Centralized texture preparation in the model renderer, covering items, blocks, and direct API rendering calls.
### Client-side rendering
- Added `DgcModelRenderer` for rendering cubes, meshes, billboards, and splines.
- Added recursive rendering of bones and groups.
- Added animated position, rotation, and scale transforms.
- Added options for rendering internal faces and culling adjacent faces.
- Added support for lighting, overlays, color, and transparency.
- Added `DgcItemRenderer` for custom item models.
- Added Blockbench display context transforms for items.
- Added `HasDgcModel` for entities and integrations that provide DGC geometry and a default texture.
### Animations
- Added `DgcAnimation`, `DgcAnimationController`, `DgcAnimatorChannel`, and `DgcKeyframe`.
- Added position, rotation, and scale channels for each bone.
- Added interpolation between keyframes.
- Added playback, stopping, speed, current time, and looping controls.
- Added automatic `idle` playback for items, falling back to the first available animation.
- Added animation loading from `animation.json` and directly from `.bbmodel` files.
### Locators and particles
- Added locator lookup by name with flexible matching.
- Added world-space locator position calculation based on entity rotation.
- Added a utility for spawning particles directly at a locator's position.
### Colliders and hitboxes
- Added support for reading `collider.json` from `.dgcmodel` packages.
- Added collider detection inside `.bbmodel` files through groups and elements named collider or collision.
- Added the `CustomShape` and `HasCustomHitbox` APIs.
- Added `CompoundShape` for hitboxes composed of multiple boxes, including yaw, pitch, and roll support.
- Added `TriangleMeshShape` for triangle-, prism-, and ribbon-segment-based collision.
- Added intersection tests, raycasts, encompassing AABBs, and surface-normal calculation.
- Integrated Minecraft projectile raycasts with custom hitboxes.
- Added client-side custom hitbox visualization in debug mode.
### Debug mode
- Added `setDebugMode`, `isDebugMode`, and `toggleDebugMode`.
- Added wireframe visualization for cubes, meshes, bones, locators, billboards, and splines.
- Added detection of the model element currently targeted by the crosshair.
### DG Utilities integration
- Added registration of items and blocks using `.dgcmodel` or `.bbmodel` models.
- Added recognition of `"render_type": "dgcmodel"` and `"render_type": "bbmodel"`.
- Added automatic format detection from the `model` field when its value ends in `.dgcmodel` or `.bbmodel`.
- Added model lookup in `assets/<modid>/register/dgcmodel`, `register/bbmodel`, `models/dgcmodel`, and `models/bbmodel`.
- Added a block entity renderer with horizontal orientation, lighting, and face-rendering options.
### Environment and compatibility
- Structured the mod for both client and server environments (`BOTH`).
- Model data, animation, and collision loading are available in common code.
- Rendering, dynamic textures, and visual features are isolated to the client.
- Added a common projectile collision mixin and a separate client debug-rendering mixin.
- Compatible with Java 21, Minecraft 1.21.1, and NeoForge 21.1.
### Documentation and mod identity
- Added API documentation with model loading, rendering, animation, locator, and hitbox examples.
- Added a custom icon to the mod information page.
- Added the official Discord server as the community and support page: <https://discord.gg/2B5wGug4nu>.
- Set the mod version to `0.1.0-beta`, independently from the other modules in the workspace.
### Fixes included in this release
- Fixed per-face texture mapping for native Blockbench references.
- Fixed `.bbmodel` resource packaging in DGC Support and DG Utilities.
- Fixed embedded texture handling across different rendering paths.
- Fixed preservation of texture aliases from existing manifests.
### Beta release notes
- Rendering features must only be called on the client.
- Dedicated servers can use model data loading, animations, colliders, and hitboxes without executing rendering classes.
- The `.dgcmodel` format remains fully supported; `.bbmodel` is an additional option and does not replace it.
This mod has no additional files

