Skip to content
41 changes: 41 additions & 0 deletions directives/block.properties.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# `block.properties`

## Implementation Support

* ❌ ShadersMod
* ✔️ OptiFine
* ✔️ Iris

## Block Rendering Options

### Render Layer Changes

Layer Changes allow you to change what layer a block renders on.

#### Representation

```java
layer.solid=<blocks>
layer.cutout=<blocks>
layer.cutout_mipped=<blocks>
layer.translucent=<blocks>
```

#### Example

```
# Change Stone To A Translucent Block
layer.translucent=stone
```

#### Default

No change. If this option is not present then the blocks render in the way that mojang has chosen.

#### Implementation Support

* ❌ ShadersMod
* ✔️ OptiFine
* ✔️ Iris

Note: Optifine Only Has Partial Support
43 changes: 43 additions & 0 deletions directives/properties.md → directives/shader.properties.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,49 @@
* ✔️ OptiFine
* ✔️ Iris

## Custom Textures

### Registering

Custom Textures allow you to create a custom texture2D sampler, allowing you to use them.

#### Representation

```java
customTexture.<name> = <path>
```

Paths use the root folder of shaders

#### Example

```
# Addded A LUT for Sunlight with the texture in shaders/textures
customTexture.sunlightLUT = textures/sunlightLUT.png
```

#### Usage

```
#In an fsh file, using the example above
uniform sampler2D sunlightLUT; // The Sunlight LUT

#Gets the color at 0.5, 0
vec4 color = vec4(texture(sunlightLUT, vec2(0.5, 0)), 1.0)
```

#### Default

No change. If this option is not present, then no custom samplers are present.

#### Implementation Support

* ❌ ShadersMod
* ✔️ OptiFine
* ✔️ Iris

Note: Optifine has diffrent syntax.

## Rendering detail toggles

### Clouds mode
Expand Down