Commit Graph

12390 Commits

Author SHA1 Message Date
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
teknomunk b6e51a3c40 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-06-15 14:08:29 +02:00
teknomunk 6d9cae1034 Fix rail movement regressions 2024-06-15 14:08:29 +02:00
teknomunk e6664de6e7 Move cart code to its own file, more code cleanup, add aliases for old track items 2024-06-15 14:08:29 +02:00
teknomunk fd03fc0027 Cleanup code, restore uphill/downhill cart movement, completely remove old rail 2024-06-15 14:08:29 +02:00
teknomunk c9883cc6cc Get rail reattachment (especially after jumps) working correctly 2024-06-15 14:08:29 +02:00
teknomunk 5bd06f5c03 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-06-15 14:08:29 +02:00
teknomunk 284c366136 Silence unmaskable print statements 2024-06-15 14:08:29 +02:00
teknomunk c1a7001c31 Add immortal item entity support, add legacy rail conversion that uses immortal item drops for corners/tees/crosses that are no longer possible 2024-06-15 14:08:29 +02:00
teknomunk 8cd9ee9b32 Fix more rail connection bugs 2024-06-15 14:08:29 +02:00
teknomunk 3391a28fa9 Get sloped connections working correctly 2024-06-15 14:08:29 +02:00
teknomunk ad11fc22ec Re-enable rule for powering rail from underneath, have stairs block minecart movement, fix crash when lightning strikes a minecart 2024-06-15 14:08:29 +02:00
teknomunk 4589206985 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-06-15 14:08:29 +02:00
teknomunk 19e2dc58eb Update all rail types to new version 2024-06-15 14:08:29 +02:00
teknomunk 4b8cb85319 Reorganize 2024-06-15 14:08:29 +02:00
teknomunk 7b7dfd1da3 Finish reverting 08b41a3b39 2024-06-15 14:08:29 +02:00
teknomunk 603577e7a6 Enable new track with get_next_dir handlers 2024-06-15 14:08:29 +02:00
teknomunk 34f394d8dc Change connection rules again to allow building parallel track, tees and crosses), start implementing rail rules callbacks 2024-06-15 14:08:29 +02:00
teknomunk 75f394e5ab Add sloped rail 2024-06-15 14:08:29 +02:00
teknomunk 478c488c85 Fix rail visuals, add switch operation 2024-06-15 14:08:29 +02:00
teknomunk 4265f0b428 Implement initial rail connection logic (no vertical track yet), experiment with texture modifiers and gravel underlay for display (not working) 2024-06-15 14:08:29 +02:00
teknomunk 57ad709bdd Start implementing new rail nodes 2024-06-15 14:08:29 +02:00
teknomunk 296c301669 Implement minecart with command block 2024-06-15 14:08:29 +02:00
teknomunk 4c88eb1439 Create mesecons command API and modify commandblock to use it 2024-06-15 14:08:29 +02:00
teknomunk 4db70fd729 Disable punch to move minecarts, implement punch to drop minecart, enable basic cart keyboard controls (accelerate and brake) 2024-06-15 14:08:29 +02:00
teknomunk 6f7e1df002 Remove cart oscillation when pushed 2024-06-15 14:08:29 +02:00
teknomunk c18976c0ca Limit top speed of furnace minecarts to 4 blocks/second, limit total fuel time to 27 minutes 2024-06-15 14:08:29 +02:00
teknomunk ff5e185629 Fix bug with furnace minecart at max velocity (stopped until fuel ran out), move _fueltime into staticdata 2024-06-15 14:08:29 +02:00
teknomunk 64b930ac3e 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-06-15 14:08:29 +02:00
teknomunk f9e8f60a1c 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-06-15 14:08:29 +02:00
teknomunk ec2d08524e Add API function to remove node watch 2024-06-15 14:08:29 +02:00
teknomunk 6c6bfcfcb2 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-06-15 14:08:29 +02:00
teknomunk b0c075714f Start adding hooks for implpementing minecart with command block 2024-06-15 14:08:29 +02:00
teknomunk 44f9a3e619 Make minecarts solid and add players pushing 2024-06-15 14:08:29 +02:00
teknomunk 1618693726 Fix forwards/backwars tilt in all directions 2024-06-15 14:08:29 +02:00
teknomunk fd6f4ee80e Prevent players from entering minecarts when sneaking, prevents players from causing https://git.minetest.land/MineClone2/MineClone2/issues/3188 2024-06-15 14:08:29 +02:00
teknomunk d479bfb711 Increase default track friction, disable right-click to exit minecarts 2024-06-15 14:08:29 +02:00
teknomunk c2be93e0d5 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-06-15 14:08:29 +02:00
teknomunk 0ef0ae6bee 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-06-15 14:08:29 +02:00
teknomunk 0fa067d3ee Mostly fix carts stopping between powered rails (there is still some strangeness with acceleration physics) 2024-06-15 14:08:29 +02:00
teknomunk e4eb38db9c Fix diagonal movement 2024-06-15 14:08:29 +02:00
teknomunk b4a0ae9c56 Add diagonal track movement on zig-zag track, rewrite mcl_minecarts:get_rail_direction 2024-06-15 14:08:29 +02:00
teknomunk 37d07b6201 Make TNT minecarts available in creative menu 2024-06-15 14:08:29 +02:00
teknomunk 52bca90ae2 Implement custom item dropper handlers, implement droppers placing minecarts 2024-06-15 14:08:29 +02:00
teknomunk af9409c69f Hopper minecarts pull from containers above rail 2024-06-15 14:08:29 +02:00
teknomunk 0951acd06c Rework in preparation to add code to pull from containers into the hopper minecart 2024-06-15 14:08:29 +02:00
teknomunk f57d202a9d Move fiction constant to top of file, suppress cart flips when direction reverses due to gravity or end of track 2024-06-15 14:08:29 +02:00
teknomunk b51496ad8e 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-06-15 14:08:29 +02:00
teknomunk adddaec69a Remove dip into the ground that occured when gravity caused the cart to reverse directions 2024-06-15 14:08:29 +02:00