the-real-herowl
93a6ce6824
Renamed mcl_fireworks to vl_fireworks
2024-12-29 08:08:52 +01:00
the-real-herowl
3291786c1f
Moved particle explosion to mcl_fireworks API
...
- crossbow rockets use the API
- fireworks use it obviously
- fireworks fly a bit faster too
2024-12-29 08:08:52 +01:00
the-real-herowl
6066e0dc46
Change firework explosion code
2024-12-29 08:08:52 +01:00
the-real-herowl
57f743a0c5
Adjusted firework entity size
2024-12-29 08:08:52 +01:00
teknomunk
50e54a375a
Add pitch_offset to correct rocket orientation
2024-12-29 08:08:52 +01:00
the-real-herowl
00ef72c646
Graphical changes and preparations
...
- added mesh
- added adjusted texture
- marked lines in need of attention
2024-12-29 08:08:52 +01:00
teknomunk
326ad65158
Correct damage_groups return (ObjectRef:get_velocity() returns a vector not the required number)
2024-12-29 08:08:52 +01:00
the-real-herowl
902393926f
Initial firework projectile
2024-12-29 08:08:52 +01:00
Mikita Wiśniewski
a93690c6fb
Prevent crashes when dispensers/droppers operate on/with unknowns ( #4764 )
...
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4764
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-committed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
2024-12-29 08:04:59 +01:00
kno10
20f01a8ef7
paramtype light fixes from MCLA ( #4763 )
...
`paramtype` , not `paramtype1`
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4763
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: kno10 <erich.schubert@gmail.com>
Co-committed-by: kno10 <erich.schubert@gmail.com>
2024-12-29 01:43:02 +01:00
kno10
0faedea137
Make trees, funghi not ground content, they get damaged by cavegen ( #4757 )
...
Prevents trees and funghi from being damaged by cavegen across map chunk boundaries.
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4757
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: kno10 <erich.schubert@gmail.com>
Co-committed-by: kno10 <erich.schubert@gmail.com>
2024-12-27 12:23:31 +01:00
teknomunk
6ff0bb5614
Fix snowmen throwing snowballs and fix mcl_throwing when player throws things
2024-12-26 12:31:05 -06:00
the-real-herowl
2860832890
Allow changing maximum projectile time live
2024-12-26 03:00:38 +01:00
the-real-herowl
67f45bd6fb
Fix potion registering not working with other mods
2024-12-25 23:25:19 +01:00
teknomunk
ddba0408e1
Correct behavior of projectiles sticking in players forcing the projectile to survive
2024-12-25 11:52:24 +01:00
teknomunk
5c1881753b
Change object alive check so that projectiles are still removed when the object dies
2024-12-25 11:52:24 +01:00
teknomunk
60e3c139cc
Change mcl_mobs to use mcl_util.remove_entity() when killing mobs, add guard in vl_projectile against removed mobs
2024-12-25 11:52:24 +01:00
teknomunk
b8d2f67dfd
Update api.md with rotational offset fields
2024-12-25 11:52:24 +01:00
teknomunk
0d82c8f725
Replace magic numbers with named constants, add missing 'local'
2024-12-25 11:52:24 +01:00
teknomunk
bb934d09ee
Break long lines, add space between functions in vl_projectile/init.lua
2024-12-25 11:52:24 +01:00
teknomunk
bc321ccae4
Add _vl_projectile.can_punch() to mob API and move hard-coded entity behavior from arrow to rover code
2024-12-25 11:52:24 +01:00
teknomunk
5db55dde3c
Update { ... } to {...}
2024-12-25 11:52:24 +01:00
teknomunk
0d8f7515c6
Update minetest->Luanti in affected documentation, update minetest. -> core. in affected code, factor out common subexpressions in mods/ITEMS/vl_projectile/init.lua
2024-12-25 11:52:24 +01:00
teknomunk
7c8da2eba7
Rework self.timer and _owner collision conditions
2024-12-25 11:52:24 +01:00
teknomunk
6566304b43
Fix bug in solid node collision code (not updating _last_velocity, making delta_v larger if length was small)
2024-12-25 11:52:24 +01:00
teknomunk
5f0244ebb1
Use creative arrow collection behavior from master (except they make pickup noises in creative), make all creative arrows infinity
2024-12-25 11:52:24 +01:00
teknomunk
537f49d57e
Rearrange conditions to minimize executed code
2024-12-25 11:52:24 +01:00
teknomunk
51ebb26abe
Stop infinite loop of arrows stuck in yourself punching you
2024-12-25 11:52:24 +01:00
teknomunk
73c66dc888
Sound fix, preserve _itemstring as well
2024-12-25 11:52:24 +01:00
teknomunk
1e165155d8
Add _arrow_item to list of perserved fields
2024-12-25 11:52:24 +01:00
teknomunk
f426d96ef5
Make arrows (and all their derivatives) preserve collectable and entity properties across world unload/load
2024-12-25 11:52:24 +01:00
teknomunk
d42797d48d
Make stuck arrows stop processing all other behaviors
2024-12-25 11:52:24 +01:00
teknomunk
f1a0c04f52
Make it possible to pick up arrows in creative mode
2024-12-25 11:52:24 +01:00
teknomunk
17f063c4e5
Fix tipped arrow behavior, remove debug code
2024-12-25 11:52:24 +01:00
teknomunk
33c70fd677
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-25 11:52:24 +01:00
teknomunk
d1fe8de1b6
Fix crash when respawning
2024-12-25 11:52:24 +01:00
teknomunk
174cb5fe1c
Let arrows stick in players
2024-12-25 11:52:24 +01:00
teknomunk
aa8cec9911
Implement mcl_util.remove_entity() and convert projectile code to use it
2024-12-25 11:52:24 +01:00
teknomunk
df8db4aa39
Add pitch and yaw offset support to vl_projectile
2024-12-25 11:52:24 +01:00
teknomunk
0d95c167cf
Correct self-collision for lingering/splash potions
2024-12-25 11:52:24 +01:00
teknomunk
1df10c8dd3
Correct damage for mob projectiles
2024-12-25 11:52:24 +01:00
teknomunk
efa6e7d2d0
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-25 11:52:24 +01:00
teknomunk
cf71d2981a
Fix crash when firing rocket arrows
2024-12-25 11:52:24 +01:00
teknomunk
2d56deacf6
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-25 11:52:24 +01:00
teknomunk
96abcd2bcc
Remove debug dump, move maximum time to live to vl_projectile
2024-12-25 11:52:24 +01:00
teknomunk
3df59a47b0
Document vl_projectile.replace_with_item_drop
2024-12-25 11:52:24 +01:00
teknomunk
c857d66f5d
Move projectile stick logic into vl_projectile
2024-12-25 11:52:24 +01:00
teknomunk
32d37b30bf
Move tracer to vl_projectile
2024-12-25 11:52:24 +01:00
teknomunk
f265f5b52d
Change mcl_bows to use standard vl_projectile on_step handler, move burning behavior to vl_projectile
2024-12-25 11:52:24 +01:00
teknomunk
8e4f870a46
Move arrow-node logic out of mcl_bows/arrow.lua and into the node definitions under _vl_projectile.on_collide
2024-12-25 11:52:24 +01:00
teknomunk
ba244fa930
Remove secondary collision check in mcl_bows/arrow.lua (it was just hitting grass)
2024-12-25 11:52:24 +01:00
teknomunk
d284df907e
Remove code with no effect other than emitting a warning
2024-12-25 11:52:24 +01:00
teknomunk
c3275eb0b7
Resolve luacheck findings
2024-12-25 11:52:24 +01:00
teknomunk
4b73839346
Fix crashes in mcl_throwing
2024-12-25 11:52:24 +01:00
teknomunk
dc312ee012
Fix crash when hit with an arrow that is not piercing
2024-12-25 11:52:24 +01:00
the-real-herowl
a1c7bb55a1
Rockets and piercing arrows fixed
...
They both work properly now.
2024-12-25 11:52:24 +01:00
the-real-herowl
992de3d06e
Fix throwables' punch allow check
2024-12-25 11:52:24 +01:00
teknomunk
e192072a2c
Add hook to allow piercing enchantment to be implemented
2024-12-25 11:52:24 +01:00
teknomunk
1ce4b00702
Fix chick spawning in the presence of a functional has_room() check
2024-12-25 11:52:24 +01:00
teknomunk
db8bceebf3
Fix dispenser arrows so they hit players and entities, minetest.register_entity -> vl_projectile.register for mcl_throwing:egg
2024-12-25 11:52:24 +01:00
teknomunk
c960b00b37
Make egg and snowball stack count match master
2024-12-25 11:52:24 +01:00
teknomunk
ee3ea9d3f5
Prevent dereferencing nil in wither.lua, fix minor typo in debug statement
2024-12-25 11:52:24 +01:00
teknomunk
fe513c321b
Add workarround for random velocity change of particles on creation
2024-12-25 11:52:24 +01:00
teknomunk
31e08b668d
Make sure a projectile sets on fire the thing it collided with
2024-12-25 11:52:24 +01:00
teknomunk
2c15ac3563
Fix player-mcl_throwing collisions, fix chick spawning on egg collisions, luacheck fixes
2024-12-25 11:52:24 +01:00
teknomunk
b821f3d72f
Fix luacheck findings for this PR: remove unused variables, remove overwritten value, add missing dependencies, fix undefined variable usage
2024-12-25 11:52:24 +01:00
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
f0a3f9fe18
Make snowballs have the same collision conditions as before
2024-12-25 11:52:24 +01:00
teknomunk
2cc648fd2e
Undo conversions to use mcl_bows:arrow_entity and use arrow_item.."_entity" like master
2024-12-25 11:52:24 +01:00
teknomunk
960476bb24
Convert flying bobber to vl_projectile, modify mcl_throwing.register_throwable_object() to check for _vl_projectile field
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
f7ded5f690
Restore tipped arrow entity registration as near copy of mcl_bows:arrow_entity
2024-12-25 11:52:24 +01:00
teknomunk
4c36870776
Small optimization for calculating _allow_punch
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
4e3e8aafc8
Address most of kno10's comments about mcl_utils/node.lua and a couple others, fix lingering potion sound
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
d18cc8ff52
Fix picking up tipped arrows
2024-12-25 11:52:24 +01:00
teknomunk
7ea0db135a
Fix crash with splash potions of harming, make splash particles match potion color
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
238df8aebc
Convert lingering potion to vl_projectile
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
dd2c6638f6
Fix crash related to nil _time_in_air
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
2f2df5f89d
Fix typo _ -> .
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
17a25a39ef
Resolve review comments
2024-12-25 11:52:24 +01:00
teknomunk
b4b83782e8
Remove debug print
2024-12-25 11:52:24 +01:00
teknomunk
4dec7e1ce5
Give arrows a maximum lifetime to prevent them from getting stuck in mid-air forever
2024-12-25 11:52:24 +01:00
teknomunk
20e228bcac
Fix documentation for raycast_collides_with_entities
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
7317981134
Convert rocket to use vl_projectile API using mcl_bows:arrow as a template, remove some dead code
2024-12-25 11:52:24 +01:00