Commit Graph

12804 Commits

Author SHA1 Message Date
teknomunk
09028a6bcf Stop wither from shooting itself 2024-12-07 19:15:38 +01:00
teknomunk
8f7a020a0d Fix player-mcl_throwing collisions, fix chick spawning on egg collisions, luacheck fixes 2024-12-07 19:15:38 +01:00
teknomunk
c465c469c3 Fix unintentional collision box change 2024-12-07 19:15:38 +01:00
teknomunk
9da0808142 Fix luacheck findings for this PR: remove unused variables, remove overwritten value, add missing dependencies, fix undefined variable usage 2024-12-07 19:15:38 +01:00
teknomunk
6173333c9e 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-07 19:15:38 +01:00
teknomunk
6c22307d99 Allow mob projectiles to hit their owner after 2 seconds (used by ghast fireball) 2024-12-07 19:15:38 +01:00
teknomunk
7723d3a470 Make snowballs have the same collision conditions as before 2024-12-07 19:15:38 +01:00
teknomunk
3ef6b4d09b Undo conversions to use mcl_bows:arrow_entity and use arrow_item.."_entity" like master 2024-12-07 19:15:38 +01:00
teknomunk
538ab13473 Convert flying bobber to vl_projectile, modify mcl_throwing.register_throwable_object() to check for _vl_projectile field 2024-12-07 19:15:38 +01:00
teknomunk
106646db61 Remove redundant check 2024-12-07 19:15:38 +01:00
teknomunk
899bb2d3e3 Correct behavior when ignore_gravity flag is true, fix mob projectile velocity calculation, add missing entity_def lookup 2024-12-07 19:15:38 +01:00
teknomunk
5668dae194 Convert mcl_mobs.register_arrow() to use vl_projectile, tested only with shulker bullet so far 2024-12-07 19:15:38 +01:00
teknomunk
d1c8fb22df Restore tipped arrow entity registration as near copy of mcl_bows:arrow_entity 2024-12-07 19:15:38 +01:00
teknomunk
389926fff7 Small optimization for calculating _allow_punch 2024-12-07 19:15:38 +01:00
teknomunk
9b2ad5a9ef Remove unnecessary vectory copy 2024-12-07 19:15:38 +01:00
teknomunk
d983e652af Make splash, lingering and othe projectiles hit players 2024-12-07 19:15:38 +01:00
teknomunk
bfc923577f Stop minimum draw arrows from hitting player that shot them 2024-12-07 19:15:38 +01:00
teknomunk
c58a4c590a 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-07 19:15:38 +01:00
teknomunk
aae9b5d6b3 Inline dir_to_pitch() and use correct formula for pitch 2024-12-07 19:15:38 +01:00
teknomunk
56f248149c Address most of kno10's comments about mcl_utils/node.lua and a couple others, fix lingering potion sound 2024-12-07 19:15:38 +01:00
teknomunk
5d7a970004 Address more review comments 2024-12-07 19:15:38 +01:00
teknomunk
2919f420d8 Make arrows damage players, update API documentation, fix several crashes that occurred when arrows hit a player 2024-12-07 19:15:38 +01:00
teknomunk
d9efac82c8 Fix picking up tipped arrows 2024-12-07 19:15:38 +01:00
teknomunk
b3f1959d5e Fix crash with splash potions of harming, make splash particles match potion color 2024-12-07 19:15:38 +01:00
teknomunk
ca3e8be787 Fix splash potions, fix crash when projectiles hit unknown nodes 2024-12-07 19:15:38 +01:00
teknomunk
6f71539b17 Remove logging in tipped_arrows, prevent crash when spawning chicks, add extra safety check in vl_projectile.collides_with_solids 2024-12-07 19:15:38 +01:00
teknomunk
4cb674e916 Lingering potions should not collide with liquids, change behaviors assersion loop to catch nil members 2024-12-07 19:15:38 +01:00
teknomunk
2a8abb4170 Convert lingering potion to vl_projectile 2024-12-07 19:15:38 +01:00
teknomunk
3d9b9cc445 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-07 19:15:38 +01:00
teknomunk
9893ad638d Fix crash related to nil _time_in_air 2024-12-07 19:15:38 +01:00
teknomunk
374f084018 Revert entity->object for three lines 2024-12-07 19:15:38 +01:00
teknomunk
58d6f55d80 Fix typo _ -> . 2024-12-07 19:15:38 +01:00
teknomunk
1f3f3ca96d Add empty line 2024-12-07 19:15:38 +01:00
teknomunk
277871591c Fix typo in api.md, add TODO, change entity -> object 2024-12-07 19:15:38 +01:00
teknomunk
e04f6241de 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-07 19:15:38 +01:00
teknomunk
6c4b33b99c Update mcl_util.get_double_container_neighbor_pos() to use vector.offset 2024-12-07 19:15:38 +01:00
teknomunk
fef2090c26 Resolve more review comments, fix crash 2024-12-07 19:15:38 +01:00
teknomunk
6b03deb5e7 Resolve review comments 2024-12-07 19:15:38 +01:00
teknomunk
81297d79f5 Remove debug print 2024-12-07 19:15:38 +01:00
teknomunk
f597ebf0d4 Give arrows a maximum lifetime to prevent them from getting stuck in mid-air forever 2024-12-07 19:15:38 +01:00
teknomunk
8a5ca63276 Fix documentation for raycast_collides_with_entities 2024-12-07 19:15:38 +01:00
teknomunk
a833f8a97d Add API documentation, minor API cleanup 2024-12-07 19:15:38 +01:00
teknomunk
95bcb85f70 Convert rocket to use vl_projectile API using mcl_bows:arrow as a template, remove some dead code 2024-12-07 19:15:38 +01:00
teknomunk
adbb18d75d 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-07 19:15:38 +01:00
teknomunk
20a3063aa8 Fix crash on startup 2024-12-07 19:15:38 +01:00
teknomunk
bb91c3c30d More refactoring to generalize arrow code into projectile 2024-12-07 19:15:38 +01:00
teknomunk
40e44e5420 Start mcl_bows:arrow_entity refactor 2024-12-07 19:15:38 +01:00
teknomunk
ed880924a6 Remove _thrower from vl_projectile (uses self._vl_projectile.owner instead), reorder some code 2024-12-07 19:15:38 +01:00
teknomunk
feb3122490 Finish reworking all items in mcl_throwing 2024-12-07 19:15:38 +01:00
teknomunk
bf1a0af338 Add in vl_projectile, add mcl_util.match_node_to_filter 2024-12-07 19:15:38 +01:00