Commit graph

11301 commits

Author SHA1 Message Date
teknomunk
06c1b362b2 Finish reverting 08b41a3b39 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