Commit Graph

51 Commits

Author SHA1 Message Date
teknomunk
9b23d9931e Change cart dismount position to behind the cart instead of beside it (#4785)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4785
Reviewed-by: kno10 <kno10@noreply.git.minetest.land>
Co-authored-by: teknomunk <teknomunk@protonmail.com>
Co-committed-by: teknomunk <teknomunk@protonmail.com>
2025-01-02 22:30:39 +01:00
teknomunk
ca504e80c7 Fix carts randomly derailing (#4780)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4780
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: teknomunk <teknomunk@protonmail.com>
Co-committed-by: teknomunk <teknomunk@protonmail.com>
2024-12-31 19:35:54 +01:00
teknomunk
290e2e9753 Fix cart placement so that furnace minecarts will always try to start moving in the direction the player was facing when the cart was placed 2024-12-31 02:36:18 +01:00
teknomunk
bef17e5401 Patch initial cart direction when placing 2024-12-31 02:36:18 +01:00
teknomunk
bf3b98021f Fix conversion of cart inventories to mod storage without duplicating items 2024-12-31 02:36:18 +01:00
teknomunk
8118495c80 Add guard to prevent crash and log when this happens 2024-12-31 02:36:18 +01:00
teknomunk
ddb70e5ebf Increase off-rail friction, make off-rail carts shake, remove debug print 2024-12-31 02:36:18 +01:00
teknomunk
dd9edcb827 Change cart punching to impulse on velocity instead of acceleration, make punch impulse larger 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
3e6fe24a57 Remove instance of debug logging, change movement.lua function export 2024-12-31 02:36:18 +01:00
teknomunk
fd559ec40d Fix crash with minecart on activator rail 2024-12-31 02:36:18 +01:00
teknomunk
cc74a5e75e Fix cart pitch when detached 2024-12-31 02:36:18 +01:00
teknomunk
d6f6bd3fa1 Add back shift+punch to immediately drop minecart 2024-12-31 02:36:18 +01:00
teknomunk
8cde9d4244 Prevent removal of old minecarts 2024-12-31 02:36:18 +01:00
teknomunk
00665063da Address additional review comments 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
fa29e3410b Fix several undefined global warnings, fix cart movement when over maximum speed, fix cart reattachment to sloped track 2024-12-31 02:36:18 +01:00
teknomunk
10865e6dbb Make punch move minecarts a little, comment out more debug prints 2024-12-31 02:36:18 +01:00
teknomunk
689b6a8d30 Stop carts from reversing when they stop, make stopped carts try to start moving in the direction the player is facing 2024-12-31 02:36:18 +01:00
teknomunk
8351f39fb1 Fix crash after entering a minecart not on rails 2024-12-31 02:36:18 +01:00
teknomunk
de01ba45a6 Fix placed rail conversion, start automatic inventory rail conversion 2024-12-31 02:36:18 +01:00
teknomunk
4c56707336 Fix players repelling carts with new player metadata system 2024-12-31 02:36:18 +01:00
teknomunk
1831e34b09 Cleanup debug prints 2024-12-31 02:36:18 +01:00
teknomunk
22f5369db9 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-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
d93cf5d4f5 Update mineshafts for new rail and minecarts, add loot to generated chest and hopper minecarts (and remove notes about a hack) 2024-12-31 02:36:18 +01:00
teknomunk
7a1e0d9a52 Fix sloped power,activator and detector rails, remove debug print 2024-12-31 02:36:18 +01:00
teknomunk
9f192e87f3 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-12-31 02:36:18 +01:00
teknomunk
f7398db6d0 More minor changes to API.md, start overall implementation documentation 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
7c1b7801ce Nearly finish API documentation, create mcl_minecarts.add_blocks_to_map() 2024-12-31 02:36:18 +01:00
teknomunk
19f21db8c9 Change document formatting, finally move cactus cart dropping to node definition for mcl_core:cactus 2024-12-31 02:36:18 +01:00
teknomunk
dba86a8d60 Correct crashes/item duplication with dropping carts, start API documentation 2024-12-31 02:36:18 +01:00
teknomunk
48b1a4d7e5 Fix cart controls, cart pushing 2024-12-31 02:36:18 +01:00
teknomunk
1eda16a1a1 Tune respawn distance limit 2024-12-31 02:36:18 +01:00
teknomunk
135eea4de4 Fix crashes 2024-12-31 02:36:18 +01:00
teknomunk
c99f972b31 Remove memory leak for cart data, check distance to players before respawning distant carts to prevent adding entities that are immediately inactivated 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
a500f554e0 Remove do_movement dependency on the existence of a cart luaentity 2024-12-31 02:36:18 +01:00
teknomunk
7c7a987342 Fix undefined global warning, move player off to the side of a cart when dismounting so trains don't get pushed apart when getting out 2024-12-31 02:36:18 +01:00
teknomunk
265a25d6ae Make trains containing a player in a minecart function, minor cleanup in mcl_playerinfo 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
7bd95257bd Give furnace minecart minimum velocity when lit, add train separation code, update logging code, add sequence number to entity staticdata to allow respawn/despawn when carts move when the entity is unloaded 2024-12-31 02:36:18 +01:00
teknomunk
eb0f82bdfb Fixish reorganizing, initial train implementation 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
1b9c149803 Make sure carts that collide move in the same direction the colliding cart was 2024-12-31 02:36:18 +01:00
teknomunk
09f044245e Add utilities to convert between an ObjectRef, it's active object id and a 128bit uuid, move minecart data from entity staticdata to mod storage to eventually allow updating carts when out of range of players and also track what carts are alive, implement on-rail cart collisions 2024-12-31 02:36:18 +01:00
teknomunk
8117b9010a Harden against unknown nodes 2024-12-31 02:36:18 +01:00
teknomunk
d318390778 Allow players to push minecarts that are not on track 2024-12-31 02:36:18 +01:00
teknomunk
f089d0a702 Fix rails in creative inventory, make minecart with tnt not crash server when exploding, make minecart with tnt slightly more powerful than regular tnt 2024-12-31 02:36:18 +01:00