Random number generation (RNG) manipulation Edit

RNG manipulation is a big part of world and player manipulation and uses interactions to manipulate the chance of a random happening.

Before you jump in Edit

If your not familiar with the Minecraft code, it's suggested to inform yourself about the basics of the minecraft mechanism.

Here I made a list of useful links on this Wiki, that will help you:

  • Chunks
  • Redstone
  • Block updates (WIP)
  • Random ticks (WIP)
  • Iron farms and villages (WIP)
  • Spawn mechanics (WIP)
  • Weather (WIP)
  • Tile entities (WIP)

There is a video tutorial by Xcom6000 to, which will go into the theme deeply [1]

RNG in the code Edit

Before we begin to manipulate the RNG, we have to take a look at the Code first.

The following code is Pseudo code and NOT licensed by Microsoft inc.

Every randomized action in the game is based on one pseudo random number generator. The generator has a reset function, and a "forward function", which is called every generated random number.

It begins like

rand = new Random();

This sets a random function

Then, if the game requests a new random number, it calls this:

number = rand.nextInt();

This will generate a random number, and switching to a new one based on the previous one

Normally, since the output is based on the previous output, this would have ULTIMATE security, since that's the same way your web browser establishes a secure connection via HTTP S to this server! But notch failed. That's how programmers would describe it ;).

PS: Fix if someone from Mojang, AND ONLY THEM, sees this article:

number = rand.nextInt(lastNumber)

Would help it ;)

Reverse engineering the RNG Edit

So, since the we know that the RNG consists of this unbreakable chain of random generations, how do we break it?

Normally it would be like this:

rand = new Random(); --> number = rand.nextInt() ...followed by more nextInt... --> number =

Community content is available under CC-BY-SA unless otherwise noted.