Commit Graph

36 Commits

Author SHA1 Message Date
teknomunk
80c0f52e17 Update API documentation to always use , add compatibility shim to mcl_minecarts.is_rail() and mcl_minecarts.ge_rail_direction() 2024-12-31 02:36:18 +01:00
teknomunk
dcb534bf9a Move the various rails to their own files, code cleanup 2024-12-31 02:36:18 +01:00
teknomunk
f6a002a0b9 Remove Emerge-0 warning that occurs when placing mineshafts 2024-12-31 02:36:18 +01:00
teknomunk
9c7b4d366c Restore 45 degree cart movement, remove warning about unknown global 2024-12-31 02:36:18 +01:00
teknomunk
c02ce8b8e7 Fix typo, set use_texture_alpha = clip for all rail 2024-12-31 02:36:18 +01:00
teknomunk
7990ed65f6 Get rail placement creating corners that lead into a downward sloped rail 2024-12-31 02:36:18 +01:00
teknomunk
712f0b9b9b Fix hopper-minecart interaction, convert ipairs(table) to use for i=1,#table instead 2024-12-31 02:36:18 +01:00
teknomunk
7dcc1046a6 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-12-31 02:36:18 +01:00
teknomunk
c44d291fee Continue writing API documentation, update call signatures for a couple of API functions 2024-12-31 02:36:18 +01:00
teknomunk
4dccfff1d0 Implement offline/out of range minecart movement and fix minecart respawning, remove railtype tracking 2024-12-31 02:36:18 +01:00
teknomunk
d280e2e942 Implement train reversing 2024-12-31 02:36:18 +01:00
teknomunk
88ed70ce92 Repair vectors in cart data, mostly fix train movement bugs (still possible to have a furnace minecart flip, without the train also flipping) 2024-12-31 02:36:18 +01:00
teknomunk
d6e6194316 Add cart entity respawn/destroy to match cart data (partially working) 2024-12-31 02:36:18 +01:00
teknomunk
dbeec9b542 Major reorganization, start setup for trains 2024-12-31 02:36:18 +01:00
teknomunk
8117b9010a Harden against unknown nodes 2024-12-31 02:36:18 +01:00
teknomunk
60ee3a06b9 Fix rail movement regressions 2024-12-31 02:36:18 +01:00
teknomunk
b59d6d37dc Cleanup code, restore uphill/downhill cart movement, completely remove old rail 2024-12-31 02:36:18 +01:00
teknomunk
f490846892 Get rail reattachment (especially after jumps) working correctly 2024-12-31 02:36:18 +01:00
teknomunk
e7605b7abd Make legacy rail update apply to all old rail types, add basic detached railcart physics with a stub to use mcl_physics when it gets merged 2024-12-31 02:36:18 +01:00
teknomunk
140689cd7d Silence unmaskable print statements 2024-12-31 02:36:18 +01:00
teknomunk
fdf8161d23 Add immortal item entity support, add legacy rail conversion that uses immortal item drops for corners/tees/crosses that are no longer possible 2024-12-31 02:36:18 +01:00
teknomunk
7944015266 Fix more rail connection bugs 2024-12-31 02:36:18 +01:00
teknomunk
e02906e46f Get sloped connections working correctly 2024-12-31 02:36:18 +01:00
teknomunk
279733e711 Fix mcl_util.table_merge where a standard value overwrites a table, fix base definition usage, implement behavior difference when there is a solid block after a straight piece of track (this will eventually allow minecarts to fly off the end of the track) 2024-12-31 02:36:18 +01:00
teknomunk
40b62eea1d Reorganize 2024-12-31 02:36:18 +01:00
teknomunk
e1c4606e8f Enable new track with get_next_dir handlers 2024-12-31 02:36:18 +01:00
teknomunk
fba7b04e82 Refactor enter/leave hook processing, add node watches for implementing hopper-to-minecart functionality (should properly handle heavy server lag without missing any time), temporarily disable hopper push/pull to minecart in mcl_hoppers, prepare to move minecart-specific on_step behavior out of main on_step function and to a minecart-specific handler 2024-12-31 02:36:18 +01:00
teknomunk
4656717c56 Fix diagonal movement 2024-12-31 02:36:18 +01:00
teknomunk
262063cc7c Add diagonal track movement on zig-zag track, rewrite mcl_minecarts:get_rail_direction 2024-12-31 02:36:18 +01:00
teknomunk
0c46c2fcc2 Change left,right and back vectors to matrix math results with no branching 2024-12-31 02:36:18 +01:00
teknomunk
d9d5245d59 Complete rewrite of minecart movement that resolves https://git.minetest.land/MineClone2/MineClone2/issues/2446 and https://git.minetest.land/MineClone2/MineClone2/issues/247#issuecomment-50960 but has a bug where carts will synchronize movements that I am still investigating 2024-12-31 02:36:18 +01:00
teknomunk
087d5f0f64 Change to vector.new from {x=...}, relocate movement code to own function for future changes 2024-12-31 02:36:18 +01:00
nixnoxus
08b41a3b39 accelerate non-moving carts on mcl_minecarts:golden_rail_on (#4097)
accelerate a non-moving minecart away from a solid opaque block the powered rail is facing

Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/4097
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: nixnoxus <nixnoxus@web.de>
Co-committed-by: nixnoxus <nixnoxus@web.de>
2024-03-24 05:29:44 +00:00
AFCMS
fddaacdeae [mcl_item_entity] fix warnings 2021-05-25 00:43:42 +02:00
Wuzzy
36319afbbe Basic powered rails implementation 2017-08-28 16:59:10 +02:00
Wuzzy
e90b80ab26 Move 3 mods to ENTITIES 2017-07-27 04:07:38 +02:00