Commit Graph

12643 Commits

Author SHA1 Message Date
teknomunk 30b7e34b14 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-11-02 21:26:31 +01:00
teknomunk 09bd2647f5 Add documentation on the rail 2024-11-02 21:26:31 +01:00
teknomunk 02687eba59 Add documentation on file structure and overviewes of each file 2024-11-02 21:26:31 +01:00
teknomunk b7237dca92 Fix crashes, fix link in documentation 2024-11-02 21:26:31 +01:00
teknomunk 8896244509 More documentation, add myself to copyright list in README.txt 2024-11-02 21:26:31 +01:00
teknomunk c49836ed66 More minor changes to API.md, start overall implementation documentation 2024-11-02 21:26:31 +01:00
teknomunk 60c0dbe7fa Fix table of contents 2024-11-02 21:26:31 +01:00
teknomunk 32699c4c4b 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-11-02 21:26:31 +01:00
teknomunk 466dad703f Nearly finish API documentation, create mcl_minecarts.add_blocks_to_map() 2024-11-02 21:26:31 +01:00
teknomunk 2c5b29a29f Continue writing API documentation, update call signatures for a couple of API functions 2024-11-02 21:26:31 +01:00
teknomunk 08e2876a1e Change document formatting, finally move cactus cart dropping to node definition for mcl_core:cactus 2024-11-02 21:26:31 +01:00
teknomunk be664b08ec Correct crashes/item duplication with dropping carts, start API documentation 2024-11-02 21:26:31 +01:00
teknomunk 463e2eeafd Fix cart controls, cart pushing 2024-11-02 21:26:31 +01:00
teknomunk b4c3b47cf3 Fix typo in rail replacement mapping, fix several crashes 2024-11-02 21:26:31 +01:00
teknomunk 5065d3297f Implement movement thru tee rails 2024-11-02 21:26:31 +01:00
teknomunk ccd15b843e Tune respawn distance limit 2024-11-02 21:26:31 +01:00
teknomunk 5297a4e78c Fix crashes 2024-11-02 21:26:31 +01:00
teknomunk 8d0a6b3c49 Remove memory leak for cart data, check distance to players before respawning distant carts to prevent adding entities that are immediately inactivated 2024-11-02 21:26:31 +01:00
teknomunk b1367776f3 Implement offline/out of range minecart movement and fix minecart respawning, remove railtype tracking 2024-11-02 21:26:31 +01:00
teknomunk f95f1e9a88 Remove do_movement dependency on the existence of a cart luaentity 2024-11-02 21:26:31 +01:00
teknomunk f05fd80e2d 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-11-02 21:26:31 +01:00
teknomunk 1eb11c6127 Make trains containing a player in a minecart function, minor cleanup in mcl_playerinfo 2024-11-02 21:26:31 +01:00
teknomunk 7160429df7 Fix crashes in train logic, allow breaking apart trains 2024-11-02 21:26:31 +01:00
teknomunk 30f6496bcf Implement train reversing 2024-11-02 21:26:31 +01:00
teknomunk 7b1af706d0 Repair vectors in cart data, mostly fix train movement bugs (still possible to have a furnace minecart flip, without the train also flipping) 2024-11-02 21:26:31 +01:00
teknomunk 92a1c375e9 Add cart entity respawn/destroy to match cart data (partially working) 2024-11-02 21:26:31 +01:00
teknomunk a0afbff984 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-11-02 21:26:31 +01:00
teknomunk ae76aad7cd Fix rail detach crash, make tnt minecarts explode if they hit something hard (off rails) 2024-11-02 21:26:31 +01:00
teknomunk a1ae6a23e0 Make sure carts get detatch if the rail under them is removed 2024-11-02 21:26:31 +01:00
teknomunk fb9c391bc8 Fixish reorganizing, initial train implementation 2024-11-02 21:26:31 +01:00
teknomunk b97e85f2f7 Major reorganization, start setup for trains 2024-11-02 21:26:31 +01:00
teknomunk dfe9baf7f0 Make sure carts that collide move in the same direction the colliding cart was 2024-11-02 21:26:31 +01:00
teknomunk 0c79ba4e3f 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-11-02 21:26:31 +01:00
teknomunk 0e5335f82c Harden against unknown nodes 2024-11-02 21:26:31 +01:00
teknomunk 9732184215 Allow players to push minecarts that are not on track 2024-11-02 21:26:31 +01:00
teknomunk fa6277d68d 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-11-02 21:26:31 +01:00
teknomunk 000532cf85 Fix rail movement regressions 2024-11-02 21:26:31 +01:00
teknomunk 059053f4ca Move cart code to its own file, more code cleanup, add aliases for old track items 2024-11-02 21:26:31 +01:00
teknomunk 16427da8ea Cleanup code, restore uphill/downhill cart movement, completely remove old rail 2024-11-02 21:26:31 +01:00
teknomunk d116437657 Get rail reattachment (especially after jumps) working correctly 2024-11-02 21:26:31 +01:00
teknomunk 7260ce1602 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-11-02 21:26:31 +01:00
teknomunk 1b7e4927b5 Silence unmaskable print statements 2024-11-02 21:26:31 +01:00
teknomunk 09bf0a84ad Add immortal item entity support, add legacy rail conversion that uses immortal item drops for corners/tees/crosses that are no longer possible 2024-11-02 21:26:31 +01:00
teknomunk f239504c04 Fix more rail connection bugs 2024-11-02 21:26:31 +01:00
teknomunk 464463939f Get sloped connections working correctly 2024-11-02 21:26:31 +01:00
teknomunk 6a0bcec77f Re-enable rule for powering rail from underneath, have stairs block minecart movement, fix crash when lightning strikes a minecart 2024-11-02 21:26:31 +01:00
teknomunk 144855ac93 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-11-02 21:26:31 +01:00
teknomunk 9bba0bf0ef Update all rail types to new version 2024-11-02 21:26:31 +01:00
teknomunk 6971150c99 Reorganize 2024-11-02 21:26:31 +01:00
teknomunk 4470644697 Finish reverting 08b41a3b39 2024-11-02 21:26:31 +01:00