teknomunk
|
7f4f751938
|
Rearrange conditions to minimize executed code
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
505c5109ee
|
Stop infinite loop of arrows stuck in yourself punching you
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
b8a785a108
|
Sound fix, preserve _itemstring as well
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
51b6ade245
|
Make stuck arrows stop processing all other behaviors
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
a56b4f9ca2
|
Make it possible to pick up arrows in creative mode
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
eae09781a6
|
Fix tipped arrow behavior, remove debug code
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
86ecce9b5d
|
Rework projectile pickup code (to prevent item duplication bugs), always update _last_pos, short circuit processing behaviors if the entity was removed by a behavior but didn't report it
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
e1e3bfa0a6
|
Let arrows stick in players
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
8e9a462bba
|
Implement mcl_util.remove_entity() and convert projectile code to use it
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
3848a756a1
|
Add pitch and yaw offset support to vl_projectile
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
be876c3988
|
Correct damage for mob projectiles
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
42c4d91967
|
Move arrow self-collision grace logic to vl_projectile then apply to mob projectiles and splash and linger potions, allow entity luaentity to be passed to mcl_util.get_entity_id()
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
7266eb7fd7
|
Replace _puncher with _owner, rework projectile code to make _owner a string, copy mcl_util.gen_uuid() from minecart branch, add mcl_util.get_entity_id(), fix crash
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
c052aa6824
|
Remove debug dump, move maximum time to live to vl_projectile
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
f5e251b9f6
|
Document vl_projectile.replace_with_item_drop
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
4240f9664c
|
Move projectile stick logic into vl_projectile
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
6edb04857c
|
Move tracer to vl_projectile
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
858c52c5c2
|
Change mcl_bows to use standard vl_projectile on_step handler, move burning behavior to vl_projectile
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
ff188e6916
|
Resolve luacheck findings
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
a8c30ba9b3
|
Add hook to allow piercing enchantment to be implemented
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
948aceae21
|
Fix dispenser arrows so they hit players and entities, minetest.register_entity -> vl_projectile.register for mcl_throwing:egg
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
2ea316ddff
|
Prevent dereferencing nil in wither.lua, fix minor typo in debug statement
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
e870a8776d
|
Add workarround for random velocity change of particles on creation
|
2024-12-01 16:41:06 +01:00 |
|
teknomunk
|
1e43d35057
|
Make sure a projectile sets on fire the thing it collided with
|
2024-12-01 16:41:06 +01:00 |
|
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
|
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
|
a0a634facc
|
Fix typo _ -> .
|
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
|
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
|
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 |
|