Commit Graph

2408 Commits

Author SHA1 Message Date
teknomunk
f7360be5e4 Mostly fix carts stopping between powered rails (there is still some strangeness with acceleration physics) 2024-12-31 02:36:18 +01:00
teknomunk
4656717c56 Fix diagonal movement 2024-12-31 02:36:18 +01:00
teknomunk
262063cc7c Add diagonal track movement on zig-zag track, rewrite mcl_minecarts:get_rail_direction 2024-12-31 02:36:18 +01:00
teknomunk
acd6b03371 Make TNT minecarts available in creative menu 2024-12-31 02:36:18 +01:00
teknomunk
15584dad88 Implement custom item dropper handlers, implement droppers placing minecarts 2024-12-31 02:36:18 +01:00
teknomunk
121550a635 Hopper minecarts pull from containers above rail 2024-12-31 02:36:18 +01:00
teknomunk
3745a27f8c Rework in preparation to add code to pull from containers into the hopper minecart 2024-12-31 02:36:18 +01:00
teknomunk
bfe09c7c3f Move fiction constant to top of file, suppress cart flips when direction reverses due to gravity or end of track 2024-12-31 02:36:18 +01:00
teknomunk
5441a23570 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-12-31 02:36:18 +01:00
teknomunk
6b37618b72 Remove dip into the ground that occured when gravity caused the cart to reverse directions 2024-12-31 02:36:18 +01:00
teknomunk
8709ba7be8 Implement gravity, move orientation update to own function, fix cart stopping in process_acceleration 2024-12-31 02:36:18 +01:00
teknomunk
2e78e9cdad 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-12-31 02:36:18 +01:00
teknomunk
f082e4a554 Make minecart always stop at correct location at end of track, fix crash when placing chest minecart after changing how staticdata is handled 2024-12-31 02:36:18 +01:00
teknomunk
05aef66668 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-12-31 02:36:18 +01:00
teknomunk
960192024f 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-12-31 02:36:18 +01:00
teknomunk
70aa9004be Fix initial_properties for minecarts 2024-12-31 02:36:18 +01:00
teknomunk
0c46c2fcc2 Change left,right and back vectors to matrix math results with no branching 2024-12-31 02:36:18 +01:00
teknomunk
c489e0c380 Remove now unused properties from minecart definition, convert more vectors to use vector.new syntax 2024-12-31 02:36:18 +01:00
teknomunk
d9d5245d59 Complete rewrite of minecart movement that resolves https://git.minetest.land/MineClone2/MineClone2/issues/2446 and https://git.minetest.land/MineClone2/MineClone2/issues/247#issuecomment-50960 but has a bug where carts will synchronize movements that I am still investigating 2024-12-31 02:36:18 +01:00
teknomunk
d1550d9e84 Change staticdata serialization (with migration from old data), disable debugging code used to investigate https://git.minetest.land/MineClone2/MineClone2/issues/2446 2024-12-31 02:36:18 +01:00
teknomunk
087d5f0f64 Change to vector.new from {x=...}, relocate movement code to own function for future changes 2024-12-31 02:36:18 +01:00
kno10
28c0a3072c set_yaw for shulker returns nil, causing a nil arithmetic error. (#4775)
Fixes a prevented crash error.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4775
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-12-31 01:23:47 +01:00
kno10
cb1814f6ae tooldef can be nil (#4767)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4767
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-12-29 15:56:57 +01:00
the-real-herowl
14ec7fe98f Fixed a crash 2024-12-29 08:09:33 +01:00
the-real-herowl
8a252342a5 Minor improvements 2024-12-29 08:09:33 +01:00
the-real-herowl
5b7c1a8d4c Reworked hammer crushing
- crushing is now done by digging with a hammer
- cobble is now crushable
2024-12-29 08:09:33 +01:00
the-real-herowl
bf77996b57 Added spears 2024-12-29 08:09:33 +01:00
the-real-herowl
ce95290fa8 Added hammers 2024-12-29 08:09:33 +01:00
the-real-herowl
43539e1392 Make sure self.rotate is not nil before use (#4759)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4759
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
2024-12-29 08:05:52 +01:00
kno10
631162e24c Switch from deg to rad. 2024-12-27 10:48:00 +07:00
kno10
dd165ec0e9 Update to set_bone_override 2024-12-27 10:48:00 +07:00
teknomunk
7de503770f Address review concerns 2024-12-25 11:52:24 +01:00
teknomunk
2732976404 Move fireball redirection service award check to ghast from fireball 2024-12-25 11:52:24 +01:00
teknomunk
60e3c139cc Change mcl_mobs to use mcl_util.remove_entity() when killing mobs, add guard in vl_projectile against removed mobs 2024-12-25 11:52:24 +01:00
teknomunk
bb934d09ee Break long lines, add space between functions in vl_projectile/init.lua 2024-12-25 11:52:24 +01:00
teknomunk
bc321ccae4 Add _vl_projectile.can_punch() to mob API and move hard-coded entity behavior from arrow to rover code 2024-12-25 11:52:24 +01:00
teknomunk
a2167e7dfc Change to use nil radius in within_limits(pos,radius) check 2024-12-25 11:52:24 +01:00
teknomunk
88cd54a03b Add reference to Projectile API documentatino from mob API documentation 2024-12-25 11:52:24 +01:00
teknomunk
0d8f7515c6 Update minetest->Luanti in affected documentation, update minetest. -> core. in affected code, factor out common subexpressions in mods/ITEMS/vl_projectile/init.lua 2024-12-25 11:52:24 +01:00
teknomunk
7c8da2eba7 Rework self.timer and _owner collision conditions 2024-12-25 11:52:24 +01:00
teknomunk
aa8cec9911 Implement mcl_util.remove_entity() and convert projectile code to use it 2024-12-25 11:52:24 +01:00
teknomunk
2fcd4ff69f Fix condition on node collision for mob projectiles 2024-12-25 11:52:24 +01:00
teknomunk
1df10c8dd3 Correct damage for mob projectiles 2024-12-25 11:52:24 +01:00
teknomunk
efa6e7d2d0 Move arrow self-collision grace logic to vl_projectile then apply to mob projectiles and splash and linger potions, allow entity luaentity to be passed to mcl_util.get_entity_id() 2024-12-25 11:52:24 +01:00
teknomunk
2d56deacf6 Replace _puncher with _owner, rework projectile code to make _owner a string, copy mcl_util.gen_uuid() from minecart branch, add mcl_util.get_entity_id(), fix crash 2024-12-25 11:52:24 +01:00
the-real-herowl
515b5bc5c7 Fixed abnormal skull rotation 2024-12-25 11:52:24 +01:00
the-real-herowl
254b100fac Fixed wither skulls
- wither skulls now hit players again
- wither skulls (strong version) don't cause a crash anymore
2024-12-25 11:52:24 +01:00
teknomunk
ee3ea9d3f5 Prevent dereferencing nil in wither.lua, fix minor typo in debug statement 2024-12-25 11:52:24 +01:00
teknomunk
642c474012 Stop wither from shooting itself 2024-12-25 11:52:24 +01:00
teknomunk
f9aa61ff5a Fix unintentional collision box change 2024-12-25 11:52:24 +01:00