Commit Graph

3932 Commits

Author SHA1 Message Date
bfb8f0380a
Panel debug rendering 2025-03-21 21:10:46 +07:00
a6361f10f2
Final improvements to quick stack controls 2025-03-21 18:35:25 +07:00
f16b003cdf
Merge branch '1.21' into new-container-api 2025-03-21 18:18:18 +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
07e0c73479
Fixes for quick stack controls 2025-03-21 15:19:07 +07:00
2547478914
Merge branch '1.21' into new-container-api 2025-03-21 15:11:17 +07:00
7c028b1fa6
Im with stupid 2025-03-21 15:11:09 +07:00
dcff861e71
More quickstack controls 2025-03-21 14:31:59 +07:00
9be8596a5f
Merge branch '1.21' into new-container-api 2025-03-21 14:05:50 +07:00
57c6bbb795
Update cases where wrong random being used 2025-03-21 14:00:19 +07:00
29c51617b9
Merge branch '1.21' into new-container-api 2025-03-21 13:52:56 +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
70ed0cfcba
Merge branch '1.21' into new-container-api 2025-03-21 10:46:03 +07:00
c343de6031
Parenting callbacks in panels 2025-03-21 10:45:07 +07:00
65bf4dc9d0
Merge branch '1.21' into new-container-api 2025-03-21 08:07:52 +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
55688594b9 apple 2025-03-20 07:28:30 +05: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
77026f6d72 make matter decomposer have a more visible working state texture 2025-03-18 17:02:06 +05: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
92cd3326ee Make crossroads large enough to fit both the arena and corridors 2025-03-18 04:27:36 +05:00
94601478bb
Merge branch '1.21' into world-structures 2025-03-18 00:02:36 +07:00
dec8aab382
Actual fix for ladder datagen 2025-03-18 00:02:31 +07:00
2f1b698810
Add industrial ladder to creative menu, rearrange items in decorative tab 2025-03-17 23:55:54 +07:00
aedd545a39
Fix ladder datagen 2025-03-17 23:54:08 +07:00
62c05b3c3f
Misc code fixes in enforcer code 2025-03-17 23:39:27 +07:00
a9851e08b3 n 2025-03-17 21:27:00 +05:00
8f40717ff6
Change quickmove slot priority to consider hotbar slots last, to match vanilla behavior 2025-03-17 23:15:54 +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
ae840736c7 idiot 2025-03-17 14:01:52 +05: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
2d5858bd29 beep 2025-03-17 08:12:25 +05:00
7a7139c48c Merge branch '1.21' of https://git.dbotthepony.ru/DBot/overdrive_that_matters into world-structures 2025-03-17 05:44:22 +05:00
64c9b007cc буду срать 2025-03-17 03:47:22 +05:00
b212959490 ⡶⠶⠂⠐⠲⠶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⡶⠶⡶⣶
⣗⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⠿⣿⠿⣿⣿⣿⣿⠿⠿⠿⠟⠛⠉⠁⠀⠀⠀⢠⣿
⣿⣷⣀⠀⠈⠛⠢⠥⠴⠟⠂⠀⠀⠀⠉⣛⠉⠁⠀⠐⠲⠤⠖⠛⠁⠀⠀⣐⣿⣿
⣿⣿⣿⣦⣄⡀⠀⠀⠀⠀⣀⡠⣤⣦⣿⣿⣿⣆⣴⣠⣀⣀⡀⣀⣀⣚⣿⣿⣿⢳
⣧⠉⠙⢿⣿⣿⣶⣶⣾⣿⡿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢇⣿
⣿⣷⡄⠈⣿⣿⣿⣿⣯⣥⣦⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢉⣴⣿⣿
⣿⣿⣿⣦⣘⠋⢻⠿⢿⣿⣿⣿⣾⣭⣛⣛⣛⣯⣷⣿⣿⠿⠟⠋⠉⣴⣿⣿⣿
2025-03-16 23:29:34 +05: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
5e3fcddd34 fireball 2025-03-16 13:20:21 +05:00
24485696f3 don't move when charging 2025-03-16 10:03:41 +05:00
7b3a6f229b Merge remote-tracking branch 'origin/world-structures' into world-structures 2025-03-16 02:45:59 +05:00
7c31180430 h2 2025-03-16 02:45:46 +05: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
fd3caf5d21
Revert black hole random changes 2025-03-15 10:12:43 +07:00
05fa437fa4
Merge branch '1.21' into world-structures 2025-03-15 10:11:55 +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
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
4ab667b37e
Ooprs!!1 2025-03-14 19:32:04 +07:00
2943026dd5
Add generic param to CombinedContainer 2025-03-14 19:06:49 +07:00
90a22a093d
Don't create filter syncher for IPlayerInventorySlot 2025-03-14 18:57:14 +07:00
c43be6eb62
Remove IContainer 2025-03-14 18:40:10 +07:00
59eab74b44
Remove IMatteryContainer 2025-03-14 18:38:28 +07:00
bdeb740df0
Remove ShadowContainer and MatteryContainer 2025-03-14 18:35:22 +07:00
621661c9fe
Remove MatteryCraftingContainer usage 2025-03-14 18:34:19 +07:00
d0904da1db
Remove remaining MatteryContainer usages 2025-03-14 18:32:28 +07:00
05bdff6a37
Remove unused class 2025-03-14 18:31:01 +07:00
b076d29560
Declare IEnhancedContainer as having generic parameter Slot 2025-03-14 18:29:51 +07:00
a2263c5725
Update MatteryPlayer to use Enhanced containers instead of Mattery containers 2025-03-14 18:11:39 +07:00
d57371ca13
Merge branch '1.21' into new-container-api 2025-03-14 17:47:09 +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
305ddbd0d4
Merge branch 'player-improvements' into new-container-api 2025-03-14 12:14:36 +07:00
b42a503096
Merge branch '1.21' into new-container-api 2025-03-14 12:14:06 +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
1670e14ae8 h 2025-03-13 10:45:42 +05: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
ade2c0499d
Move Item Monitor to new container API 2025-03-12 18:42:04 +07:00
e699147f9f
Merge ChargeMenuSlot into BatteryMenuSlot 2025-03-12 16:49:19 +07:00
4dad60dfbb
Move Matter Hatch to Slotted Container 2025-03-12 16:47:45 +07:00
55c3c16172
Update Energy Interface to use SlottedContainer 2025-03-11 21:10:19 +07:00
1455e12da3
Fix TooltipList not using proper container class 2025-03-11 21:08:31 +07:00
566538f8a7
Update Drive Viewer to use EnhancedContainer 2025-03-11 20:59:11 +07:00
c08ea8a43d
Update Driver Rack to use SlottedContainer 2025-03-11 20:50:59 +07:00
4fc7bc62ae Merge branch '1.21' of https://git.dbotthepony.ru/DBot/overdrive_that_matters into world-structures 2025-03-11 16:27:35 +05: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
1f8cd2cfe3
Update Plate press to use SlottedContainer 2025-03-11 16:50:48 +07:00
a2b2acd3f0
Merge branch '1.21' into new-container-api 2025-03-11 11:39:30 +07:00
0159931930
Faster otmRandom 2025-03-11 11:39:22 +07:00
8d58dfff14
Merge branch '1.21' into new-container-api 2025-03-11 11:09:04 +07:00
284bd3c3c6 nah 2025-03-11 03:52:29 +05:00
091895fb10 emissives? 2025-03-11 02:41:22 +05:00
d2371b03f6 Enforcer WIP 2025-03-11 00:22:14 +05:00
6c0265582a
Don't create own random provider if Better Random is present 2025-03-10 20:33:28 +07:00
5e1ae7e77d
Handle negative experience stored in essence capsules 2025-03-10 15:30:50 +07:00
17e4856b10
Use SlottedContainer in Essense Storage 2025-03-10 15:29:50 +07:00
847ec81928
Use moveEnergy in Energy Servo 2025-03-10 09:58:42 +07:00
5e23300ddf
Merge branch '1.21' into new-container-api 2025-03-09 22:37:57 +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
c323f70a97 Merge branch '1.21' of https://git.dbotthepony.ru/DBot/overdrive_that_matters into world-structures 2025-03-09 20:10:46 +05:00
6d14e6a396
Merge branch '1.21' into new-container-api 2025-03-09 22:01:13 +07:00
59af269c00 Merge branch '1.21' of https://git.dbotthepony.ru/DBot/overdrive_that_matters into world-structures 2025-03-09 19:57:27 +05:00
b9291104e6 what 2025-03-09 19:57:18 +05:00
45ba5a6d55 cleaner drone wip 2025-03-09 19:55:42 +05: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
00830c2986
Merge branch '1.21' into new-container-api 2025-03-08 17:41:20 +07:00
7251760800
Try PCG as otm provided random 2025-03-08 17:32:42 +07:00
1ca2348adf
Provide PCG32 wrapper of RandomSource 2025-03-08 17:18:45 +07:00
430bc70c7e
Move PRNG implementation to Kommons
Yurie — Сегодня, в 15:09
вопрос
почему все эти рандомы не в kommons
2025-03-08 16:45:38 +07:00
322d89f2a2
Micro optimization 2025-03-08 14:12:32 +07:00
ebdff6811d
Don't scramble xoshiro on fork since seed is already enough random 2025-03-08 14:11:50 +07:00
4c282d51a8 they're no longer empty, but always inactive, need fixing later 2025-03-08 03:37:46 +05:00
297b32d775 Fix empty vaults 2025-03-08 03:07:54 +05:00
22798cff1e more stuff 2025-03-08 02:17:17 +05:00
2d1d9d28f3 :3 2025-03-07 20:58:05 +05:00
b4eb0f7056
Merge branch '1.21' into new-container-api 2025-03-07 21:01:13 +07:00
f866f2a401
Add "Charge androids" and "Charge exopacks" buttons 2025-03-07 21:00:01 +07:00
101bf52113
Update Energy servo to use SlottedContainer, as well as make it behave better with automation 2025-03-07 19:53:09 +07:00
54c2964deb
Update Energy servo to use SlottedContainer, merge EnergyContainerInputMenuSlot into BatteryMenuSlot 2025-03-07 19:17:34 +07:00
762926d2cc
Update Cobblestone generator to use SlottedContainer 2025-03-07 18:48:52 +07:00
4107ec2313
Update Chemical generator to use SlottedContainer 2025-03-07 18:37:43 +07:00
af4123990f
Merge branch '1.21' into new-container-api 2025-03-07 17:32:10 +07:00
4861513797
Delay redstone signal level lookup update by 4 ticks 2025-03-07 17:30:20 +07:00
d19de3facf
Delay cable blockstate update by 4 ticks 2025-03-07 17:29:32 +07:00
9107f63d9d
"Accept wireless charging" button in exopack 2025-03-07 17:26:35 +07:00
5064a6d996
Unfinished labs 2025-03-07 16:21:42 +07:00
f4ade757c3
Revert "Unfinished labs"
This reverts commit 2d87301ecb.
2025-03-07 16:20:59 +07:00
97dcabacd5
Color storage controls as solid white to improve visual clarity 2025-03-07 14:39:29 +07:00
45651d81b5
Merge branch '1.21' into new-container-api 2025-03-07 11:46:21 +07:00
ebc49b03c4
Replace shulker box gui 2025-03-07 11:45:35 +07:00
b8e76a0fd4
Make energy cable graph track node + side in lively nodes list, considerably improving performance 2025-03-07 10:45:18 +07:00
b4977ea6ae
Move Battery bank to slotted container 2025-03-07 10:26:09 +07:00
51be2c89f4
Make battery slot be filterable 2025-03-07 10:24:50 +07:00
d88da8f244
Automation-forbidden slots are now prohibited to be extracted from 2025-03-07 10:15:53 +07:00
bbf4e752e7
Fix (dis)chargeable handler filters not allowing to extract invalid items 2025-03-07 10:14:06 +07:00
f011c1a912
Allow bottler slots to be filtered 2025-03-07 09:38:22 +07:00
e3a11b3b9e
Update menus to use UserFilteredSlot 2025-03-07 09:34:05 +07:00
784930e396
Update AbstractProcessingMachineScreen to properly account for UserFilteredMenuSlot 2025-03-07 09:26:54 +07:00
3e086dcacf
Switch Powered furnaces to SlottedContainer, make them reject items which are not used in any recipe (in automation) 2025-03-07 09:23:26 +07:00
d5e05a2439 loader anim speed 2025-03-07 05:09:51 +05:00
8cd0c23f21 Merge remote-tracking branch 'origin/1.21' into 1.21 2025-03-07 04:51:04 +05:00
2d87301ecb Unfinished labs 2025-03-07 04:50:55 +05:00
fbd34f3414
SimpleCache helper function 2025-03-06 22:36:55 +07:00
67fc8f99f6
ooprs!! 2025-03-06 22:30:42 +07:00
06f8d8838a
More efficient pattern storage patternCapacity and storedPatterns implementations 2025-03-06 22:02:09 +07:00