Commit graph

235 commits

Author SHA1 Message Date
teknomunk
db2f02b485 Restore 45 degree cart movement, remove warning about unknown global 2024-06-15 14:08:29 +02:00
teknomunk
4ed0fe6a74 Complete rework of curve/tee rail direction functions 2024-06-15 14:08:29 +02:00
teknomunk
160863a740 Rework rail_dir_curve to significantly reduce code size 2024-06-15 14:08:29 +02:00
teknomunk
a2bb88bb2e Convert curved rails direction code to use fourdir 2024-06-15 14:08:29 +02:00
teknomunk
120af0f434 Change verticle offset for testing reattaching to rail to 0.55, which is a bit more than the stair step height 2024-06-15 14:08:29 +02:00
teknomunk
10fd9bb918 Fix cart detaching without unregistering from everything 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
4cdb9fd876 Fix several undefined global warnings, fix cart movement when over maximum speed, fix cart reattachment to sloped track 2024-06-15 14:08:29 +02:00
teknomunk
9d393aa2f1 Make punch move minecarts a little, comment out more debug prints 2024-06-15 14:08:29 +02:00
teknomunk
61a1cda7f8 Fix visual artifacts on the sides of rails 2024-06-15 14:08:29 +02:00
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
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