Commit graph

10759 commits

Author SHA1 Message Date
teknomunk
781ccc04f6 Convert from storing power information directly in node metadata to storing in memory in a multipower table that gets loaded and saved to node metadata as needed, change all locally cached functions to have the source prefix in the name for better core readability, fix global access in mcl_util.assign_uuid 2024-06-15 07:09:53 -05:00
teknomunk
6396b6f56c Move force_get_node to mcl_util and swap all minetest.get_node to force_get_node in the new redstone code, implement conductors 2024-06-15 07:09:53 -05:00
teknomunk
13888236d6 Implement comparator accurately and remove WIP, remove ABMs for comparators and make updates triggered instead of polled, changes to redstone power transmission 2024-06-15 07:09:53 -05:00
teknomunk
e970a5f414 make mcl_util.call_safe and use it to make sure that mesecon devices are isolated from each other and can't crash the server, handle powered solid blocks, increase powered on to 16 2024-06-15 07:09:53 -05:00
teknomunk
6107bba52f Disable mesecons processing, create initial redstone power propigation code, change wall lever to use new code, modify scheduler to provide backtraces when tasks error 2024-06-15 07:09:53 -05:00
teknomunk
a958fbbf71 Update vl_scheduler.register_function to require the function name to be prefixed by the mod registering, add examples of function registration 2024-06-15 07:09:53 -05:00
teknomunk
27fb96afdf Get scheduler reliably running and rescheduling tasks 2024-06-15 07:09:53 -05:00
teknomunk
09f034de16 Add back in test code, get queue working correctly 2024-06-15 07:09:53 -05:00
teknomunk
939d2c9ef0 Use new prefix for modules, remove test, make scheduler use priority bins other than the first 2024-06-15 07:09:53 -05:00
teknomunk
3baf1a2f17 Add FIFO, implement scheduler timestep 2024-06-15 07:09:53 -05:00
teknomunk
d40b52bea5 Move queue to its own file, move test code to a function 2024-06-15 07:09:53 -05:00
teknomunk
3117f932a6 Fix several bugs, test behavior and profile (insert 8-32 microseconds, delete 22-37 microseconds) 2024-06-15 07:09:53 -05:00
teknomunk
e4aef86352 Make old rails have a drawtype, make update lbm always run 2024-06-15 14:08:29 +02:00
teknomunk
aefdb963de Move the various rails to their own files, code cleanup 2024-06-15 14:08:29 +02:00
teknomunk
6468ba7f33 Remove undefined global for optional environmental physics 2024-06-15 14:08:29 +02:00
teknomunk
b8f0a271dd Remove Emerge-0 warning that occurs when placing mineshafts 2024-06-15 14:08:29 +02:00
teknomunk
db2f02b485 Restore 45 degree cart movement, remove warning about unknown global 2024-06-15 14:08:29 +02:00
teknomunk
4ed0fe6a74 Complete rework of curve/tee rail direction functions 2024-06-15 14:08:29 +02:00
teknomunk
160863a740 Rework rail_dir_curve to significantly reduce code size 2024-06-15 14:08:29 +02:00
teknomunk
a2bb88bb2e Convert curved rails direction code to use fourdir 2024-06-15 14:08:29 +02:00
teknomunk
120af0f434 Change verticle offset for testing reattaching to rail to 0.55, which is a bit more than the stair step height 2024-06-15 14:08:29 +02:00
teknomunk
10fd9bb918 Fix cart detaching without unregistering from everything 2024-06-15 14:08:29 +02:00
teknomunk
d165e0d2ed Fix typo, set use_texture_alpha = clip for all rail 2024-06-15 14:08:29 +02:00
teknomunk
4cdb9fd876 Fix several undefined global warnings, fix cart movement when over maximum speed, fix cart reattachment to sloped track 2024-06-15 14:08:29 +02:00
teknomunk
2f0976edc6 Revert changed made to debug minecart-updates integration into tsm_railcorridors 2024-06-15 14:08:29 +02:00
teknomunk
9d393aa2f1 Make punch move minecarts a little, comment out more debug prints 2024-06-15 14:08:29 +02:00
teknomunk
61a1cda7f8 Fix visual artifacts on the sides of rails 2024-06-15 14:08:29 +02:00
teknomunk
388e63da7e Stop carts from reversing when they stop, make stopped carts try to start moving in the direction the player is facing 2024-06-15 14:08:29 +02:00
teknomunk
190ce1b811 Fix crash after entering a minecart not on rails 2024-06-15 14:08:29 +02:00
teknomunk
1054d38b4e Fix placed rail conversion, start automatic inventory rail conversion 2024-06-15 14:08:29 +02:00
teknomunk
a980446315 Fix players repelling carts with new player metadata system 2024-06-15 14:08:29 +02:00
teknomunk
0ad7ddf2c6 Cleanup debug prints 2024-06-15 14:08:29 +02:00
teknomunk
35bc1b6be4 Add documentation for newly exposed attach_driver 2024-06-15 14:08:29 +02:00
teknomunk
ccf5882a98 Add persistent player-specific metadata into mcl_playerinfo, simple cart reattachment (only exists if the luaentity for the cart exists when the player logs in) 2024-06-15 14:08:29 +02:00
teknomunk
e5fb891d99 More fixes for minecart-hopper movement 2024-06-15 14:08:29 +02:00
teknomunk
e9c4cdf62f Get rail placement creating corners that lead into a downward sloped rail 2024-06-15 14:08:29 +02:00
teknomunk
94c1026ba3 Create mcl_util.metadata_timer, fix crashes, add checks to prevent hoppers from pulling from carts that are not in the square above it 2024-06-15 14:08:29 +02:00
teknomunk
f3b0ee67ed Fix hopper-minecart interaction, convert ipairs(table) to use for i=1,#table instead 2024-06-15 14:08:29 +02:00
teknomunk
59f64ca947 Update mineshafts for new rail and minecarts, add loot to generated chest and hopper minecarts (and remove notes about a hack) 2024-06-15 14:08:29 +02:00
teknomunk
80a45c2c0d Give carts a small vertical lift when pushed to allow them to get back on rails 2024-06-15 14:08:29 +02:00
teknomunk
a96c3fe3ac Stop rail from being placed directly above rail (floating in air) 2024-06-15 14:08:29 +02:00
teknomunk
fba49df2f0 Fix sloped power,activator and detector rails, remove debug print 2024-06-15 14:08:29 +02:00
teknomunk
b0fff9f3e9 Modify mcl_entity_invs to add support for save/load items hooks in entities, add save/load hooks to minecarts to store item list in the minecart data and not in the entity data so that respawn doesn't destroy items 2024-06-15 14:08:29 +02:00
teknomunk
6d0ce3ffd1 Add documentation on the rail 2024-06-15 14:08:29 +02:00
teknomunk
fee12804f8 Add documentation on file structure and overviewes of each file 2024-06-15 14:08:29 +02:00
teknomunk
a149ef5f05 Fix crashes, fix link in documentation 2024-06-15 14:08:29 +02:00
teknomunk
db2c200136 More documentation, add myself to copyright list in README.txt 2024-06-15 14:08:29 +02:00
teknomunk
99dec4217c More minor changes to API.md, start overall implementation documentation 2024-06-15 14:08:29 +02:00
teknomunk
e5f4650114 Fix table of contents 2024-06-15 14:08:29 +02:00
teknomunk
acb246b88e Finish writing API documentation, remove drop_railcarts (replaced by try_detach_minecart), rename constants to ALL CAPS for consistency, change mcl_minecarts. to mod. for API function definitions 2024-06-15 14:08:29 +02:00