Commit Graph

55 Commits

Author SHA1 Message Date
teknomunk
7c7c2bcb6d Address review comments 2025-01-05 02:37:51 +01:00
teknomunk
cc125d8eac Fix all luacheck findings except two empty if branches, two references to math.round and the *_physics variables from optional mods (each guarded by modpath checks) 2025-01-05 02:37:51 +01:00
teknomunk
5ee94855b0 Fix TNT Minecart Crash (#4799)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4799
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: teknomunk <teknomunk@protonmail.com>
Co-committed-by: teknomunk <teknomunk@protonmail.com>
2025-01-03 11:53:31 +01:00
teknomunk
0dbf3fcd62 Fix crash in rail corridor generation, fix missing globals warnings, fix floating rail in rail corridors 2024-12-31 02:36:18 +01:00
teknomunk
cacc9d384f Handle edge case in mcl_minecarts.reverse_cart_direction() that lead to strange punching and pushing behavior 2024-12-31 02:36:18 +01:00
teknomunk
9b647b0823 Add curve->tee and tee->cross conversion logic, fix typo 2024-12-31 02:36:18 +01:00
teknomunk
6559bc23f9 Fix orientation of carts on slopes 2024-12-31 02:36:18 +01:00
teknomunk
a694675b87 Remove stray line 2024-12-31 02:36:18 +01:00
teknomunk
bf3e9190b3 Fix syntax error from rebase, fix cart tilt, change cart speed to 4 blocks/second and make into a setting, make minecart settings compatibily with upcoming dynamic rules PR (#4662) 2024-12-31 02:36:18 +01:00
teknomunk
cea82c07f8 Remove debug code 2024-12-31 02:36:18 +01:00
teknomunk
56a5a28e58 Fix minecart entity rotation 2024-12-31 02:36:18 +01:00
teknomunk
6143832ee3 Fix crash 2024-12-31 02:36:18 +01:00
teknomunk
c8611b08f9 Make straight rails with a free end bend towards newly placed rail and form corners 2024-12-31 02:36:18 +01:00
teknomunk
8e2a58a4c6 Finish restricting 45 degree movement code to horizontal plane 2024-12-31 02:36:18 +01:00
teknomunk
1503aaeced Fix vertical movement that was hitting 45 degree curve code, reset pitch on minecarts 2024-12-31 02:36:18 +01:00
teknomunk
ee49ff612d Silence debug prints and logging 2024-12-31 02:36:18 +01:00
teknomunk
3d7f45154b Fix a couple of crashes (TNT minecart trying to update orientation after exploding, trying to punch/push a minecart not on track) 2024-12-31 02:36:18 +01:00
teknomunk
c328f9920e Add profiling code to force_get_node() 2024-12-31 02:36:18 +01:00
teknomunk
00665063da Address additional review comments 2024-12-31 02:36:18 +01:00
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