mirror of https://github.com/FabricMC/yarn.git
21w40a random stuff (#2735)
* 21w40a random stuff * Apply suggestions from code review Co-authored-by: enbrain <69905075+enbrain@users.noreply.github.com> * Rename GaussianCalculator Co-authored-by: enbrain <69905075+enbrain@users.noreply.github.com>
This commit is contained in:
parent
ffc4aa6468
commit
505c91341a
|
@ -4,7 +4,12 @@ CLASS net/minecraft/class_5820 net/minecraft/world/gen/random/AtomicSimpleRandom
|
|||
FIELD field_31472 SEED_MASK J
|
||||
FIELD field_31473 MULTIPLIER J
|
||||
FIELD field_31474 INCREMENT J
|
||||
FIELD field_35124 gaussianGenerator Lnet/minecraft/class_6672;
|
||||
METHOD <init> (J)V
|
||||
ARG 1 seed
|
||||
METHOD method_33651 (I)I
|
||||
ARG 1 bits
|
||||
CLASS class_6671 RandomDeriver
|
||||
FIELD field_35125 seed J
|
||||
METHOD <init> (J)V
|
||||
ARG 1 seed
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
CLASS net/minecraft/class_6574 net/minecraft/world/gen/random/BlockPosRandomDeriver
|
||||
METHOD method_38418 createRandom (III)Lnet/minecraft/class_5819;
|
||||
ARG 1 x
|
||||
ARG 2 y
|
||||
ARG 3 z
|
||||
METHOD method_38419 createRandom (Lnet/minecraft/class_2338;)Lnet/minecraft/class_5819;
|
||||
ARG 1 pos
|
|
@ -1,5 +1,8 @@
|
|||
CLASS net/minecraft/class_2919 net/minecraft/world/gen/random/ChunkRandom
|
||||
FIELD field_28768 sampleCount I
|
||||
FIELD field_35141 baseRandom Lnet/minecraft/class_5819;
|
||||
METHOD <init> (Lnet/minecraft/class_5819;)V
|
||||
ARG 1 baseRandom
|
||||
METHOD method_12659 setTerrainSeed (II)V
|
||||
COMMENT Seeds the randomizer to generate the surface terrain blocks (such as grass, sand, etc.)
|
||||
COMMENT and the bedrock patterns.
|
||||
|
@ -67,3 +70,9 @@ CLASS net/minecraft/class_2919 net/minecraft/world/gen/random/ChunkRandom
|
|||
METHOD method_35335 getSampleCount ()I
|
||||
METHOD next (I)I
|
||||
ARG 1 count
|
||||
CLASS class_6675 RandomProvider
|
||||
FIELD field_35144 provider Ljava/util/function/LongFunction;
|
||||
METHOD <init> (Ljava/lang/String;ILjava/util/function/LongFunction;)V
|
||||
ARG 3 provider
|
||||
METHOD method_39006 create (J)Lnet/minecraft/class_5819;
|
||||
ARG 1 seed
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
CLASS net/minecraft/class_6672 net/minecraft/world/gen/random/GaussianGenerator
|
||||
FIELD field_35126 baseRandom Lnet/minecraft/class_5819;
|
||||
FIELD field_35127 nextNextGaussian D
|
||||
FIELD field_35128 hasNextGaussian Z
|
||||
METHOD <init> (Lnet/minecraft/class_5819;)V
|
||||
ARG 1 baseRandom
|
||||
METHOD method_38996 next ()D
|
|
@ -0,0 +1,11 @@
|
|||
CLASS net/minecraft/class_6574 net/minecraft/world/gen/random/RandomDeriver
|
||||
METHOD method_38418 createRandom (III)Lnet/minecraft/class_5819;
|
||||
ARG 1 x
|
||||
ARG 2 y
|
||||
ARG 3 z
|
||||
METHOD method_38419 createRandom (Lnet/minecraft/class_2338;)Lnet/minecraft/class_5819;
|
||||
ARG 1 pos
|
||||
METHOD method_38995 createRandom (Ljava/lang/String;)Lnet/minecraft/class_5819;
|
||||
ARG 1 string
|
||||
METHOD method_39000 createRandom (Lnet/minecraft/class_2960;)Lnet/minecraft/class_5819;
|
||||
ARG 1 id
|
|
@ -0,0 +1,13 @@
|
|||
CLASS net/minecraft/class_6673 net/minecraft/world/gen/random/RandomSeed
|
||||
FIELD field_35133 XOROSHIRO64_SEED_LO_FALLBACK J
|
||||
FIELD field_35134 XOROSHIRO64_SEED_HI_FALLBACK J
|
||||
FIELD field_35135 SEED_UNIQUIFIER Ljava/util/concurrent/atomic/AtomicLong;
|
||||
METHOD method_39001 getSeed ()J
|
||||
COMMENT {@return the seed calculated using {@link SEED_UNIQUIFIER} and the system time}
|
||||
METHOD method_39002 nextSplitMix64Int (J)J
|
||||
ARG 0 seed
|
||||
METHOD method_39003 createXoroshiroSeed (J)Lnet/minecraft/class_6673$class_6674;
|
||||
ARG 0 seed
|
||||
METHOD method_39004 (J)J
|
||||
ARG 0 seedUniquifier
|
||||
CLASS class_6674 XoroshiroSeed
|
|
@ -4,5 +4,6 @@ CLASS net/minecraft/class_6575 net/minecraft/world/gen/random/SimpleRandom
|
|||
FIELD field_34691 MULTIPLIER J
|
||||
FIELD field_34692 INCREMENT J
|
||||
FIELD field_34693 seed J
|
||||
FIELD field_35136 gaussianGenerator Lnet/minecraft/class_6672;
|
||||
METHOD <init> (J)V
|
||||
ARG 1 seed
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
CLASS net/minecraft/class_6677 net/minecraft/world/gen/random/Xoroshiro128PlusPlusRandom
|
||||
COMMENT Xoroshiro128++ based pseudo random number generator.
|
||||
COMMENT
|
||||
COMMENT @implNote The actual implementation can be found on {@link Xoroshiro128PlusPlusRandomImpl}.
|
||||
FIELD field_35148 FLOAT_MULTIPLIER F
|
||||
FIELD field_35149 DOUBLE_MULTIPLIER D
|
||||
FIELD field_35150 implementation Lnet/minecraft/class_6676;
|
||||
FIELD field_35151 gaussianGenerator Lnet/minecraft/class_6672;
|
||||
METHOD <init> (J)V
|
||||
ARG 1 seed
|
||||
METHOD <init> (JJ)V
|
||||
ARG 1 seedLo
|
||||
ARG 3 seedHi
|
||||
METHOD method_39008 next (I)J
|
||||
COMMENT {@return {@code bits} upper bits of random value}
|
||||
COMMENT
|
||||
COMMENT @implNote In Xoroshiro128++, the lower bits have to be discarded in order
|
||||
COMMENT to ensure proper randomness. For example, to obtain a double, the upper 53
|
||||
COMMENT bits, instead of the lower 53 bits.
|
||||
ARG 1 bits
|
||||
CLASS class_6678 RandomDeriver
|
||||
FIELD field_35152 MD5_HASHER Lcom/google/common/hash/HashFunction;
|
||||
FIELD field_35153 seedLo J
|
||||
FIELD field_35154 seedHi J
|
||||
METHOD <init> (JJ)V
|
||||
ARG 1 seedLo
|
||||
ARG 3 seedHi
|
|
@ -0,0 +1,15 @@
|
|||
CLASS net/minecraft/class_6676 net/minecraft/world/gen/random/Xoroshiro128PlusPlusRandomImpl
|
||||
COMMENT Implementation of Xoroshiro128++ pseudo-random number generator.
|
||||
COMMENT
|
||||
COMMENT @apiNote For regular usage, {@link Xoroshiro128PlusPlusRandom} should be used instead.
|
||||
COMMENT
|
||||
COMMENT @see <a href="https://prng.di.unimi.it/xoroshiro128plusplus.c">Official
|
||||
COMMENT implementation released under public domain</a>
|
||||
FIELD field_35146 seedLo J
|
||||
FIELD field_35147 seedHi J
|
||||
METHOD <init> (JJ)V
|
||||
ARG 1 seedLo
|
||||
ARG 3 seedHi
|
||||
METHOD <init> (Lnet/minecraft/class_6673$class_6674;)V
|
||||
ARG 1 seed
|
||||
METHOD method_39007 next ()J
|
Loading…
Reference in New Issue