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
579445fbbe
Nerf food for androids further
2025-03-14 17:44:26 +07:00
80ff50b937
Nullify excess hunger when eating as android
2025-03-14 17:40:16 +07:00
ca37b4959f
Bring back old behavior where exhaustion is immediately nullified by energy buffer on Androids
2025-03-14 17:36:55 +07:00
5d8f2d5a4a
Add REGENERATE_ENERGY_EFFICIENCY_FOOD and REGENERATE_ENERGY_EFFICIENCY_SATURATION
2025-03-14 12:04:16 +07:00
e06928a4b5
Update mixin signature
2025-03-14 11:24:58 +07:00
d10b1b4ee1
Aeugh
2025-03-14 11:21:08 +07:00
922f94b9de
e
2025-03-14 11:02:08 +07:00
b23bda2f6a
Move android package to player package
2025-03-14 10:54:08 +07:00
c4d5ffefa5
Move all logic regarding food / regeneration to MatteryFoodData
2025-03-14 10:37:54 +07:00
a34b485e68
Base replacement for FoodData
2025-03-14 08:52:36 +07:00
c3b2681e89
Rename AndroidConfig to PlayerConfig
2025-03-12 20:57:57 +07:00
cfd6b101d8
Fix addEatEffect hook
2025-03-12 20:31:59 +07:00
0424dd1944
Rename mattery player reference in coremod
2025-03-12 19:34:26 +07:00
05a081d9cb
Move MatteryPlayer to player subpackage
2025-03-12 19:33:20 +07:00
b68b1d724a
Move IMatteryPlayer as well as shortcuts to player subpackage
2025-03-12 19:28:54 +07:00
4df51ce126
Add better random to recommended mods
2025-03-11 17:53:18 +07:00
a6ba428518
Remove custom random generators except for gjrand64 which is used for worldgen
2025-03-11 16:56:51 +07:00
5a016bef1b
Remove otmRandom
2025-03-11 16:55:55 +07:00
0159931930
Faster otmRandom
2025-03-11 11:39:22 +07:00
6c0265582a
Don't create own random provider if Better Random is present
2025-03-10 20:33:28 +07:00
08ae897c6f
Make Medical Pill provide only Regeneration III for 8 seconds
...
Because it completely overshadows Enchanted Golden Apples with current state of things
2025-03-09 22:36:55 +07:00
755d15fc0b
Replace PCG32 with GJRAND64
2025-03-09 21:52:21 +07:00
9ffee79687
Provide "no seed" initialization for GJRAND64
2025-03-09 21:49:49 +07:00
3a08552345
private the internal state of positional random
2025-03-09 21:29:43 +07:00
32fe6e754c
Provide GJRAND64RandomSource
2025-03-09 21:26:44 +07:00
436606abf4
Now Bread monster can spawn when thrown as item
...
And when killed, inert version is dropped
2025-03-09 21:11:42 +07:00
29edf383cd
Use thread local non-cryptographic random for Quantum Battery UUIDs
...
since they dont need to be cryptographically secure
2025-03-09 20:07:06 +07:00
9b6fa89850
Add matter value to imperfect bread so it can be replicated
2025-03-09 19:55:35 +07:00
1a30f4d203
Gold Disk, for spawning in dungeons, add Imperfect Bread to dungeons as Gold Disk
2025-03-09 19:54:03 +07:00
3f677ad353
Update bread item
2025-03-09 18:35:55 +07:00
f1c87ed5ad
Specify effect source as attacker in Wither Steel Sword
2025-03-09 16:22:11 +07:00
df7465a59f
Wither skeleton sword and helmet server config
2025-03-09 16:20:58 +07:00
6f2adfd6d3
Withered Steel Sword fixes
2025-03-09 16:17:27 +07:00
e97967903b
Update WitheredSkeletonSpawnHandler implementation
2025-03-09 16:12:24 +07:00
67ea3b977b
Further improve performance of UpgradeContainer
2025-03-09 16:00:51 +07:00
85aecaf79b
Cache toInt() and toLong() results in Decimal$Regular
2025-03-08 19:23:11 +07:00
65d076f634
Bump Kommons
2025-03-08 17:45:09 +07:00
7251760800
Try PCG as otm provided random
2025-03-08 17:32:42 +07:00
3bcfd55154
Bump kommons
2025-03-08 17:30:25 +07:00
1ca2348adf
Provide PCG32 wrapper of RandomSource
2025-03-08 17:18:45 +07:00