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 timeout to 90 seconds and the login timeout to 900 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 "<Player> moved too quickly!" log spam that occurs when players move too fast.
- The normal movement speed, elytra movement speed and vehicle movement speed can be configured.
- This feature disables itself if SpongeForge is installed since it already has this functionality.
- The vehicle movement speed 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-188.8.131.5242 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 <keybind> 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.