Home - jedlimlx/supplemental-patches GitHub Wiki
Supplemental Patches enables users to create custom shaders for modded blocks, entities, items, particles, etc, through a resource-pack.
Pre-requisites
To build a resource-pack that Supplemental Patches can use, you will need
- A suitable text editor for modifying shader code.
- An instance of Minecraft with Iris / Oculus, Complementary Shaders and Euphoria Patches. Note that Supplemental Patches DOES NOT work with Optifine.
- A basic understanding of the syntax of OpenGL Shading Language (GLSL), which for the most part, is largely similar to C.
Getting Started
You will need to create a resource-pack to add new shaders. An example of the directory structure is below, taken from the default Supplemental Patches resource pack. All files should be located under "euphoria/".
.
├── <your mod / resource pack id>
│ └── euphoria
│ ├── block.properties.json
│ ├── entity.properties.json
│ ├── item.properties.json
│ ├── atmospherics
│ │ └── fog
│ │ ├── fogs
│ │ │ ├── doom_and_gloom_fog.glsl
│ │ │ └── sandstorm_fog.glsl
│ │ └── functions
│ │ ├── doom_and_gloom_fog.glsl
│ │ └── sandstorm_fog.glsl
│ ├── block_entity
│ │ ├── aquarium.glsl
│ │ ├── aquarium.json
│ │ ...
│ ├── colors
│ │ ├── buzzier_bees
│ │ │ ├── cupric_candle.json
│ │ │ ├── ender_candle.json
│ │ │ └── soul_candle.json
│ │ ...
│ ├── deferred
│ │ ├── caverns_and_chasms
│ │ │ ├── sanguine.glsl
│ │ │ └── sanguine.json
│ │ ...
│ ├── entity
│ │ ├── enderman_overhaul
│ │ │ ├── crimson_forest_enderman.glsl
│ │ │ └── crimson_forest_enderman.json
│ │ ...
│ ├── items
│ │ ├── caverns_and_chasms
│ │ │ ├── golden_bucket.glsl
│ │ │ └── golden_bucket.json
│ │ ...
│ ├── mixins
│ │ ├── doom_and_gloom
│ │ │ ├── aurora_visibility.glsl
│ │ │ └── aurora_visibility.json
│ │ ...
│ ├── particles
│ │ ├── potion_effect.glsl
│ │ ├── potion_effect.json
│ │ ...
├── settings
│ │ ├── caverns_and_chasms
│ │ │ ├── glowing_mime_energy.json
│ │ │ ├── glowing_silver_ore.json
│ │ │ ├── glowing_soul_silver_ore.json
│ │ │ └── glowing_spinel_ore.json
│ │ ├── caverns_and_chasms.json
│ │ ├── divider.json
│ │ ...
│ ├── specific_materials
│ │ ├── caverns_and_chasms
│ │ │ ├── spinel_block.glsl
│ │ │ └── spinel_block.json
│ │ ...
│ ├── terrain
│ │ ├── buzzier_bees
│ │ │ ├── soul_candle.glsl
│ │ │ └── soul_candle.json
│ │ ...
│ ├── tints
│ │ ├── dye_depot
│ │ │ │── stained_glass
│ │ │ │ ├── amber.json
│ │ │ │ └── aqua.json
│ │ │ ...
│ ├── translucent
│ │ ├── quark
│ │ │ └── corundum
│ │ │ ├── crystal_lamps.glsl
│ │ │ └── crystal_lamps.json
│ │ ...
│ ├── uniforms
│ │ └── brain_damage.json
│ │ ...
│ └── waving
│ ├── functions
│ │ └── waving_curtain.glsl
│ └── objects
│ ├── waving_gilded_beads.glsl
│ └── waving_gilded_beads.json
...
Each of the different features of Supplemental Patches (separated into the different folders shown above) are detailed below:
- *.properties.json
- Material Shaders
- Basic Materials
- Blocks (Opaque)
- Blocks (Translucent)
- Block Entities
- Items
- Entities
- Deferred Materials
- Particle Shaders
- Waving Objects
- Basic Materials
- Advanced Coloured Lighting (ACL)
- Colors
- Tints
- Atmospherics
- Fog
- Shader Mixins