COWMODSКаталог модов

PaperFixes

A collection of bug and performance fixes from CraftBukkit, Spigot, and Paper in a Forge mod.

Автор: Elephant12145,9 тыс.6обновлён 11 окт. 2025 г.
УправлениеОптимизацияУтилиты

Описание

Discord

PaperFixes

A collection of bug and performance fixes from CraftBukkit, Spigot, and Paper in a Forge mod.
This is a performance mod, and bugs and incompatibilities could occur. Please open a GitHub issue if you find any.

Current Fixes and Features

Bugfixes
  • avoidItemMergeForFullStacks - Skips merging checks for full item stacks before bounding box check.
  • clearPacketQueue - Clears player packet queue on disconnect to prevent memory leaks.
  • explosionsIgnoreDeadEntities - Excludes dead entities and untargetable players from explosions.
  • fixMc54738 (MC-54738) - Limits biome weight variable to fix terrain spikes.
  • fixMc80966 (MC-80966) - Ensures empty subchunks send data to clients.
  • fixMc98153 (MC-98153) - Prevents rubber-banding and suffocation in nether portals.
  • fixMc133373 (MC-133373) - Resets NaN attribute values.
  • fixShulkerDispenseCrash - Prevents crash when placing non-empty shulker box via dispenser at height limit.
  • fixShulkerDupe - Fixes duplication from shulker box tile entity not being removed.
  • fixWaterMobSpawnCheck - Ensures water mobs spawn inside water with space.
  • dontOffloadBeaconColorUpdate - Avoids unnecessary thread hopping for beacon updates.
  • handleNullTileCrashes - Logs null tile entities instead of causing more problems.
  • removeInvalidMobSpawners - Removes broken mob spawners that don't exist.
  • sortEnchantments - Sorts enchantments by ID to ensure identical items are treated the same.
Client
  • cacheLastChunk - Because Minecraft accesses the same chunk from the chunk provider multiple times in one frame, we can cache the last one accessed. This doesn’t usually have a big effect on the client, but flying around and loading chunks can be a little faster when many operations are done per chunk.
  • fastWorldBorder - Disabled on the client (including the internal server) by default because animations for border movement don’t work correctly, causing the border to snap to the end position when the countdown ends. If you don’t care about this, you can enable world border caching for the client and internal server.
Features
  • spawnChunkGamerule - Enables the spawnChunkRadius gamerule. Lets you define a spawn chunk radius for your world or server, similar to modern Minecraft, but with a few differences. In Minecraft 1.12, chunk tickets didn’t exist, so spawn chunks are a fixed 16×16 section always loaded and ticked. Entities inside are only processed in a smaller 12×12 area, because entity AI requires a 5×5 loaded area. PaperFixes uses a consistent diameter by centering on the chunk containing spawn, unlike vanilla which can make it 17×17 if spawn is centered in a chunk. Setting this gamerule to 0 completely disables spawn chunks.
  • spawnChunkRadius - Sets the default spawn chunk radius for the above feature. Applies only to new worlds or worlds not yet run with PaperFixes 2.0.0-beta.1 or newer. Values can range from 0 to 32, where 0 disables spawn chunks entirely and 32 gives a 64-chunk diameter.
  • improvedTickLoop - Measures time in nanoseconds instead of milliseconds for better accuracy, uses LockSupport.parkNanos for precise sleeps, and adapts sleep time depending on tick length. Runs ticks as fast as possible when the server is more than 2.5 seconds behind, spinning instead of sleeping near the start of the next tick to avoid oversleeping.
  • tickLoopSpinTime - Controls how long (in nanoseconds) the server tick loop will spin instead of sleeping. Also affects when the loop stops running scheduled tasks during what would normally be sleep time.
  • runTasksDuringSleep - Allows the tick loop to run scheduled tasks instead of idling during sleep periods.
  • fastWorldBorder - Caches the corners of the world border to make calculations faster instead of recomputing them each time.
Performance
  • ioThreadSleep - Controls how long the world save thread sleeps. By default in PaperFixes, it doesn’t sleep at all to avoid rare memory and saving issues. If enabled, it sleeps for 2 ms instead of the usual 10 ms. Best left disabled unless you have a specific reason.
  • cacheBlockDensities - Caches block density values so explosions don’t need to re-check the same block data repeatedly.
  • cacheLastChunk - Caches the last chunk accessed from the chunk provider within a tick, avoiding repeated lookups.
  • compactLut - Uses a smaller, faster lookup table for sine and cosine calculations. Thanks to jellysquid3 and ruViolence.
  • fastChests - Runs chest open/close animations only when needed, instead of every tick.
  • smartRegionRead - Reads the entire region file header at once for faster world loading and fewer potential issues.
  • fastEntityDataMap - Stores and looks up entity data with a faster hash map.
  • optimizePathfinding - Improves pathfinding by skipping repeated or impossible paths.
  • optimizedTaskQueue - Uses a faster queue implementation for scheduled tasks.
  • pathingChunkCache - Tracks the chunk an entity is moving through with a quick 1D cache. Thanks to jellysquid3 and ruViolence.
  • pathNodeCache - Saves pathing data so the same blocks aren’t recalculated repeatedly. Thanks to jellysquid3 and ruViolence.
  • queueChunkSaving - Saves chunks gradually over time instead of all at once, reducing server pause time during saves.
  • trimRegionCache - Unloads only the least-used regions instead of all at once, preventing immediate reloading of active regions.
  • sharedRandomForEntities - Uses a shared random number generator for all entities rather than creating a new one for each.

