Skip to content
This repository has been archived by the owner on Aug 27, 2024. It is now read-only.

Commit

Permalink
Leijurvs Randar patch
Browse files Browse the repository at this point in the history
  • Loading branch information
hub authored and nopjmp committed Apr 19, 2024
1 parent 899c2f4 commit 2d4643a
Showing 1 changed file with 34 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Leijurv <leijurv@gmail.com>
Date: Tue, 16 Apr 2024 19:43:08 -0700
Subject: [PATCH] Patch RNG reuse that could lead to coord exploit (Randar)


diff --git src/main/java/net/minecraft/server/World.java src/main/java/net/minecraft/server/World.java
index cc9f467cc85704d536545aa63985340013e63703..a6e97eb3b57e65abf4399acbec9393bcab1ee2b9 100644
--- src/main/java/net/minecraft/server/World.java
+++ src/main/java/net/minecraft/server/World.java
@@ -89,6 +89,9 @@ public abstract class World implements IBlockAccess {
protected float q;
private int M;
public final Random random = new Random();
+ // Dionysus start
+ private final Random separateRandOnlyForWorldGen = new Random();
+ // Dionysus end
public WorldProvider worldProvider;
protected NavigationListener t = new NavigationListener();
protected List<IWorldAccess> u;
@@ -3224,9 +3227,10 @@ public abstract class World implements IBlockAccess {

public Random a(int i, int j, int k) {
long l = (long) i * 341873128712L + (long) j * 132897987541L + this.getWorldData().getSeed() + (long) k;
-
- this.random.setSeed(l);
- return this.random;
+ // Dionysus start
+ this.separateRandOnlyForWorldGen.setSeed(l);
+ return this.separateRandOnlyForWorldGen;
+ // Dionysus end
}

public CrashReportSystemDetails a(CrashReport crashreport) {

0 comments on commit 2d4643a

Please sign in to comment.