From 8e6cbca0826c98562ba0e246201711c1ce4dc705 Mon Sep 17 00:00:00 2001 From: MartijnMuijsers Date: Thu, 1 Dec 2022 14:04:30 +0100 Subject: [PATCH] Precompute piston shapes --- .../0080-Precompute-piston-shapes.patch | 211 ++++++++++++++++++ ...kip-entity-move-if-movement-is-zero.patch} | 0 ...> 0082-Store-mob-counts-in-an-array.patch} | 0 ...h => 0083-Optimize-noise-generation.patch} | 0 ...durability-change-equipment-updates.patch} | 0 ...es-on-entities-with-fire-resistance.patch} | 0 ...6-Skip-cloning-advancement-criteria.patch} | 0 ...> 0087-Player-canSee-by-entity-UUID.patch} | 0 ...-Spread-out-sending-all-player-info.patch} | 0 ...player-list-for-sending-player-info.patch} | 0 ...dSendEvent-if-there-are-no-listener.patch} | 0 ...91-Send-multiple-keep-alive-packets.patch} | 0 ...random-strolling-into-non-ticking-c.patch} | 0 ...h => 0093-Specific-interval-TPS-API.patch} | 0 ....patch => 0094-5-second-TPS-average.patch} | 0 ...atch => 0095-Measure-last-tick-time.patch} | 0 ...PI.patch => 0096-Last-tick-time-API.patch} | 0 ...-Show-last-tick-time-in-tps-command.patch} | 0 ...crease-time-statistics-in-intervals.patch} | 0 ...eck-has-physics-before-same-vehicle.patch} | 0 ...ible-planar-movement-multiplication.patch} | 0 ...101-Variable-main-thread-task-delay.patch} | 2 +- ... 0102-Reduce-RandomSource-instances.patch} | 0 ....patch => 0103-CPU-cores-estimation.patch} | 0 ... 0104-Add-centralized-AsyncExecutor.patch} | 0 ...=> 0105-Remove-Paper-async-executor.patch} | 0 ... 0106-Remove-Paper-cleaner-executor.patch} | 0 ... => 0107-Remove-background-executor.patch} | 0 ...h => 0108-Remove-bootstrap-executor.patch} | 0 ...0109-Remove-world-upgrade-executors.patch} | 0 ...> 0110-Remove-tab-complete-executor.patch} | 2 +- ...=> 0111-Remove-text-filter-executor.patch} | 0 32 files changed, 213 insertions(+), 2 deletions(-) create mode 100644 patches/server/0080-Precompute-piston-shapes.patch rename patches/server/{0080-Skip-entity-move-if-movement-is-zero.patch => 0081-Skip-entity-move-if-movement-is-zero.patch} (100%) rename patches/server/{0081-Store-mob-counts-in-an-array.patch => 0082-Store-mob-counts-in-an-array.patch} (100%) rename patches/server/{0082-Optimize-noise-generation.patch => 0083-Optimize-noise-generation.patch} (100%) rename patches/server/{0083-Ignore-durability-change-equipment-updates.patch => 0084-Ignore-durability-change-equipment-updates.patch} (100%) rename patches/server/{0084-Hide-flames-on-entities-with-fire-resistance.patch => 0085-Hide-flames-on-entities-with-fire-resistance.patch} (100%) rename patches/server/{0085-Skip-cloning-advancement-criteria.patch => 0086-Skip-cloning-advancement-criteria.patch} (100%) rename patches/server/{0086-Player-canSee-by-entity-UUID.patch => 0087-Player-canSee-by-entity-UUID.patch} (100%) rename patches/server/{0087-Spread-out-sending-all-player-info.patch => 0088-Spread-out-sending-all-player-info.patch} (100%) rename patches/server/{0088-Optimize-player-list-for-sending-player-info.patch => 0089-Optimize-player-list-for-sending-player-info.patch} (100%) rename patches/server/{0089-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch => 0090-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch} (100%) rename patches/server/{0090-Send-multiple-keep-alive-packets.patch => 0091-Send-multiple-keep-alive-packets.patch} (100%) rename patches/server/{0091-Prevent-entities-random-strolling-into-non-ticking-c.patch => 0092-Prevent-entities-random-strolling-into-non-ticking-c.patch} (100%) rename patches/server/{0092-Specific-interval-TPS-API.patch => 0093-Specific-interval-TPS-API.patch} (100%) rename patches/server/{0093-5-second-TPS-average.patch => 0094-5-second-TPS-average.patch} (100%) rename patches/server/{0094-Measure-last-tick-time.patch => 0095-Measure-last-tick-time.patch} (100%) rename patches/server/{0095-Last-tick-time-API.patch => 0096-Last-tick-time-API.patch} (100%) rename patches/server/{0096-Show-last-tick-time-in-tps-command.patch => 0097-Show-last-tick-time-in-tps-command.patch} (100%) rename patches/server/{0097-Increase-time-statistics-in-intervals.patch => 0098-Increase-time-statistics-in-intervals.patch} (100%) rename patches/server/{0098-For-collision-check-has-physics-before-same-vehicle.patch => 0099-For-collision-check-has-physics-before-same-vehicle.patch} (100%) rename patches/server/{0099-Skip-negligible-planar-movement-multiplication.patch => 0100-Skip-negligible-planar-movement-multiplication.patch} (100%) rename patches/server/{0100-Variable-main-thread-task-delay.patch => 0101-Variable-main-thread-task-delay.patch} (99%) rename patches/server/{0101-Reduce-RandomSource-instances.patch => 0102-Reduce-RandomSource-instances.patch} (100%) rename patches/server/{0102-CPU-cores-estimation.patch => 0103-CPU-cores-estimation.patch} (100%) rename patches/server/{0103-Add-centralized-AsyncExecutor.patch => 0104-Add-centralized-AsyncExecutor.patch} (100%) rename patches/server/{0104-Remove-Paper-async-executor.patch => 0105-Remove-Paper-async-executor.patch} (100%) rename patches/server/{0105-Remove-Paper-cleaner-executor.patch => 0106-Remove-Paper-cleaner-executor.patch} (100%) rename patches/server/{0106-Remove-background-executor.patch => 0107-Remove-background-executor.patch} (100%) rename patches/server/{0107-Remove-bootstrap-executor.patch => 0108-Remove-bootstrap-executor.patch} (100%) rename patches/server/{0108-Remove-world-upgrade-executors.patch => 0109-Remove-world-upgrade-executors.patch} (100%) rename patches/server/{0109-Remove-tab-complete-executor.patch => 0110-Remove-tab-complete-executor.patch} (95%) rename patches/server/{0110-Remove-text-filter-executor.patch => 0111-Remove-text-filter-executor.patch} (100%) diff --git a/patches/server/0080-Precompute-piston-shapes.patch b/patches/server/0080-Precompute-piston-shapes.patch new file mode 100644 index 0000000..35a40d1 --- /dev/null +++ b/patches/server/0080-Precompute-piston-shapes.patch @@ -0,0 +1,211 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: MartijnMuijsers +Date: Thu, 1 Dec 2022 13:58:42 +0100 +Subject: [PATCH] Precompute piston shapes + +License: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html) + +This patch is based on the following mixins and classes: +* "me/jellysquid/mods/lithium/common/shapes/OffsetVoxelShapeCache.java" +* "me/jellysquid/mods/lithium/mixin/block/moving_block_shapes/PistonBlockEntityMixin.java" +* "me/jellysquid/mods/lithium/mixin/block/moving_block_shapes/VoxelShapeMixin.java" +By: 2No2Name <2No2Name@web.de> +As part of: Lithium (https://github.com/CaffeineMC/lithium-fabric) +Licensed under: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html) + +diff --git a/src/main/java/me/jellysquid/mods/lithium/common/shapes/OffsetVoxelShapeCache.java b/src/main/java/me/jellysquid/mods/lithium/common/shapes/OffsetVoxelShapeCache.java +new file mode 100644 +index 0000000000000000000000000000000000000000..451934fa8b97d4b0ce2bb994e18e8d47519ead7c +--- /dev/null ++++ b/src/main/java/me/jellysquid/mods/lithium/common/shapes/OffsetVoxelShapeCache.java +@@ -0,0 +1,14 @@ ++// Gale - Lithium - precompute piston shapes - offset voxel shape cache utility ++ ++package me.jellysquid.mods.lithium.common.shapes; ++ ++import net.minecraft.core.Direction; ++import net.minecraft.world.phys.shapes.VoxelShape; ++ ++public interface OffsetVoxelShapeCache { ++ ++ VoxelShape getOffsetSimplifiedShape(float offset, Direction direction); ++ ++ void setShape(float offset, Direction direction, VoxelShape offsetShape); ++ ++} +diff --git a/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java b/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java +index 4b61602a1d2d6817272e02cfd282ac5dabbd976d..c0a71e1b311f8a37909a61f10d202ef8d3658a5a 100644 +--- a/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java ++++ b/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java +@@ -52,6 +52,74 @@ public class PistonMovingBlockEntity extends BlockEntity { + this.extending = extending; + this.isSourcePiston = source; + } ++ // Gale start - Lithium - precompute piston shapes ++ private static final VoxelShape[] PISTON_BASE_WITH_MOVING_HEAD_SHAPES = precomputePistonBaseWithMovingHeadShapes(); ++ ++ /** ++ * We cache the offset and simplified VoxelShapes that are otherwise constructed on every call of getCollisionShape. ++ * For each offset direction and distance (6 directions, 2 distances each, and no direction with 0 distance) we ++ * store the offset and simplified VoxelShapes in the original VoxelShape when they are accessed the first time. ++ * We use safe publication, because both the Render and Server thread are using the cache. ++ * ++ * @param blockShape the original shape, must not be modified after passing it as an argument to this method ++ * @param offset the offset distance ++ * @param direction the offset direction ++ * @return blockShape offset and simplified ++ */ ++ private static VoxelShape getOffsetAndSimplified(VoxelShape blockShape, float offset, Direction direction) { ++ VoxelShape offsetSimplifiedShape = blockShape.getOffsetSimplifiedShape(offset, direction); ++ if (offsetSimplifiedShape == null) { ++ //create the offset shape and store it for later use ++ offsetSimplifiedShape = blockShape.move(direction.getStepX() * offset, direction.getStepY() * offset, direction.getStepZ() * offset).optimize(); ++ blockShape.setShape(offset, direction, offsetSimplifiedShape); ++ } ++ return offsetSimplifiedShape; ++ } ++ ++ /** ++ * Precompute all 18 possible configurations for the merged piston base and head shape. ++ * ++ * @return The array of the merged VoxelShapes, indexed by {@link #getIndexForMergedShape(float, Direction)} ++ */ ++ private static VoxelShape[] precomputePistonBaseWithMovingHeadShapes() { ++ float[] offsets = {0f, 0.5f, 1f}; ++ Direction[] directions = Direction.values(); ++ ++ VoxelShape[] mergedShapes = new VoxelShape[offsets.length * directions.length]; ++ ++ for (Direction facing : directions) { ++ VoxelShape baseShape = Blocks.PISTON.defaultBlockState().setValue(PistonBaseBlock.EXTENDED, true) ++ .setValue(PistonBaseBlock.FACING, facing).getCollisionShape(null, null); ++ for (float offset : offsets) { ++ //this cache is only required for the merged piston head + base shape. ++ //this shape is only used when !this.extending ++ //here: isShort = this.extending != 1.0F - this.progress < 0.25F can be simplified to: ++ //isShort = f < 0.25F , because f = getAmountExtended(this.progress) can be simplified to f == 1.0F - this.progress ++ //therefore isShort is dependent on the offset: ++ boolean isShort = offset < 0.25f; ++ ++ VoxelShape headShape = (Blocks.PISTON_HEAD.defaultBlockState().setValue(PistonHeadBlock.FACING, facing)) ++ .setValue(PistonHeadBlock.SHORT, isShort).getCollisionShape(null, null); ++ ++ VoxelShape offsetHead = headShape.move(facing.getStepX() * offset, ++ facing.getStepY() * offset, ++ facing.getStepZ() * offset); ++ mergedShapes[getIndexForMergedShape(offset, facing)] = Shapes.or(baseShape, offsetHead); ++ } ++ ++ } ++ ++ return mergedShapes; ++ } ++ ++ private static int getIndexForMergedShape(float offset, Direction direction) { ++ if (offset != 0f && offset != 0.5f && offset != 1f) { ++ return -1; ++ } ++ //shape of offset 0 is still dependent on the direction, due to piston head and base being directional blocks ++ return (int) (2 * offset) + (3 * direction.get3DDataValue()); ++ } ++ // Gale end - Lithium - precompute piston shapes + + @Override + public CompoundTag getUpdateTag() { +@@ -351,10 +419,27 @@ public class PistonMovingBlockEntity extends BlockEntity { + } + + float f = this.getExtendedProgress(this.progress); ++ // Gale start - Lithium - precompute piston shapes ++ if (this.extending || !this.isSourcePiston || !(this.movedState.getBlock() instanceof PistonBaseBlock)) { ++ //here voxelShape2.isEmpty() is guaranteed, vanilla code would call union() which calls simplify() ++ VoxelShape blockShape = blockState.getCollisionShape(world, pos); ++ ++ //we cache the simplified shapes, as the simplify() method costs a lot of CPU time and allocates several objects ++ VoxelShape offsetAndSimplified = getOffsetAndSimplified(blockShape, Math.abs(f), f < 0f ? this.direction.getOpposite() : this.direction); ++ return offsetAndSimplified; ++ } else { ++ //retracting piston heads have to act like their base as well, as the base block is replaced with the moving block ++ //f >= 0f is guaranteed (assuming no other mod interferes) ++ int index = getIndexForMergedShape(f, this.direction); ++ return PISTON_BASE_WITH_MOVING_HEAD_SHAPES[index]; ++ } ++ /* + double d = (double)((float)this.direction.getStepX() * f); + double e = (double)((float)this.direction.getStepY() * f); + double g = (double)((float)this.direction.getStepZ() * f); + return Shapes.or(voxelShape, blockState.getCollisionShape(world, pos).move(d, e, g)); ++ */ ++ // Gale end - Lithium - precompute piston shapes + } + } + +diff --git a/src/main/java/net/minecraft/world/phys/shapes/VoxelShape.java b/src/main/java/net/minecraft/world/phys/shapes/VoxelShape.java +index 2182afd1b95acf14c55bddfeec17dae0a63e1f00..b14bf7aadfe1e4b7f5d9a7912a39627aed4f9278 100644 +--- a/src/main/java/net/minecraft/world/phys/shapes/VoxelShape.java ++++ b/src/main/java/net/minecraft/world/phys/shapes/VoxelShape.java +@@ -6,6 +6,8 @@ import it.unimi.dsi.fastutil.doubles.DoubleList; + import java.util.List; + import java.util.Optional; + import javax.annotation.Nullable; ++ ++import me.jellysquid.mods.lithium.common.shapes.OffsetVoxelShapeCache; + import net.minecraft.Util; + import net.minecraft.core.AxisCycle; + import net.minecraft.core.BlockPos; +@@ -15,7 +17,7 @@ import net.minecraft.world.phys.AABB; + import net.minecraft.world.phys.BlockHitResult; + import net.minecraft.world.phys.Vec3; + +-public abstract class VoxelShape { ++public abstract class VoxelShape implements OffsetVoxelShapeCache { // Gale - Lithium - precompute piston shapes - offset voxel shape cache utility + public final DiscreteVoxelShape shape; // Paper - public + @Nullable + private VoxelShape[] faces; +@@ -26,6 +28,46 @@ public abstract class VoxelShape { + } + // Paper end + ++ // Gale start - Lithium - precompute piston shapes - offset voxel shape cache utility ++ private volatile VoxelShape[] offsetAndSimplified; ++ ++ @Override ++ public void setShape(float offset, Direction direction, VoxelShape offsetShape) { ++ if (offsetShape == null) { ++ throw new IllegalArgumentException("offsetShape must not be null!"); ++ } ++ int index = getIndexForOffsetSimplifiedShapes(offset, direction); ++ VoxelShape[] offsetAndSimplifiedShapes = this.offsetAndSimplified; ++ if (offsetAndSimplifiedShapes == null) { ++ offsetAndSimplifiedShapes = new VoxelShape[1 + 2 * 6]; ++ } else { ++ offsetAndSimplifiedShapes = offsetAndSimplifiedShapes.clone(); ++ } ++ offsetAndSimplifiedShapes[index] = offsetShape; ++ this.offsetAndSimplified = offsetAndSimplifiedShapes; ++ } ++ ++ @Override ++ public VoxelShape getOffsetSimplifiedShape(float offset, Direction direction) { ++ VoxelShape[] offsetAndSimplified = this.offsetAndSimplified; ++ if (offsetAndSimplified == null) { ++ return null; ++ } ++ int index = getIndexForOffsetSimplifiedShapes(offset, direction); ++ return offsetAndSimplified[index]; ++ } ++ ++ private static int getIndexForOffsetSimplifiedShapes(float offset, Direction direction) { ++ if (offset != 0f && offset != 0.5f && offset != 1f) { ++ throw new IllegalArgumentException("offset must be one of {0f, 0.5f, 1f}"); ++ } ++ if (offset == 0f) { ++ return 0; //can treat offsetting by 0 in all directions the same ++ } ++ return (int) (2 * offset) + 2 * direction.get3DDataValue(); ++ } ++ // Gale end - Lithium - precompute piston shapes - offset voxel shape cache utility ++ + protected VoxelShape(DiscreteVoxelShape voxels) { // Paper - protected + this.shape = voxels; + } diff --git a/patches/server/0080-Skip-entity-move-if-movement-is-zero.patch b/patches/server/0081-Skip-entity-move-if-movement-is-zero.patch similarity index 100% rename from patches/server/0080-Skip-entity-move-if-movement-is-zero.patch rename to patches/server/0081-Skip-entity-move-if-movement-is-zero.patch diff --git a/patches/server/0081-Store-mob-counts-in-an-array.patch b/patches/server/0082-Store-mob-counts-in-an-array.patch similarity index 100% rename from patches/server/0081-Store-mob-counts-in-an-array.patch rename to patches/server/0082-Store-mob-counts-in-an-array.patch diff --git a/patches/server/0082-Optimize-noise-generation.patch b/patches/server/0083-Optimize-noise-generation.patch similarity index 100% rename from patches/server/0082-Optimize-noise-generation.patch rename to patches/server/0083-Optimize-noise-generation.patch diff --git a/patches/server/0083-Ignore-durability-change-equipment-updates.patch b/patches/server/0084-Ignore-durability-change-equipment-updates.patch similarity index 100% rename from patches/server/0083-Ignore-durability-change-equipment-updates.patch rename to patches/server/0084-Ignore-durability-change-equipment-updates.patch diff --git a/patches/server/0084-Hide-flames-on-entities-with-fire-resistance.patch b/patches/server/0085-Hide-flames-on-entities-with-fire-resistance.patch similarity index 100% rename from patches/server/0084-Hide-flames-on-entities-with-fire-resistance.patch rename to patches/server/0085-Hide-flames-on-entities-with-fire-resistance.patch diff --git a/patches/server/0085-Skip-cloning-advancement-criteria.patch b/patches/server/0086-Skip-cloning-advancement-criteria.patch similarity index 100% rename from patches/server/0085-Skip-cloning-advancement-criteria.patch rename to patches/server/0086-Skip-cloning-advancement-criteria.patch diff --git a/patches/server/0086-Player-canSee-by-entity-UUID.patch b/patches/server/0087-Player-canSee-by-entity-UUID.patch similarity index 100% rename from patches/server/0086-Player-canSee-by-entity-UUID.patch rename to patches/server/0087-Player-canSee-by-entity-UUID.patch diff --git a/patches/server/0087-Spread-out-sending-all-player-info.patch b/patches/server/0088-Spread-out-sending-all-player-info.patch similarity index 100% rename from patches/server/0087-Spread-out-sending-all-player-info.patch rename to patches/server/0088-Spread-out-sending-all-player-info.patch diff --git a/patches/server/0088-Optimize-player-list-for-sending-player-info.patch b/patches/server/0089-Optimize-player-list-for-sending-player-info.patch similarity index 100% rename from patches/server/0088-Optimize-player-list-for-sending-player-info.patch rename to patches/server/0089-Optimize-player-list-for-sending-player-info.patch diff --git a/patches/server/0089-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch b/patches/server/0090-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch similarity index 100% rename from patches/server/0089-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch rename to patches/server/0090-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch diff --git a/patches/server/0090-Send-multiple-keep-alive-packets.patch b/patches/server/0091-Send-multiple-keep-alive-packets.patch similarity index 100% rename from patches/server/0090-Send-multiple-keep-alive-packets.patch rename to patches/server/0091-Send-multiple-keep-alive-packets.patch diff --git a/patches/server/0091-Prevent-entities-random-strolling-into-non-ticking-c.patch b/patches/server/0092-Prevent-entities-random-strolling-into-non-ticking-c.patch similarity index 100% rename from patches/server/0091-Prevent-entities-random-strolling-into-non-ticking-c.patch rename to patches/server/0092-Prevent-entities-random-strolling-into-non-ticking-c.patch diff --git a/patches/server/0092-Specific-interval-TPS-API.patch b/patches/server/0093-Specific-interval-TPS-API.patch similarity index 100% rename from patches/server/0092-Specific-interval-TPS-API.patch rename to patches/server/0093-Specific-interval-TPS-API.patch diff --git a/patches/server/0093-5-second-TPS-average.patch b/patches/server/0094-5-second-TPS-average.patch similarity index 100% rename from patches/server/0093-5-second-TPS-average.patch rename to patches/server/0094-5-second-TPS-average.patch diff --git a/patches/server/0094-Measure-last-tick-time.patch b/patches/server/0095-Measure-last-tick-time.patch similarity index 100% rename from patches/server/0094-Measure-last-tick-time.patch rename to patches/server/0095-Measure-last-tick-time.patch diff --git a/patches/server/0095-Last-tick-time-API.patch b/patches/server/0096-Last-tick-time-API.patch similarity index 100% rename from patches/server/0095-Last-tick-time-API.patch rename to patches/server/0096-Last-tick-time-API.patch diff --git a/patches/server/0096-Show-last-tick-time-in-tps-command.patch b/patches/server/0097-Show-last-tick-time-in-tps-command.patch similarity index 100% rename from patches/server/0096-Show-last-tick-time-in-tps-command.patch rename to patches/server/0097-Show-last-tick-time-in-tps-command.patch diff --git a/patches/server/0097-Increase-time-statistics-in-intervals.patch b/patches/server/0098-Increase-time-statistics-in-intervals.patch similarity index 100% rename from patches/server/0097-Increase-time-statistics-in-intervals.patch rename to patches/server/0098-Increase-time-statistics-in-intervals.patch diff --git a/patches/server/0098-For-collision-check-has-physics-before-same-vehicle.patch b/patches/server/0099-For-collision-check-has-physics-before-same-vehicle.patch similarity index 100% rename from patches/server/0098-For-collision-check-has-physics-before-same-vehicle.patch rename to patches/server/0099-For-collision-check-has-physics-before-same-vehicle.patch diff --git a/patches/server/0099-Skip-negligible-planar-movement-multiplication.patch b/patches/server/0100-Skip-negligible-planar-movement-multiplication.patch similarity index 100% rename from patches/server/0099-Skip-negligible-planar-movement-multiplication.patch rename to patches/server/0100-Skip-negligible-planar-movement-multiplication.patch diff --git a/patches/server/0100-Variable-main-thread-task-delay.patch b/patches/server/0101-Variable-main-thread-task-delay.patch similarity index 99% rename from patches/server/0100-Variable-main-thread-task-delay.patch rename to patches/server/0101-Variable-main-thread-task-delay.patch index 26ddfec..4bd51f3 100644 --- a/patches/server/0100-Variable-main-thread-task-delay.patch +++ b/patches/server/0101-Variable-main-thread-task-delay.patch @@ -258,7 +258,7 @@ index ec5e28a633abe6932fd8c1da47625309bee2ca03..9045ae692d77f986542940334dd15ede return io.papermc.paper.util.TickThread.isTickThread(); // Paper - rewrite chunk system } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4b5e65ae2b57b7353ac0f26fda125e2d3661e9ed..f2d88654ab7b67ac8265dca2ba4d743a8da7a616 100644 +index c171c272d5fcf0900514e18eafaa1b5ee019c74d..a531bfe125f991bf372843f365640316c25e334a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -186,6 +186,7 @@ import net.minecraft.world.phys.shapes.BooleanOp; diff --git a/patches/server/0101-Reduce-RandomSource-instances.patch b/patches/server/0102-Reduce-RandomSource-instances.patch similarity index 100% rename from patches/server/0101-Reduce-RandomSource-instances.patch rename to patches/server/0102-Reduce-RandomSource-instances.patch diff --git a/patches/server/0102-CPU-cores-estimation.patch b/patches/server/0103-CPU-cores-estimation.patch similarity index 100% rename from patches/server/0102-CPU-cores-estimation.patch rename to patches/server/0103-CPU-cores-estimation.patch diff --git a/patches/server/0103-Add-centralized-AsyncExecutor.patch b/patches/server/0104-Add-centralized-AsyncExecutor.patch similarity index 100% rename from patches/server/0103-Add-centralized-AsyncExecutor.patch rename to patches/server/0104-Add-centralized-AsyncExecutor.patch diff --git a/patches/server/0104-Remove-Paper-async-executor.patch b/patches/server/0105-Remove-Paper-async-executor.patch similarity index 100% rename from patches/server/0104-Remove-Paper-async-executor.patch rename to patches/server/0105-Remove-Paper-async-executor.patch diff --git a/patches/server/0105-Remove-Paper-cleaner-executor.patch b/patches/server/0106-Remove-Paper-cleaner-executor.patch similarity index 100% rename from patches/server/0105-Remove-Paper-cleaner-executor.patch rename to patches/server/0106-Remove-Paper-cleaner-executor.patch diff --git a/patches/server/0106-Remove-background-executor.patch b/patches/server/0107-Remove-background-executor.patch similarity index 100% rename from patches/server/0106-Remove-background-executor.patch rename to patches/server/0107-Remove-background-executor.patch diff --git a/patches/server/0107-Remove-bootstrap-executor.patch b/patches/server/0108-Remove-bootstrap-executor.patch similarity index 100% rename from patches/server/0107-Remove-bootstrap-executor.patch rename to patches/server/0108-Remove-bootstrap-executor.patch diff --git a/patches/server/0108-Remove-world-upgrade-executors.patch b/patches/server/0109-Remove-world-upgrade-executors.patch similarity index 100% rename from patches/server/0108-Remove-world-upgrade-executors.patch rename to patches/server/0109-Remove-world-upgrade-executors.patch diff --git a/patches/server/0109-Remove-tab-complete-executor.patch b/patches/server/0110-Remove-tab-complete-executor.patch similarity index 95% rename from patches/server/0109-Remove-tab-complete-executor.patch rename to patches/server/0110-Remove-tab-complete-executor.patch index c08eb96..dd668e5 100644 --- a/patches/server/0109-Remove-tab-complete-executor.patch +++ b/patches/server/0110-Remove-tab-complete-executor.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Remove tab complete executor License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html) diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f2d88654ab7b67ac8265dca2ba4d743a8da7a616..3264a346fe58831b2e7ffa9f750f12bf99a44f47 100644 +index a531bfe125f991bf372843f365640316c25e334a..98ceec4404c08b08bc8d917730858eec40cfeb9e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -186,6 +186,7 @@ import net.minecraft.world.phys.shapes.BooleanOp; diff --git a/patches/server/0110-Remove-text-filter-executor.patch b/patches/server/0111-Remove-text-filter-executor.patch similarity index 100% rename from patches/server/0110-Remove-text-filter-executor.patch rename to patches/server/0111-Remove-text-filter-executor.patch