Veil
Add advanced rendering to Minecraft mods with Veil — Veil 4.4.1 (MC 1.21.1) plus Veil 1.0.0.228 (…
by hairyf · MIT
The skill
Add advanced rendering to Minecraft mods with Veil — Veil 4.4.1 (MC 1.21.1) plus Veil 1.0.0.228 (MC 1.20.1): custom GLSL shaders, post-processing pipelines, JSON framebuffers, deferred lighting, data-driven particles (Quasar), animations (Graveyard/Necromancer), render types, in-world tooltips, OpenCL, and shader modification. Use when building Minecraft mod visuals, shaders, or game-engine-style rendering.
Veil is a rendering library for Minecraft mods (Fabric, Forge, NeoForge) that brings game-engine-level graphics to Java Minecraft: a full GLSL shader pipeline, JSON-driven framebuffers and post-processing, deferred lighting, data-driven particles and effects, procedural skeletal animation, and custom render types. Use these skills when adding shaders, post FX, lights, particles, animations, or custom render pipelines to a mod.
The skill is based on Veil v4.4.1 (Minecraft 1.21.1) and Veil v1.0.0.228 (Minecraft 1.20.1), generated at 2026-08-07, v1 content added 2026-08-08.
Core References
| Topic | Description | Reference |
|---|---|---|
| Setup & Resource Layout | Dependencies, maven repos, pinwheel/quasar/flare folders, hot reload, editors, commands |
core-getting-started |
| Shader Programs | Program JSON, shader stages, includes, definitions, textures, blending, required features | core-shaders |
| Uniforms & Uniform Blocks | Built-in uniforms, #veil:buffer blocks, uploading values from Java |
core-uniforms |
| Colors & Easings | Color utilities and the Easing helpers |
core-colors-easings |
Features
Rendering Pipeline
| Topic | Description | Reference |
|---|---|---|
| Framebuffers | Global JSON framebuffers, long/short forms, attachments, sampler aliases | features-framebuffers |
| Post-Processing | Pipeline JSON, stages (blit/copy/mask/depth), pipeline merging, fog example | features-post-processing |
| Dynamic Buffers | Deferred-style buffers (albedo/normal/light), shader tags and flags | features-dynamic-buffers |
| Deferred Lights | Point/area/directional/spot lights, custom light types, renderers, DDA occlusion | features-lights |
Render Types
| Topic | Description | Reference |
|---|---|---|
| Data-Driven Render Types | JSON render types, vertex formats, modes, and all layer shards | features-render-types |
| Render Type Stages | Custom RenderStateShards, fixed buffers, level-stage rendering, layered render types |
features-render-type-stages |
Content Systems
| Topic | Description | Reference |
|---|---|---|
| Quasar Particles | Data-driven particle emitters, shapes, settings, modules, spawning | features-quasar |
| Flare Effects | Data-driven effects: shells, properties, modifiers, templates, modules | features-flare |
| Necromancer Animations | Skeletons, bones, animators, animations, skins, entity rendering | features-necromancer |
Shader & Vertex Extras
| Topic | Description | Reference |
|---|---|---|
| Shader Injection | JSON injections with head()/tail(), redirect/replace, migration from old format |
features-shader-injection |
| Vertex Arrays | Uploadable vertex buffers with custom attributes and multi-buffer layouts | features-vertex-arrays |
| Veil Events | Platform-independent and Forge/Fabric-specific Veil events | features-events |
Best Practices
| Topic | Description | Reference |
|---|---|---|
| Dev Workflow | Editor usage, hot swapping, debugging, integration patterns | best-practices-workflow |
| Molang & Codecs | Molang expressions, codec-driven data files, registry extension points | best-practices-molang-codecs |
Veil 1 (MC 1.20.1)
For projects pinned to Veil 1.0.0.228 / Minecraft 1.20.1, use these references — they document the v1 API (foundry.veil.api.client.*, foundry.veil.api.quasar.*, foundry.veil.api.opencl.*), not the v4 API. The current wiki describes Veil 4.x and is misleading for 1.20.1 projects.
| Topic | Description | Reference |
|---|---|---|
| Getting Started | Maven, per-loader deps, resource layout, editors/hot reload, v1 vs v4 feature map | v1-getting-started |
| Shaders | Program JSON, stage extensions, includes, uniforms, definitions, textures | v1-shaders |
| Framebuffers | JSON long/short forms, dataType, FramebufferManager, AdvancedFbo |
v1-framebuffers |
| Post-Processing | Pipeline JSON, blit/copy/mask/depth_function stages, PostProcessingManager |
v1-post-processing |
| Render Types | JSON layer shards, Java-built/layered render types, v1 VeilRenderType#get caveat |
v1-render-types |
| Render Type Stages | RenderTypeStageRegistry, fixed buffers, level-stage rendering |
v1-render-type-stages |
| Deferred Lights | PointLight/AreaLight/DirectionalLight, LightRenderer, deferred framebuffer |
v1-lights |
| Quasar Particles | Emitter/module/particle-data JSON, shapes, spawning, custom modules | v1-quasar |
| Animations | Keyframe/Path timeline system; Necromancer stub status in 1.0.0.228 | v1-animations |
| Graveyard Skeletons | InterpolatedSkeleton, bones, AnimationProperties, meshes, constraints |
v1-graveyard |
| Colors & Easings | Color, filters, themes, easings.net curves |
v1-colors-easings |
| Poses | ExtendedPose/PoseRegistry custom item-use poses |
v1-poses |
| In-World Tooltips | Tooltippable, worldspace/screenspace, themes, item holders |
v1-tooltips |
| Events | VeilEventPlatform bridge + Forge/Fabric event classes |
v1-events |
| OpenCL | Environments, programs, kernels, buffers, event dispatch | v1-opencl |
| Shader Modification | shader_modifiers layout, directives, injection commands |
v1-shader-modification |
Note: in 1.0.0.228 the Necromancer package is an unfinished stub, and JSON render types have no runtime getter yet — use the Graveyard system and Java-built render types instead.
Use this skill
Connect your agent to the Skill Store MCP server and ask for it by ref: hairyf/veil-20573316496.
Details
- Publisher
- hairyf
- Category
- Creative & Media › Games
- License
- MIT
- Updated
- 2026-10-14
References
More from hairyf
- Anime Anime.js v4 - A fast, multipurpose and lightweight JavaScript animation library.
- Antfu Anthony Fu's opinionated tooling and conventions for JavaScript/TypeScript projects.
- Arch Nuxt Lite Vitesse Lite — lightweight Vite + Vue 3 SPA with file-based routing, UnoCSS, VueUse, Vitest.
- Arch Nuxt Module Builder Build and ship Nuxt modules with @nuxt/module-builder.