Commit Graph

12114 Commits

Author SHA1 Message Date
teknomunk 7120365652 Fix rail movement regressions 2024-04-28 11:12:44 +00:00
teknomunk 1515a9ecbd Move cart code to its own file, more code cleanup, add aliases for old track items 2024-04-28 11:12:44 +00:00
teknomunk 233495d6f8 Cleanup code, restore uphill/downhill cart movement, completely remove old rail 2024-04-28 11:12:44 +00:00
teknomunk 47ed64f45b Get rail reattachment (especially after jumps) working correctly 2024-04-28 11:12:44 +00:00
teknomunk 1315f7ea95 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-04-28 11:12:44 +00:00
teknomunk f13f52ac3b Silence unmaskable print statements 2024-04-28 11:12:44 +00:00
teknomunk 320e36b455 Add immortal item entity support, add legacy rail conversion that uses immortal item drops for corners/tees/crosses that are no longer possible 2024-04-28 11:12:44 +00:00
teknomunk f322dc9e26 Fix more rail connection bugs 2024-04-28 11:12:44 +00:00
teknomunk e5f194cdd5 Get sloped connections working correctly 2024-04-28 11:12:44 +00:00
teknomunk bd4d09b6e2 Re-enable rule for powering rail from underneath, have stairs block minecart movement, fix crash when lightning strikes a minecart 2024-04-28 11:12:44 +00:00
teknomunk 178719b247 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-04-28 11:12:44 +00:00
teknomunk 256018ca1e Update all rail types to new version 2024-04-28 11:12:44 +00:00
teknomunk 019943346d Reorganize 2024-04-28 11:12:44 +00:00
teknomunk 98f58cd78f Finish reverting 08b41a3b39 2024-04-28 11:12:44 +00:00
teknomunk 6b650511b1 Enable new track with get_next_dir handlers 2024-04-28 11:12:44 +00:00
teknomunk 65cd8dabd8 Change connection rules again to allow building parallel track, tees and crosses), start implementing rail rules callbacks 2024-04-28 11:12:44 +00:00
teknomunk 3ed88a8fba Add sloped rail 2024-04-28 11:12:44 +00:00
teknomunk e27d5a9ae0 Fix rail visuals, add switch operation 2024-04-28 11:12:44 +00:00
teknomunk 59e2ab01a4 Implement initial rail connection logic (no vertical track yet), experiment with texture modifiers and gravel underlay for display (not working) 2024-04-28 11:12:44 +00:00
teknomunk 32e626fa6f Start implementing new rail nodes 2024-04-28 11:12:44 +00:00
teknomunk bdab5b1853 Implement minecart with command block 2024-04-28 11:12:44 +00:00
teknomunk 253c82eb31 Create mesecons command API and modify commandblock to use it 2024-04-28 11:12:44 +00:00
teknomunk 62de57b13c Disable punch to move minecarts, implement punch to drop minecart, enable basic cart keyboard controls (accelerate and brake) 2024-04-28 11:12:44 +00:00
teknomunk 59b32a89e0 Remove cart oscillation when pushed 2024-04-28 11:12:44 +00:00
teknomunk d07a7d4ae6 Limit top speed of furnace minecarts to 4 blocks/second, limit total fuel time to 27 minutes 2024-04-28 11:12:44 +00:00
teknomunk 430842f052 Fix bug with furnace minecart at max velocity (stopped until fuel ran out), move _fueltime into staticdata 2024-04-28 11:12:44 +00:00
teknomunk 52846d67a0 Fix call signature of mcl_util.hopper_pull_to_inventory, move cart-specific behaviors to _mcl_minecarts_on_step handlers, fix typo, change distance used in rail reattach code, move cart_id generation 2024-04-28 11:12:44 +00:00
teknomunk dbd4675856 Add groups to minecart entities (for containers), fix cart node watch handling, relocate hopper_push_to_mc in mcl_hopper/init.lua, implement hopper-to-minecart push using enter/leave hooks for both straight and bent hoppers 2024-04-28 11:12:42 +00:00
teknomunk 8bd5559d13 Add API function to remove node watch 2024-04-28 11:11:38 +00:00
teknomunk 2265ac1dce 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-04-28 11:11:38 +00:00
teknomunk 3efd9d123a Start adding hooks for implpementing minecart with command block 2024-04-28 11:11:38 +00:00
teknomunk 91964536c7 Make minecarts solid and add players pushing 2024-04-28 11:11:38 +00:00
teknomunk 9332d828a8 Fix forwards/backwars tilt in all directions 2024-04-28 11:11:38 +00:00
teknomunk df29329d74 Prevent players from entering minecarts when sneaking, prevents players from causing MineClone2/MineClone2#3188 2024-04-28 11:11:38 +00:00
teknomunk 23c2fa8649 Increase default track friction, disable right-click to exit minecarts 2024-04-28 11:11:38 +00:00
teknomunk 7a22c1de23 Initial tuning of acceleration/gravity, fix crash when entering an activator rail, detach mobs from cart on active activator rail, remove commented out code no longer needed 2024-04-28 11:11:38 +00:00
teknomunk 44142b65dd Move code that handles below-rail hoppers to handle_cart_enter, implement timestep-independent cart physics (will need tuning punch, power rail and gravityaccelerations to make game fun) 2024-04-28 11:11:38 +00:00
teknomunk 4d807e2716 Mostly fix carts stopping between powered rails (there is still some strangeness with acceleration physics) 2024-04-28 11:11:38 +00:00
teknomunk b179bff3b9 Fix diagonal movement 2024-04-28 11:11:38 +00:00
teknomunk b1cd177bb6 Add diagonal track movement on zig-zag track, rewrite mcl_minecarts:get_rail_direction 2024-04-28 11:11:38 +00:00
teknomunk ada5fe43ee Make TNT minecarts available in creative menu 2024-04-28 11:11:38 +00:00
teknomunk 7736bfc0dd Implement custom item dropper handlers, implement droppers placing minecarts 2024-04-28 11:11:38 +00:00
teknomunk 29fa07f785 Hopper minecarts pull from containers above rail 2024-04-28 11:11:38 +00:00
teknomunk 972b104b68 Rework in preparation to add code to pull from containers into the hopper minecart 2024-04-28 11:11:38 +00:00
teknomunk 72a2dfebc2 Move fiction constant to top of file, suppress cart flips when direction reverses due to gravity or end of track 2024-04-28 11:11:38 +00:00
teknomunk 56bf3257de Add code to reattach carts to rail when data corruption occurs, fix bug in last commit that caused carts to bury into the ground 2024-04-28 11:11:38 +00:00
teknomunk 63ed9bc048 Remove dip into the ground that occured when gravity caused the cart to reverse directions 2024-04-28 11:11:38 +00:00
teknomunk a667721c3d Implement gravity, move orientation update to own function, fix cart stopping in process_acceleration 2024-04-28 11:11:38 +00:00
teknomunk 30ccead2b4 Change connected railcar behavior to fix unreliable end of track stopping, set maximum acceleration of powered rails to 8 blocks per second (per https://minecraft.fandom.com/wiki/Powered_Rail), stop powered rails from powering the block underneath it (allows below rail hopper to work while the rail is powered like in https://www.youtube.com/watch?v=szjO0-duTAk), modify mcl_hoppers to allow triggering a hopper pull once the minecart is stopped on top of the hopper and wait before allowing the cart to move to allow redstone circuits time to process 2024-04-28 11:11:38 +00:00
teknomunk 8447b99e78 Make minecart always stop at correct location at end of track, fix crash when placing chest minecart after changing how staticdata is handled 2024-04-28 11:11:38 +00:00