NoTextureRotations

NoTextureRotations

Mod

Prevent Block Texture Rotations

Client DecorationGame MechanicsUtility

336 downloads
4 followers
Created2 months ago
Updated12 days ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.

A Fabric mod to prevent coordinate exploits based on texture rotation and position offsets. Or if you prefer how it looks!

Compatible with Vanilla MC, Sodium, and custom texture/resource packs

How the mod works

This mod can either:

  1. Disable block texture rotations and offsets
  2. Replace the random function with a secure implementation, which will retain the normal visual feel of the game

Configuration

There are two ways to configure the mod in-game:

  1. Install YetAnotherConfigLib and ModMenu
  2. Install Sodium. A page for NoTextureRotation settings will be added to the Video Settings.

The configuration file is located at: .minecraft/config/no-texture-rotations.json

What's the exploit?

Many blocks like grass, dirt, and stone have variations that rotate or change their textures slightly.

Texture variants are not inherently bad, they make the game visually more interesting as they prevent blocks from looking "same-y" when many are next to each other.

Example

The problem is that the "random" number used to select the variant is seeded by the block's position in-game. No world seed is required.

Offsets works similarly, some blocks like flowers offset their position from the center of the block with a "random" offset.

Any screenshots or videos that show examples of these blocks are susceptible to an attacker cracking the block coordinates.

On anarchy servers, this can be particularly powerful - leading to bases with images or videos shared being found.

This is not a new discovery, and the method has been known since at least before 2018 and is still regularly used today in reversing panorma seeds. Example: https://youtu.be/gE1dMNCyofs?t=57

There are multiple public tools to perform this:


Project members

rfresh2

Member


Technical information

License
Apache-2.0
Client side
required
Server side
unsupported
Project ID