teknomunk
40a5184703
Fix rail detach crash, make tnt minecarts explode if they hit something hard (off rails)
2024-12-31 02:36:18 +01:00
teknomunk
e680869cbd
Make sure carts get detatch if the rail under them is removed
2024-12-31 02:36:18 +01:00
teknomunk
eb0f82bdfb
Fixish reorganizing, initial train implementation
2024-12-31 02:36:18 +01:00
teknomunk
dbeec9b542
Major reorganization, start setup for trains
2024-12-31 02:36:18 +01:00
teknomunk
1b9c149803
Make sure carts that collide move in the same direction the colliding cart was
2024-12-31 02:36:18 +01:00
teknomunk
09f044245e
Add utilities to convert between an ObjectRef, it's active object id and a 128bit uuid, move minecart data from entity staticdata to mod storage to eventually allow updating carts when out of range of players and also track what carts are alive, implement on-rail cart collisions
2024-12-31 02:36:18 +01:00
teknomunk
8117b9010a
Harden against unknown nodes
2024-12-31 02:36:18 +01:00
teknomunk
d318390778
Allow players to push minecarts that are not on track
2024-12-31 02:36:18 +01:00
teknomunk
f089d0a702
Fix rails in creative inventory, make minecart with tnt not crash server when exploding, make minecart with tnt slightly more powerful than regular tnt
2024-12-31 02:36:18 +01:00
teknomunk
60ee3a06b9
Fix rail movement regressions
2024-12-31 02:36:18 +01:00
teknomunk
e1b973fbf5
Move cart code to its own file, more code cleanup, add aliases for old track items
2024-12-31 02:36:18 +01:00
teknomunk
b59d6d37dc
Cleanup code, restore uphill/downhill cart movement, completely remove old rail
2024-12-31 02:36:18 +01:00
teknomunk
f490846892
Get rail reattachment (especially after jumps) working correctly
2024-12-31 02:36:18 +01:00
teknomunk
e7605b7abd
Make legacy rail update apply to all old rail types, add basic detached railcart physics with a stub to use mcl_physics when it gets merged
2024-12-31 02:36:18 +01:00
teknomunk
140689cd7d
Silence unmaskable print statements
2024-12-31 02:36:18 +01:00
teknomunk
fdf8161d23
Add immortal item entity support, add legacy rail conversion that uses immortal item drops for corners/tees/crosses that are no longer possible
2024-12-31 02:36:18 +01:00
teknomunk
7944015266
Fix more rail connection bugs
2024-12-31 02:36:18 +01:00
teknomunk
e02906e46f
Get sloped connections working correctly
2024-12-31 02:36:18 +01:00
teknomunk
48dbe97516
Re-enable rule for powering rail from underneath, have stairs block minecart movement, fix crash when lightning strikes a minecart
2024-12-31 02:36:18 +01:00
teknomunk
279733e711
Fix mcl_util.table_merge where a standard value overwrites a table, fix base definition usage, implement behavior difference when there is a solid block after a straight piece of track (this will eventually allow minecarts to fly off the end of the track)
2024-12-31 02:36:18 +01:00
teknomunk
be18edf7c6
Update all rail types to new version
2024-12-31 02:36:18 +01:00
teknomunk
40b62eea1d
Reorganize
2024-12-31 02:36:18 +01:00
teknomunk
06c1b362b2
Finish reverting 08b41a3b392005e7078b09d68854e6df562d5fd7
2024-12-31 02:36:18 +01:00
teknomunk
e1c4606e8f
Enable new track with get_next_dir handlers
2024-12-31 02:36:18 +01:00
teknomunk
6a9080844e
Change connection rules again to allow building parallel track, tees and crosses), start implementing rail rules callbacks
2024-12-31 02:36:18 +01:00
teknomunk
f3a4d928da
Add sloped rail
2024-12-31 02:36:18 +01:00
teknomunk
b870fcebd0
Fix rail visuals, add switch operation
2024-12-31 02:36:18 +01:00
teknomunk
2151644b1c
Implement initial rail connection logic (no vertical track yet), experiment with texture modifiers and gravel underlay for display (not working)
2024-12-31 02:36:18 +01:00
teknomunk
8fafb32a5c
Start implementing new rail nodes
2024-12-31 02:36:18 +01:00
teknomunk
4c6c506713
Implement minecart with command block
2024-12-31 02:36:18 +01:00
teknomunk
fd154f7f79
Create mesecons command API and modify commandblock to use it
2024-12-31 02:36:18 +01:00
teknomunk
3443e327ec
Disable punch to move minecarts, implement punch to drop minecart, enable basic cart keyboard controls (accelerate and brake)
2024-12-31 02:36:18 +01:00
teknomunk
3f4d8f5ec2
Remove cart oscillation when pushed
2024-12-31 02:36:18 +01:00
teknomunk
be241f64fe
Limit top speed of furnace minecarts to 4 blocks/second, limit total fuel time to 27 minutes
2024-12-31 02:36:18 +01:00
teknomunk
bf3872e445
Fix bug with furnace minecart at max velocity (stopped until fuel ran out), move _fueltime into staticdata
2024-12-31 02:36:18 +01:00
teknomunk
718938b0fe
Fix call signature of mcl_util.hopper_pull_to_inventory, move cart-specific behaviors to _mcl_minecarts_on_step handlers, fix typo, change distance used in rail reattach code, move cart_id generation
2024-12-31 02:36:18 +01:00
teknomunk
f5616738e7
Add groups to minecart entities (for containers), fix cart node watch handling, relocate hopper_push_to_mc in mcl_hopper/init.lua, implement hopper-to-minecart push using enter/leave hooks for both straight and bent hoppers
2024-12-31 02:36:18 +01:00
teknomunk
615df7378a
Add API function to remove node watch
2024-12-31 02:36:18 +01:00
teknomunk
fba7b04e82
Refactor enter/leave hook processing, add node watches for implementing hopper-to-minecart functionality (should properly handle heavy server lag without missing any time), temporarily disable hopper push/pull to minecart in mcl_hoppers, prepare to move minecart-specific on_step behavior out of main on_step function and to a minecart-specific handler
2024-12-31 02:36:18 +01:00
teknomunk
93373aa1c5
Start adding hooks for implpementing minecart with command block
2024-12-31 02:36:18 +01:00
teknomunk
ca2ede87f5
Make minecarts solid and add players pushing
2024-12-31 02:36:18 +01:00
teknomunk
f7dcb8f10f
Fix forwards/backwars tilt in all directions
2024-12-31 02:36:18 +01:00
teknomunk
390ac27acf
Prevent players from entering minecarts when sneaking, prevents players from causing https://git.minetest.land/MineClone2/MineClone2/issues/3188
2024-12-31 02:36:18 +01:00
teknomunk
b8fb8249e9
Increase default track friction, disable right-click to exit minecarts
2024-12-31 02:36:18 +01:00
teknomunk
d8bfa03a32
Initial tuning of acceleration/gravity, fix crash when entering an activator rail, detach mobs from cart on active activator rail, remove commented out code no longer needed
2024-12-31 02:36:18 +01:00
teknomunk
4a53a515b1
Move code that handles below-rail hoppers to handle_cart_enter, implement timestep-independent cart physics (will need tuning punch, power rail and gravityaccelerations to make game fun)
2024-12-31 02:36:18 +01:00
teknomunk
f7360be5e4
Mostly fix carts stopping between powered rails (there is still some strangeness with acceleration physics)
2024-12-31 02:36:18 +01:00
teknomunk
4656717c56
Fix diagonal movement
2024-12-31 02:36:18 +01:00
teknomunk
262063cc7c
Add diagonal track movement on zig-zag track, rewrite mcl_minecarts:get_rail_direction
2024-12-31 02:36:18 +01:00
teknomunk
acd6b03371
Make TNT minecarts available in creative menu
2024-12-31 02:36:18 +01:00
teknomunk
15584dad88
Implement custom item dropper handlers, implement droppers placing minecarts
2024-12-31 02:36:18 +01:00
teknomunk
121550a635
Hopper minecarts pull from containers above rail
2024-12-31 02:36:18 +01:00
teknomunk
3745a27f8c
Rework in preparation to add code to pull from containers into the hopper minecart
2024-12-31 02:36:18 +01:00
teknomunk
bfe09c7c3f
Move fiction constant to top of file, suppress cart flips when direction reverses due to gravity or end of track
2024-12-31 02:36:18 +01:00
teknomunk
5441a23570
Add code to reattach carts to rail when data corruption occurs, fix bug in last commit that caused carts to bury into the ground
2024-12-31 02:36:18 +01:00
teknomunk
6b37618b72
Remove dip into the ground that occured when gravity caused the cart to reverse directions
2024-12-31 02:36:18 +01:00
teknomunk
8709ba7be8
Implement gravity, move orientation update to own function, fix cart stopping in process_acceleration
2024-12-31 02:36:18 +01:00
teknomunk
2e78e9cdad
Change connected railcar behavior to fix unreliable end of track stopping, set maximum acceleration of powered rails to 8 blocks per second (per https://minecraft.fandom.com/wiki/Powered_Rail ), stop powered rails from powering the block underneath it (allows below rail hopper to work while the rail is powered like in https://www.youtube.com/watch?v=szjO0-duTAk ), modify mcl_hoppers to allow triggering a hopper pull once the minecart is stopped on top of the hopper and wait before allowing the cart to move to allow redstone circuits time to process
2024-12-31 02:36:18 +01:00
teknomunk
f082e4a554
Make minecart always stop at correct location at end of track, fix crash when placing chest minecart after changing how staticdata is handled
2024-12-31 02:36:18 +01:00
teknomunk
05aef66668
Modify do_movement_step to move to always move to the edge of the current rail segment before updating the direction to prevent oscillations at corners, fix end of track stop location with new movement behavior, disable experimental controls, swap code to detach the driver on float with a call to detach_driver()
2024-12-31 02:36:18 +01:00
teknomunk
960192024f
Add DEBUG flag, stop small do_movement_step's from occuring (this improves but doesn't eliminate the bug I with the a6be179ed commit), add recovery when staticdata field gets lost
2024-12-31 02:36:18 +01:00
teknomunk
70aa9004be
Fix initial_properties for minecarts
2024-12-31 02:36:18 +01:00
teknomunk
0c46c2fcc2
Change left,right and back vectors to matrix math results with no branching
2024-12-31 02:36:18 +01:00
teknomunk
c489e0c380
Remove now unused properties from minecart definition, convert more vectors to use vector.new syntax
2024-12-31 02:36:18 +01:00
teknomunk
d9d5245d59
Complete rewrite of minecart movement that resolves https://git.minetest.land/MineClone2/MineClone2/issues/2446 and https://git.minetest.land/MineClone2/MineClone2/issues/247#issuecomment-50960 but has a bug where carts will synchronize movements that I am still investigating
2024-12-31 02:36:18 +01:00
teknomunk
d1550d9e84
Change staticdata serialization (with migration from old data), disable debugging code used to investigate https://git.minetest.land/MineClone2/MineClone2/issues/2446
2024-12-31 02:36:18 +01:00
teknomunk
087d5f0f64
Change to vector.new from {x=...}, relocate movement code to own function for future changes
2024-12-31 02:36:18 +01:00
SmokeyDope
473590efbc
update overlay texture in stonecutter code
2024-12-31 02:25:13 +01:00
kno10
28c0a3072c
set_yaw for shulker returns nil, causing a nil arithmetic error. ( #4775 )
...
Fixes a prevented crash error.
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4775
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-31 01:23:47 +01:00
kno10
f83d8c07ad
No timer for crying obsidian with a solid node below ( #4754 )
...
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4754
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-30 19:40:07 +01:00
kno10
0631319a00
Fix crash with crossbow rockets ( #4771 )
...
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4771
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-30 19:13:00 +01:00
teknomunk
cf5fe25b7d
Fix typos ( #4768 )
...
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4768
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: teknomunk <teknomunk@protonmail.com>
Co-committed-by: teknomunk <teknomunk@protonmail.com>
2024-12-29 16:59:31 +01:00
kno10
11e8cbc39b
Use all three schematics when growing crimson/warped funghi ( #4758 )
...
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4758
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 16:37:07 +01:00
kno10
cb1814f6ae
tooldef can be nil ( #4767 )
...
Reviewed-on: https://git.minetest.land/VoxeLibre/VoxeLibre/pulls/4767
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 15:56:57 +01:00
the-real-herowl
44cf59b769
Added grey sand
2024-12-29 08:09:33 +01:00
the-real-herowl
6a6f033197
Spear throw charging
...
- spear throw has to be charged for full power
- bow charging is improved and compatible with spears
- fixed a crash
2024-12-29 08:09:33 +01:00
the-real-herowl
fa41870bb5
Reworked bow loading code
2024-12-29 08:09:33 +01:00
the-real-herowl
14ec7fe98f
Fixed a crash
2024-12-29 08:09:33 +01:00
the-real-herowl
8a252342a5
Minor improvements
2024-12-29 08:09:33 +01:00
teknomunk
3f46519954
Remove duplicate function (manual rebase error)
2024-12-29 08:09:33 +01:00
teknomunk
87d62092cc
Add mirrored spear crafting recipe
2024-12-29 08:09:33 +01:00
teknomunk
127840dc4c
Remove debug logging
2024-12-29 08:09:33 +01:00
teknomunk
23c74cf159
Wear spears when thrown, add spear recipe
2024-12-29 08:09:33 +01:00
teknomunk
911ebde12b
Add initial craft recipe for hammers
2024-12-29 08:09:33 +01:00
teknomunk
62dc013787
Fix item duplication bug, drop spears that start sliding
2024-12-29 08:09:33 +01:00
teknomunk
7fa0441d7a
Remove debug print, remove dead code, replace magic numbers in tool uses with uses.*
2024-12-29 08:09:33 +01:00
teknomunk
bdf926daa2
Remove old spear implementation, make spears drop as an item when removed
2024-12-29 08:09:33 +01:00
teknomunk
ba2af67c0b
Start rewriting spears using vl_projectile API
2024-12-29 08:09:33 +01:00
teknomunk
c1691e65a8
Implement mcl_util.remove_entity() and convert projectile code to use it
2024-12-29 08:09:33 +01:00
the-real-herowl
5b7c1a8d4c
Reworked hammer crushing
...
- crushing is now done by digging with a hammer
- cobble is now crushable
2024-12-29 08:09:33 +01:00
the-real-herowl
bf77996b57
Added spears
2024-12-29 08:09:33 +01:00
teknomunk
bc94bc4a41
Resolve merge conflict
2024-12-29 08:09:33 +01:00
the-real-herowl
ce95290fa8
Added hammers
2024-12-29 08:09:33 +01:00
the-real-herowl
8f33a0678e
Renamed the group
2024-12-29 08:08:52 +01:00
the-real-herowl
c9bc8ecbd2
Fixed firework star description
2024-12-29 08:08:52 +01:00
the-real-herowl
f8f30b7311
Firework rockets are no longer infinite in survival
2024-12-29 08:08:52 +01:00
the-real-herowl
8e77fece50
Review commemts implemented
2024-12-29 08:08:52 +01:00
the-real-herowl
954ba26bb6
Predefined firework explosion size
2024-12-29 08:08:52 +01:00
the-real-herowl
d4ca99f09e
Added firework stars
...
- empty fireworks now have a simple boom
- fireworks with generic stars have a colorful boom
2024-12-29 08:08:52 +01:00
the-real-herowl
36b8689bf4
Slight vl_fireworks reorganisation
2024-12-29 08:08:52 +01:00
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