Commit Graph

2398 Commits

Author SHA1 Message Date
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
teknomunk
b821f3d72f Fix luacheck findings for this PR: remove unused variables, remove overwritten value, add missing dependencies, fix undefined variable usage 2024-12-25 11:52:24 +01:00
teknomunk
b8fcc4c02e Prevent projectiles from crashing server when removed when it punched something (wither skull hitting the wither will cause this), mark wither skull with _removed = true when death timer removes it 2024-12-25 11:52:24 +01:00
teknomunk
b23b16842c Allow mob projectiles to hit their owner after 2 seconds (used by ghast fireball) 2024-12-25 11:52:24 +01:00
teknomunk
b339d5f13f Remove redundant check 2024-12-25 11:52:24 +01:00
teknomunk
2864e8fa30 Correct behavior when ignore_gravity flag is true, fix mob projectile velocity calculation, add missing entity_def lookup 2024-12-25 11:52:24 +01:00
teknomunk
b4e6417b92 Convert mcl_mobs.register_arrow() to use vl_projectile, tested only with shulker bullet so far 2024-12-25 11:52:24 +01:00
kno10
e96bec0ad0 Fix strider spawning (#4747)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4747
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: kno10 <erich.schubert@gmail.com>
Co-committed-by: kno10 <erich.schubert@gmail.com>
2024-12-23 13:48:18 +01:00
kno10
2fb04076f8 fix inconsistent capitalization of Tropical fish 2024-12-19 08:47:40 +01:00
kno10
6f12e173aa Improve extraction of strings, for banner colors and villagers 2024-12-19 08:47:40 +01:00
kno10
979105efbf German translation updates 2024-12-18 21:30:19 +01:00