Fossils that are relatively near Y=0 but is still completely submerged in deepslate can still sometimes generate with coal instead of diamonds.
To reproduce:
1. Generate a single biome desert, swamp or mangrove swamp world with seed -5927161911243197999
2. Run /execute in minecraft:overworld run tp @s 278.36 -15.00 239.30 325.38 27.40
This might be fixable by adding a check in the coal fossil's processor list to replace instances of coal ore overriding deepslate with deepslate coal ore. This is how it looks in datapack form, I'm not entirely sure it will work:
{{{}}
"processors": [
{
"processor_type": "minecraft:block_rot",
"integrity": 0.1
},
{
"processor_type": "minecraft:rule",
"rules": [
{
"location_predicate": {
"predicate_type": "minecraft:block_match",
"block": "minecraft:deepslate"
},
"input_predicate": {
"predicate_type": "minecraft:block_match",
"block": "minecraft:coal_ore"
},
"output_state": {
"Name": "minecraft:deepslate_coal_ore"
{{ }}}
{{ }}}
]
},
{
"processor_type": "minecraft:protected_blocks",
"value": "#minecraft:features_cannot_replace"
{{ }}}
]
{{}}}