Everything Burns
Fear the fiery apocalypse! This modification transforms your Minecraft into a survival nightmare where virtually all surrounding blocks can ignite from the slightest spark.
How it works
The modification fundamentally changes fire behavior in the game. All standard blocks that were previously completely fireproof now gain the ability to burn. The durability of buildings and underground shelters no longer matters - fire mercilessly devours everything in its path.
Exceptions remain only for fluids, waterlogged blocks, and directly air. Everything else becomes potential fuel for the fire element.
Technical implementation
The modification is achieved through direct impact on fire mechanics using the mixin system:
@Mixin(FireBlock.class)
public class FireBlockMixin {
public static final TagKey<Block> BURNING_NOT_MODIFIED = TagKey.create(Registries.BLOCK, ResourceLocation.fromNamespaceAndPath(MOD_ID, "burning_not_modified"));
@ModifyReturnValue(at = @At("RETURN"), method = "getBurnOdds(Lnet/minecraft/world/level/block/state/BlockState;)I")
private int modifyBurnOdds(int original, @Local(argsOnly = true) BlockState state) {
return original <= 0 && !state.is(BURNING_NOT_MODIFIED) && state.getFluidState().isEmpty() && !state.isAir() ? 30 : original;
}
@ModifyReturnValue(at = @At("RETURN"), method = "getIgniteOdds(Lnet/minecraft/world/level/block/state/BlockState;)I")
private int modifyIgniteOdds(int original, @Local(argsOnly = true) BlockState state) {
return original <= 0 && !state.is(BURNING_NOT_MODIFIED) && state.getFluidState().isEmpty() && !state.isAir() ? 60 : original;
}
}
This code ensures that any block without natural fire resistance and not being a fluid or air receives chances for ignition and sustained burning.