User:Libxfs/fireball not starting fire - minecraft.fandom.com
Jump to navigation
Jump to search
Treść tej podstrony pochodzi z artykułu „User:Libxfs/fireball not starting fire” w domenie minecraft.fandom.com na licencji CC BY-NC-SA 3.0
Fireballs don't start fire up to beta 1.1_02.
Explosion.java:
public void doPhysics()//func_12248_a()
{
...
if (blast > 0)
destroyedBlocks.add(new ChunkPosition(xint, yint, zint));
...
ArrayList arraylist = new ArrayList();
arraylist.addAll(destroyedBlocks);
if (canStartFire) {
for (int i = arraylist.size() - 1; i >= 0; i--) {
...
if (blockId == 0 && Block.opaqueCubeLookup[bottomBlockId] && rand.nextInt(3) == 0)
world.setBlockWithNotify(x, y, z, Block.fire.blockID);
}
}
}
When blast > 0, some air blocks are marked as destroyed. If canStartFire, some air blocks are replaced with fire blocks. And later,
public void animate()//func_12247_b()
{
...
if (i1 > 0) {
Block.blocksList[i1].dropBlockAsItemWithChance(world, x, y, z, world.getBlockMetadata(x, y, z), 0.3);
world.setBlockWithNotify(x, y, z, 0);
Block.blocksList[i1].onBlockDestroyedByExplosion(world, x, y, z);
}
...
All non-air blocks in destroyedBlocks are replaced with air, including those just generated fire blocks. This is how fire is reverted to air.