Commit graph

36 commits

Author SHA1 Message Date
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
aefdb963de Move the various rails to their own files, code cleanup 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
d165e0d2ed Fix typo, set use_texture_alpha = clip for all rail 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
f3b0ee67ed Fix hopper-minecart interaction, convert ipairs(table) to use for i=1,#table instead 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
teknomunk
9781627bb2 Continue writing API documentation, update call signatures for a couple of API functions 2024-06-15 14:08:29 +02:00
teknomunk
15c13b7bb3 Implement offline/out of range minecart movement and fix minecart respawning, remove railtype tracking 2024-06-15 14:08:29 +02:00
teknomunk
e59a89eb2a Implement train reversing 2024-06-15 14:08:29 +02:00
teknomunk
a48c58a244 Repair vectors in cart data, mostly fix train movement bugs (still possible to have a furnace minecart flip, without the train also flipping) 2024-06-15 14:08:29 +02:00
teknomunk
52904ef5e0 Add cart entity respawn/destroy to match cart data (partially working) 2024-06-15 14:08:29 +02:00
teknomunk
386bde698d Major reorganization, start setup for trains 2024-06-15 14:08:29 +02:00
teknomunk
ce9e3481af Harden against unknown nodes 2024-06-15 14:08:29 +02:00
teknomunk
6d9cae1034 Fix rail movement regressions 2024-06-15 14:08:29 +02:00
teknomunk
fd03fc0027 Cleanup code, restore uphill/downhill cart movement, completely remove old rail 2024-06-15 14:08:29 +02:00
teknomunk
c9883cc6cc Get rail reattachment (especially after jumps) working correctly 2024-06-15 14:08:29 +02:00
teknomunk
5bd06f5c03 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-06-15 14:08:29 +02:00
teknomunk
284c366136 Silence unmaskable print statements 2024-06-15 14:08:29 +02:00
teknomunk
c1a7001c31 Add immortal item entity support, add legacy rail conversion that uses immortal item drops for corners/tees/crosses that are no longer possible 2024-06-15 14:08:29 +02:00
teknomunk
8cd9ee9b32 Fix more rail connection bugs 2024-06-15 14:08:29 +02:00
teknomunk
3391a28fa9 Get sloped connections working correctly 2024-06-15 14:08:29 +02:00
teknomunk
4589206985 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-06-15 14:08:29 +02:00
teknomunk
4b8cb85319 Reorganize 2024-06-15 14:08:29 +02:00
teknomunk
603577e7a6 Enable new track with get_next_dir handlers 2024-06-15 14:08:29 +02:00
teknomunk
6c6bfcfcb2 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-06-15 14:08:29 +02:00
teknomunk
e4eb38db9c Fix diagonal movement 2024-06-15 14:08:29 +02:00
teknomunk
b4a0ae9c56 Add diagonal track movement on zig-zag track, rewrite mcl_minecarts:get_rail_direction 2024-06-15 14:08:29 +02:00
teknomunk
bee32418c4 Change left,right and back vectors to matrix math results with no branching 2024-06-15 14:08:29 +02:00
teknomunk
8a91f04cf0 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-06-15 14:08:29 +02:00
teknomunk
44514e0fad Change to vector.new from {x=...}, relocate movement code to own function for future changes 2024-06-15 14:08:29 +02: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
Renamed from mods/ITEMS/mcl_minecarts/functions.lua (Browse further)