Commit Graph

4082 Commits

Author SHA1 Message Date
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
5b1ae12f85
Prioritize slots with filter or items across all chests 2025-03-19 16:50:43 +07:00
85c4aa4dc4
Prioritize non-filtered slots when taking items first 2025-03-19 11:29:47 +07:00
bd4622fc0d
Ignore slot filters when taking from chests 2025-03-19 10:58:50 +07:00
36f6a12395
Fix quick move to nearby chests treating every chest equally
and possibly creating situation where items of one type of one of chests go into empty slots of different (unrelated) chest(s)
2025-03-18 22:55:17 +07:00
06a621d370
Prioritize chests closer to player first 2025-03-18 22:47:26 +07:00
d6f53946d9
"Quick stack to nearby chests" prototype 2025-03-18 22:37:44 +07:00
091ffc8c9f
Merge branch '1.21' into new-container-api 2025-03-18 18:59:00 +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
f7a4623830
Provide convenient unit packet registration 2025-03-18 18:56:23 +07:00
c9dca76870
Provide Unit (singleton) codecs 2025-03-18 18:55:55 +07:00
ef2602895b
Declare VanillaMenuTypes#register as internal 2025-03-18 18:41:09 +07:00
0a0b0e3819
Merge branch '1.21' into new-container-api 2025-03-18 18:40:39 +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
8f40717ff6
Change quickmove slot priority to consider hotbar slots last, to match vanilla behavior 2025-03-17 23:15:54 +07:00
d48dbf3ec9
Merge branch '1.21' into new-container-api 2025-03-17 23:02:13 +07:00
7f362a95a2
Rearrange icons in quickmove 2025-03-17 23:01:58 +07:00
a84df28cf8
Rearrange icons in quickmove 2025-03-17 22:28:02 +07:00
03c64425a9
Add take all, restock, full restock buttons 2025-03-17 21:08:10 +07:00
d41d331e0f
Merge branch '1.21' into new-container-api 2025-03-17 11:24:15 +07:00
5b68a6c7ba
Add "quick move" to/from storage graphics 2025-03-17 11:23:51 +07:00
d89d5b9672
Add "quick move" to/from storage graphics 2025-03-17 11:23:34 +07:00
ee4b12e687
Improved "quick move" code in menus 2025-03-16 23:41:33 +07:00
9a5614de65
Don't drop experience capsules when keepInventory is enabled 2025-03-16 17:29:13 +07:00
95f19bc18f
Merge branch '1.21' into new-container-api 2025-03-16 00:31:14 +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
d5a9632c97
Move SortInput to upper level 2025-03-15 22:26:47 +07:00
cf32fd9d2a
Extract moveItemStackToSlots static context 2025-03-15 17:43:41 +07:00
427b5f9179
Merge branch '1.21' into new-container-api 2025-03-15 13:23:43 +07:00
f599f1c2b9
Fix saturation going negative 2025-03-15 13:23:34 +07:00
fd9960bd86
Remove HandlerFilter 2025-03-15 11:38:26 +07:00
962ecb1996
Use nextDouble() because PRNG provides 64 bit numbers 2025-03-15 10:42:45 +07:00
7c6d58b782
Merge branch '1.21' into new-container-api 2025-03-15 10:15:31 +07:00
42386e1fbe
Update commentary on otmRandom 2025-03-15 10:08:02 +07:00
5d15425fa4
Merge branch '1.21' into new-container-api 2025-03-15 10:06:27 +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
0efc520782
Implement faster lookup methods for Slotted Container as well 2025-03-15 00:18:02 +07:00
8b38504a26
Derive hasEmptySlots, isEmpty, countItem from other methods 2025-03-14 23:10:25 +07:00
69d9aaab50
Fast implementation of some methods in EnhancedContainer 2025-03-14 22:15:58 +07:00
448041fe2e
More specialized versions of iterators in IEnhancedContainer 2025-03-14 22:09:32 +07:00
54012cf136
Bump kommons 2025-03-14 21:06:23 +07:00
bc5ad7f37b
кипяточек 2025-03-14 19:47:13 +07:00
70c5382e9d
Always use slotted addItem implementation in containers 2025-03-14 19:45:28 +07:00
01215d647c
Cache hasFilterableSlots in CombinedContainer 2025-03-14 19:40:01 +07:00
3a5f37bd76
Specify argument names explicitly 2025-03-14 19:32:17 +07:00