Files
CatServer/patches/net/minecraft/block/BlockFalling.java.patch
2019-02-24 22:29:41 +08:00

33 lines
1.3 KiB
Diff

--- ../src-base/minecraft/net/minecraft/block/BlockFalling.java
+++ ../src-work/minecraft/net/minecraft/block/BlockFalling.java
@@ -47,7 +47,7 @@
private void checkFallable(World worldIn, BlockPos pos)
{
- if (canFallThrough(worldIn.getBlockState(pos.down())) && pos.getY() >= 0)
+ if ((worldIn.isAirBlock(pos.down()) || canFallThrough(worldIn.getBlockState(pos.down()))) && pos.getY() >= 0)
{
int i = 32;
@@ -62,17 +62,18 @@
}
else
{
+ IBlockState state = worldIn.getBlockState(pos);
worldIn.setBlockToAir(pos);
BlockPos blockpos;
- for (blockpos = pos.down(); canFallThrough(worldIn.getBlockState(blockpos)) && blockpos.getY() > 0; blockpos = blockpos.down())
+ for (blockpos = pos.down(); (worldIn.isAirBlock(blockpos) || canFallThrough(worldIn.getBlockState(blockpos))) && blockpos.getY() > 0; blockpos = blockpos.down())
{
;
}
if (blockpos.getY() > 0)
{
- worldIn.setBlockState(blockpos.up(), this.getDefaultState());
+ worldIn.setBlockState(blockpos.up(), state); //Forge: Fix loss of state information during world gen.
}
}
}