aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/gregtech/api/objects/XSTR.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main/java/gregtech/api/objects/XSTR.java b/src/main/java/gregtech/api/objects/XSTR.java
index 5ca3893d25..22bcf91dbe 100644
--- a/src/main/java/gregtech/api/objects/XSTR.java
+++ b/src/main/java/gregtech/api/objects/XSTR.java
@@ -43,12 +43,15 @@ public class XSTR extends Random {
private static final long SEEDER_INCREMENT = 0xbb67ae8584caa73bL;
private static final double DOUBLE_UNIT = 0x1.0p-53; // 1.0 / (1L << 53)
private static final float FLOAT_UNIT = 0x1.0p-24f; // 1.0f / (1 << 24)
+ private static final AtomicLong seedUniquifier = new AtomicLong(8682522807148012L);
public final static XSTR XSTR_INSTANCE=new XSTR(){
@Override
public synchronized void setSeed(long seed) {
- throw new NoSuchMethodError("This is meant to be shared!, leave seed state alone!");
+ if(!Thread.currentThread().getStackTrace()[2].getClassName().equals(Random.class.getName()))
+ throw new NoSuchMethodError("This is meant to be shared!, leave seed state alone!");
}
};
+
/*
MODIFIED BY: Robotia
Modification: Implemented Random class seed generator
@@ -61,8 +64,6 @@ public class XSTR extends Random {
public XSTR() {
this(seedUniquifier() ^ System.nanoTime());
}
- private static final AtomicLong seedUniquifier
- = new AtomicLong(8682522807148012L);
private static long seedUniquifier() {
// L'Ecuyer, "Tables of Linear Congruential Generators of