diff --git a/shaders/block.properties b/shaders/block.properties index 1b3e5cd..7c5a0ee 100644 --- a/shaders/block.properties +++ b/shaders/block.properties @@ -71,66 +71,108 @@ block.109=candle:candles=4:lit=true black_candle:candles=4:lit=true blue_candle: block.110=cave_vines_plant:berries=true cave_vines:berries=true -block.111=conduit +block.111=comparator:powered=true -block.112=crying_obsidian +block.112=copper_bulb:lit=true waxed_copper_bulb:lit=true -block.113=end_gateway +block.113=exposed_copper_bulb:lit=true waxed_exposed_copper_bulb:lit=true -block.114=end_rod +block.114=oxidized_copper_bulb:lit=true waxed_oxidized_copper_bulb:lit=true -block.115=fire campfire:lit=true +block.115=weathered_copper_bulb:lit=true waxed_weathered_copper_bulb:lit=true -block.116=ochre_froglight +block.116=conduit -block.117=pearlescent_froglight +block.117=crying_obsidian -block.118=verdant_froglight +block.118=end_gateway -block.119=glow_lichen +block.119=end_rod -block.120=glowstone +block.120=fire campfire:lit=true -block.121=jack_o_lantern +block.121=ochre_froglight -block.122=lantern +block.122=pearlescent_froglight -block.123=lava +block.123=verdant_froglight -block.124=magma_block +block.124=glow_lichen -block.125=redstone_lamp:lit=true +block.125=glowstone -block.126=redstone_torch:lit=true redstone_wall_torch:lit=true +block.126=jack_o_lantern -block.127=respawn_anchor:charges=4 +block.127=lantern -block.128=sculk_sensor:sculk_sensor_phase=active +block.128=lava -block.129=sea_pickle:waterlogged=true:pickles=1 +block.129=magma_block -block.130=sea_pickle:waterlogged=true:pickles=2 +block.130=redstone_lamp:lit=true -block.131=sea_pickle:waterlogged=true:pickles=3 +block.131=redstone_torch:lit=true redstone_wall_torch:lit=true -block.132=sea_pickle:waterlogged=true:pickles=4 +block.132=redstone_wire:power=1 -block.133=sea_lantern +block.133=redstone_wire:power=2 -block.134=shroomlight +block.134=redstone_wire:power=3 -block.135=smoker:lit=true +block.135=redstone_wire:power=4 -block.136=soul_fire soul_campfire:lit=true +block.136=redstone_wire:power=5 -block.137=soul_lantern +block.137=redstone_wire:power=6 -block.138=soul_torch soul_wall_torch +block.138=redstone_wire:power=7 -block.139=torch wall_torch +block.139=redstone_wire:power=8 -block.140=westerosblocks:safe_fire -block.141=conquest:white_paper_lantern conquest:yellow_paper_lantern conquest:small_red_paper_lantern conquest:chinese_palace_lantern conquest:campfire conquest:brazier conquest:hanging_brazier conquest:chandelier conquest:candelabra conquest:cross_chandelier conquest:iron_candelabrum_1 conquest:golden_candelabrum_1 conquest:candle conquest:hanging_candle_holder conquest:candle_in_a_lantern conquest:candles conquest:hand_candle conquest:torch_with_grille conquest:elven_hand_light conquest:ship_lantern conquest:victorian_lantern conquest:small_lantern conquest:big_lantern conquest:hanging_oil_lamp conquest:oil_lamp conquest:terracotta_oil_lamp conquest:invisible_light_low conquest:invisible_light_medium conquest:invisible_light +block.140=redstone_wire:power=9 + +block.141=redstone_wire:power=10 + +block.142=redstone_wire:power=11 + +block.143=redstone_wire:power=12 + +block.144=redstone_wire:power=13 + +block.145=redstone_wire:power=14 + +block.146=redstone_wire:power=15 + +block.147=repeater:powered=true + +block.148=respawn_anchor:charges=4 + +block.149=sculk_sensor:sculk_sensor_phase=active + +block.150=sea_pickle:waterlogged=true:pickles=1 + +block.151=sea_pickle:waterlogged=true:pickles=2 + +block.152=sea_pickle:waterlogged=true:pickles=3 + +block.153=sea_pickle:waterlogged=true:pickles=4 + +block.154=sea_lantern + +block.155=shroomlight + +block.156=smoker:lit=true + +block.157=soul_fire soul_campfire:lit=true + +block.158=soul_lantern + +block.159=soul_torch soul_wall_torch + +block.160=torch wall_torch + +block.161=westerosblocks:safe_fire +block.162=conquest:white_paper_lantern conquest:yellow_paper_lantern conquest:small_red_paper_lantern conquest:chinese_palace_lantern conquest:campfire conquest:brazier conquest:hanging_brazier conquest:chandelier conquest:candelabra conquest:cross_chandelier conquest:iron_candelabrum_1 conquest:golden_candelabrum_1 conquest:candle conquest:hanging_candle_holder conquest:candle_in_a_lantern conquest:candles conquest:hand_candle conquest:torch_with_grille conquest:elven_hand_light conquest:ship_lantern conquest:victorian_lantern conquest:small_lantern conquest:big_lantern conquest:hanging_oil_lamp conquest:oil_lamp conquest:terracotta_oil_lamp conquest:invisible_light_low conquest:invisible_light_medium conquest:invisible_light ####### ----- reflective translucents / glass ----- ####### @@ -237,4 +279,5 @@ block.400=minecraft:end_portal block.401=minecraft:oak_sign minecraft:spruce_sign minecraft:birch_sign minecraft:jungle_sign minecraft:acacia_sign minecraft:dark_oak_sign minecraft:mangrove_sign minecraft:crimson_sign minecraft:warped_sign minecraft:oak_wall_sign minecraft:spruce_wall_sign minecraft:birch_wall_sign minecraft:jungle_wall_sign minecraft:acacia_wall_sign minecraft:dark_oak_wall_sign minecraft:mangrove_wall_sign minecraft:crimson_wall_sign minecraft:warped_wall_sign ## workaround mixed render stages -block.402=minecraft:redstone_wire +##= BLOCK_REDSTONE_WIRE +##block.*= minecraft:redstone_wire diff --git a/shaders/dimensions/setup.csh b/shaders/dimensions/setup.csh index f7e156f..24ec0c2 100644 --- a/shaders/dimensions/setup.csh +++ b/shaders/dimensions/setup.csh @@ -8,6 +8,8 @@ const ivec3 workGroups = ivec3(4, 5, 1); const vec3 LightColor_Amethyst = vec3(0.464, 0.227, 0.788); const vec3 LightColor_Candles = vec3(1.0, 0.4, 0.1); + const vec3 LightColor_CopperBulb = vec3(1.0); + const vec3 LightColor_RedstoneTorch = vec3(0.939, 0.305, 0.164); const vec3 LightColor_SeaPickle = vec3(0.283, 0.394, 0.212); uint BuildLpvMask(const in uint north, const in uint east, const in uint south, const in uint west, const in uint up, const in uint down) { @@ -103,6 +105,30 @@ void main() { lightRange = 14.0; mixWeight = 1.0; break; + + #ifdef LPV_REDSTONE + case BLOCK_COMPARATOR_LIT: + lightColor = LightColor_RedstoneTorch; + lightRange = 4.0; + break; + #endif + + case BLOCK_COPPER_BULB_LIT: + lightColor = LightColor_CopperBulb; + lightRange = 15.0; + break; + case BLOCK_COPPER_BULB_EXPOSED_LIT: + lightColor = LightColor_CopperBulb; + lightRange = 12.0; + break; + case BLOCK_COPPER_BULB_OXIDIZED_LIT: + lightColor = LightColor_CopperBulb; + lightRange = 4.0; + break; + case BLOCK_COPPER_BULB_WEATHERED_LIT: + lightColor = LightColor_CopperBulb; + lightRange = 8.0; + break; case BLOCK_CONDUIT: lightColor = vec3(1.0); lightRange = 15.0; @@ -166,9 +192,78 @@ void main() { lightRange = 15.0; break; case BLOCK_REDSTONE_TORCH_LIT: - lightColor = vec3(0.939, 0.305, 0.164); + lightColor = LightColor_RedstoneTorch; lightRange = 7.0; break; + + #ifdef LPV_REDSTONE + case BLOCK_REDSTONE_WIRE_1: + lightColor = LightColor_RedstoneTorch; + lightRange = 0.5; + break; + case BLOCK_REDSTONE_WIRE_2: + lightColor = LightColor_RedstoneTorch; + lightRange = 1.0; + break; + case BLOCK_REDSTONE_WIRE_3: + lightColor = LightColor_RedstoneTorch; + lightRange = 1.5; + break; + case BLOCK_REDSTONE_WIRE_4: + lightColor = LightColor_RedstoneTorch; + lightRange = 2.0; + break; + case BLOCK_REDSTONE_WIRE_5: + lightColor = LightColor_RedstoneTorch; + lightRange = 2.5; + break; + case BLOCK_REDSTONE_WIRE_6: + lightColor = LightColor_RedstoneTorch; + lightRange = 3.0; + break; + case BLOCK_REDSTONE_WIRE_7: + lightColor = LightColor_RedstoneTorch; + lightRange = 3.5; + break; + case BLOCK_REDSTONE_WIRE_8: + lightColor = LightColor_RedstoneTorch; + lightRange = 4.0; + break; + case BLOCK_REDSTONE_WIRE_9: + lightColor = LightColor_RedstoneTorch; + lightRange = 4.5; + break; + case BLOCK_REDSTONE_WIRE_10: + lightColor = LightColor_RedstoneTorch; + lightRange = 5.0; + break; + case BLOCK_REDSTONE_WIRE_11: + lightColor = LightColor_RedstoneTorch; + lightRange = 5.5; + break; + case BLOCK_REDSTONE_WIRE_12: + lightColor = LightColor_RedstoneTorch; + lightRange = 6.0; + break; + case BLOCK_REDSTONE_WIRE_13: + lightColor = LightColor_RedstoneTorch; + lightRange = 6.5; + break; + case BLOCK_REDSTONE_WIRE_14: + lightColor = LightColor_RedstoneTorch; + lightRange = 7.0; + break; + case BLOCK_REDSTONE_WIRE_15: + lightColor = LightColor_RedstoneTorch; + lightRange = 7.5; + break; + + case BLOCK_REPEATER_LIT: + lightColor = LightColor_RedstoneTorch; + lightRange = 4.0; + break; + #endif + case BLOCK_RESPAWN_ANCHOR_4: lightColor = vec3(1.0, 0.2, 1.0); lightRange = 15.0; diff --git a/shaders/lib/blocks.glsl b/shaders/lib/blocks.glsl index 2061e06..072d78b 100644 --- a/shaders/lib/blocks.glsl +++ b/shaders/lib/blocks.glsl @@ -24,35 +24,56 @@ #define BLOCK_CANDLES_LIT_3 108 #define BLOCK_CANDLES_LIT_4 109 #define BLOCK_CAVE_VINE_BERRIES 110 -#define BLOCK_CONDUIT 111 -#define BLOCK_CRYING_OBSIDIAN 112 -#define BLOCK_END_GATEWAY 113 -#define BLOCK_END_ROD 114 -#define BLOCK_FIRE 115 -#define BLOCK_FROGLIGHT_OCHRE 116 -#define BLOCK_FROGLIGHT_PEARLESCENT 117 -#define BLOCK_FROGLIGHT_VERDANT 118 -#define BLOCK_GLOW_LICHEN 119 -#define BLOCK_GLOWSTONE 120 -#define BLOCK_JACK_O_LANTERN 121 -#define BLOCK_LANTERN 122 -#define BLOCK_LAVA 123 -#define BLOCK_MAGMA 124 -#define BLOCK_REDSTONE_LAMP_LIT 125 -#define BLOCK_REDSTONE_TORCH_LIT 126 -#define BLOCK_RESPAWN_ANCHOR_4 127 -#define BLOCK_SCULK_SENSOR_ACTIVE 128 -#define BLOCK_SEA_PICKLE_WET_1 129 -#define BLOCK_SEA_PICKLE_WET_2 130 -#define BLOCK_SEA_PICKLE_WET_3 131 -#define BLOCK_SEA_PICKLE_WET_4 132 -#define BLOCK_SEA_LANTERN 133 -#define BLOCK_SHROOMLIGHT 134 -#define BLOCK_SMOKER_LIT 135 -#define BLOCK_SOUL_FIRE 136 -#define BLOCK_SOUL_LANTERN 137 -#define BLOCK_SOUL_TORCH 138 -#define BLOCK_TORCH 139 +#define BLOCK_COMPARATOR_LIT 111 +#define BLOCK_COPPER_BULB_LIT 112 +#define BLOCK_COPPER_BULB_EXPOSED_LIT 113 +#define BLOCK_COPPER_BULB_OXIDIZED_LIT 114 +#define BLOCK_COPPER_BULB_WEATHERED_LIT 115 +#define BLOCK_CONDUIT 116 +#define BLOCK_CRYING_OBSIDIAN 117 +#define BLOCK_END_GATEWAY 118 +#define BLOCK_END_ROD 119 +#define BLOCK_FIRE 120 +#define BLOCK_FROGLIGHT_OCHRE 121 +#define BLOCK_FROGLIGHT_PEARLESCENT 122 +#define BLOCK_FROGLIGHT_VERDANT 123 +#define BLOCK_GLOW_LICHEN 124 +#define BLOCK_GLOWSTONE 125 +#define BLOCK_JACK_O_LANTERN 126 +#define BLOCK_LANTERN 127 +#define BLOCK_LAVA 128 +#define BLOCK_MAGMA 129 +#define BLOCK_REDSTONE_LAMP_LIT 130 +#define BLOCK_REDSTONE_TORCH_LIT 131 +#define BLOCK_REDSTONE_WIRE_1 132 +#define BLOCK_REDSTONE_WIRE_2 133 +#define BLOCK_REDSTONE_WIRE_3 134 +#define BLOCK_REDSTONE_WIRE_4 135 +#define BLOCK_REDSTONE_WIRE_5 136 +#define BLOCK_REDSTONE_WIRE_6 137 +#define BLOCK_REDSTONE_WIRE_7 138 +#define BLOCK_REDSTONE_WIRE_8 139 +#define BLOCK_REDSTONE_WIRE_9 140 +#define BLOCK_REDSTONE_WIRE_10 141 +#define BLOCK_REDSTONE_WIRE_11 142 +#define BLOCK_REDSTONE_WIRE_12 143 +#define BLOCK_REDSTONE_WIRE_13 144 +#define BLOCK_REDSTONE_WIRE_14 145 +#define BLOCK_REDSTONE_WIRE_15 146 +#define BLOCK_REPEATER_LIT 147 +#define BLOCK_RESPAWN_ANCHOR_4 148 +#define BLOCK_SCULK_SENSOR_ACTIVE 149 +#define BLOCK_SEA_PICKLE_WET_1 150 +#define BLOCK_SEA_PICKLE_WET_2 151 +#define BLOCK_SEA_PICKLE_WET_3 152 +#define BLOCK_SEA_PICKLE_WET_4 153 +#define BLOCK_SEA_LANTERN 154 +#define BLOCK_SHROOMLIGHT 155 +#define BLOCK_SMOKER_LIT 156 +#define BLOCK_SOUL_FIRE 157 +#define BLOCK_SOUL_LANTERN 158 +#define BLOCK_SOUL_TORCH 159 +#define BLOCK_TORCH 160 #define BLOCK_GLASS 201 #define BLOCK_HONEY 202 #define BLOCK_ICE 203 @@ -98,4 +119,3 @@ #define BLOCK_TRAPDOOR_W 322 #define BLOCK_END_PORTAL 400 #define BLOCK_SIGN 401 -#define BLOCK_REDSTONE_WIRE 402 diff --git a/shaders/lib/settings.glsl b/shaders/lib/settings.glsl index 6ad9ec8..298ba8b 100644 --- a/shaders/lib/settings.glsl +++ b/shaders/lib/settings.glsl @@ -674,9 +674,10 @@ const vec3 aerochrome_color = mix(vec3(1.0, 0.0, 0.0), vec3(0.715, 0.303, 0.631) /////////////////////////////////////////// //#define LPV_ENABLED +#define LPV_SIZE 7 // [6 7 8] #define LPV_ENTITY_LIGHTS #define LPV_NORMAL_OFFSET -#define LPV_SIZE 7 // [6 7 8] +#define LPV_REDSTONE #ifdef LPV_ENABLED #ifdef IRIS_FEATURE_CUSTOM_IMAGES diff --git a/shaders/world0/shadow.vsh b/shaders/world0/shadow.vsh index 92ff301..abdc256 100644 --- a/shaders/world0/shadow.vsh +++ b/shaders/world0/shadow.vsh @@ -216,6 +216,8 @@ void main() { } else { // TODO: set from entityId + if (entityId == ENTITY_SPECTRAL_ARROW) + voxelId = uint(BLOCK_TORCH); } if (voxelId > 0u)