Commit Graph

12739 Commits

Author SHA1 Message Date
teknomunk
3cd9da98a7 Fix luacheck findings for this PR: remove unused variables, remove overwritten value, add missing dependencies, fix undefined variable usage 2024-12-01 16:41:06 +01:00
teknomunk
389e2c4fa6 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-01 16:41:06 +01:00
teknomunk
514755336c Allow mob projectiles to hit their owner after 2 seconds (used by ghast fireball) 2024-12-01 16:41:06 +01:00
teknomunk
220594e1c2 Make snowballs have the same collision conditions as before 2024-12-01 16:41:06 +01:00
teknomunk
f86d800bd9 Undo conversions to use mcl_bows:arrow_entity and use arrow_item.."_entity" like master 2024-12-01 16:41:06 +01:00
teknomunk
ef8f88472f Convert flying bobber to vl_projectile, modify mcl_throwing.register_throwable_object() to check for _vl_projectile field 2024-12-01 16:41:06 +01:00
teknomunk
8d3e34c8df Remove redundant check 2024-12-01 16:41:06 +01:00
teknomunk
d8675b6aba Correct behavior when ignore_gravity flag is true, fix mob projectile velocity calculation, add missing entity_def lookup 2024-12-01 16:41:06 +01:00
teknomunk
0e663aaaf3 Convert mcl_mobs.register_arrow() to use vl_projectile, tested only with shulker bullet so far 2024-12-01 16:41:06 +01:00
teknomunk
052316fd1b Restore tipped arrow entity registration as near copy of mcl_bows:arrow_entity 2024-12-01 16:41:06 +01:00
teknomunk
b2ae4a09d0 Small optimization for calculating _allow_punch 2024-12-01 16:41:06 +01:00
teknomunk
a3c2e36e01 Remove unnecessary vectory copy 2024-12-01 16:41:06 +01:00
teknomunk
32a5dca904 Make splash, lingering and othe projectiles hit players 2024-12-01 16:41:06 +01:00
teknomunk
9f4b7d243c Stop minimum draw arrows from hitting player that shot them 2024-12-01 16:41:06 +01:00
teknomunk
9c05009190 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-01 16:41:06 +01:00
teknomunk
a9fed79685 Inline dir_to_pitch() and use correct formula for pitch 2024-12-01 16:41:06 +01:00
teknomunk
72b15d6f76 Address most of kno10's comments about mcl_utils/node.lua and a couple others, fix lingering potion sound 2024-12-01 16:41:06 +01:00
teknomunk
9f423a73e9 Address more review comments 2024-12-01 16:41:06 +01:00
teknomunk
f09cd7a37c Make arrows damage players, update API documentation, fix several crashes that occurred when arrows hit a player 2024-12-01 16:41:06 +01:00
teknomunk
5836718add Fix picking up tipped arrows 2024-12-01 16:41:06 +01:00
teknomunk
6d985708d0 Fix crash with splash potions of harming, make splash particles match potion color 2024-12-01 16:41:06 +01:00
teknomunk
865c497a8e Fix splash potions, fix crash when projectiles hit unknown nodes 2024-12-01 16:41:06 +01:00
teknomunk
fbadca4aaa Remove logging in tipped_arrows, prevent crash when spawning chicks, add extra safety check in vl_projectile.collides_with_solids 2024-12-01 16:41:06 +01:00
teknomunk
087c54ad60 Lingering potions should not collide with liquids, change behaviors assersion loop to catch nil members 2024-12-01 16:41:06 +01:00
teknomunk
495477977b Convert lingering potion to vl_projectile 2024-12-01 16:41:06 +01:00
teknomunk
dbf1fcd2f4 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-12-01 16:41:06 +01:00
teknomunk
b903c724ec Fix crash related to nil _time_in_air 2024-12-01 16:41:06 +01:00
teknomunk
1b3dcf1f00 Revert entity->object for three lines 2024-12-01 16:41:06 +01:00
teknomunk
a0a634facc Fix typo _ -> . 2024-12-01 16:41:06 +01:00
teknomunk
671e385697 Add empty line 2024-12-01 16:41:06 +01:00
teknomunk
6ff2280bf7 Fix typo in api.md, add TODO, change entity -> object 2024-12-01 16:41:06 +01:00
teknomunk
0f3af79de1 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-12-01 16:41:06 +01:00
teknomunk
1b5baef889 Update mcl_util.get_double_container_neighbor_pos() to use vector.offset 2024-12-01 16:41:06 +01:00
teknomunk
a69db8c31e Resolve more review comments, fix crash 2024-12-01 16:41:06 +01:00
teknomunk
3dac6de48f Resolve review comments 2024-12-01 16:41:06 +01:00
teknomunk
ea60af3dcd Remove debug print 2024-12-01 16:41:06 +01:00
teknomunk
756ac8f27a Give arrows a maximum lifetime to prevent them from getting stuck in mid-air forever 2024-12-01 16:41:06 +01:00
teknomunk
9a3fcaf984 Fix documentation for raycast_collides_with_entities 2024-12-01 16:41:06 +01:00
teknomunk
58ddb91e03 Add API documentation, minor API cleanup 2024-12-01 16:41:06 +01:00
teknomunk
f1883a81b0 Convert rocket to use vl_projectile API using mcl_bows:arrow as a template, remove some dead code 2024-12-01 16:41:06 +01:00
teknomunk
a2d69f377b 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-12-01 16:41:06 +01:00
teknomunk
8fdf29d321 Fix crash on startup 2024-12-01 16:41:06 +01:00
teknomunk
dc6444172d More refactoring to generalize arrow code into projectile 2024-12-01 16:41:06 +01:00
teknomunk
eabfe441e4 Start mcl_bows:arrow_entity refactor 2024-12-01 16:41:06 +01:00
teknomunk
1adcd65491 Remove _thrower from vl_projectile (uses self._vl_projectile.owner instead), reorder some code 2024-12-01 16:41:06 +01:00
teknomunk
0d86d4e0a1 Finish reworking all items in mcl_throwing 2024-12-01 16:41:06 +01:00
teknomunk
8a08e3b4bb Add in vl_projectile, add mcl_util.match_node_to_filter 2024-12-01 16:41:06 +01:00
teknomunk
28ebcebfd4 Move node related functions to mods/CORE/mcl_util/nodes.lua 2024-12-01 16:41:06 +01:00
teknomunk
b720f1f0c1 Create vl_projectile and refactor snowball and partially refactor ender pearl 2024-12-01 16:41:06 +01:00
THE-NERD2
a399182375 Fix elytra enchantability and allow Unbreaking to be applied (#4708)
Putting elytra into an enchanting table no longer causes any enchantments to appear in the formspec. Also, it should now be possible to use an anvil to add unbreaking.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4708
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: THE-NERD2 <pdp9729@gmail.com>
Co-committed-by: THE-NERD2 <pdp9729@gmail.com>
2024-12-01 15:38:51 +01:00