Class Xoroshiro128PlusPlusRandom

java.lang.Object
net.minecraft.world.gen.random.Xoroshiro128PlusPlusRandom
All Implemented Interfaces:
AbstractRandom

public class Xoroshiro128PlusPlusRandom extends Object implements AbstractRandom
Xoroshiro128++ based pseudo random number generator.
Implementation Note:
The actual implementation can be found on Xoroshiro128PlusPlusRandomImpl.
Mappings:
Namespace Name
official cyz
intermediary net/minecraft/class_6677
named net/minecraft/world/gen/random/Xoroshiro128PlusPlusRandom
  • Field Details

    • FLOAT_MULTIPLIER

      private static final float FLOAT_MULTIPLIER
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Lcyz;b:F
      intermediary field_35148 Lnet/minecraft/class_6677;field_35148:F
      named FLOAT_MULTIPLIER Lnet/minecraft/world/gen/random/Xoroshiro128PlusPlusRandom;FLOAT_MULTIPLIER:F
    • DOUBLE_MULTIPLIER

      private static final double DOUBLE_MULTIPLIER
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official c Lcyz;c:D
      intermediary field_35149 Lnet/minecraft/class_6677;field_35149:D
      named DOUBLE_MULTIPLIER Lnet/minecraft/world/gen/random/Xoroshiro128PlusPlusRandom;DOUBLE_MULTIPLIER:D
    • implementation

      private Xoroshiro128PlusPlusRandomImpl implementation
      Mappings:
      Namespace Name Mixin selector
      official d Lcyz;d:Lcyy;
      intermediary field_35150 Lnet/minecraft/class_6677;field_35150:Lnet/minecraft/class_6676;
      named implementation Lnet/minecraft/world/gen/random/Xoroshiro128PlusPlusRandom;implementation:Lnet/minecraft/util/math/random/Xoroshiro128PlusPlusRandomImpl;
    • gaussianGenerator

      private final GaussianGenerator gaussianGenerator
      Mappings:
      Namespace Name Mixin selector
      official e Lcyz;e:Lcyc;
      intermediary field_35151 Lnet/minecraft/class_6677;field_35151:Lnet/minecraft/class_6672;
      named gaussianGenerator Lnet/minecraft/world/gen/random/Xoroshiro128PlusPlusRandom;gaussianGenerator:Lnet/minecraft/world/gen/random/GaussianGenerator;
  • Constructor Details

    • Xoroshiro128PlusPlusRandom

      public Xoroshiro128PlusPlusRandom(long seed)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lcyz;<init>(J)V
      intermediary <init> Lnet/minecraft/class_6677;<init>(J)V
      named <init> Lnet/minecraft/world/gen/random/Xoroshiro128PlusPlusRandom;<init>(J)V
    • Xoroshiro128PlusPlusRandom

      public Xoroshiro128PlusPlusRandom(long seedLo, long seedHi)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lcyz;<init>(JJ)V
      intermediary <init> Lnet/minecraft/class_6677;<init>(JJ)V
      named <init> Lnet/minecraft/world/gen/random/Xoroshiro128PlusPlusRandom;<init>(JJ)V
  • Method Details

    • derive

      public AbstractRandom derive()
      Specified by:
      derive in interface AbstractRandom
      Mappings:
      Namespace Name Mixin selector
      official d Lakt;d()Lakt;
      intermediary method_38420 Lnet/minecraft/class_5819;method_38420()Lnet/minecraft/class_5819;
      named derive Lnet/minecraft/util/math/random/AbstractRandom;derive()Lnet/minecraft/util/math/random/AbstractRandom;
    • createRandomDeriver

      public RandomDeriver createRandomDeriver()
      Specified by:
      createRandomDeriver in interface AbstractRandom
      Mappings:
      Namespace Name Mixin selector
      official e Lakt;e()Lcyn;
      intermediary method_38421 Lnet/minecraft/class_5819;method_38421()Lnet/minecraft/class_6574;
      named createRandomDeriver Lnet/minecraft/util/math/random/AbstractRandom;createRandomDeriver()Lnet/minecraft/util/math/random/RandomDeriver;
    • setSeed

      public void setSeed(long seed)
      Specified by:
      setSeed in interface AbstractRandom
      Mappings:
      Namespace Name Mixin selector
      official b Lakt;b(J)V
      intermediary method_43052 Lnet/minecraft/class_5819;method_43052(J)V
      named setSeed Lnet/minecraft/util/math/random/AbstractRandom;setSeed(J)V
    • nextInt

      public int nextInt()
      Specified by:
      nextInt in interface AbstractRandom
      Mappings:
      Namespace Name Mixin selector
      official f Lakt;f()I
      intermediary method_43054 Lnet/minecraft/class_5819;method_43054()I
      named nextInt Lnet/minecraft/util/math/random/AbstractRandom;nextInt()I
    • nextInt

      public int nextInt(int bound)
      Specified by:
      nextInt in interface AbstractRandom
      Mappings:
      Namespace Name Mixin selector
      official a Lakt;a(I)I
      intermediary method_43048 Lnet/minecraft/class_5819;method_43048(I)I
      named nextInt Lnet/minecraft/util/math/random/AbstractRandom;nextInt(I)I
    • nextLong

      public long nextLong()
      Specified by:
      nextLong in interface AbstractRandom
      Mappings:
      Namespace Name Mixin selector
      official g Lakt;g()J
      intermediary method_43055 Lnet/minecraft/class_5819;method_43055()J
      named nextLong Lnet/minecraft/util/math/random/AbstractRandom;nextLong()J
    • nextBoolean

      public boolean nextBoolean()
      Specified by:
      nextBoolean in interface AbstractRandom
      Mappings:
      Namespace Name Mixin selector
      official h Lakt;h()Z
      intermediary method_43056 Lnet/minecraft/class_5819;method_43056()Z
      named nextBoolean Lnet/minecraft/util/math/random/AbstractRandom;nextBoolean()Z
    • nextFloat

      public float nextFloat()
      Specified by:
      nextFloat in interface AbstractRandom
      Mappings:
      Namespace Name Mixin selector
      official i Lakt;i()F
      intermediary method_43057 Lnet/minecraft/class_5819;method_43057()F
      named nextFloat Lnet/minecraft/util/math/random/AbstractRandom;nextFloat()F
    • nextDouble

      public double nextDouble()
      Specified by:
      nextDouble in interface AbstractRandom
      Mappings:
      Namespace Name Mixin selector
      official j Lakt;j()D
      intermediary method_43058 Lnet/minecraft/class_5819;method_43058()D
      named nextDouble Lnet/minecraft/util/math/random/AbstractRandom;nextDouble()D
    • nextGaussian

      public double nextGaussian()
      Specified by:
      nextGaussian in interface AbstractRandom
      Mappings:
      Namespace Name Mixin selector
      official k Lakt;k()D
      intermediary method_43059 Lnet/minecraft/class_5819;method_43059()D
      named nextGaussian Lnet/minecraft/util/math/random/AbstractRandom;nextGaussian()D
    • skip

      public void skip(int count)
      Specified by:
      skip in interface AbstractRandom
      Mappings:
      Namespace Name Mixin selector
      official b Lakt;b(I)V
      intermediary method_33650 Lnet/minecraft/class_5819;method_33650(I)V
      named skip Lnet/minecraft/util/math/random/AbstractRandom;skip(I)V
    • next

      private long next(int bits)
      Returns bits upper bits of random value.
      Returns:
      bits upper bits of random value
      Implementation Note:
      In Xoroshiro128++, the lower bits have to be discarded in order to ensure proper randomness. For example, to obtain a double, the upper 53 bits, instead of the lower 53 bits.
      Mappings:
      Namespace Name Mixin selector
      official c Lcyz;c(I)J
      intermediary method_39008 Lnet/minecraft/class_6677;method_39008(I)J
      named next Lnet/minecraft/world/gen/random/Xoroshiro128PlusPlusRandom;next(I)J