Known Incompatibilities

  • The improved tick loop is not compatible with the mixin.bugfix.slow_tps_catchup option from VintageFix (removed as of commit ecbc3e1 and no longer in the latest release) and the tick loop changes from Forged Carpet and likely from any other mod.
  • Bad core mods can cause re-entry errors and crash the game as soon as it starts. This is not PaperFixes' fault and is unavoidable because these mods are loading game classes too early. The only solution is to replace them with a fork that fixes the problems.
    An incomplete list of problematic core mods and solutions:

Последние версии

Все версии →
release

PaperFixes 2.0.1

2.0.1
11 окт. 2025 г.2,7 тыс.Minecraft: 1.12.2forge
Скачать
Что нового
Fixed a exception caused by dontOffloadBeaconColorUpdate not being remapped properly
release

PaperFixes 2.0.0

2.0.0
14 авг. 2025 г.265Minecraft: 1.12.2forge
Скачать
Что нового
- The radius of pregenerated spawn chunks now matches the radius of the spawnRadius gamerule For the full list of changes between 1.3.1 and 2.0.0, see the link below https://github.com/Elephant1214/PaperFixes/compare/b470060...84d437a
beta

PaperFixes 2.0.0 RC2

2.0.0-rc.2
11 июл. 2025 г.489Minecraft: 1.12.2forge
Скачать
Что нового
ConfigAnytime is now REQUIRED See the following commits for a list of changes. https://github.com/Elephant1214/PaperFixes/compare/b470060...84d437a
release

PaperFixes 1.3.1

1.3.1
16 окт. 2024 г.1,1 тыс.Minecraft: 1.12.2forge
Скачать
Что нового
- Fixed broken MC-54738 fix
release

PaperFixes 1.3.0

1.3.0
26 сент. 2024 г.166Minecraft: 1.12.2forge
Скачать
Что нового
- Fixed a startup crash with JEID/REID
release

PaperFixes 1.2.0

1.2.0
22 июл. 2024 г.436Minecraft: 1.12.2forge
Скачать
Что нового
- MixinBooter is now required, fixes Mixin not initializing and incompatibility problems - Switched to a Json-based (Gson) config to fix loading problems - Added missing feature toggles - Disabled `removeNullTileEntities` by default to fix problems with Botania flowers - Incompatible with Forged Carpet as it forces the game to crash when its tick loop injection fails to apply - Fixed static instances relying on the mod class
release

PaperFixes 1.1.0

1.1.0
5 июл. 2024 г.262Minecraft: 1.12.2forge
Скачать
Что нового
- Added missing config option for saving queue - Updated some config descriptions - Added chunk caching to the client chunk provider
release

PaperFixes 1.0.1

1.0.1
28 июн. 2024 г.165Minecraft: 1.12.2forge
Скачать
Что нового
- Fixed EntityWaterMob crash - Moved MixinExtras init to an earlier Mixin plugin - Fixed MixinBooter compatibility
release

PaperFixes 1.0.0

1.0.0
28 июн. 2024 г.104Minecraft: 1.12.2forge
Скачать
Что нового
- Fixed a stack overflow exception in the mob spawner check - Entities now use a shared Random instance - The entity data manager now uses an Int2ObjectOpenHashMap for entries which is extremely fast - The game will no longer attempt to add null block info to a crash report - Region files have their entire header loaded - Region file cache now trims the least accessed region instead of closing all region files upon hitting 256 regions - The chunk provider caches the last accessed chunk which can make a big difference in chunk loading and world generation as the game accesses the same chunk multiple times - getCanSpawnHere in EntityWaterMob actually checks if the entity can spawn in the given location - Enchantments are sorted by their IDs so that the game doesn't think two items that are the same are different - Chunk saving now uses an actual queue and polling which fixes slowdowns when many chunks are queued to be saved - A pointless 10ms sleep call was removed from the chunk save thread
beta

PaperFixes 0.4.3-BETA

0.4.3-BETA
22 июн. 2024 г.172Minecraft: 1.12.2forge
Скачать
Что нового
- Corrected MixinTileEntityChest - Fixed invalid tile entity check - Switched to parameterized logging - Switched to Double.hashCode for calculating explosion density cache hashes