The description can be found on GitHub.
The Fabric version can be found here.
RandomPatches is entirely standalone; you do not need to install any dependencies to use it.
When reporting issues or suggesting enhancements, please use the GitHub issue tracker, and make sure you are on the latest version of the mod for your Minecraft version—it's easier to keep track of things this way. Avoid commenting them on the CurseForge project page or sending them to me in a direct message. Thank you!
Support my work
If you'd like to support my work, I've got a Patreon! Feel free to check it out. 😛
Special thanks to kreezxil for supporting my work!
I've partnered with Apex Hosting! In my experience, their servers are lag-free, easy to manage, and of high quality. Check them out here:
Old description (<2.0.0):
RandomPatches is a mod that contains a bunch of miscellaneous patches for Minecraft. RandomPatches only contains features that require ASM transformers. Tweaks that don't require ASM transformers go in RandomTweaks, which I recommend as a companion mod.
When installed on the client, RandomPatches should be completely compatible with vanilla servers, and when installed on a server, it should be completely compatible with vanilla clients. This also means that the client can connect with a different version of the mod to the one on the server. All patches are either exclusively client-sided or exclusively server-sided.
For a rudimentary Fabric version of this mod, see here.
Read and login timeouts
- The read and login timeouts are hardcoded in vanilla Minecraft, and are often not long enough for slower computers.
- On Minecraft 1.9 and higher, RandomPatches allows you to configure the login timeout, and on Minecraft 1.12 and higher, the read timeout is also configurable.
- By default, RandomPatches sets the read and login timeouts to 90 seconds.
- The read timeout is the time the server waits for a response to the KeepAlive packet it sends every set interval. This interval can also be configured on Minecraft 1.9 and higher.
- The read timeout is automatically rounded up to a product of the KeepAlive packet interval.
- Do not increase the KeepAlive packet interval unless necessary. Leaving it at 15 should be fine.
- The login timeout generally has more impact than the read timeout.
- This also sets the "fml.readTimeout" and "fml.loginTimeout" system properties.
- These timeouts can be configured and take effect in-game, unless the NetHandlerPlayServer patches are disabled in the configuration.
- The login timeout is entirely server-sided, but the read timeout is both client and server-sided.
Force return to the title screen
- In vanilla, the game returns to the Multiplayer/Realms menu when disconnecting from a server.
- RandomPatches provides an option to force returning to the title screen after disconnecting.
- This option is disabled by default.
- This can be used in conjunction with ServerObserver. If you have auto-connect enabled and leave a server to go AFK, without this mod, ServerObserver automatically rejoins the server because Minecraft returns to the Multiplayer menu.
- This can be configured and take effect in-game, unless you set "patchTitleScreenOnDisconnect" to false.
Configurable player speed limits
- On Minecraft 1.9 and higher, this removes the rubber banding and the " moved too quickly!" log spam that occurs when players move too fast.
- The normal movement speed, elytra movement speed and vehicle movement speed limits can be configured.
- This feature disables itself if SpongeForge is installed since it already has this functionality.
- The vehicle movement speed limit cannot be configured if Ice and Fire is installed, as it contains its own implementation.
- These limits can be configured and take effect in-game, unless the NetHandlerPlayServer patches are disabled in the configuration.
Faster language switching
- Almost removes the lag from switching to another language.
- This was taken from FastLang.
- This cannot be toggled in-game.
- On Forge 1.12.2-220.127.116.1142 and higher, this can also be enabled in forge.cfg by setting client.selectiveResourceReloadEnabled to true.
Toggle Narrator keybind
- Adds a Toggle Narrator keybind.
- This is similar to Rebind Narrator, but RandomPatches' version is slightly more consistent with vanilla behavior.
- This feature disables itself when Rebind Narrator or ReBind is installed.
- Since the narrator was implemented in 1.12, this only works in Minecraft 1.12 and higher.
- This feature cannot be enabled/disabled in-game.
End Portal tweaks
- Fixes the End portal and End gateway break particle textures and improves End portal rendering.
- In vanilla Minecraft, the particle textures are missing so they show as purple and black, and End portals only render from above.
- RandomPatches fixes these issues by changing the particle textures on Minecraft 1.12 and below to obsidian to match Minecraft 1.13+ and by forcing portals to render from both above and below.
- This feature only works on 1.11 and above and is completely client-sided.
- End portal rendering without RandomPatches:
- End portal rendering with RandomPatches:
- Break particle textures without RandomPatches:
- Break particle textures with RandomPatches (outdated):
Recipe Book NBT Fix
- This is a fix for MC-129057, which prevents ingredients with NBT data from being transferred to the crafting grid when a recipe is clicked in the recipe book.
- Although RandomPatches' fix is slightly more mod-compatible in theory, it disables itself when VanillaFix is installed.
- This is a better implementation of the Buoyant Boats tweak in CplPibald's Tweaks.
- The buoyancy of boats under flowing water can be configured.
- In vanilla, underwater boats have a buoyancy of -0.0007, which means they sink.
- RandomPatches by default changes the buoyancy of underwater boats to 0.023, making them float and allowing them to travel upwards.
- There is also an option to prevent underwater boat passengers from being ejected after 60 ticks (3 seconds), which is disabled by default.
- Unlike CplPibald's Tweaks, which creates a custom boat entity, RandomPatches works by patching the EntityBoat class, which makes this feature work with vanilla clients connecting to servers withthis mod installed.
- The underwater boat buoyancy and underwater boat passenger ejection prevention take effect in-game when changed.
Minecart AI Fix
- This is just a very simple fix for MC-64836 for Minecraft 1.12.2 and below. This bug causes non-player entities to be able to use their AIs to move minecarts, which can interfere with automation.
- This cannot be enabled/disabled in-game.
- Fix for MC-2025. This only works on 1.10 and above.
- In vanilla Minecraft, entities' bounding boxes are recalculated every time they are created. This is not always accurate, which can lead to entities suffocating.
- RandomPatches fixes this by storing entities' relative bounding boxes (in a tag list called RelativeAABB) and restoring them when they are created.
Remove potion glint
- Removes the glowing effect from potions.
- This option is disabled by default, and cannot be toggled in-game.
- This was taken from NoMoreGlowingPots.
Skull stacking fix
- In vanilla Minecraft, player skulls do not stack if they were obtained in different sessions.
- RandomPatches fixes this by making Minecraft treat NBT tags as equal if the SkullOwner tags are functionally equivalent.
- By default, skulls are only treated as equivalent if the textures are the same, but this can be disabled so that skulls with the same player profile are treated as the same.
- This feature works if only installed on the server, but is limited. This feature does not work if it is only installed on the client.
Portal bucket replacement fix
- This is a fix for MC-11944 on Minecraft 1.9 to 1.14, which allows players to replace End portals, End gateways and Nether portals with buckets.
- By default, this fix is disabled for Nether portals to allow for toggleable Nether portals.
- Many of Minecraft's particles aren't shown due to two long-standing bugs:
- Lots of particles will appear once again that haven't done so in the vanilla game since Minecraft 1.3 from July 2012.
- These particles include:
- Heart particles constantly popping up from animals in love
- Small snow particles upon building a snow golem
- Snowball particles when an iron golem or wither boss is built
- Large smoke particles when lava and water mix
- Red particles on redstone torch burn out
- Armor breaking particles when worn by a mob
- Smoke when placing an eye of ender in an end portal frame
- A heap of heart particles around one of the parents when a baby animal is born
- Explosion particles when the ender dragon destroys blocks upon touching them
- These fixes work on Minecraft 1.10 and newer and are server-sided.
- These fixes were originally written by Fuzs_, who asked me to implement Particle Fixes into RandomPatches. You can view his screenshots here.
- This feature will disable itself if Particle Fixes is installed.
Invisible player model fix
- This fix was also found by Fuzs_ and fixes the player model occasionally disappearing when flying with elytra in a straight line in third-person mode.
- This fix works on Minecraft 1.9 and newer and is client-sided.
- Here is a video of this issue:
Configurable packet size limit
- This feature, which separates the dismount keybind from the sneak keybind, is enabled by default on Minecraft 1.9 and newer.
- On Minecraft 1.9 and newer, it is set to the Left Shift key by default so that the behavior is equivalent to that of vanilla Minecraft.
- On Minecraft 1.9 and newer, when this keybind is set to the same key as the sneak keybind, as is the default, it does not show as a conflict in the Controls menu.
- On Minecraft 1.8, the keybind is disabled by default and is set to the Z key by default when enabled.
- On Minecraft 1.8, if this keybind is set to the same key as the sneak keybind, it will show as a conflict in the Controls menu.
- This feature is completely client-sided and allows sneaking inside of boats and minecarts.
- This is a better implementation of UnRide Keybind, which does not change the "Press to dismount" message from the sneak keybind to the "UnRide" keybind.
"TickNextTick list out of synch" fix
- This is a fix for this crash. Thanks to malte0811 for explaining how to implement this fix.
Smooth eye level change animation
- This is a fix for MC-48401.
- Before 1.8, eye level changes were animated smoothly.
- For some reason, this animation was removed in 1.8 and readded in 1.13.
- RandomPatches adds this animation back on Minecraft versions from 1.8 to 1.12.2.
- This animation can be toggled in-game.
Optimized bamboo block rendering
- This is essentially just Fast Bamboo. Thanks to darkevilmac for finding this fix.
Mining ghost blocks fix
Piston ghost blocks fix
- This is a fix for MC-54026, which causes blocks attached to slime blocks in some circumstances to create ghost blocks if a piston pushes the slime block.
- This video demonstrates this issue:
- This fix was taken from Carpet Mod by gnembon.
- This fix works from Minecraft 1.9 to 1.12.2.
Observer signal on placement
- On 1.11 and 1.12, observers emit a signal when they are placed.
- This has been fixed by Mojang on Minecraft 1.13 and newer.
- By default, RandomPatches prevents observers from emitting a signal upon placement.
- This issue is documented as MC-109832.
Framerate limit step size
- RandomPatches adds a configuration option to change the framerate limit step size.
- The vanilla step size is 10, which means setting the framerate limit to 75 from the in-game GUI is not possible.
- By default, RandomPatches changes the step size to 1.
Dismount position fix
Configurable window title/icon
- This allows the window title and icon to be configured.
- The title and window icon are set immediately upon creation.
- It's the little things also implements a configurable window title and icon, but its version loads much later.
- Custom Tweaks' custom window title also loads later instead of immediately upon window creation.
- The title and icon are configurable in-game and are set to the vanilla title and icon by default.
- All features are configurable.
- On Minecraft 1.9 and higher, /rpreload reloads the server-sided configuration and /rpreloadclient reloads the client-sided configuration (which are the same thing in a singleplayer world).
- Many options can be changed through the in-game configuration GUI, which now works on all supported versions of Minecraft, and many also take effect in-game.
- Using /rpreload or /rpreloadclient to reload the client-sided configuration does not update the window settings. Use the configuration GUI for this instead.
- Configuration options do not exist on Minecraft versions that they have no effect on.