Commit Graph

12682 Commits

Author SHA1 Message Date
teknomunk d9db08d35b Disable punch to move minecarts, implement punch to drop minecart, enable basic cart keyboard controls (accelerate and brake) 2024-11-12 00:59:50 +01:00
teknomunk d78c4593ec Remove cart oscillation when pushed 2024-11-12 00:59:50 +01:00
teknomunk 371ad8d737 Limit top speed of furnace minecarts to 4 blocks/second, limit total fuel time to 27 minutes 2024-11-12 00:59:50 +01:00
teknomunk 0cb19e5218 Fix bug with furnace minecart at max velocity (stopped until fuel ran out), move _fueltime into staticdata 2024-11-12 00:59:50 +01:00
teknomunk c17874bc48 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-11-12 00:59:50 +01:00
teknomunk 1dd8f0efef 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-11-12 00:59:50 +01:00
teknomunk 6646c6e84f Add API function to remove node watch 2024-11-12 00:59:50 +01:00
teknomunk 746780ab1f 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-11-12 00:59:50 +01:00
teknomunk c3b6cf758c Start adding hooks for implpementing minecart with command block 2024-11-12 00:59:50 +01:00
teknomunk 58cdc1b66a Make minecarts solid and add players pushing 2024-11-12 00:59:50 +01:00
teknomunk 390419e67c Fix forwards/backwars tilt in all directions 2024-11-12 00:59:50 +01:00
teknomunk c42302cfd2 Prevent players from entering minecarts when sneaking, prevents players from causing MineClone2/MineClone2#3188 2024-11-12 00:59:50 +01:00
teknomunk 5b1ebbff97 Increase default track friction, disable right-click to exit minecarts 2024-11-12 00:59:50 +01:00
teknomunk c198257ae7 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-11-12 00:59:50 +01:00
teknomunk 12ac5740d3 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-11-12 00:59:50 +01:00
teknomunk cc84d5efa9 Mostly fix carts stopping between powered rails (there is still some strangeness with acceleration physics) 2024-11-12 00:59:50 +01:00
teknomunk 0b1252a60d Fix diagonal movement 2024-11-12 00:59:50 +01:00
teknomunk e04d82b80e Add diagonal track movement on zig-zag track, rewrite mcl_minecarts:get_rail_direction 2024-11-12 00:59:50 +01:00
teknomunk 88f5796cad Make TNT minecarts available in creative menu 2024-11-12 00:59:50 +01:00
teknomunk e82e5f805f Implement custom item dropper handlers, implement droppers placing minecarts 2024-11-12 00:59:50 +01:00
teknomunk 8ee950d31e Hopper minecarts pull from containers above rail 2024-11-12 00:59:50 +01:00
teknomunk 356c2c6418 Rework in preparation to add code to pull from containers into the hopper minecart 2024-11-12 00:59:50 +01:00
teknomunk ce9f92e017 Move fiction constant to top of file, suppress cart flips when direction reverses due to gravity or end of track 2024-11-12 00:59:50 +01:00
teknomunk 435141357d 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-11-12 00:59:50 +01:00
teknomunk 063c84d2ba Remove dip into the ground that occured when gravity caused the cart to reverse directions 2024-11-12 00:59:50 +01:00
teknomunk 7a87a8282d Implement gravity, move orientation update to own function, fix cart stopping in process_acceleration 2024-11-12 00:59:50 +01:00
teknomunk 2dcb790ace 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-11-12 00:59:50 +01:00
teknomunk c9d6a417cd Make minecart always stop at correct location at end of track, fix crash when placing chest minecart after changing how staticdata is handled 2024-11-12 00:59:50 +01:00
teknomunk d57d83009d Modify do_movement_step to move to always move to the edge of the current rail segment before updating the direction to prevent oscillations at corners, fix end of track stop location with new movement behavior, disable experimental controls, swap code to detach the driver on float with a call to detach_driver() 2024-11-12 00:59:50 +01:00
teknomunk da4b8ba579 Add DEBUG flag, stop small do_movement_step's from occuring (this improves but doesn't eliminate the bug I with the a6be179ed commit), add recovery when staticdata field gets lost 2024-11-12 00:59:50 +01:00
teknomunk 5271375843 Fix initial_properties for minecarts 2024-11-12 00:59:50 +01:00
teknomunk 669d9d0556 Change left,right and back vectors to matrix math results with no branching 2024-11-12 00:59:50 +01:00
teknomunk 2bb1aa7241 Remove now unused properties from minecart definition, convert more vectors to use vector.new syntax 2024-11-12 00:59:50 +01:00
teknomunk 6de06945c1 Complete rewrite of minecart movement that resolves MineClone2/MineClone2#2446 and MineClone2/MineClone2#247 (comment) but has a bug where carts will synchronize movements that I am still investigating 2024-11-12 00:59:50 +01:00
teknomunk 960309462f Change staticdata serialization (with migration from old data), disable debugging code used to investigate MineClone2/MineClone2#2446 2024-11-12 00:59:50 +01:00
teknomunk c008d2ea3a Change to vector.new from {x=...}, relocate movement code to own function for future changes 2024-11-12 00:59:50 +01:00
marro 4dc5d0939c Whitespace fix in translation (#4701)
Reviewed-on: VoxeLibre/VoxeLibre#4701
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: marro <marronclement0403@gmail.com>
Co-committed-by: marro <marronclement0403@gmail.com>
2024-11-11 03:49:43 +01:00
the-real-herowl 32b334322b Merge pull request 'Mobile fixes & improvements (cherry-pick from Mineclonia)' (#4685) from grorp/MineClone2:vl-mobile-fixes-and-improvements into master
Reviewed-on: VoxeLibre/VoxeLibre#4685
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
2024-11-11 01:44:27 +01:00
grorp 88c3c4558b Fix for VoxeLibre 2024-11-10 15:14:56 +01:00
grorp 3954acdfb7 Creative inventory: padding[-0.015,-0.015] on mobile
- less wasted screen space
- matches old layout
2024-11-10 15:14:56 +01:00
grorp 02b354f54a Avoid tab buttons going off-screen with high scaling values 2024-11-10 15:14:56 +01:00
grorp cb624fe1d9 Creative inventory: Make the whole tab button clickable
Previously, only the tab icon was clickable. Clicking next to the icon would
just close the inventory.
The icon is still kept clickable too since that gives a nicer press animation.
I didn't end up using image_button because that resulted in a different image
size and position, even with the exact same coordinates.
2024-11-10 15:14:56 +01:00
grorp bd9ab16762 Add touch_interaction to (cross)bow and spyglass 2024-11-10 15:14:56 +01:00
kno10 fb3c85e289 Improve stalker textures (#4674)
- don't change back to default texture when falling, but rather keep the previous texture
- use a colorized default texture for gaps in the texture

Reviewed-on: VoxeLibre/VoxeLibre#4674
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: kno10 <erich.schubert@gmail.com>
Co-committed-by: kno10 <erich.schubert@gmail.com>
2024-11-10 12:02:20 +01:00
kno10 f6f5481f30 Attempt to fix chest minecarts, at least for 5.9 (#4684)
Not using the `RecheckCartHack` on >5.9 seems to help with #4670 - not tested on older minetest; chest minecarts might still be empty there when the block is unloaded in the meantime. For <5.9, maybe it helps to decrease the time interval, 3 seconds seems to fairly long.

This also makes the minecarts random: 40% minecart, 40% chest minecart, 20% tnt minecart.

Reviewed-on: VoxeLibre/VoxeLibre#4684
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: kno10 <erich.schubert@gmail.com>
Co-committed-by: kno10 <erich.schubert@gmail.com>
2024-11-10 11:41:19 +01:00
the-real-herowl c428fa576b Merge pull request 'bonemeal API update' (#4221) from teknomunk/MineClone2:bonemeal-2 into master
Reviewed-on: VoxeLibre/VoxeLibre#4221
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
2024-11-10 11:38:08 +01:00
teknomunk a46833eaa4 Fix alias 2024-11-09 20:30:35 -06:00
teknomunk 3514fe211f Implement more bonemeal mod shim, update bonemeal dependencies 2024-11-09 20:30:35 -06:00
teknomunk 94d9e4c881 Address review comments 2024-11-09 20:30:35 -06:00
teknomunk 6b1aa43238 Only show particles if bone meal is consumed, don't continue testing positions if bonemeal was used on the first check position 2024-11-09 20:30:35 -06:00