floodfill redstone

This commit is contained in:
NULL511 2024-05-04 00:07:10 -04:00
parent 6537c382bd
commit f88b84defa
5 changed files with 225 additions and 64 deletions

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -216,6 +216,8 @@ void main() {
}
else {
// TODO: set from entityId
if (entityId == ENTITY_SPECTRAL_ARROW)
voxelId = uint(BLOCK_TORCH);
}
if (voxelId > 0u)