Commit graph

25 commits

Author SHA1 Message Date
teknomunk
b8fcc4c02e 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-25 11:52:24 +01:00
teknomunk
2864e8fa30 Correct behavior when ignore_gravity flag is true, fix mob projectile velocity calculation, add missing entity_def lookup 2024-12-25 11:52:24 +01:00
teknomunk
b4e6417b92 Convert mcl_mobs.register_arrow() to use vl_projectile, tested only with shulker bullet so far 2024-12-25 11:52:24 +01:00
teknomunk
48937b3083 Make splash, lingering and othe projectiles hit players 2024-12-25 11:52:24 +01:00
teknomunk
dbbc53173c Stop minimum draw arrows from hitting player that shot them 2024-12-25 11:52:24 +01:00
teknomunk
3b7fb6613e 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-25 11:52:24 +01:00
teknomunk
dd5ef7312c Inline dir_to_pitch() and use correct formula for pitch 2024-12-25 11:52:24 +01:00
teknomunk
d71d9f5bf2 Address more review comments 2024-12-25 11:52:24 +01:00
teknomunk
c4df080af5 Make arrows damage players, update API documentation, fix several crashes that occurred when arrows hit a player 2024-12-25 11:52:24 +01:00
teknomunk
fa390b5752 Fix splash potions, fix crash when projectiles hit unknown nodes 2024-12-25 11:52:24 +01:00
teknomunk
ebdc5a5914 Remove logging in tipped_arrows, prevent crash when spawning chicks, add extra safety check in vl_projectile.collides_with_solids 2024-12-25 11:52:24 +01:00
teknomunk
9a877cf7b0 Lingering potions should not collide with liquids, change behaviors assersion loop to catch nil members 2024-12-25 11:52:24 +01:00
teknomunk
5474e31a8f 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-25 11:52:24 +01:00
teknomunk
a6cb215720 Revert entity->object for three lines 2024-12-25 11:52:24 +01:00
teknomunk
6893a4e8b6 Fix typo in api.md, add TODO, change entity -> object 2024-12-25 11:52:24 +01:00
teknomunk
5ced87dc26 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-25 11:52:24 +01:00
teknomunk
fdfefd2af8 Resolve more review comments, fix crash 2024-12-25 11:52:24 +01:00
teknomunk
def9d26ca3 Add API documentation, minor API cleanup 2024-12-25 11:52:24 +01:00
teknomunk
0516b69f68 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-25 11:52:24 +01:00
teknomunk
3273202531 Fix crash on startup 2024-12-25 11:52:24 +01:00
teknomunk
caf09cc7d3 More refactoring to generalize arrow code into projectile 2024-12-25 11:52:24 +01:00
teknomunk
34b9fe88e5 Start mcl_bows:arrow_entity refactor 2024-12-25 11:52:24 +01:00
teknomunk
7ad30c0f4f Remove _thrower from vl_projectile (uses self._vl_projectile.owner instead), reorder some code 2024-12-25 11:52:24 +01:00
teknomunk
2d75a21c10 Finish reworking all items in mcl_throwing 2024-12-25 11:52:24 +01:00
teknomunk
eeaa36e60b Add in vl_projectile, add mcl_util.match_node_to_filter 2024-12-25 11:52:24 +01:00