Actually yea that's a good point, I'll just call super instead, but also I've figured out why it wasn't working
By looking at SweetBerryBush I figured out that you have to replace the block to change the block state, so I just changed my previous state.setValue to world.setBlock(pos, state.setValue(POWER, Math.min(state.getValue(POWER) + 1, 100)), 2); and it all works now.
You know you could just do the second if statement, right?
Think about it. If the second one is true, the first one MUST be true. The vanilla code is then wrapped in an if-else that checks for flint and steel or fire charges, and a final else-return-super.
If the catch-fire portion ("from here on its vanilla code") is the code from the TNT block (your super) you could just call super...
First off, you could just loop ax = -1; ax <= 1 (same for y and z) and then use BlockPos.add(ax, ay, az)
Or you could use the static method in the BlockPos class to get all blocks in range and iterate over the resulting collection (the MCP name was getAllInBox).
Older code, but example of the latter: