Package net.minecraft.util.math.random
Class Xoroshiro128PlusPlusRandom
java.lang.Object
net.minecraft.util.math.random.Xoroshiro128PlusPlusRandom
- All Implemented Interfaces:
Random
Xoroshiro128++ based pseudo random number generator.
- Implementation Note:
- The actual implementation can be found on
Xoroshiro128PlusPlusRandomImpl
. - Mappings:
Namespace Name named net/minecraft/util/math/random/Xoroshiro128PlusPlusRandom
intermediary net/minecraft/class_6677
official eeq
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionstatic final com.mojang.serialization.Codec
<Xoroshiro128PlusPlusRandom> private static final double
private static final float
private final GaussianGenerator
private Xoroshiro128PlusPlusRandomImpl
Fields inherited from interface net.minecraft.util.math.random.Random
field_38930
-
Constructor Summary
ModifierConstructorDescriptionXoroshiro128PlusPlusRandom
(long seed) Xoroshiro128PlusPlusRandom
(long seedLo, long seedHi) private
Xoroshiro128PlusPlusRandom
(Xoroshiro128PlusPlusRandomImpl implementation) -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.minecraft.util.math.random.Random
nextBetween, nextBetweenExclusive, nextTriangular, nextTriangular
-
Field Details
-
FLOAT_MULTIPLIER
private static final float FLOAT_MULTIPLIER- See Also:
- Mappings:
Namespace Name Mixin selector named FLOAT_MULTIPLIER
Lnet/minecraft/util/math/random/Xoroshiro128PlusPlusRandom;FLOAT_MULTIPLIER:F
intermediary field_35148
Lnet/minecraft/class_6677;field_35148:F
official c
Leeq;c:F
-
DOUBLE_MULTIPLIER
private static final double DOUBLE_MULTIPLIER- See Also:
- Mappings:
Namespace Name Mixin selector named DOUBLE_MULTIPLIER
Lnet/minecraft/util/math/random/Xoroshiro128PlusPlusRandom;DOUBLE_MULTIPLIER:D
intermediary field_35149
Lnet/minecraft/class_6677;field_35149:D
official d
Leeq;d:D
-
CODEC
- Mappings:
Namespace Name Mixin selector named CODEC
Lnet/minecraft/util/math/random/Xoroshiro128PlusPlusRandom;CODEC:Lcom/mojang/serialization/Codec;
intermediary field_44880
Lnet/minecraft/class_6677;field_44880:Lcom/mojang/serialization/Codec;
official b
Leeq;b:Lcom/mojang/serialization/Codec;
-
implementation
- Mappings:
Namespace Name Mixin selector named implementation
Lnet/minecraft/util/math/random/Xoroshiro128PlusPlusRandom;implementation:Lnet/minecraft/util/math/random/Xoroshiro128PlusPlusRandomImpl;
intermediary field_35150
Lnet/minecraft/class_6677;field_35150:Lnet/minecraft/class_6676;
official e
Leeq;e:Leep;
-
gaussianGenerator
- Mappings:
Namespace Name Mixin selector named gaussianGenerator
Lnet/minecraft/util/math/random/Xoroshiro128PlusPlusRandom;gaussianGenerator:Lnet/minecraft/util/math/random/GaussianGenerator;
intermediary field_35151
Lnet/minecraft/class_6677;field_35151:Lnet/minecraft/class_6672;
official f
Leeq;f:Ledr;
-
-
Constructor Details
-
Xoroshiro128PlusPlusRandom
public Xoroshiro128PlusPlusRandom(long seed) - Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/util/math/random/Xoroshiro128PlusPlusRandom;<init>(J)V
intermediary <init>
Lnet/minecraft/class_6677;<init>(J)V
official <init>
Leeq;<init>(J)V
-
Xoroshiro128PlusPlusRandom
- Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/util/math/random/Xoroshiro128PlusPlusRandom;<init>(Lnet/minecraft/util/math/random/RandomSeed$XoroshiroSeed;)V
intermediary <init>
Lnet/minecraft/class_6677;<init>(Lnet/minecraft/class_6673$class_6674;)V
official <init>
Leeq;<init>(Leee$a;)V
-
Xoroshiro128PlusPlusRandom
public Xoroshiro128PlusPlusRandom(long seedLo, long seedHi) - Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/util/math/random/Xoroshiro128PlusPlusRandom;<init>(JJ)V
intermediary <init>
Lnet/minecraft/class_6677;<init>(JJ)V
official <init>
Leeq;<init>(JJ)V
-
Xoroshiro128PlusPlusRandom
- Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/util/math/random/Xoroshiro128PlusPlusRandom;<init>(Lnet/minecraft/util/math/random/Xoroshiro128PlusPlusRandomImpl;)V
intermediary <init>
Lnet/minecraft/class_6677;<init>(Lnet/minecraft/class_6676;)V
official <init>
Leeq;<init>(Leep;)V
-
-
Method Details
-
split
-
nextSplitter
- Specified by:
nextSplitter
in interfaceRandom
- Mappings:
Namespace Name Mixin selector named nextSplitter
Lnet/minecraft/util/math/random/Random;nextSplitter()Lnet/minecraft/util/math/random/RandomSplitter;
intermediary method_38421
Lnet/minecraft/class_5819;method_38421()Lnet/minecraft/class_6574;
official e
Lbam;e()Leec;
-
setSeed
public void setSeed(long seed) -
nextInt
public int nextInt() -
nextInt
public int nextInt(int bound) -
nextLong
public long nextLong() -
nextBoolean
public boolean nextBoolean()- Specified by:
nextBoolean
in interfaceRandom
- Mappings:
Namespace Name Mixin selector named nextBoolean
Lnet/minecraft/util/math/random/Random;nextBoolean()Z
intermediary method_43056
Lnet/minecraft/class_5819;method_43056()Z
official h
Lbam;h()Z
-
nextFloat
public float nextFloat() -
nextDouble
public double nextDouble()- Specified by:
nextDouble
in interfaceRandom
- Mappings:
Namespace Name Mixin selector named nextDouble
Lnet/minecraft/util/math/random/Random;nextDouble()D
intermediary method_43058
Lnet/minecraft/class_5819;method_43058()D
official j
Lbam;j()D
-
nextGaussian
public double nextGaussian()- Specified by:
nextGaussian
in interfaceRandom
- Mappings:
Namespace Name Mixin selector named nextGaussian
Lnet/minecraft/util/math/random/Random;nextGaussian()D
intermediary method_43059
Lnet/minecraft/class_5819;method_43059()D
official k
Lbam;k()D
-
skip
public void skip(int count) -
next
private long next(int bits) Returnsbits
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 should be used instead of the lower 53 bits.
- Mappings:
Namespace Name Mixin selector named next
Lnet/minecraft/util/math/random/Xoroshiro128PlusPlusRandom;next(I)J
intermediary method_39008
Lnet/minecraft/class_6677;method_39008(I)J
official c
Leeq;c(I)J
-