Commit Graph

12580 Commits

Author SHA1 Message Date
teknomunk f7a07c6b77 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-02 21:26:31 +01:00
teknomunk 10d5a4a9f1 Add API function to remove node watch 2024-11-02 21:26:31 +01:00
teknomunk 8109d33577 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-02 21:26:31 +01:00
teknomunk 7e06385619 Start adding hooks for implpementing minecart with command block 2024-11-02 21:26:31 +01:00
teknomunk 914ce31938 Make minecarts solid and add players pushing 2024-11-02 21:26:31 +01:00
teknomunk efe8ba7d29 Fix forwards/backwars tilt in all directions 2024-11-02 21:26:31 +01:00
teknomunk 7db41146ff Prevent players from entering minecarts when sneaking, prevents players from causing MineClone2/MineClone2#3188 2024-11-02 21:26:31 +01:00
teknomunk 6f46014831 Increase default track friction, disable right-click to exit minecarts 2024-11-02 21:26:31 +01:00
teknomunk 61a358049e 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-02 21:26:31 +01:00
teknomunk 4df5c4c0a0 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-02 21:26:31 +01:00
teknomunk 20f8f87da2 Mostly fix carts stopping between powered rails (there is still some strangeness with acceleration physics) 2024-11-02 21:26:31 +01:00
teknomunk 9ba45cae11 Fix diagonal movement 2024-11-02 21:26:31 +01:00
teknomunk e60789272c Add diagonal track movement on zig-zag track, rewrite mcl_minecarts:get_rail_direction 2024-11-02 21:26:31 +01:00
teknomunk 5cee0bf072 Make TNT minecarts available in creative menu 2024-11-02 21:26:31 +01:00
teknomunk 6056d51fee Implement custom item dropper handlers, implement droppers placing minecarts 2024-11-02 21:26:31 +01:00
teknomunk 51bfb07d48 Hopper minecarts pull from containers above rail 2024-11-02 21:26:31 +01:00
teknomunk 1ddf6708fc Rework in preparation to add code to pull from containers into the hopper minecart 2024-11-02 21:26:31 +01:00
teknomunk a49a34809c Move fiction constant to top of file, suppress cart flips when direction reverses due to gravity or end of track 2024-11-02 21:26:31 +01:00
teknomunk faaa962ac2 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-02 21:26:31 +01:00
teknomunk 7a805a7482 Remove dip into the ground that occured when gravity caused the cart to reverse directions 2024-11-02 21:26:31 +01:00
teknomunk 665621982b Implement gravity, move orientation update to own function, fix cart stopping in process_acceleration 2024-11-02 21:26:31 +01:00
teknomunk e07f986063 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-02 21:26:31 +01:00
teknomunk 5272d3c744 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-02 21:26:31 +01:00
teknomunk ce83be4092 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-02 21:26:31 +01:00
teknomunk fb9cdb145e 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-02 21:26:31 +01:00
teknomunk 72a81c49ca Fix initial_properties for minecarts 2024-11-02 21:26:31 +01:00
teknomunk f05b0be752 Change left,right and back vectors to matrix math results with no branching 2024-11-02 21:26:31 +01:00
teknomunk 14ca5a555c Remove now unused properties from minecart definition, convert more vectors to use vector.new syntax 2024-11-02 21:26:31 +01:00
teknomunk 97ab1f394e 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-02 21:26:31 +01:00
teknomunk 5d3e833450 Change staticdata serialization (with migration from old data), disable debugging code used to investigate MineClone2/MineClone2#2446 2024-11-02 21:26:31 +01:00
teknomunk 641a9613ad Change to vector.new from {x=...}, relocate movement code to own function for future changes 2024-11-02 21:26:31 +01:00
the-real-herowl b136cbf9bb Changed bamboo cap drawtype (#4658)
Reviewed-on: VoxeLibre/VoxeLibre#4658
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
2024-11-02 21:04:00 +01:00
the-real-herowl e6d8d840db Merge pull request 'Fix missing protection checks in smithing tables' (#4659) from smithing_table_patch into master
Reviewed-on: VoxeLibre/VoxeLibre#4659
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
2024-11-02 21:00:19 +01:00
Mikita Wiśniewski 78125f425a Fix taking items out of protected smithing tables 2024-11-02 21:00:19 +01:00
cora cb1999414b Fix putting items in protected smithing tables 2024-11-02 21:00:19 +01:00
Mikita Wiśniewski 41b188caea Remove "double drop" mechanics for bamboo (fixes #4514) (#4642)
Reviewed-on: VoxeLibre/VoxeLibre#4642
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-committed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
2024-10-27 14:16:06 +01:00
kno10 ae7995d195 Fix axolotl attacking water mobs (#4675)
Also avoid jumping out of the water closes #4644

Reviewed-on: VoxeLibre/VoxeLibre#4675
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: kno10 <kno10@noreply.git.minetest.land>
Co-committed-by: kno10 <kno10@noreply.git.minetest.land>
2024-10-27 14:10:11 +01:00
kno10 e293cbe631 Better handling of touching_ground for bouncing on beds (#4689)
Reviewed-on: VoxeLibre/VoxeLibre#4689
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-10-27 14:03:50 +01:00
the-real-herowl fd6cac5f0c Merge pull request 'Fix fog tint in overworld, apply memory leak fix, fix rain->clear clouds' (#4669) from weather-fixes into master
Reviewed-on: VoxeLibre/VoxeLibre#4669
Reviewed-by: kno10 <kno10@noreply.git.minetest.land>
2024-10-11 07:14:01 +02:00
teknomunk e864cc19ed Make fog_tint_type = "default" when weather is present to match behavior at 0.87.2 2024-10-09 01:05:20 +02:00
teknomunk 66c3c014a1 Make sure fog tints are preserved during weather is present 2024-10-09 01:05:20 +02:00
teknomunk 7807093b50 Another correction to color interpolation, change day color from layer position 0.15 to 0.50 2024-10-09 01:05:20 +02:00
teknomunk f6c3f4bd16 Correct value clamping 2024-10-09 01:05:20 +02:00
teknomunk 96a03b1923 Remove posibility of nil sky colors in overworld, add line break 2024-10-09 01:05:20 +02:00
teknomunk 2145470f63 Fix clouds during rain->clear weather transition 2024-10-09 01:05:20 +02:00
teknomunk 2ca0ccd8fe Fix fog tint in overworld, apply memory leak fix from rain.lua to snow.lua and thunder.lua 2024-10-09 01:05:20 +02:00
teknomunk 614518c6cd Revert minetest.add_entity() -> mcl_mobs.spawn() from #4445 (#4679)
Reviewed-on: VoxeLibre/VoxeLibre#4679
Reviewed-by: kno10 <kno10@noreply.git.minetest.land>
Co-authored-by: teknomunk <teknomunk@protonmail.com>
Co-committed-by: teknomunk <teknomunk@protonmail.com>
2024-10-08 15:34:30 +02:00
kno10 253a06fa08 Fix mob egg double-spawns (#4657)
If you spawn a mob clicking on a wall, two mobs will be spawned.

To reproduce: face a stack of stones, with a spawn egg click on the side of a stone. It does not happen when you click the top of a node, because spawning below fails and only the second one succeeds.

Reviewed-on: VoxeLibre/VoxeLibre#4657
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: kno10 <kno10@noreply.git.minetest.land>
Co-committed-by: kno10 <kno10@noreply.git.minetest.land>
2024-09-30 19:21:40 +02:00
kno10 dcfd31d17a Avoid random jumps when standing due to gravity (fewer villagers on the roofs) (#4547)
Reviewed-on: VoxeLibre/VoxeLibre#4547
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-09-30 11:22:31 +02:00
teknomunk c34aecfcab Don't make 'ignore' nodes break bamboo or kelp (#4551)
This modifies the behavior of kelp and bamboo so that neither breaks when an unloaded node is encountered.

Reviewed-on: VoxeLibre/VoxeLibre#4551
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: teknomunk <teknomunk@protonmail.com>
Co-committed-by: teknomunk <teknomunk@protonmail.com>
2024-09-29 13:57:52 +02:00