Commit Graph

12783 Commits

Author SHA1 Message Date
teknomunk
945b6d93f0 Use creative arrow collection behavior from master (except they make pickup noises in creative), make all creative arrows infinity 2024-11-30 18:42:13 -06:00
teknomunk
94845d8b2b Rearrange conditions to minimize executed code 2024-11-30 18:42:13 -06:00
teknomunk
37bae54b9e Stop infinite loop of arrows stuck in yourself punching you 2024-11-30 18:42:13 -06:00
teknomunk
acda7c2481 Sound fix, preserve _itemstring as well 2024-11-30 18:42:13 -06:00
teknomunk
435e2cbf7f Add _arrow_item to list of perserved fields 2024-11-30 18:42:13 -06:00
teknomunk
935d60e1ad Make arrows (and all their derivatives) preserve collectable and entity properties across world unload/load 2024-11-30 18:42:13 -06:00
teknomunk
d217858ee4 Make stuck arrows stop processing all other behaviors 2024-11-30 18:42:13 -06:00
teknomunk
46e2f4d364 Make it possible to pick up arrows in creative mode 2024-11-30 18:42:13 -06:00
teknomunk
6f3fb7cc59 Fix tipped arrow behavior, remove debug code 2024-11-30 18:42:13 -06:00
teknomunk
81c6136dca 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-30 18:42:13 -06:00
teknomunk
2f276c2b42 Fix crash when respawning 2024-11-30 18:42:13 -06:00
teknomunk
0b4f2bf899 Let arrows stick in players 2024-11-30 18:42:13 -06:00
teknomunk
3d4e849d21 Implement mcl_util.remove_entity() and convert projectile code to use it 2024-11-30 18:42:13 -06:00
teknomunk
e8838f0e5a Add pitch and yaw offset support to vl_projectile 2024-11-30 18:42:13 -06:00
teknomunk
d610c41fb8 Correct self-collision for lingering/splash potions 2024-11-30 18:42:13 -06:00
teknomunk
0f432e22be Fix condition on node collision for mob projectiles 2024-11-30 18:42:13 -06:00
teknomunk
e6fcb2b72d Correct damage for mob projectiles 2024-11-30 18:42:12 -06:00
teknomunk
02c2a47e71 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-30 18:42:12 -06:00
teknomunk
43dbf2f7f2 Fix crash when firing rocket arrows 2024-11-30 18:42:12 -06:00
teknomunk
5185c043bb 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-30 18:42:12 -06:00
teknomunk
cb1d0d9290 Remove debug dump, move maximum time to live to vl_projectile 2024-11-30 18:42:12 -06:00
teknomunk
aef88bbfde Document vl_projectile.replace_with_item_drop 2024-11-30 18:42:12 -06:00
teknomunk
c7c0fd4081 Move projectile stick logic into vl_projectile 2024-11-30 18:42:12 -06:00
teknomunk
477f8d51ec Move tracer to vl_projectile 2024-11-30 18:42:12 -06:00
teknomunk
b693416d0b Change mcl_bows to use standard vl_projectile on_step handler, move burning behavior to vl_projectile 2024-11-30 18:42:12 -06:00
teknomunk
616a48a548 Move arrow-node logic out of mcl_bows/arrow.lua and into the node definitions under _vl_projectile.on_collide 2024-11-30 18:42:12 -06:00
teknomunk
c8339c6553 Remove secondary collision check in mcl_bows/arrow.lua (it was just hitting grass) 2024-11-30 18:42:12 -06:00
teknomunk
da8602dc3f Remove code with no effect other than emitting a warning 2024-11-30 18:42:12 -06:00
teknomunk
64dc0e6277 Resolve luacheck findings 2024-11-30 18:42:12 -06:00
teknomunk
e53bb82a3c Fix crashes in mcl_throwing 2024-11-30 18:42:12 -06:00
teknomunk
8a56008835 Fix crash when hit with an arrow that is not piercing 2024-11-30 18:42:12 -06:00
the-real-herowl
d8658902c4 Rockets and piercing arrows fixed
They both work properly now.
2024-11-30 18:42:12 -06:00
the-real-herowl
f4a99027f6 Fix throwables' punch allow check 2024-11-30 18:42:12 -06:00
the-real-herowl
7546ceeeca Fixed abnormal skull rotation 2024-11-30 18:42:12 -06:00
the-real-herowl
30f4846192 Fixed wither skulls
- wither skulls now hit players again
- wither skulls (strong version) don't cause a crash anymore
2024-11-30 18:42:12 -06:00
teknomunk
c7959ed27b Add attribution with exact links for minetest code 2024-11-30 18:42:12 -06:00
teknomunk
03b1f69894 Add hook to allow piercing enchantment to be implemented 2024-11-30 18:42:12 -06:00
teknomunk
b7a82f4884 Fix chick spawning in the presence of a functional has_room() check 2024-11-30 18:42:12 -06:00
teknomunk
5cfb8cc79c Fix dispenser arrows so they hit players and entities, minetest.register_entity -> vl_projectile.register for mcl_throwing:egg 2024-11-30 18:42:12 -06:00
teknomunk
5774241f82 Make egg and snowball stack count match master 2024-11-30 18:42:12 -06:00
teknomunk
6d2e55001c Prevent dereferencing nil in wither.lua, fix minor typo in debug statement 2024-11-30 18:42:12 -06:00
teknomunk
b165b1084a Add workarround for random velocity change of particles on creation 2024-11-30 18:42:12 -06:00
teknomunk
9c425816fd Make sure a projectile sets on fire the thing it collided with 2024-11-30 18:42:12 -06:00
teknomunk
9d500282b9 Stop wither from shooting itself 2024-11-30 18:42:12 -06:00
teknomunk
6cd900f78f Fix player-mcl_throwing collisions, fix chick spawning on egg collisions, luacheck fixes 2024-11-30 18:42:12 -06:00
teknomunk
35d89c63b8 Fix unintentional collision box change 2024-11-30 18:42:12 -06:00
teknomunk
fc14373962 Fix luacheck findings for this PR: remove unused variables, remove overwritten value, add missing dependencies, fix undefined variable usage 2024-11-30 18:42:12 -06:00
teknomunk
176a387f3a 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-30 18:42:12 -06:00
teknomunk
4be671057f Allow mob projectiles to hit their owner after 2 seconds (used by ghast fireball) 2024-11-30 18:42:12 -06:00
teknomunk
19bfbe9253 Make snowballs have the same collision conditions as before 2024-11-30 18:42:12 -06:00