Commit Graph

12388 Commits

Author SHA1 Message Date
teknomunk 388e63da7e Stop carts from reversing when they stop, make stopped carts try to start moving in the direction the player is facing 2024-06-15 14:08:29 +02:00
teknomunk 190ce1b811 Fix crash after entering a minecart not on rails 2024-06-15 14:08:29 +02:00
teknomunk 1054d38b4e Fix placed rail conversion, start automatic inventory rail conversion 2024-06-15 14:08:29 +02:00
teknomunk a980446315 Fix players repelling carts with new player metadata system 2024-06-15 14:08:29 +02:00
teknomunk 0ad7ddf2c6 Cleanup debug prints 2024-06-15 14:08:29 +02:00
teknomunk 35bc1b6be4 Add documentation for newly exposed attach_driver 2024-06-15 14:08:29 +02:00
teknomunk ccf5882a98 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-06-15 14:08:29 +02:00
teknomunk e5fb891d99 More fixes for minecart-hopper movement 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 94c1026ba3 Create mcl_util.metadata_timer, fix crashes, add checks to prevent hoppers from pulling from carts that are not in the square above it 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 59f64ca947 Update mineshafts for new rail and minecarts, add loot to generated chest and hopper minecarts (and remove notes about a hack) 2024-06-15 14:08:29 +02:00
teknomunk 80a45c2c0d Give carts a small vertical lift when pushed to allow them to get back on rails 2024-06-15 14:08:29 +02:00
teknomunk a96c3fe3ac Stop rail from being placed directly above rail (floating in air) 2024-06-15 14:08:29 +02:00
teknomunk fba49df2f0 Fix sloped power,activator and detector rails, remove debug print 2024-06-15 14:08:29 +02:00
teknomunk b0fff9f3e9 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-06-15 14:08:29 +02:00
teknomunk 6d0ce3ffd1 Add documentation on the rail 2024-06-15 14:08:29 +02:00
teknomunk fee12804f8 Add documentation on file structure and overviewes of each file 2024-06-15 14:08:29 +02:00
teknomunk a149ef5f05 Fix crashes, fix link in documentation 2024-06-15 14:08:29 +02:00
teknomunk db2c200136 More documentation, add myself to copyright list in README.txt 2024-06-15 14:08:29 +02:00
teknomunk 99dec4217c More minor changes to API.md, start overall implementation documentation 2024-06-15 14:08:29 +02:00
teknomunk e5f4650114 Fix table of contents 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 51036b0592 Nearly finish API documentation, create mcl_minecarts.add_blocks_to_map() 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 c56d98ab2f Change document formatting, finally move cactus cart dropping to node definition for mcl_core:cactus 2024-06-15 14:08:29 +02:00
teknomunk 49ef40aa3c Correct crashes/item duplication with dropping carts, start API documentation 2024-06-15 14:08:29 +02:00
teknomunk 5c351ae258 Fix cart controls, cart pushing 2024-06-15 14:08:29 +02:00
teknomunk 581dcd7b3f Fix typo in rail replacement mapping, fix several crashes 2024-06-15 14:08:29 +02:00
teknomunk c04ed709e0 Implement movement thru tee rails 2024-06-15 14:08:29 +02:00
teknomunk fe3e783f6f Tune respawn distance limit 2024-06-15 14:08:29 +02:00
teknomunk d1b5e77ca1 Fix crashes 2024-06-15 14:08:29 +02:00
teknomunk 778e42165a Remove memory leak for cart data, check distance to players before respawning distant carts to prevent adding entities that are immediately inactivated 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 a4987f63e9 Remove do_movement dependency on the existence of a cart luaentity 2024-06-15 14:08:29 +02:00
teknomunk 79d068b98a 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-06-15 14:08:29 +02:00
teknomunk 79b3b3b26b Make trains containing a player in a minecart function, minor cleanup in mcl_playerinfo 2024-06-15 14:08:29 +02:00
teknomunk 475d6f3e93 Fix crashes in train logic, allow breaking apart trains 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 095ad465e5 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-06-15 14:08:29 +02:00
teknomunk db96e86d57 Fix rail detach crash, make tnt minecarts explode if they hit something hard (off rails) 2024-06-15 14:08:29 +02:00
teknomunk dcf833907e Make sure carts get detatch if the rail under them is removed 2024-06-15 14:08:29 +02:00
teknomunk 24bf99df44 Fixish reorganizing, initial train implementation 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 3ca5bd0dff Make sure carts that collide move in the same direction the colliding cart was 2024-06-15 14:08:29 +02:00
teknomunk bacc8bdf64 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-06-15 14:08:29 +02:00
teknomunk ce9e3481af Harden against unknown nodes 2024-06-15 14:08:29 +02:00
teknomunk 659a387256 Allow players to push minecarts that are not on track 2024-06-15 14:08:29 +02:00