Commit Graph

10735 Commits

Author SHA1 Message Date
teknomunk 2247d19dea Harden against unknown nodes 2024-06-19 07:18:56 -05:00
teknomunk 31cd3ac099 Allow players to push minecarts that are not on track 2024-06-19 07:18:56 -05:00
teknomunk 00df623b32 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-19 07:18:56 -05:00
teknomunk 520b40bdc2 Fix rail movement regressions 2024-06-19 07:18:56 -05:00
teknomunk 2f6f860c82 Move cart code to its own file, more code cleanup, add aliases for old track items 2024-06-19 07:18:56 -05:00
teknomunk b1d8809a4d Cleanup code, restore uphill/downhill cart movement, completely remove old rail 2024-06-19 07:18:56 -05:00
teknomunk cf955109c9 Get rail reattachment (especially after jumps) working correctly 2024-06-19 07:18:56 -05:00
teknomunk 3dc09fe41d 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-19 07:18:56 -05:00
teknomunk 030b98bcfc Silence unmaskable print statements 2024-06-19 07:18:56 -05:00
teknomunk b0e2e34a23 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-19 07:18:56 -05:00
teknomunk 2ee94d3e2b Fix more rail connection bugs 2024-06-19 07:18:56 -05:00
teknomunk 879e86e8ad Get sloped connections working correctly 2024-06-19 07:18:56 -05:00
teknomunk 466cda1c41 Re-enable rule for powering rail from underneath, have stairs block minecart movement, fix crash when lightning strikes a minecart 2024-06-19 07:18:56 -05:00
teknomunk 711a179669 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-19 07:18:56 -05:00
teknomunk 38f31ac6df Update all rail types to new version 2024-06-19 07:18:56 -05:00
teknomunk 353ad7f914 Reorganize 2024-06-19 07:18:56 -05:00
teknomunk efae117a89 Finish reverting 08b41a3b39 2024-06-19 07:18:56 -05:00
teknomunk a008d059cb Enable new track with get_next_dir handlers 2024-06-19 07:18:56 -05:00
teknomunk bd23801c51 Change connection rules again to allow building parallel track, tees and crosses), start implementing rail rules callbacks 2024-06-19 07:18:56 -05:00
teknomunk 22d089e1c6 Add sloped rail 2024-06-19 07:18:56 -05:00
teknomunk ce544963d5 Fix rail visuals, add switch operation 2024-06-19 07:18:56 -05:00
teknomunk 0a7aa9751f Implement initial rail connection logic (no vertical track yet), experiment with texture modifiers and gravel underlay for display (not working) 2024-06-19 07:18:56 -05:00
teknomunk 12ae7869f9 Start implementing new rail nodes 2024-06-19 07:18:56 -05:00
teknomunk c2c577fdde Implement minecart with command block 2024-06-19 07:18:56 -05:00
teknomunk 59aa570b84 Create mesecons command API and modify commandblock to use it 2024-06-19 07:18:56 -05:00
teknomunk ed07d9f6d4 Disable punch to move minecarts, implement punch to drop minecart, enable basic cart keyboard controls (accelerate and brake) 2024-06-19 07:18:56 -05:00
teknomunk 1f1ccd8427 Remove cart oscillation when pushed 2024-06-19 07:18:56 -05:00
teknomunk 67a8216491 Limit top speed of furnace minecarts to 4 blocks/second, limit total fuel time to 27 minutes 2024-06-19 07:18:56 -05:00
teknomunk 3157492548 Fix bug with furnace minecart at max velocity (stopped until fuel ran out), move _fueltime into staticdata 2024-06-19 07:18:56 -05:00
teknomunk d8091d7441 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-19 07:18:56 -05:00
teknomunk bc4986e5ed 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-19 07:18:56 -05:00
teknomunk 25fd563fcd Add API function to remove node watch 2024-06-19 07:18:56 -05:00
teknomunk 14f41e8a78 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-19 07:18:56 -05:00
teknomunk 5b64616174 Start adding hooks for implpementing minecart with command block 2024-06-19 07:18:56 -05:00
teknomunk 4485f01062 Make minecarts solid and add players pushing 2024-06-19 07:18:56 -05:00
teknomunk 7426ce0773 Fix forwards/backwars tilt in all directions 2024-06-19 07:18:56 -05:00
teknomunk ffdf6672a2 Prevent players from entering minecarts when sneaking, prevents players from causing MineClone2/MineClone2#3188 2024-06-19 07:18:56 -05:00
teknomunk 47ba9c5343 Increase default track friction, disable right-click to exit minecarts 2024-06-19 07:18:56 -05:00
teknomunk 1b04ba3042 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-19 07:18:56 -05:00
teknomunk 6638f6d307 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-19 07:18:56 -05:00
teknomunk 14ca007a65 Mostly fix carts stopping between powered rails (there is still some strangeness with acceleration physics) 2024-06-19 07:18:56 -05:00
teknomunk ac0601bf58 Fix diagonal movement 2024-06-19 07:18:56 -05:00
teknomunk 79d9513afc Add diagonal track movement on zig-zag track, rewrite mcl_minecarts:get_rail_direction 2024-06-19 07:18:56 -05:00
teknomunk 555b803b42 Make TNT minecarts available in creative menu 2024-06-19 07:18:56 -05:00
teknomunk 937e218639 Implement custom item dropper handlers, implement droppers placing minecarts 2024-06-19 07:18:56 -05:00
teknomunk debf5836bc Hopper minecarts pull from containers above rail 2024-06-19 07:18:56 -05:00
teknomunk 76f886467d Rework in preparation to add code to pull from containers into the hopper minecart 2024-06-19 07:18:56 -05:00
teknomunk cdbf0ab9f4 Move fiction constant to top of file, suppress cart flips when direction reverses due to gravity or end of track 2024-06-19 07:18:56 -05:00
teknomunk 175bc2c3f2 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-19 07:18:56 -05:00
teknomunk 40a9d5be40 Remove dip into the ground that occured when gravity caused the cart to reverse directions 2024-06-19 07:18:56 -05:00
teknomunk fac44a2d43 Implement gravity, move orientation update to own function, fix cart stopping in process_acceleration 2024-06-19 07:18:56 -05:00
teknomunk f739cd218d 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-06-19 07:18:56 -05:00
teknomunk 6b66cd9024 Make minecart always stop at correct location at end of track, fix crash when placing chest minecart after changing how staticdata is handled 2024-06-19 07:18:56 -05:00
teknomunk d75444eebb 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-06-19 07:18:56 -05:00
teknomunk a946ca62fb 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-06-19 07:18:56 -05:00
teknomunk e2417a89e1 Fix initial_properties for minecarts 2024-06-19 07:18:56 -05:00
teknomunk fd491fe518 Change left,right and back vectors to matrix math results with no branching 2024-06-19 07:18:56 -05:00
teknomunk 75f9d93f59 Remove now unused properties from minecart definition, convert more vectors to use vector.new syntax 2024-06-19 07:18:56 -05:00
teknomunk 333d67b6ec 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-06-19 07:18:56 -05:00
teknomunk 598aed458e Change staticdata serialization (with migration from old data), disable debugging code used to investigate MineClone2/MineClone2#2446 2024-06-19 07:18:56 -05:00
teknomunk 4a42157e66 Change to vector.new from {x=...}, relocate movement code to own function for future changes 2024-06-19 07:18:56 -05:00
JoseDouglas26 744b47088b Fixes flint and steel adding wear when not setting node on fire (#4368)
Reviewed-on: VoxeLibre/VoxeLibre#4368
Reviewed-by: teknomunk <teknomunk@protonmail.com>
Co-authored-by: JoseDouglas26 <josedouglas20002014@gmail.com>
Co-committed-by: JoseDouglas26 <josedouglas20002014@gmail.com>
2024-06-16 18:33:19 +02:00
the-real-herowl 72435933e4 Add defensive check (#4437)
This fixes #4436 and possible other unnoticed crashes by adding a defensive check.

Reviewed-on: VoxeLibre/VoxeLibre#4437
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
2024-06-15 03:51:03 +02:00
the-real-herowl 35e14dd415 Potion conversion fix (#4426)
Reviewed-on: VoxeLibre/VoxeLibre#4426
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
2024-06-13 13:22:14 +02:00
the-real-herowl 173f8a0bca Effect loading fixes (#4425)
Reviewed-on: VoxeLibre/VoxeLibre#4425
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
2024-06-13 13:21:36 +02:00
teknomunk 1f32b47208 Fix crash while fighting whither (#4392)
Reviewed-on: VoxeLibre/VoxeLibre#4392
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-06-12 14:18:03 +02:00
WillConker fd4e1484af Fix crash on high levels of frost walker (#4423)
Reviewed-on: VoxeLibre/VoxeLibre#4423
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: WillConker <willconker@noreply.git.minetest.land>
Co-committed-by: WillConker <willconker@noreply.git.minetest.land>
2024-06-11 19:17:12 +02:00
teknomunk 1b0deae026 Fix crash when bonemealing sweet berry bushes (#4419)
Reviewed-on: VoxeLibre/VoxeLibre#4419
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: teknomunk <teknomunk@protonmail.com>
Co-committed-by: teknomunk <teknomunk@protonmail.com>
2024-06-11 18:47:18 +02:00
teknomunk 313c1f558b Make all hollow logs breakable (#4418)
Reviewed-on: VoxeLibre/VoxeLibre#4418
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-06-11 18:43:33 +02:00
teknomunk 5cafa97dd1 Fix formspec code that reads strength button field (#4385)
Reviewed-on: VoxeLibre/VoxeLibre#4385
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-06-11 18:40:44 +02:00
teknomunk ddab68b87c Add instructions on how to eat to basic controls help entry (#4420)
Reviewed-on: VoxeLibre/VoxeLibre#4420
Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
Co-authored-by: teknomunk <teknomunk@protonmail.com>
Co-committed-by: teknomunk <teknomunk@protonmail.com>
2024-06-10 19:44:30 +00:00
JoseDouglas26 2dafbae64b Hotfix for brewing stands rotation (#4371)
Reviewed-on: VoxeLibre/VoxeLibre#4371
Reviewed-by: teknomunk <teknomunk@protonmail.com>
Co-authored-by: JoseDouglas26 <josedouglas20002014@gmail.com>
Co-committed-by: JoseDouglas26 <josedouglas20002014@gmail.com>
2024-06-07 06:10:52 +00:00
the-real-herowl 21c182fc0e Fixed creative.lua invalidating iterator in loop (#4354)
Reviewed-on: VoxeLibre/VoxeLibre#4354
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
2024-06-02 00:33:29 +00:00
teknomunk ca033d0e8d Correctly refresh enchantment tool capabilities in mcl_potions haste/fatigue effects (#4355)
Reviewed-on: VoxeLibre/VoxeLibre#4355
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-06-01 23:25:42 +00:00
teknomunk beccbacc73 Fix Stalker texture generation (#4343)
This fixes stalker texture generation when the stalker is standing on a node that uses a texture using a texture modifier.

Reviewed-on: VoxeLibre/VoxeLibre#4343
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-06-01 20:23:38 +00:00
teknomunk ecf12b85cc Fix undefined global warning for variable distance in spawning code (#4348)
Fixes the warning about an undeclared global that occurs the first time a mob attempts to spawn.

Reviewed-on: VoxeLibre/VoxeLibre#4348
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-05-31 09:54:59 +00:00
the-real-herowl f53bedc131 Merge pull request 'Fix beacon crash' (#4342) from teknomunk/MineClone2:fix-beacon-crash into master
Reviewed-on: VoxeLibre/VoxeLibre#4342
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
2024-05-30 11:19:19 +00:00
the-real-herowl 3e6ec9cf10 Fixed eye of ender crash (#4344)
This makes sure every loaded eye of ender gets its `_luck` parameter set.

Reviewed-on: VoxeLibre/VoxeLibre#4344
2024-05-30 11:17:19 +00:00
teknomunk 6c8771485c Fix variable name 2024-05-30 10:51:45 +00:00
teknomunk f621e3c1de Fix up formspecs on pre-0.87.0 beacons, fix typo 2024-05-30 10:51:45 +00:00
teknomunk 7d0f49a218 Fix typo 2024-05-30 10:51:45 +00:00
teknomunk 468c2bc68f Change to conversion table 2024-05-30 10:51:45 +00:00
teknomunk 2fc3d92550 Convert 'strenght' to 'strength' in beacons and guard against no effect string metadata set, fix whitespace in mcl_beacons/init.lua 2024-05-30 10:51:45 +00:00
teknomunk 95228500a9 Don't crash when name == nil 2024-05-30 10:51:45 +00:00
teknomunk c7e43e31d4 Convert crash to a warning 2024-05-30 10:51:45 +00:00
JoseDouglas26 067ad7b78b Change stack size for snowballs and eggs (#4312)
Reviewed-on: VoxeLibre/VoxeLibre#4312
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: JoseDouglas26 <josedouglas20002014@gmail.com>
Co-committed-by: JoseDouglas26 <josedouglas20002014@gmail.com>
2024-05-30 08:31:15 +00:00
teknomunk add9cbe3bc Fix mob spawner crash (#4337)
This fixes #4336 crash at login about mcl_mobspawners. Also adds an API call, `mcl_mobs.register_conversion` for converting one mob into another and updates rovers and stalkers to use this API call.

Reviewed-on: VoxeLibre/VoxeLibre#4337
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-05-30 08:29:12 +00:00
teknomunk c4f4e7b6fc Fix crash that occurs when lingering or splash potions are used from a dispenser (#4335)
Reviewed-on: VoxeLibre/VoxeLibre#4335
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-05-30 08:02:59 +00:00
the-real-herowl dfddea76fb Updated release credits and set version for v0.87 2024-05-26 18:30:19 +02:00
the-real-herowl da491b8505 Documented a returned table (effect data) (#4330)
Updated documentation, follow-up to #4130

Reviewed-on: VoxeLibre/VoxeLibre#4330
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
2024-05-26 16:29:27 +00:00
the-real-herowl cae554bc2b Defensive checks (#4328)
Fixes rare crashes related to some effects

Reviewed-on: VoxeLibre/VoxeLibre#4328
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
2024-05-26 15:32:41 +00:00
teknomunk 8feecf2492 Fix crashes with raids and bad omen effect (#4326)
Reviewed-on: VoxeLibre/VoxeLibre#4326
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-05-26 15:21:43 +00:00
Mikita Wiśniewski 68e5c19df4 Add new `supported_node_facedir` group and apply it to item frames (#4291)
This change should fix item frames not placing on chests and similar blocks

Reviewed-on: VoxeLibre/VoxeLibre#4291
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-05-26 15:21:14 +00:00
syl d086bc5176 Mangrove: Missing upper case (#4324)
Reviewed-on: VoxeLibre/VoxeLibre#4324
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: syl <syl@gresille.org>
Co-committed-by: syl <syl@gresille.org>
2024-05-25 14:42:50 +00:00
the-real-herowl 2bd24120e9 Stalker texture building fix (#4322)
Added a defensive check for stalker texture building.

Reviewed-on: VoxeLibre/VoxeLibre#4322
2024-05-25 11:57:05 +00:00
syl 4d7060cddd French translation for potions (#4321)
Reviewed-on: VoxeLibre/VoxeLibre#4321
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: syl <syl@gresille.org>
Co-committed-by: syl <syl@gresille.org>
2024-05-25 11:18:37 +00:00
Nicu f119259e67 Updated the sleeping formspec for a better look (#4319)
This PR deals with the UI side of #3645 - no logic was changed to prevent the spam related to the `zzZ` button.

The chatbox now only shows in multiplayer, where it belongs. The buttons have also been resized and moved into positions that make them look nicer.

Reviewed-on: VoxeLibre/VoxeLibre#4319
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: Nicu <kneekoo@noreply.git.minetest.land>
Co-committed-by: Nicu <kneekoo@noreply.git.minetest.land>
2024-05-24 20:35:13 +00:00
teknomunk 0a14a74860 Fix crash when converting endermen to rovers (#4318)
Fixes a crash that occurs when automatically converting endermen to rovers.

Reviewed-on: VoxeLibre/VoxeLibre#4318
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-05-24 10:32:19 +00:00
the-real-herowl cb4396d424 Fix stonecutter warnings (#4315)
This fixes faulty fallthrough mechanisms attempting to register the same recipe more than once in some cases. This fixes the warning spam when entering a world, while keeping the warnings for mods that misuse the Stonecutter API.

Reviewed-on: VoxeLibre/VoxeLibre#4315
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
2024-05-24 10:31:27 +00:00
the-real-herowl a499d292f8 Finish renames (#4314)
Fix crash caused by unfinished renaming in #4282

Reviewed-on: VoxeLibre/VoxeLibre#4314
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
2024-05-22 19:18:10 +00:00