Commit Graph

11114 Commits

Author SHA1 Message Date
teknomunk
5a0200ee9d Add workarround for random velocity change of particles on creation 2024-12-07 19:15:38 +01:00
teknomunk
3688e1994e Make sure a projectile sets on fire the thing it collided with 2024-12-07 19:15:38 +01:00
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
teknomunk
b5502813ef Move node related functions to mods/CORE/mcl_util/nodes.lua 2024-12-07 19:15:38 +01:00
teknomunk
0528d20759 Create vl_projectile and refactor snowball and partially refactor ender pearl 2024-12-07 19:15:38 +01:00
kno10
972185907f Better map colors (+ tools) (#4697)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4697
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-07 16:42:51 +01:00
Mikita Wiśniewski
dec332c822 Treat negative enchantment levels as invalid (#4735)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4735
Reviewed-by: kno10 <kno10@noreply.git.minetest.land>
Co-authored-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-committed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
2024-12-07 15:31:06 +01:00
Mikita Wiśniewski
e42a863d92 Fix crash on mobs spawning in <5.9 (#4737)
This patches a copypaste blunder made in ef763e396c.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4737
Reviewed-by: kno10 <kno10@noreply.git.minetest.land>
Co-authored-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-committed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
2024-12-07 14:58:17 +01:00
kno10
28e028aa65 add missing 'local' (#4733)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4733
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-06 22:20:14 +01:00
villager8472
c6c5de7335 Fixed hoglins never dropping leather. (#4736)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4736
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: villager8472 <gecko15x@gmx.de>
Co-committed-by: villager8472 <gecko15x@gmx.de>
2024-12-06 20:26:40 +01:00
kno10
38561d2a5d Enable craft guide button for furnaces (#4732)
Seems to work, could not identify the problem from 2020.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4732
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-05 20:05:32 +01:00
kno10
a55293d893 Some optimizations for mapgen (#4566)
Some savings due to, e.g., `area:iter`, and some unnecessary code removal / code simplifications

Some additional logging for getting more precise timings.

Not very spectacular, but also not invasive. The slow parts seem to be data transfer to/from the voxelmanip, lighting/water updates and the ore generation in nether, so not much in lua code.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4566
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-04 19:52:44 +01:00
payton
6247c9eeb9 Fix enchanting table experience requirement in creative mode (#4705)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4705
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: payton <pdp9729@gmail.com>
Co-committed-by: payton <pdp9729@gmail.com>
2024-12-03 16:59:46 +01:00
AFCMS
8e908870f9
Use get instead of get_string 2024-12-03 15:04:03 +01:00
AFCMS
bd1e50b007
Save default value 2024-12-03 14:57:31 +01:00
AFCMS
1e7f065134
Fix mcl_gamemode.get_gamemode 2024-12-03 14:52:26 +01:00
THE-NERD2
a399182375 Fix elytra enchantability and allow Unbreaking to be applied (#4708)
Putting elytra into an enchanting table no longer causes any enchantments to appear in the formspec. Also, it should now be possible to use an anvil to add unbreaking.

Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4708
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: THE-NERD2 <pdp9729@gmail.com>
Co-committed-by: THE-NERD2 <pdp9729@gmail.com>
2024-12-01 15:38:51 +01:00
THE-NERD2
da44995528 Fix upside-down corner stair placement (#4709)
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4709
Reviewed-by: Mikita Wiśniewski <rudzik8@protonmail.com>
Co-authored-by: THE-NERD2 <pdp9729@gmail.com>
Co-committed-by: THE-NERD2 <pdp9729@gmail.com>
2024-12-01 15:27:30 +01:00
kno10
f14ff83737 mob attack tweaks 2024-12-01 00:53:42 +01:00
kno10
6510ea4777 fix child == true when child = 1 2024-12-01 00:53:42 +01:00
kno10
932118f10b More tweaks to pathfinding 2024-12-01 00:53:42 +01:00
kno10
4388152650 Make villagers hurry for long paths and night 2024-12-01 00:53:42 +01:00
kno10
5779be305c avoid trivial fences, open some fence gates 2024-12-01 00:53:42 +01:00
kno10
86f4d8243d Improve starting and end point of pathfinding. 2024-12-01 00:53:42 +01:00
kno10
f377f97348 pathfinding improvements 2024-12-01 00:53:42 +01:00
kno10
230cd5154c Improve danger avoidance code. 2024-12-01 00:53:42 +01:00
kno10
54bc4f7545 fix and optimize Fleckenstein 2024-12-01 00:53:42 +01:00
kno10
a67938904e small code cleanups 2024-12-01 00:53:42 +01:00
kno10
63c83cf440 also cleanup mount.lua 2024-12-01 00:53:42 +01:00
kno10
83cec7ed23 some more cleanups, from code review 2024-12-01 00:53:42 +01:00
kno10
084211d87e code cleanups 2024-12-01 00:53:42 +01:00
kno10
5b27cb80fe movement improvements, door opening 2024-12-01 00:53:42 +01:00
kno10
e78f5cdbe9 further movement tweaks 2024-12-01 00:53:42 +01:00
kno10
e4deb9c7b5 Movement and path finding improvements. 2024-12-01 00:53:42 +01:00
kno10
77c6c34d0e Mob pushing improvements 2024-12-01 00:53:42 +01:00
kno10
b91f48b419 add and use turn_by/turn_in_direction methods 2024-12-01 00:53:42 +01:00
kno10
5eda59dc13 reduce code duplication, add mob:stand() 2024-12-01 00:53:42 +01:00
kno10
8c2289686d cleanups 2024-12-01 00:53:42 +01:00
kno10
67055959c6 fix delay=0 in combat code, tune turning parameters 2024-12-01 00:53:42 +01:00
kno10
995f1386db More help getting out of water 2024-12-01 00:53:42 +01:00
kno10
1ac53b9c2a More movement code cleanups.
Closes #4506 #4502
2024-12-01 00:53:42 +01:00
kno10
114a7d2b17 More cleanup and improvements to movement code 2024-12-01 00:53:42 +01:00
kno10
33454d7545 More movement code improvements. 2024-12-01 00:53:42 +01:00
kno10
05d6a283a0 Try to reduce how much mobs fall off cliffs.
See #4464 and many more.
2024-12-01 00:53:41 +01:00
kno10
ef763e396c Adjust bones, animations slightly from b3d data.
Initialize bones on spawn.

Note: to obatin bone values, try in Blender

"%.3f, %.3f, %.3f" % tuple((bpy.context.object.pose.bones["head.control"].head - bpy.context.object.pose.bones["head.control"].tail) * Vector((1,-1,1)))

or

"{0:.3f}, {1:.3f}, {2:.3f}".format(*(bpy.context.object.pose.bones["head.control"].head - bpy.context.object.pose.bones["head.control"].tail) @ bpy.context.object.pose.bones["head.control"].matrix * Vector((1,-1,1)))
2024-12-01 00:31:48 +01:00
kno10
c6c77766e3 Rewrite the head swivel code math 2024-12-01 00:31:48 +01:00
teknomunk
2f4e23e403 Add parenthesis for clarity, check pos before using, endermen->rovers in comment 2024-11-30 09:03:36 -06:00
teknomunk
835f97a61e Add mcl_burning.is_affected_by_sunlight(), rework mob light/sunlight damage and burning code 2024-11-28 21:03:18 +01:00
teknomunk
42b7dc9ce8 Switch to using not mcl_burning.is_affected_by_rain() 2024-11-28 21:03:18 +01:00
teknomunk
a643424726 Specify rain damage for rovers 2024-11-28 21:03:18 +01:00
seventeenthShulker
ae263a19c9 Remove unnecessary raycast from rover (and use the mcl_burning api where we can) 2024-11-28 21:03:18 +01:00