Commit Graph

11050 Commits

Author SHA1 Message Date
teknomunk
0206de5842 Add _arrow_item to list of perserved fields 2024-11-28 14:01:00 -06:00
teknomunk
58c39cad42 Make arrows (and all their derivatives) preserve collectable and entity properties across world unload/load 2024-11-28 14:01:00 -06:00
teknomunk
2388d33453 Make stuck arrows stop processing all other behaviors 2024-11-28 14:01:00 -06:00
teknomunk
03d4a02818 Make it possible to pick up arrows in creative mode 2024-11-28 14:01:00 -06:00
teknomunk
d095f55656 Fix tipped arrow behavior, remove debug code 2024-11-28 14:01:00 -06:00
teknomunk
8a95c339fa Rework projectile pickup code (to prevent item duplication bugs), always update _last_pos, short circuit processing behaviors if the entity was removed by a behavior but didn't report it 2024-11-28 14:01:00 -06:00
teknomunk
79285611e1 Fix crash when respawning 2024-11-28 14:01:00 -06:00
teknomunk
e12772201b Let arrows stick in players 2024-11-28 14:01:00 -06:00
teknomunk
9c56868a06 Implement mcl_util.remove_entity() and convert projectile code to use it 2024-11-28 14:01:00 -06:00
teknomunk
0cbb7611cb Add pitch and yaw offset support to vl_projectile 2024-11-28 14:01:00 -06:00
teknomunk
4cfc5b2ada Correct self-collision for lingering/splash potions 2024-11-28 14:01:00 -06:00
teknomunk
32e33d2f67 Fix condition on node collision for mob projectiles 2024-11-28 14:01:00 -06:00
teknomunk
47ece14769 Correct damage for mob projectiles 2024-11-28 14:01:00 -06:00
teknomunk
ac154c2753 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-11-28 14:00:59 -06:00
teknomunk
bbc3858f19 Fix crash when firing rocket arrows 2024-11-28 14:00:59 -06:00
teknomunk
f120c2bb6a 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-11-28 14:00:59 -06:00
teknomunk
cf58b79a68 Remove debug dump, move maximum time to live to vl_projectile 2024-11-28 14:00:59 -06:00
teknomunk
ba1ad14fc9 Document vl_projectile.replace_with_item_drop 2024-11-28 14:00:59 -06:00
teknomunk
359b20b32d Move projectile stick logic into vl_projectile 2024-11-28 14:00:59 -06:00
teknomunk
8f649159ac Move tracer to vl_projectile 2024-11-28 14:00:59 -06:00
teknomunk
1921df178c Change mcl_bows to use standard vl_projectile on_step handler, move burning behavior to vl_projectile 2024-11-28 14:00:59 -06:00
teknomunk
8fb420cf83 Move arrow-node logic out of mcl_bows/arrow.lua and into the node definitions under _vl_projectile.on_collide 2024-11-28 14:00:59 -06:00
teknomunk
6da94e5807 Remove secondary collision check in mcl_bows/arrow.lua (it was just hitting grass) 2024-11-28 14:00:59 -06:00
teknomunk
0dc1a7ce89 Remove code with no effect other than emitting a warning 2024-11-28 14:00:59 -06:00
teknomunk
4862c041c0 Resolve luacheck findings 2024-11-28 14:00:59 -06:00
teknomunk
38ce98f2b8 Fix crashes in mcl_throwing 2024-11-28 14:00:59 -06:00
teknomunk
898588539a Fix crash when hit with an arrow that is not piercing 2024-11-28 14:00:59 -06:00
the-real-herowl
ea353e209f Rockets and piercing arrows fixed
They both work properly now.
2024-11-28 14:00:59 -06:00
the-real-herowl
300a941b0f Fix throwables' punch allow check 2024-11-28 14:00:59 -06:00
the-real-herowl
a5e36cbfb6 Fixed abnormal skull rotation 2024-11-28 14:00:59 -06:00
the-real-herowl
76b9c5edee Fixed wither skulls
- wither skulls now hit players again
- wither skulls (strong version) don't cause a crash anymore
2024-11-28 14:00:59 -06:00
teknomunk
dcba6f9bad Add attribution with exact links for minetest code 2024-11-28 14:00:59 -06:00
teknomunk
931344218e Add hook to allow piercing enchantment to be implemented 2024-11-28 14:00:59 -06:00
teknomunk
e15525167b Fix chick spawning in the presence of a functional has_room() check 2024-11-28 14:00:59 -06:00
teknomunk
81c583fc77 Fix dispenser arrows so they hit players and entities, minetest.register_entity -> vl_projectile.register for mcl_throwing:egg 2024-11-28 14:00:59 -06:00
teknomunk
b301c45434 Make egg and snowball stack count match master 2024-11-28 14:00:59 -06:00
teknomunk
ad51d5943b Prevent dereferencing nil in wither.lua, fix minor typo in debug statement 2024-11-28 14:00:59 -06:00
teknomunk
032277071c Add workarround for random velocity change of particles on creation 2024-11-28 14:00:59 -06:00
teknomunk
425d5e957a Make sure a projectile sets on fire the thing it collided with 2024-11-28 14:00:59 -06:00
teknomunk
8f7554c953 Stop wither from shooting itself 2024-11-28 14:00:59 -06:00
teknomunk
110eaf056b Fix player-mcl_throwing collisions, fix chick spawning on egg collisions, luacheck fixes 2024-11-28 14:00:59 -06:00
teknomunk
4563cf1e2f Fix unintentional collision box change 2024-11-28 14:00:59 -06:00
teknomunk
244b2345ee Fix luacheck findings for this PR: remove unused variables, remove overwritten value, add missing dependencies, fix undefined variable usage 2024-11-28 14:00:59 -06:00
teknomunk
50f210a314 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-11-28 14:00:59 -06:00
teknomunk
801eeec7c4 Allow mob projectiles to hit their owner after 2 seconds (used by ghast fireball) 2024-11-28 14:00:59 -06:00
teknomunk
75300bf4bb Make snowballs have the same collision conditions as before 2024-11-28 14:00:59 -06:00
teknomunk
2580f0bb87 Undo conversions to use mcl_bows:arrow_entity and use arrow_item.."_entity" like master 2024-11-28 14:00:59 -06:00
teknomunk
c6ea6ac596 Convert flying bobber to vl_projectile, modify mcl_throwing.register_throwable_object() to check for _vl_projectile field 2024-11-28 14:00:59 -06:00
teknomunk
12e44b7d10 Remove redundant check 2024-11-28 14:00:59 -06:00
teknomunk
f7c20748e7 Correct behavior when ignore_gravity flag is true, fix mob projectile velocity calculation, add missing entity_def lookup 2024-11-28 14:00:59 -06:00