Commit Graph

11093 Commits

Author SHA1 Message Date
teknomunk
a633b3f016 Implement mcl_util.remove_entity() and convert projectile code to use it 2024-12-07 19:15:38 +01:00
teknomunk
3f14af8b59 Add pitch and yaw offset support to vl_projectile 2024-12-07 19:15:38 +01:00
teknomunk
40a0a934a6 Correct self-collision for lingering/splash potions 2024-12-07 19:15:38 +01:00
teknomunk
1db9723c9b Fix condition on node collision for mob projectiles 2024-12-07 19:15:38 +01:00
teknomunk
ffb1d39464 Correct damage for mob projectiles 2024-12-07 19:15:38 +01:00
teknomunk
1db0c30be7 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-07 19:15:38 +01:00
teknomunk
529448e4b2 Fix crash when firing rocket arrows 2024-12-07 19:15:38 +01:00
teknomunk
8f8d27d7e0 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-07 19:15:38 +01:00
teknomunk
ec6f28c2d1 Remove debug dump, move maximum time to live to vl_projectile 2024-12-07 19:15:38 +01:00
teknomunk
7b027f044e Document vl_projectile.replace_with_item_drop 2024-12-07 19:15:38 +01:00
teknomunk
bde58675eb Move projectile stick logic into vl_projectile 2024-12-07 19:15:38 +01:00
teknomunk
6193b2630f Move tracer to vl_projectile 2024-12-07 19:15:38 +01:00
teknomunk
77d3dbf33d Change mcl_bows to use standard vl_projectile on_step handler, move burning behavior to vl_projectile 2024-12-07 19:15:38 +01:00
teknomunk
1b8a4d6ecb Move arrow-node logic out of mcl_bows/arrow.lua and into the node definitions under _vl_projectile.on_collide 2024-12-07 19:15:38 +01:00
teknomunk
1600a65dd7 Remove secondary collision check in mcl_bows/arrow.lua (it was just hitting grass) 2024-12-07 19:15:38 +01:00
teknomunk
4a6eef8656 Remove code with no effect other than emitting a warning 2024-12-07 19:15:38 +01:00
teknomunk
bd4a701322 Resolve luacheck findings 2024-12-07 19:15:38 +01:00
teknomunk
d85c7c395f Fix crashes in mcl_throwing 2024-12-07 19:15:38 +01:00
teknomunk
b9c42af179 Fix crash when hit with an arrow that is not piercing 2024-12-07 19:15:38 +01:00
the-real-herowl
00acc1742e Rockets and piercing arrows fixed
They both work properly now.
2024-12-07 19:15:38 +01:00
the-real-herowl
03c3447657 Fix throwables' punch allow check 2024-12-07 19:15:38 +01:00
the-real-herowl
d97d0a9b35 Fixed abnormal skull rotation 2024-12-07 19:15:38 +01:00
the-real-herowl
d0c8721afd Fixed wither skulls
- wither skulls now hit players again
- wither skulls (strong version) don't cause a crash anymore
2024-12-07 19:15:38 +01:00
teknomunk
6ce71b78ce Add attribution with exact links for minetest code 2024-12-07 19:15:38 +01:00
teknomunk
d26eb2d5a3 Add hook to allow piercing enchantment to be implemented 2024-12-07 19:15:38 +01:00
teknomunk
c01cbe995f Fix chick spawning in the presence of a functional has_room() check 2024-12-07 19:15:38 +01:00
teknomunk
dc1fdebd05 Fix dispenser arrows so they hit players and entities, minetest.register_entity -> vl_projectile.register for mcl_throwing:egg 2024-12-07 19:15:38 +01:00
teknomunk
64b2b5b125 Make egg and snowball stack count match master 2024-12-07 19:15:38 +01:00
teknomunk
53674ea9ef Prevent dereferencing nil in wither.lua, fix minor typo in debug statement 2024-12-07 19:15:38 +01:00
teknomunk
5a0200ee9d Add workarround for random velocity change of particles on creation 2024-12-07 19:15:38 +01:00
teknomunk
3688e1994e Make sure a projectile sets on fire the thing it collided with 2024-12-07 19:15:38 +01:00
teknomunk
09028a6bcf Stop wither from shooting itself 2024-12-07 19:15:38 +01:00
teknomunk
8f7a020a0d Fix player-mcl_throwing collisions, fix chick spawning on egg collisions, luacheck fixes 2024-12-07 19:15:38 +01:00
teknomunk
c465c469c3 Fix unintentional collision box change 2024-12-07 19:15:38 +01:00
teknomunk
9da0808142 Fix luacheck findings for this PR: remove unused variables, remove overwritten value, add missing dependencies, fix undefined variable usage 2024-12-07 19:15:38 +01:00
teknomunk
6173333c9e 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-07 19:15:38 +01:00
teknomunk
6c22307d99 Allow mob projectiles to hit their owner after 2 seconds (used by ghast fireball) 2024-12-07 19:15:38 +01:00
teknomunk
7723d3a470 Make snowballs have the same collision conditions as before 2024-12-07 19:15:38 +01:00
teknomunk
3ef6b4d09b Undo conversions to use mcl_bows:arrow_entity and use arrow_item.."_entity" like master 2024-12-07 19:15:38 +01:00
teknomunk
538ab13473 Convert flying bobber to vl_projectile, modify mcl_throwing.register_throwable_object() to check for _vl_projectile field 2024-12-07 19:15:38 +01:00
teknomunk
106646db61 Remove redundant check 2024-12-07 19:15:38 +01:00
teknomunk
899bb2d3e3 Correct behavior when ignore_gravity flag is true, fix mob projectile velocity calculation, add missing entity_def lookup 2024-12-07 19:15:38 +01:00
teknomunk
5668dae194 Convert mcl_mobs.register_arrow() to use vl_projectile, tested only with shulker bullet so far 2024-12-07 19:15:38 +01:00
teknomunk
d1c8fb22df Restore tipped arrow entity registration as near copy of mcl_bows:arrow_entity 2024-12-07 19:15:38 +01:00
teknomunk
389926fff7 Small optimization for calculating _allow_punch 2024-12-07 19:15:38 +01:00
teknomunk
9b2ad5a9ef Remove unnecessary vectory copy 2024-12-07 19:15:38 +01:00
teknomunk
d983e652af Make splash, lingering and othe projectiles hit players 2024-12-07 19:15:38 +01:00
teknomunk
bfc923577f Stop minimum draw arrows from hitting player that shot them 2024-12-07 19:15:38 +01:00
teknomunk
c58a4c590a Prevent collisions with entities until projectile is at least one node from where it started (to prevent always hitting yourself), modify mcl_bows.shoot_arrow() and mcl_bows_s.shoot_arrow_crossbow() to use vl_projectile.create(), fix projectiles damaging players 2024-12-07 19:15:38 +01:00
teknomunk
aae9b5d6b3 Inline dir_to_pitch() and use correct formula for pitch 2024-12-07 19:15:38 +01:00