Commit Graph

3769 Commits

Author SHA1 Message Date
af24f391df
Fix blocks without menu still behaving like being interacted with clientside 2025-03-26 23:00:18 +07:00
140bdab59c
Fix swapped out condition checks in nextDecimal 2025-03-26 22:21:02 +07:00
a3ed886900
Fix wrong matter recycler receive values 2025-03-26 22:11:37 +07:00
1087e755ff
And now, proper random decimals implementation 2025-03-26 22:09:40 +07:00
c965bcdc82
Move decimal sampling to random utils 2025-03-26 19:36:52 +07:00
5663b262eb
Move random extensions to RandomUtils file 2025-03-26 19:34:22 +07:00
e93c766edb
Move stuff from "Decimal" to appropriate places 2025-03-26 19:16:30 +07:00
85dde24e59
Update energy counter menu code 2025-03-26 19:06:39 +07:00
4fc646a13a
Energy counter "pull" mode 2025-03-26 18:52:26 +07:00
ddcfe11780
Caused by: java.lang.NoClassDefFoundError: ru/dbotthepony/mc/otm/android/feature/LimbOverclockingFeature 2025-03-24 23:33:52 +07:00
6226621b95
god damn it 2025-03-24 18:15:53 +07:00
1bb612b07c
Fixes for last commit 2025-03-24 18:14:47 +07:00
588b9c1b7c
Put all otm registries in one place 2025-03-24 13:55:36 +07:00
fdfc406ca6
Make exopack slot upgrades be consumed in stacks, to make bulk use way less annoying 2025-03-23 01:48:33 +07:00
16f91343d8
Allow to specify loot table rounds through nbt 2025-03-23 01:23:52 +07:00
3902e60424
BlockLootTableHolder#fill 2025-03-23 01:17:26 +07:00
c778f192b2
Proof-of-concept "Small capsule" loot block 2025-03-22 23:33:28 +07:00
22ebdbb1eb
Rename beforeDroppingItems to dropItems, and change logic 2025-03-22 19:59:48 +07:00
0a9e90bec6
Make matter recycler receive random amount of matter on tick instead of determining total matter received upon job start 2025-03-22 00:49:42 +07:00
0126d4d976
Don't override nextGaussian, because JVM implementation should be generally faster 2025-03-22 00:30:03 +07:00
ab2cc33b7a
"Smart storage exchange icon" 2025-03-21 21:24:16 +07:00
bfb8f0380a
Panel debug rendering 2025-03-21 21:10:46 +07:00
06f109575d
Fix children not getting re-sorted upon visibility changes 2025-03-21 18:18:07 +07:00
a2d9f43a2e
Fix grid panel layouts, introduce column major order 2025-03-21 18:17:50 +07:00
7c028b1fa6
Im with stupid 2025-03-21 15:11:09 +07:00
57c6bbb795
Update cases where wrong random being used 2025-03-21 14:00:19 +07:00
3e92c5272d
Move panels additional types to separate file 2025-03-21 13:52:00 +07:00
f9821aa552
Use GJRAND64 in menus 2025-03-21 13:36:46 +07:00
b921658eb2
Remove randomGenerator from editable panel 2025-03-21 13:34:53 +07:00
9b27ed7fb6
Add netFloat and nextDouble helper methods to RandomSource 2025-03-21 13:33:53 +07:00
269227f6cf
Add helper methods for fast DockProperty creation 2025-03-21 12:58:13 +07:00
27834cc595
Fix wrong layout final iteration value 2025-03-21 12:23:08 +07:00
c343de6031
Parenting callbacks in panels 2025-03-21 10:45:07 +07:00
e6c9708652
Add layout modes to grid panel 2025-03-21 08:07:43 +07:00
a48aaf52ae
Add DockProperty#all variant 2025-03-21 07:19:03 +07:00
9b384f2213
Implement sizeToContents() for GridPanel 2025-03-21 07:18:42 +07:00
10f250b822
Provide convenient unit packet registration 2025-03-18 18:58:51 +07:00
7f299a6dec
Provide Unit (singleton) codecs 2025-03-18 18:58:49 +07:00
442a7b7496
Declare event listener functions as internal 2025-03-18 18:40:07 +07:00
2f016a76a6
Declare registerNetworkPackets as internal 2025-03-18 18:27:54 +07:00
71186b7c30
Ignore /.kotlin 2025-03-18 18:27:29 +07:00
7f362a95a2
Rearrange icons in quickmove 2025-03-17 23:01:58 +07:00
5b68a6c7ba
Add "quick move" to/from storage graphics 2025-03-17 11:23:51 +07:00
9a5614de65
Don't drop experience capsules when keepInventory is enabled 2025-03-16 17:29:13 +07:00
df5c8dc6aa
Make Matter Decomposer throttle for 1 tick when buffer can't fit all matter produced 2025-03-16 00:31:05 +07:00
f599f1c2b9
Fix saturation going negative 2025-03-15 13:23:34 +07:00
962ecb1996
Use nextDouble() because PRNG provides 64 bit numbers 2025-03-15 10:42:45 +07:00
42386e1fbe
Update commentary on otmRandom 2025-03-15 10:08:02 +07:00
b7b2b8095c
Revert "Remove otmRandom"
This reverts commit 5a016bef

The way OTM uses random generator in its code will quickly cause LCG used in Minecraft to show its bias
because LCG in minecraft samples its highest 48 bits, which gives us at best 2^16 period in the lowest bit returned by LCG.
Which it doesn't sound bad, it quickly causes RNG become biased the quicker/more it is sampled on each tick, especially considering
some may use `level.random.nextInt(chance) == 0` to determine chance of something happening,
which will get extremely biased on heavy RNG congested environment
If we avoid sampling Level's generator this much, we won't suffer from bias in our own code, as well as avoid biasing other mods this much.

The "2^16 period" problem is also might be the reason why Entities get their own instance of RandomSource, and Mob Goals use random exactly the way described above (`nextInt(chance)`), which can and will suffer from bias the moment mob exists in world for more than 2^16 ticks (but actual bias will happen sooner because RNG is not sampled only once per tick, obviously)
2025-03-15 10:04:16 +07:00
bc5ad7f37b
кипяточек 2025-03-14 19:47:13 +07:00