mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 07:20:24 +01:00
Add missing important BlockStateListPopulator methods
Without these methods it causes exceptions due to these being used by certain feature generators.
This commit is contained in:
parent
f2dcecf4d9
commit
24d356944c
2 changed files with 40 additions and 1 deletions
|
@ -130,7 +130,7 @@ public class BlockStateListPopulator extends DummyGeneratorAccess {
|
|||
|
||||
@Override
|
||||
public boolean isFluidAtPosition(BlockPos pos, Predicate<FluidState> state) {
|
||||
return this.world.isFluidAtPosition(pos, state);
|
||||
return state.test(this.getFluidState(pos)); // Paper - fix
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -159,4 +159,33 @@ public class BlockStateListPopulator extends DummyGeneratorAccess {
|
|||
public RandomSource getRandom() {
|
||||
return this.world.getRandom();
|
||||
}
|
||||
|
||||
// Paper start
|
||||
@Override
|
||||
public <T extends BlockEntity> java.util.Optional<T> getBlockEntity(BlockPos pos, net.minecraft.world.level.block.entity.BlockEntityType<T> type) {
|
||||
BlockEntity tileentity = this.getBlockEntity(pos);
|
||||
|
||||
return tileentity != null && tileentity.getType() == type ? (java.util.Optional<T>) java.util.Optional.of(tileentity) : java.util.Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockPos getHeightmapPos(net.minecraft.world.level.levelgen.Heightmap.Types heightmap, BlockPos pos) {
|
||||
return world.getHeightmapPos(heightmap, pos);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getHeight(net.minecraft.world.level.levelgen.Heightmap.Types heightmap, int x, int z) {
|
||||
return world.getHeight(heightmap, x, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRawBrightness(BlockPos pos, int ambientDarkness) {
|
||||
return world.getRawBrightness(pos, ambientDarkness);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBrightness(net.minecraft.world.level.LightLayer type, BlockPos pos) {
|
||||
return world.getBrightness(type, pos);
|
||||
}
|
||||
// Paper end
|
||||
}
|
||||
|
|
|
@ -258,4 +258,14 @@ public class DummyGeneratorAccess implements WorldGenLevel {
|
|||
public boolean destroyBlock(BlockPos pos, boolean drop, Entity breakingEntity, int maxUpdateDepth) {
|
||||
return false; // SPIGOT-6515
|
||||
}
|
||||
|
||||
// Paper start - add more methods
|
||||
public void scheduleTick(BlockPos pos, Fluid fluid, int delay) {}
|
||||
|
||||
@Override
|
||||
public void scheduleTick(BlockPos pos, Block block, int delay, net.minecraft.world.ticks.TickPriority priority) {}
|
||||
|
||||
@Override
|
||||
public void scheduleTick(BlockPos pos, Fluid fluid, int delay, net.minecraft.world.ticks.TickPriority priority) {}
|
||||
// Paper end - add more methods
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue