package ch.deletescape.jterm.commandcontexts;

import ch.deletescape.jterm.CommandUtils;
import ch.deletescape.jterm.io.Printer;

public class Random extends CommandContext {
  private long seedUniquifier = 8682522807148012L;

  @Override
  protected void init() {
    CommandUtils.addListener("random", o -> random());
  }

  private long random() {
    long x = System.currentTimeMillis() * ++seedUniquifier;
    x ^= (x << 21);
    x ^= (x >>> 35);
    x ^= (x << 4);
    Printer.out.println(Math.abs(x));
    return Math.abs(x);
  }
}

@@ -85,48 +85,8 @@
 ils;
-%0Aimport ch.deletescape.jterm.io.Printer;
 %0A%0Apu
@@ -142,47 +142,29 @@
 ate 
-long seedUniquifier = 8682522807148012L
+java.util.Random rand
 ;%0A%0A 
@@ -294,162 +294,71 @@
     
-long x = System.currentTimeMillis() * ++seedUniquifier;%0A    x %5E= (x %3C%3C 21);%0A    x %5E= (x %3E%3E%3E 35);%0A    x %5E= (x %3C%3C 4);%0A    Printer.out.println(Math.abs(x)
+if (rand == null) %7B%0A      rand = new java.util.Random(
 );%0A
+    %7D%0A
     
@@ -368,18 +368,22 @@
 urn 
-Math.abs(x
+rand.nextLong(
 );%0A 

Replace our own Random implementation with java.util.Random