Commit Graph

11273 Commits

Author SHA1 Message Date
the-real-herowl
9365fb68d3 Firework static saving improvements 2024-12-29 08:08:52 +01:00
the-real-herowl
30f64eeb16 Show fireworks properly in creative search
...also fixes potions there, this time for real
2024-12-29 08:08:52 +01:00
the-real-herowl
67592d13ee Improve firework direction correction math
...to allow shooting them from narrow tunnels
2024-12-29 08:08:52 +01:00
the-real-herowl
4254b9311c Dispenser shoots fireworks where it's looking 2024-12-29 08:08:52 +01:00
the-real-herowl
a65684e875 Fireworks are now craftable 2024-12-29 08:08:52 +01:00
the-real-herowl
e69bd1412e Fireworks now fly in arches 2024-12-29 08:08:52 +01:00
the-real-herowl
8b0534437a Add metadata-based firework duration and force 2024-12-29 08:08:52 +01:00
the-real-herowl
a9187ab9de Squashed all rockets into one item 2024-12-29 08:08:52 +01:00
the-real-herowl
1a98c9ad2e One firework entity to rule them all 2024-12-29 08:08:52 +01:00
the-real-herowl
9ef0738a2e Dispensers work with fireworks 2024-12-29 08:08:52 +01:00
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
the-real-herowl
43539e1392 Make sure self.rotate is not nil before use (#4759)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4759
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
2024-12-29 08:05: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
f1181d956a Store mapgen version (#4762)
Store the version used to initialize the map in the map_env.txt file.

- if a version is stored in the map_env.txt file, it is used.
- if the map is new, the current game version is used.
- if the map is old, 0.87 is assumed for compatibility.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4762
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 00:00:46 +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
kno10
631162e24c Switch from deg to rad. 2024-12-27 10:48:00 +07:00
kno10
dd165ec0e9 Update to set_bone_override 2024-12-27 10:48:00 +07:00
the-real-herowl
1c36a4e07c Fixed potion appearance in creative menu (search) (#4760)
This fixes potion appearance in creative menu, in the search tab. Proper potions appear there now.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4760
Co-authored-by: the-real-herowl <wiktor_t-i@proton.me>
Co-committed-by: the-real-herowl <wiktor_t-i@proton.me>
2024-12-27 01:13:38 +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
7de503770f Address review concerns 2024-12-25 11:52:24 +01:00
teknomunk
2732976404 Move fireball redirection service award check to ghast from fireball 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
a2167e7dfc Change to use nil radius in within_limits(pos,radius) check 2024-12-25 11:52:24 +01:00
teknomunk
88cd54a03b Add reference to Projectile API documentatino from mob API documentation 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
2fcd4ff69f Fix condition on node collision for mob projectiles 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
the-real-herowl
515b5bc5c7 Fixed abnormal skull rotation 2024-12-25 11:52:24 +01:00
the-real-herowl
254b100fac Fixed wither skulls
- wither skulls now hit players again
- wither skulls (strong version) don't cause a crash anymore
2024-12-25 11:52:24 +01:00
teknomunk
58042416c4 Add attribution with exact links for minetest code 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
642c474012 Stop wither from shooting itself 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
f9aa61ff5a Fix unintentional collision box change 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
b23b16842c Allow mob projectiles to hit their owner after 2 seconds (used by ghast fireball) 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
b339d5f13f Remove redundant check 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
6829b0d2da Remove unnecessary vectory copy 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
e120e267c2 Add empty line 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
276a277488 Update mcl_util.get_double_container_neighbor_pos() to use vector.offset 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
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
teknomunk
7648dd58b8 Move node related functions to mods/CORE/mcl_util/nodes.lua 2024-12-25 11:52:24 +01:00
teknomunk
ace1643872 Create vl_projectile and refactor snowball and partially refactor ender pearl 2024-12-25 11:52:24 +01:00
the-real-herowl
52ccfa9365 Make mending mend unbreaking items more (#4752)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4752
2024-12-24 23:09:18 +01:00
kno10
e96bec0ad0 Fix strider spawning (#4747)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4747
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-23 13:48:18 +01:00
kno10
2fb04076f8 fix inconsistent capitalization of Tropical fish 2024-12-19 08:47:40 +01:00
kno10
6f12e173aa Improve extraction of strings, for banner colors and villagers 2024-12-19 08:47:40 +01:00
kno10
bf0109a606 fix translation string extraction for mcl_beds 2024-12-19 08:47:40 +01:00
kno10
0e4bd9028d fix translation string extraction for shields 2024-12-18 21:38:39 +01:00
kno10
2c58e5c898 fix translation support for deepslate 2024-12-18 21:38:39 +01:00
kno10
d954088d95 improve translation strings 2024-12-18 21:38:39 +01:00
kno10
979105efbf German translation updates 2024-12-18 21:30:19 +01:00
kno10
227eacacb9 improve translation strings 2024-12-18 18:42:25 +01:00
kno10
c73baa3886 German translation updates 2024-12-18 18:42:25 +01:00