SPIGOT-5293: Sponge behaviour differs from Vanilla

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot
2019-08-28 20:10:04 +10:00
parent 5e5574ba63
commit cfd992a9d4
2 changed files with 24 additions and 2 deletions

View File

@@ -5,6 +5,7 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Set;
import net.minecraft.server.BlockPosition;
import net.minecraft.server.Fluid;
import net.minecraft.server.IBlockData;
import net.minecraft.server.World;
import org.bukkit.block.BlockState;
@@ -23,6 +24,18 @@ public class BlockStateListPopulator extends DummyGeneratorAccess {
this.list = list;
}
@Override
public IBlockData getType(BlockPosition bp) {
CraftBlockState state = list.get(bp);
return (state != null) ? state.getHandle() : world.getType(bp);
}
@Override
public Fluid getFluid(BlockPosition bp) {
CraftBlockState state = list.get(bp);
return (state != null) ? state.getHandle().p() : world.getFluid(bp);
}
@Override
public boolean setTypeAndData(BlockPosition position, IBlockData data, int flag) {
CraftBlockState state = CraftBlockState.getBlockState(world, position, flag);