Cubyz/assets/cubyz/tools/shover.zig.zon
IntegratedQuantum cd4cd8e9b9
Add and allow for more optional slots (#1612)
This checks slots based on texture connectivity. It really is just a
gimmick at this point, but it has potential to be more than that with
the right modifier restrictions.
![Screenshot at 2025-06-07
10-03-05](https://github.com/user-attachments/assets/e2aa96d4-8add-47cf-abc4-97f383c5fe41)
![Screenshot at 2025-06-07
09-59-46](https://github.com/user-attachments/assets/6aa00d24-8a97-4200-8c77-86b9751d2e2d)
![Screenshot at 2025-06-07
09-54-42](https://github.com/user-attachments/assets/247a2fdd-29ce-4467-85ff-3183f0ec36f1)

The big questions I have for you are:
- Is it obvious why some tools don't work while others do or is this too
confusing?
- @careeoki can you improve the texture to look better for these crooked
tools? Many slots do just seem to produce a thin line of diagonally
connected pixels, and this really doesn't look good and the algorithm
doesn't accept those as valid connections.

fixes #1589
2025-06-08 11:32:56 +02:00

98 lines
1.9 KiB
Zig

.{
.blockTags = .{.sand},
.disabled = .{
0, 0, 0, 1, 1,
0, 0, 0, 0, 1,
0, 0, 0, 0, 1,
1, 0, 0, 0, 1,
1, 1, 1, 1, 0,
},
.optional = .{
1, 0, 1, 0, 0,
0, 1, 1, 1, 0,
1, 1, 1, 1, 0,
0, 1, 1, 0, 0,
0, 0, 0, 0, 0,
},
.parameters = .{
.{
.source = .density,
.destination = .swingTime,
.matrix = .{
2.5, 2.0, 1.5, 0x0, 0x0,
2.0, 2.0, 1.5, 1.0, 0x0,
1.5, 1.5, 1.0, 1.0, 0x0,
0x0, 1.0, 1.0, 1.0, 0x0,
0x0, 0x0, 0x0, 0x0, 1.0,
},
.factor = 0.25,
.method = .average,
},
.{
.source = .density,
.destination = .damage,
.matrix = .{
2.5, 2.0, 1.0, 0x0, 0x0,
2.0, 2.0, 1.5, 0.5, 0x0,
1.0, 1.5, 1.0, 0.5, 0x0,
0x0, 0.5, 0.5, 0.0, 0x0,
0x0, 0x0, 0x0, 0x0, 0.0,
},
.factor = 0.4,
.method = .average,
},
.{
.source = .hardness,
.destination = .maxDurability,
.matrix = .{
1.5, 1.0, 0.0, 0x0, 0x0,
1.0, 2.0, 1.0, 0.0, 0x0,
0.0, 1.0, 1.5, 0.5, 0x0,
0x0, 0.0, 0.5, 1.0, 0x0,
0x0, 0x0, 0x0, 0x0, 1.0,
},
.factor = 120,
.method = .average,
},
.{
.source = .hardness,
.destination = .damage,
.matrix = .{
2.0, 1.0, 0.0, 0x0, 0x0,
1.0, 0.0, 0.0, 0.0, 0x0,
0.0, 0.0, 0.0, 0.0, 0x0,
0x0, 0.0, 0.0, 0.0, 0x0,
0x0, 0x0, 0x0, 0x0, 0.0,
},
.factor = 0.2,
.method = .average,
},
.{
.source = .elasticity,
.destination = .maxDurability,
.matrix = .{
1.5, 1.0, 0.5, 0x0, 0x0,
1.0, 2.0, 1.0, 0.5, 0x0,
0.5, 1.0, 1.5, 1.0, 0x0,
0x0, 0.5, 1.0, 1.0, 0x0,
0x0, 0x0, 0x0, 0x0, 1.0,
},
.factor = 120,
.method = .average,
},
.{
.source = .elasticity,
.destination = .swingTime,
.matrix = .{
1.5, 1.5, 0.5, 0x0, 0x0,
1.5, 2.0, 1.5, 0.5, 0x0,
0.5, 1.5, 1.0, 0.5, 0x0,
0x0, 0.5, 0.5, 0.0, 0x0,
0x0, 0x0, 0x0, 0x0, 0.0,
},
.factor = -1.0,
.method = .average,
},
},
}