private List<Entity> callWorldOnExplosionEvent(World world, Entity entity, AxisAlignedBB aabb) {
final List<Entity> affectedEntities = world.getEntitiesWithinAABBExcludingEntity(entity, aabb);
final org.spongepowered.api.world.World spongeWorld = (org.spongepowered.api.world.World) this.worldObj;
final ImmutableList.Builder<Transaction<BlockSnapshot>> blockTransactionBuilder = ImmutableList.builder();
for (BlockPos pos : this.affectedBlockPositions) {
<BUG>if (world.isValid(pos)) {
final BlockSnapshot currentSnapshot = spongeWorld.createSnapshot(pos.getX(), pos.getY(), pos.getZ());</BUG>
blockTransactionBuilder.add(new Transaction<>(currentSnapshot, currentSnapshot.withState(BlockTypes.AIR.getDefaultState())));
}
}

private List<Entity> callWorldOnExplosionEvent(World world, Entity entity, AxisAlignedBB aabb) {
final List<Entity> affectedEntities = world.getEntitiesWithinAABBExcludingEntity(entity, aabb);
final org.spongepowered.api.world.World spongeWorld = (org.spongepowered.api.world.World) this.worldObj;
final ImmutableList.Builder<Transaction<BlockSnapshot>> blockTransactionBuilder = ImmutableList.builder();
for (BlockPos pos : this.affectedBlockPositions) {
if (world.isBlockLoaded(pos, false)) {
final BlockSnapshot currentSnapshot = spongeWorld.createSnapshot(pos.getX(), pos.getY(), pos.getZ());
blockTransactionBuilder.add(new Transaction<>(currentSnapshot, currentSnapshot.withState(BlockTypes.AIR.getDefaultState())));
}
}
