Commit Graph

25 Commits

Author SHA1 Message Date
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
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
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
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
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
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
1b3dcf1f00 Revert entity->object for three lines 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
a69db8c31e Resolve more review comments, fix crash 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
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