Commit graph

12577 commits

Author SHA1 Message Date
teknomunk
89bfb6454e 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-09-22 00:13:03 +02:00
teknomunk
6ca7c2b8b6 Allow mob projectiles to hit their owner after 2 seconds (used by ghast fireball) 2024-09-22 00:13:03 +02:00
teknomunk
b4d27b2610 Make snowballs have the same collision conditions as before 2024-09-22 00:13:03 +02:00
teknomunk
f99022a6af Undo conversions to use mcl_bows:arrow_entity and use arrow_item.."_entity" like master 2024-09-22 00:13:03 +02:00
teknomunk
c8c847e250 Convert flying bobber to vl_projectile, modify mcl_throwing.register_throwable_object() to check for _vl_projectile field 2024-09-22 00:13:03 +02:00
teknomunk
0be093c6d7 Remove redundant check 2024-09-22 00:13:03 +02:00
teknomunk
930835891d Correct behavior when ignore_gravity flag is true, fix mob projectile velocity calculation, add missing entity_def lookup 2024-09-22 00:13:03 +02:00
teknomunk
27fdc4060e Convert mcl_mobs.register_arrow() to use vl_projectile, tested only with shulker bullet so far 2024-09-22 00:13:03 +02:00
teknomunk
3e06da6308 Restore tipped arrow entity registration as near copy of mcl_bows:arrow_entity 2024-09-22 00:13:03 +02:00
teknomunk
f13ef1cc88 Small optimization for calculating _allow_punch 2024-09-22 00:13:03 +02:00
teknomunk
baef54f7c8 Remove unnecessary vectory copy 2024-09-22 00:13:03 +02:00
teknomunk
1a20857802 Make splash, lingering and othe projectiles hit players 2024-09-22 00:13:03 +02:00
teknomunk
b2a7f02151 Stop minimum draw arrows from hitting player that shot them 2024-09-22 00:13:03 +02:00
teknomunk
c0ab6830fc 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-09-22 00:13:03 +02:00
teknomunk
ca8570e639 Inline dir_to_pitch() and use correct formula for pitch 2024-09-22 00:13:03 +02:00
teknomunk
6abb3a2d36 Address most of kno10's comments about mcl_utils/node.lua and a couple others, fix lingering potion sound 2024-09-22 00:13:03 +02:00
teknomunk
eae62ca427 Address more review comments 2024-09-22 00:13:03 +02:00
teknomunk
ea671cef73 Make arrows damage players, update API documentation, fix several crashes that occurred when arrows hit a player 2024-09-22 00:13:03 +02:00
teknomunk
40457d2283 Fix picking up tipped arrows 2024-09-22 00:13:03 +02:00
teknomunk
3f4b8cd27c Fix crash with splash potions of harming, make splash particles match potion color 2024-09-22 00:13:03 +02:00
teknomunk
0ff20a8a95 Fix splash potions, fix crash when projectiles hit unknown nodes 2024-09-22 00:13:03 +02:00
teknomunk
51c0750634 Remove logging in tipped_arrows, prevent crash when spawning chicks, add extra safety check in vl_projectile.collides_with_solids 2024-09-22 00:13:03 +02:00
teknomunk
7bf6783f8e Lingering potions should not collide with liquids, change behaviors assersion loop to catch nil members 2024-09-22 00:13:03 +02:00
teknomunk
4e4d5e883e Convert lingering potion to vl_projectile 2024-09-22 00:13:03 +02:00
teknomunk
a54c1fa4ea Convert splash potion to vl_projectile, remove dead code, precompute several values in splash potion code, add check of behaviors array in vl_projectile 2024-09-22 00:13:03 +02:00
teknomunk
758d8c5545 Fix crash related to nil _time_in_air 2024-09-22 00:13:03 +02:00
teknomunk
b844f23d82 Revert entity->object for three lines 2024-09-22 00:13:03 +02:00
teknomunk
9b38a4c4f9 Fix typo _ -> . 2024-09-22 00:13:03 +02:00
teknomunk
242bb06aa4 Add empty line 2024-09-22 00:13:03 +02:00
teknomunk
e167bc7f09 Fix typo in api.md, add TODO, change entity -> object 2024-09-22 00:13:03 +02:00
teknomunk
8c55d13a29 Fix typos documentation, add ignore_gravity and liquid_drag options, use vl_projectile.register() for enter pearl, move projectile physics to vl_projectile add hook for future vl_physics support 2024-09-22 00:13:03 +02:00
teknomunk
cba4644fab Update mcl_util.get_double_container_neighbor_pos() to use vector.offset 2024-09-22 00:13:03 +02:00
teknomunk
7d4b342d4d Resolve more review comments, fix crash 2024-09-22 00:13:03 +02:00
teknomunk
37d88038f1 Resolve review comments 2024-09-22 00:13:03 +02:00
teknomunk
3a7ce22621 Remove debug print 2024-09-22 00:13:03 +02:00
teknomunk
4f25f6f58a Give arrows a maximum lifetime to prevent them from getting stuck in mid-air forever 2024-09-22 00:13:03 +02:00
teknomunk
236364f285 Fix documentation for raycast_collides_with_entities 2024-09-22 00:13:03 +02:00
teknomunk
394a08d506 Add API documentation, minor API cleanup 2024-09-22 00:13:03 +02:00
teknomunk
1665541a10 Convert rocket to use vl_projectile API using mcl_bows:arrow as a template, remove some dead code 2024-09-22 00:13:03 +02:00
teknomunk
51644ce1c8 Fold tipped arrows into standard arrows and handle effects via item definition callback, remove arrows when they collide with entities, update handling of removing projectiles 2024-09-22 00:13:03 +02:00
teknomunk
8f8f045905 Fix crash on startup 2024-09-22 00:13:03 +02:00
teknomunk
027b5cda00 More refactoring to generalize arrow code into projectile 2024-09-22 00:13:03 +02:00
teknomunk
99c92fa5e5 Start mcl_bows:arrow_entity refactor 2024-09-22 00:13:03 +02:00
teknomunk
3e376f92f6 Remove _thrower from vl_projectile (uses self._vl_projectile.owner instead), reorder some code 2024-09-22 00:13:03 +02:00
teknomunk
1f12334ca2 Finish reworking all items in mcl_throwing 2024-09-22 00:13:03 +02:00
teknomunk
6f387acbb5 Add in vl_projectile, add mcl_util.match_node_to_filter 2024-09-22 00:13:03 +02:00
teknomunk
f140faca6a Move node related functions to mods/CORE/mcl_util/nodes.lua 2024-09-22 00:13:03 +02:00
teknomunk
bbfcc3beec Create vl_projectile and refactor snowball and partially refactor ender pearl 2024-09-22 00:13:03 +02:00
kno10
d264ba70d8 Fix growth logic, clean up mcl_farming/shared_functions (#4640)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4640
Reviewed-by: teknomunk <teknomunk@protonmail.com>
Co-authored-by: kno10 <erich.schubert@gmail.com>
Co-committed-by: kno10 <erich.schubert@gmail.com>
2024-09-20 14:00:49 +02:00
Mikita Wiśniewski
513413afc7 Use remove_node instead of dig_node in mcl_core ABMs (fixes #4628) (#4629)
The mycelium ABM has been left untouched because of the potential destructiveness. If we ever find that to be an issue, it can be fixed as part of a bigger PR.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4629
Reviewed-by: teknomunk <teknomunk@protonmail.com>
Co-authored-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-committed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
2024-09-19 18:54:39 +02:00