Add Timings to LevelTicks and EntityTickList Check IBlockDataList#GLOBAL_PALETTE Check if PlayerNaturallySpawnedEvent is called correctly Make sure fluids aren't completly fucked, there may be more sync loads to nuke there as well Improve Server Thread Pool and Thread Priorities: mojang added a max thread count property Use Vanilla Minecart Speeds: is this needed? Handle Oversized Tile Entities: make sure impl is correct 0467-Optimize-WorldBorder-collision-checks-and-air check first hunk that has been removed Double check if seed based feature search is still needed, since Vanilla is fast as fuck, boiiiii Not sure where this needs to go, if anywhere diff --git a/src/main/java/net/minecraft/world/phys/shapes/Shapes.java b/src/main/java/net/minecraft/world/phys/shapes/Shapes.java index 48812329969b7192acd948db974bb77bb546f979..5b1e0ea40dea6c7d787699ed25160c8b75ab3bf3 100644 --- a/src/main/java/net/minecraft/world/phys/shapes/Shapes.java +++ b/src/main/java/net/minecraft/world/phys/shapes/Shapes.java @@ -237,7 +237,8 @@ public final class Shapes { if (s < 3) { mutableBlockPos.set(axisCycle, q, r, p); - BlockState blockState = world.getBlockState(mutableBlockPos); + BlockState blockState = world.getTypeIfLoaded(mutableBlockPos); // Paper + if (blockState == null) return 0.0D; // Paper if ((s != 1 || blockState.hasLargeCollisionShape()) && (s != 2 || blockState.is(Blocks.MOVING_PISTON))) { initial = blockState.getCollisionShape(world, mutableBlockPos, context).collide(axis3, box.move((double)(-mutableBlockPos.getX()), (double)(-mutableBlockPos.getY()), (double)(-mutableBlockPos.getZ())), initial); if (Math.abs(initial) < 1.0E-7D) { check ChunkHolder#updateFutures async catcher leaf: check mid tick chunk task diff in ServerChunkCache optimize nearby player lookups - look at patch and updateranges diff in chunkmap (why is it in this patch) GENERAL_AREA_MAP_ACCEPTABLE_SEARCH_RANGE_SQUARED is unused?