teknomunk
17a5b1eee3
Major reorganization, start setup for trains
2024-11-12 00:59:50 +01:00
teknomunk
cf7350418f
Make sure carts that collide move in the same direction the colliding cart was
2024-11-12 00:59:50 +01:00
teknomunk
0511de8876
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-11-12 00:59:50 +01:00
teknomunk
ce8b79fbe2
Harden against unknown nodes
2024-11-12 00:59:50 +01:00
teknomunk
41943522a5
Allow players to push minecarts that are not on track
2024-11-12 00:59:50 +01:00
teknomunk
38ee22c3bd
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-11-12 00:59:50 +01:00
teknomunk
efe190e23c
Fix rail movement regressions
2024-11-12 00:59:50 +01:00
teknomunk
9aacafe52c
Move cart code to its own file, more code cleanup, add aliases for old track items
2024-11-12 00:59:50 +01:00
teknomunk
8517885521
Cleanup code, restore uphill/downhill cart movement, completely remove old rail
2024-11-12 00:59:50 +01:00
teknomunk
826a827db2
Get rail reattachment (especially after jumps) working correctly
2024-11-12 00:59:50 +01:00
teknomunk
0aa45092cf
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-11-12 00:59:50 +01:00
teknomunk
9e16947080
Silence unmaskable print statements
2024-11-12 00:59:50 +01:00
teknomunk
90c8bf35b7
Add immortal item entity support, add legacy rail conversion that uses immortal item drops for corners/tees/crosses that are no longer possible
2024-11-12 00:59:50 +01:00
teknomunk
95d168d8bd
Fix more rail connection bugs
2024-11-12 00:59:50 +01:00
teknomunk
76f4135dde
Get sloped connections working correctly
2024-11-12 00:59:50 +01:00
teknomunk
b2fd8d5339
Re-enable rule for powering rail from underneath, have stairs block minecart movement, fix crash when lightning strikes a minecart
2024-11-12 00:59:50 +01:00
teknomunk
7164063644
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-11-12 00:59:50 +01:00
teknomunk
2724c25e90
Update all rail types to new version
2024-11-12 00:59:50 +01:00
teknomunk
ef5feffb98
Reorganize
2024-11-12 00:59:50 +01:00
teknomunk
0fc7383221
Finish reverting 08b41a3b39
2024-11-12 00:59:50 +01:00
teknomunk
5bf26706fa
Enable new track with get_next_dir handlers
2024-11-12 00:59:50 +01:00
teknomunk
b78c462306
Change connection rules again to allow building parallel track, tees and crosses), start implementing rail rules callbacks
2024-11-12 00:59:50 +01:00
teknomunk
de59535dae
Add sloped rail
2024-11-12 00:59:50 +01:00
teknomunk
7541ef8e03
Fix rail visuals, add switch operation
2024-11-12 00:59:50 +01:00
teknomunk
61bb7f06b5
Implement initial rail connection logic (no vertical track yet), experiment with texture modifiers and gravel underlay for display (not working)
2024-11-12 00:59:50 +01:00
teknomunk
5c3e2c8f90
Start implementing new rail nodes
2024-11-12 00:59:50 +01:00
teknomunk
d4b90a4bd5
Implement minecart with command block
2024-11-12 00:59:50 +01:00
teknomunk
9397e329e7
Create mesecons command API and modify commandblock to use it
2024-11-12 00:59:50 +01:00
teknomunk
d9db08d35b
Disable punch to move minecarts, implement punch to drop minecart, enable basic cart keyboard controls (accelerate and brake)
2024-11-12 00:59:50 +01:00
teknomunk
d78c4593ec
Remove cart oscillation when pushed
2024-11-12 00:59:50 +01:00
teknomunk
371ad8d737
Limit top speed of furnace minecarts to 4 blocks/second, limit total fuel time to 27 minutes
2024-11-12 00:59:50 +01:00
teknomunk
0cb19e5218
Fix bug with furnace minecart at max velocity (stopped until fuel ran out), move _fueltime into staticdata
2024-11-12 00:59:50 +01:00
teknomunk
c17874bc48
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-11-12 00:59:50 +01:00
teknomunk
1dd8f0efef
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-11-12 00:59:50 +01:00
teknomunk
6646c6e84f
Add API function to remove node watch
2024-11-12 00:59:50 +01:00
teknomunk
746780ab1f
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-11-12 00:59:50 +01:00
teknomunk
c3b6cf758c
Start adding hooks for implpementing minecart with command block
2024-11-12 00:59:50 +01:00
teknomunk
58cdc1b66a
Make minecarts solid and add players pushing
2024-11-12 00:59:50 +01:00
teknomunk
390419e67c
Fix forwards/backwars tilt in all directions
2024-11-12 00:59:50 +01:00
teknomunk
c42302cfd2
Prevent players from entering minecarts when sneaking, prevents players from causing MineClone2/MineClone2#3188
2024-11-12 00:59:50 +01:00
teknomunk
5b1ebbff97
Increase default track friction, disable right-click to exit minecarts
2024-11-12 00:59:50 +01:00
teknomunk
c198257ae7
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-11-12 00:59:50 +01:00
teknomunk
12ac5740d3
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-11-12 00:59:50 +01:00
teknomunk
cc84d5efa9
Mostly fix carts stopping between powered rails (there is still some strangeness with acceleration physics)
2024-11-12 00:59:50 +01:00
teknomunk
0b1252a60d
Fix diagonal movement
2024-11-12 00:59:50 +01:00
teknomunk
e04d82b80e
Add diagonal track movement on zig-zag track, rewrite mcl_minecarts:get_rail_direction
2024-11-12 00:59:50 +01:00
teknomunk
88f5796cad
Make TNT minecarts available in creative menu
2024-11-12 00:59:50 +01:00
teknomunk
e82e5f805f
Implement custom item dropper handlers, implement droppers placing minecarts
2024-11-12 00:59:50 +01:00
teknomunk
8ee950d31e
Hopper minecarts pull from containers above rail
2024-11-12 00:59:50 +01:00
teknomunk
356c2c6418
Rework in preparation to add code to pull from containers into the hopper minecart
2024-11-12 00:59:50 +01:00
teknomunk
ce9f92e017
Move fiction constant to top of file, suppress cart flips when direction reverses due to gravity or end of track
2024-11-12 00:59:50 +01:00
teknomunk
435141357d
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-11-12 00:59:50 +01:00
teknomunk
063c84d2ba
Remove dip into the ground that occured when gravity caused the cart to reverse directions
2024-11-12 00:59:50 +01:00
teknomunk
7a87a8282d
Implement gravity, move orientation update to own function, fix cart stopping in process_acceleration
2024-11-12 00:59:50 +01:00
teknomunk
2dcb790ace
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-11-12 00:59:50 +01:00
teknomunk
c9d6a417cd
Make minecart always stop at correct location at end of track, fix crash when placing chest minecart after changing how staticdata is handled
2024-11-12 00:59:50 +01:00
teknomunk
d57d83009d
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-11-12 00:59:50 +01:00
teknomunk
da4b8ba579
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-11-12 00:59:50 +01:00
teknomunk
5271375843
Fix initial_properties for minecarts
2024-11-12 00:59:50 +01:00
teknomunk
669d9d0556
Change left,right and back vectors to matrix math results with no branching
2024-11-12 00:59:50 +01:00
teknomunk
2bb1aa7241
Remove now unused properties from minecart definition, convert more vectors to use vector.new syntax
2024-11-12 00:59:50 +01:00
teknomunk
6de06945c1
Complete rewrite of minecart movement that resolves MineClone2/MineClone2#2446 and MineClone2/MineClone2#247 (comment) but has a bug where carts will synchronize movements that I am still investigating
2024-11-12 00:59:50 +01:00
teknomunk
960309462f
Change staticdata serialization (with migration from old data), disable debugging code used to investigate MineClone2/MineClone2#2446
2024-11-12 00:59:50 +01:00
teknomunk
c008d2ea3a
Change to vector.new from {x=...}, relocate movement code to own function for future changes
2024-11-12 00:59:50 +01:00
marro
4dc5d0939c
Whitespace fix in translation ( #4701 )
...
Reviewed-on: VoxeLibre/VoxeLibre#4701
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: marro <marronclement0403@gmail.com>
Co-committed-by: marro <marronclement0403@gmail.com>
2024-11-11 03:49:43 +01:00
grorp
88c3c4558b
Fix for VoxeLibre
2024-11-10 15:14:56 +01:00
grorp
3954acdfb7
Creative inventory: padding[-0.015,-0.015] on mobile
...
- less wasted screen space
- matches old layout
2024-11-10 15:14:56 +01:00
grorp
02b354f54a
Avoid tab buttons going off-screen with high scaling values
2024-11-10 15:14:56 +01:00
grorp
cb624fe1d9
Creative inventory: Make the whole tab button clickable
...
Previously, only the tab icon was clickable. Clicking next to the icon would
just close the inventory.
The icon is still kept clickable too since that gives a nicer press animation.
I didn't end up using image_button because that resulted in a different image
size and position, even with the exact same coordinates.
2024-11-10 15:14:56 +01:00
grorp
bd9ab16762
Add touch_interaction to (cross)bow and spyglass
2024-11-10 15:14:56 +01:00
kno10
fb3c85e289
Improve stalker textures ( #4674 )
...
- don't change back to default texture when falling, but rather keep the previous texture
- use a colorized default texture for gaps in the texture
Reviewed-on: VoxeLibre/VoxeLibre#4674
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-11-10 12:02:20 +01:00
kno10
f6f5481f30
Attempt to fix chest minecarts, at least for 5.9 ( #4684 )
...
Not using the `RecheckCartHack` on >5.9 seems to help with #4670 - not tested on older minetest; chest minecarts might still be empty there when the block is unloaded in the meantime. For <5.9, maybe it helps to decrease the time interval, 3 seconds seems to fairly long.
This also makes the minecarts random: 40% minecart, 40% chest minecart, 20% tnt minecart.
Reviewed-on: VoxeLibre/VoxeLibre#4684
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-11-10 11:41:19 +01:00
teknomunk
a46833eaa4
Fix alias
2024-11-09 20:30:35 -06:00
teknomunk
3514fe211f
Implement more bonemeal mod shim, update bonemeal dependencies
2024-11-09 20:30:35 -06:00
teknomunk
94d9e4c881
Address review comments
2024-11-09 20:30:35 -06:00
teknomunk
6b1aa43238
Only show particles if bone meal is consumed, don't continue testing positions if bonemeal was used on the first check position
2024-11-09 20:30:35 -06:00
teknomunk
cfdef2435a
Show particles regardless of success
2024-11-09 20:30:35 -06:00
teknomunk
49c8ae2fa0
Quick patch to get cherry saplings growing pending inclusing of a proper tree API
2024-11-09 20:30:33 -06:00
teknomunk
6ada1a3477
Remove check with mcl_core.check_vines_supported for twisted and crimson vines
2024-11-09 20:24:02 -06:00
teknomunk
189a2c62ad
Address review comments on mcl_util.trace_nodes
2024-11-09 20:24:02 -06:00
teknomunk
981cddddd4
Add growth limits to crimson/twisting vines
2024-11-09 20:24:02 -06:00
teknomunk
66b5a369f1
Add mcl_util.trace_node(), rewrite bamboo growth code to fix bone meal growth
2024-11-09 20:24:02 -06:00
teknomunk
4eda77acd1
Prevent bonemealing grass from making flowers and also bonemealing the block above the grass
2024-11-09 20:24:02 -06:00
teknomunk
afc270195a
Fix crash when bonemealing weaping and twisting vines, fix weaping vine growth
2024-11-09 20:24:02 -06:00
teknomunk
8f53074b58
Reorder functions to prevent crash
2024-11-09 20:24:02 -06:00
teknomunk
70e8ba9a89
Remove TODO pending future discussions, revert timer change in composter code
2024-11-09 20:24:02 -06:00
teknomunk
6741c5a809
Make composter_progress_chance local, as it is not used anywhere except in mcl_composters
2024-11-09 20:24:02 -06:00
teknomunk
d09791db7b
Fix typo that prevented bone mealing pumpkin plants
2024-11-09 20:24:02 -06:00
teknomunk
354160e9e6
Check both above and below in pointed_thing for bonemealing (and pass thru the position as .under), make crimson vines and twisting vines compostable by rightclicking on the composter
2024-11-09 20:24:02 -06:00
teknomunk
cf1325d466
Fix crash at one more spot
2024-11-09 20:24:02 -06:00
teknomunk
7112369917
Fix crashes when using bonemeal on nether nodes
2024-11-09 20:24:02 -06:00
teknomunk
e6e13bdc67
Change _mcl_on_bonemealing to _on_bone_meal, update API.md to reflect this
2024-11-09 20:24:02 -06:00
teknomunk
42d37210c5
Fix mods/ITEMS/mcl_composters/locale/mcl_composters.ru.tr
2024-11-09 20:24:02 -06:00
teknomunk
c3a33ea2c2
Update mod authors, remove a TODO
2024-11-09 20:24:02 -06:00
teknomunk
7f6d456a32
Remove bone to bone meal recipe from mcl_dye as it now resides in mcl_bone_meal
2024-11-09 20:24:02 -06:00
teknomunk
44d154f594
Modify backtrace listing to use minetest.log
2024-11-09 20:24:02 -06:00
teknomunk
eb6131b037
Fix localization errors
2024-11-09 20:24:02 -06:00
teknomunk
3c2f2593db
Only consume bone meal if a _mcl_on_bonemealing callback is defined or the legacy API returns true, convert vines to use new bonemeal API
2024-11-09 20:24:02 -06:00
teknomunk
9e6d49dd38
Fix localization except mcl_composters.ru.tr
2024-11-09 20:24:02 -06:00
teknomunk
4a865fa2df
Enable bamboo bonemealing despite rightclick handling strangeness
2024-11-09 20:24:02 -06:00