From 67af28c76c1b845ae52d6f233f7c9a8a56403dec Mon Sep 17 00:00:00 2001 From: NULL511 Date: Thu, 2 May 2024 18:54:23 -0400 Subject: [PATCH] add candles --- shaders/block.properties | 60 +++++++++++++++++++++------------------- shaders/lib/blocks.glsl | 60 +++++++++++++++++++++------------------- shaders/world0/setup.csh | 54 +++++++++++++++++++++++++++++------- 3 files changed, 108 insertions(+), 66 deletions(-) diff --git a/shaders/block.properties b/shaders/block.properties index d802c3a..f050600 100644 --- a/shaders/block.properties +++ b/shaders/block.properties @@ -31,34 +31,38 @@ ####### ----- lightsources ----- ####### block.1001 = beacon - block.1002 = cave_vines_plant:berries=true cave_vines:berries=true - block.1003 = conduit - block.1004 = end_gateway - block.1005 = end_rod - block.1006 = fire campfire:lit=true - block.1007 = ochre_froglight - block.1008 = pearlescent_froglight - block.1009 = verdant_froglight - block.1010 = glowstone - block.1011 = jack_o_lantern - block.1012 = lantern - block.1013 = lava - block.1014 = magma_block - block.1015 = redstone_lamp:lit=true - block.1016 = redstone_torch:lit=true redstone_wall_torch:lit=true - block.1017 = respawn_anchor:charges=4 - block.1018 = sculk_sensor:sculk_sensor_phase=active - block.1019 = sea_pickle:waterlogged=true:pickles=1 - block.1020 = sea_pickle:waterlogged=true:pickles=2 - block.1021 = sea_pickle:waterlogged=true:pickles=3 - block.1022 = sea_pickle:waterlogged=true:pickles=4 - block.1023 = sea_lantern - block.1024 = shroomlight - block.1025 = smoker:lit=true - block.1026 = soul_fire soul_campfire:lit=true - block.1027 = soul_lantern - block.1028 = soul_torch soul_wall_torch - block.1029 = torch wall_torch + block.1002 = candle:candles=1:lit=true black_candle:candles=1:lit=true blue_candle:candles=1:lit=true brown_candle:candles=1:lit=true cyan_candle:candles=1:lit=true gray_candle:candles=1:lit=true green_candle:candles=1:lit=true light_blue_candle:candles=1:lit=true light_gray_candle:candles=1:lit=true lime_candle:candles=1:lit=true magenta_candle:candles=1:lit=true orange_candle:candles=1:lit=true pink_candle:candles=1:lit=true purple_candle:candles=1:lit=true red_candle:candles=1:lit=true white_candle:candles=1:lit=true yellow_candle:candles=1:lit=true + block.1003 = candle:candles=2:lit=true black_candle:candles=2:lit=true blue_candle:candles=2:lit=true brown_candle:candles=2:lit=true cyan_candle:candles=2:lit=true gray_candle:candles=2:lit=true green_candle:candles=2:lit=true light_blue_candle:candles=2:lit=true light_gray_candle:candles=2:lit=true lime_candle:candles=2:lit=true magenta_candle:candles=2:lit=true orange_candle:candles=2:lit=true pink_candle:candles=2:lit=true purple_candle:candles=2:lit=true red_candle:candles=2:lit=true white_candle:candles=2:lit=true yellow_candle:candles=2:lit=true + block.1004 = candle:candles=3:lit=true black_candle:candles=3:lit=true blue_candle:candles=3:lit=true brown_candle:candles=3:lit=true cyan_candle:candles=3:lit=true gray_candle:candles=3:lit=true green_candle:candles=3:lit=true light_blue_candle:candles=3:lit=true light_gray_candle:candles=3:lit=true lime_candle:candles=3:lit=true magenta_candle:candles=3:lit=true orange_candle:candles=3:lit=true pink_candle:candles=3:lit=true purple_candle:candles=3:lit=true red_candle:candles=3:lit=true white_candle:candles=3:lit=true yellow_candle:candles=3:lit=true + block.1005 = candle:candles=4:lit=true black_candle:candles=4:lit=true blue_candle:candles=4:lit=true brown_candle:candles=4:lit=true cyan_candle:candles=4:lit=true gray_candle:candles=4:lit=true green_candle:candles=4:lit=true light_blue_candle:candles=4:lit=true light_gray_candle:candles=4:lit=true lime_candle:candles=4:lit=true magenta_candle:candles=4:lit=true orange_candle:candles=4:lit=true pink_candle:candles=4:lit=true purple_candle:candles=4:lit=true red_candle:candles=4:lit=true white_candle:candles=4:lit=true yellow_candle:candles=4:lit=true + block.1006 = cave_vines_plant:berries=true cave_vines:berries=true + block.1007 = conduit + block.1008 = end_gateway + block.1009 = end_rod + block.1010 = fire campfire:lit=true + block.1011 = ochre_froglight + block.1012 = pearlescent_froglight + block.1013 = verdant_froglight + block.1014 = glowstone + block.1015 = jack_o_lantern + block.1016 = lantern + block.1017 = lava + block.1018 = magma_block + block.1019 = redstone_lamp:lit=true + block.1020 = redstone_torch:lit=true redstone_wall_torch:lit=true + block.1021 = respawn_anchor:charges=4 + block.1022 = sculk_sensor:sculk_sensor_phase=active + block.1023 = sea_pickle:waterlogged=true:pickles=1 + block.1024 = sea_pickle:waterlogged=true:pickles=2 + block.1025 = sea_pickle:waterlogged=true:pickles=3 + block.1026 = sea_pickle:waterlogged=true:pickles=4 + block.1027 = sea_lantern + block.1028 = shroomlight + block.1029 = smoker:lit=true + block.1030 = soul_fire soul_campfire:lit=true + block.1031 = soul_lantern + block.1032 = soul_torch soul_wall_torch + block.1033 = torch wall_torch block.1100 = westerosblocks:safe_fire block.1101 = 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 diff --git a/shaders/lib/blocks.glsl b/shaders/lib/blocks.glsl index bbce7ce..609b36b 100644 --- a/shaders/lib/blocks.glsl +++ b/shaders/lib/blocks.glsl @@ -1,34 +1,38 @@ #define BLOCK_WATER 8 #define BLOCK_BEACON 1001 -#define BLOCK_CAVE_VINE_BERRIES 1002 -#define BLOCK_CONDUIT 1003 -#define BLOCK_END_GATEWAY 1004 -#define BLOCK_END_ROD 1005 -#define BLOCK_FIRE 1006 -#define BLOCK_FROGLIGHT_OCHRE 1007 -#define BLOCK_FROGLIGHT_PEARLESCENT 1008 -#define BLOCK_FROGLIGHT_VERDANT 1009 -#define BLOCK_GLOWSTONE 1010 -#define BLOCK_JACK_O_LANTERN 1011 -#define BLOCK_LANTERN 1012 -#define BLOCK_LAVA 1013 -#define BLOCK_MAGMA 1014 -#define BLOCK_REDSTONE_LAMP_LIT 1015 -#define BLOCK_REDSTONE_TORCH_LIT 1016 -#define BLOCK_RESPAWN_ANCHOR_4 1017 -#define BLOCK_SCULK_SENSOR_ACTIVE 1018 -#define BLOCK_SEA_PICKLE_WET_1 1019 -#define BLOCK_SEA_PICKLE_WET_2 1020 -#define BLOCK_SEA_PICKLE_WET_3 1021 -#define BLOCK_SEA_PICKLE_WET_4 1022 -#define BLOCK_SEA_LANTERN 1023 -#define BLOCK_SHROOMLIGHT 1024 -#define BLOCK_SMOKER_LIT 1025 -#define BLOCK_SOUL_FIRE 1026 -#define BLOCK_SOUL_LANTERN 1027 -#define BLOCK_SOUL_TORCH 1028 -#define BLOCK_TORCH 1029 +#define BLOCK_CANDLES_LIT_1 1002 +#define BLOCK_CANDLES_LIT_2 1003 +#define BLOCK_CANDLES_LIT_3 1004 +#define BLOCK_CANDLES_LIT_4 1005 +#define BLOCK_CAVE_VINE_BERRIES 1006 +#define BLOCK_CONDUIT 1007 +#define BLOCK_END_GATEWAY 1008 +#define BLOCK_END_ROD 1009 +#define BLOCK_FIRE 1010 +#define BLOCK_FROGLIGHT_OCHRE 1011 +#define BLOCK_FROGLIGHT_PEARLESCENT 1012 +#define BLOCK_FROGLIGHT_VERDANT 1013 +#define BLOCK_GLOWSTONE 1014 +#define BLOCK_JACK_O_LANTERN 1015 +#define BLOCK_LANTERN 1016 +#define BLOCK_LAVA 1017 +#define BLOCK_MAGMA 1018 +#define BLOCK_REDSTONE_LAMP_LIT 1019 +#define BLOCK_REDSTONE_TORCH_LIT 1020 +#define BLOCK_RESPAWN_ANCHOR_4 1021 +#define BLOCK_SCULK_SENSOR_ACTIVE 1022 +#define BLOCK_SEA_PICKLE_WET_1 1023 +#define BLOCK_SEA_PICKLE_WET_2 1024 +#define BLOCK_SEA_PICKLE_WET_3 1025 +#define BLOCK_SEA_PICKLE_WET_4 1026 +#define BLOCK_SEA_LANTERN 1027 +#define BLOCK_SHROOMLIGHT 1028 +#define BLOCK_SMOKER_LIT 1029 +#define BLOCK_SOUL_FIRE 1030 +#define BLOCK_SOUL_LANTERN 1031 +#define BLOCK_SOUL_TORCH 1032 +#define BLOCK_TORCH 1033 #define BLOCK_GLASS 1201 #define BLOCK_HONEY 1202 diff --git a/shaders/world0/setup.csh b/shaders/world0/setup.csh index bb9a19f..4e3e8fa 100644 --- a/shaders/world0/setup.csh +++ b/shaders/world0/setup.csh @@ -12,6 +12,7 @@ const ivec3 workGroups = ivec3(4, 5, 1); #include "/lib/blocks.glsl" #include "/lib/lpv_blocks.glsl" + const vec3 LightColor_Candles = vec3(1.0, 0.4, 0.1); 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) { @@ -36,9 +37,30 @@ void main() { lightColor = vec3(1.0); lightRange = 15.0; break; + case BLOCK_CANDLES_LIT_1: + lightColor = LightColor_Candles; + lightRange = 3.0; + mixWeight = 1.0; + break; + case BLOCK_CANDLES_LIT_2: + lightColor = LightColor_Candles; + lightRange = 6.0; + mixWeight = 1.0; + break; + case BLOCK_CANDLES_LIT_3: + lightColor = LightColor_Candles; + lightRange = 9.0; + mixWeight = 1.0; + break; + case BLOCK_CANDLES_LIT_4: + lightColor = LightColor_Candles; + lightRange = 12.0; + mixWeight = 1.0; + break; case BLOCK_CAVE_VINE_BERRIES: lightColor = vec3(0.717, 0.541, 0.188); lightRange = 14.0; + mixWeight = 1.0; break; case BLOCK_CONDUIT: lightColor = vec3(1.0); @@ -55,6 +77,7 @@ void main() { case BLOCK_FIRE: lightColor = vec3(0.864, 0.598, 0.348); lightRange = 15.0; + mixWeight = 1.0; break; case BLOCK_FROGLIGHT_OCHRE: lightColor = vec3(0.768, 0.648, 0.108); @@ -79,6 +102,7 @@ void main() { case BLOCK_LANTERN: lightColor = vec3(1.0, 0.7, 0.1); lightRange = 15.0; + mixWeight = 0.8; break; case BLOCK_LAVA: lightColor = vec3(0.804, 0.424, 0.149); @@ -107,18 +131,22 @@ void main() { case BLOCK_SEA_PICKLE_WET_1: lightColor = LightColor_SeaPickle; lightRange = 6.0; + mixWeight = 1.0; break; case BLOCK_SEA_PICKLE_WET_2: lightColor = LightColor_SeaPickle; lightRange = 9.0; + mixWeight = 1.0; break; case BLOCK_SEA_PICKLE_WET_3: lightColor = LightColor_SeaPickle; lightRange = 12.0; + mixWeight = 1.0; break; case BLOCK_SEA_PICKLE_WET_4: lightColor = LightColor_SeaPickle; lightRange = 15.0; + mixWeight = 1.0; break; case BLOCK_SEA_LANTERN: lightColor = vec3(0.553, 0.748, 0.859); @@ -133,14 +161,20 @@ void main() { lightRange = 13.0; break; case BLOCK_SOUL_FIRE: + lightColor = vec3(0.1, 0.6, 1.0); + lightRange = 10.0; + mixWeight = 1.0; + break; case BLOCK_SOUL_LANTERN: case BLOCK_SOUL_TORCH: lightColor = vec3(0.1, 0.6, 1.0); lightRange = 10.0; + mixWeight = 0.8; break; case BLOCK_TORCH: lightColor = vec3(1.0, 0.6, 0.1); lightRange = 14.0; + mixWeight = 0.8; break; @@ -226,45 +260,45 @@ void main() { case BLOCK_DOOR_N: mixMask = BuildLpvMask(0u, 1u, 1u, 1u, 1u, 1u); - mixWeight = 1.0; + mixWeight = 0.8; break; case BLOCK_DOOR_E: mixMask = BuildLpvMask(1u, 0u, 1u, 1u, 1u, 1u); - mixWeight = 1.0; + mixWeight = 0.8; break; case BLOCK_DOOR_S: mixMask = BuildLpvMask(1u, 1u, 0u, 1u, 1u, 1u); - mixWeight = 1.0; + mixWeight = 0.8; break; case BLOCK_DOOR_W: mixMask = BuildLpvMask(1u, 1u, 1u, 0u, 1u, 1u); - mixWeight = 1.0; + mixWeight = 0.8; break; case BLOCK_TRAPDOOR_BOTTOM: mixMask = BuildLpvMask(1u, 1u, 1u, 1u, 1u, 0u); - mixWeight = 1.0; + mixWeight = 0.8; break; case BLOCK_TRAPDOOR_TOP: mixMask = BuildLpvMask(1u, 1u, 1u, 1u, 0u, 1u); - mixWeight = 1.0; + mixWeight = 0.8; break; case BLOCK_TRAPDOOR_N: mixMask = BuildLpvMask(0u, 1u, 1u, 1u, 1u, 1u); - mixWeight = 1.0; + mixWeight = 0.8; break; case BLOCK_TRAPDOOR_E: mixMask = BuildLpvMask(1u, 0u, 1u, 1u, 1u, 1u); - mixWeight = 1.0; + mixWeight = 0.8; break; case BLOCK_TRAPDOOR_S: mixMask = BuildLpvMask(1u, 1u, 0u, 1u, 1u, 1u); - mixWeight = 1.0; + mixWeight = 0.8; break; case BLOCK_TRAPDOOR_W: mixMask = BuildLpvMask(1u, 1u, 1u, 0u, 1u, 1u); - mixWeight = 1.0; + mixWeight = 0.8; break; }