teknomunk
79b3b3b26b
Make trains containing a player in a minecart function, minor cleanup in mcl_playerinfo
2024-06-15 14:08:29 +02:00
teknomunk
475d6f3e93
Fix crashes in train logic, allow breaking apart trains
2024-06-15 14:08:29 +02:00
teknomunk
e59a89eb2a
Implement train reversing
2024-06-15 14:08:29 +02:00
teknomunk
a48c58a244
Repair vectors in cart data, mostly fix train movement bugs (still possible to have a furnace minecart flip, without the train also flipping)
2024-06-15 14:08:29 +02:00
teknomunk
52904ef5e0
Add cart entity respawn/destroy to match cart data (partially working)
2024-06-15 14:08:29 +02:00
teknomunk
095ad465e5
Give furnace minecart minimum velocity when lit, add train separation code, update logging code, add sequence number to entity staticdata to allow respawn/despawn when carts move when the entity is unloaded
2024-06-15 14:08:29 +02:00
teknomunk
db96e86d57
Fix rail detach crash, make tnt minecarts explode if they hit something hard (off rails)
2024-06-15 14:08:29 +02:00
teknomunk
dcf833907e
Make sure carts get detatch if the rail under them is removed
2024-06-15 14:08:29 +02:00
teknomunk
24bf99df44
Fixish reorganizing, initial train implementation
2024-06-15 14:08:29 +02:00
teknomunk
386bde698d
Major reorganization, start setup for trains
2024-06-15 14:08:29 +02:00
teknomunk
3ca5bd0dff
Make sure carts that collide move in the same direction the colliding cart was
2024-06-15 14:08:29 +02:00
teknomunk
bacc8bdf64
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-06-15 14:08:29 +02:00
teknomunk
ce9e3481af
Harden against unknown nodes
2024-06-15 14:08:29 +02:00
teknomunk
659a387256
Allow players to push minecarts that are not on track
2024-06-15 14:08:29 +02:00
teknomunk
b6e51a3c40
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-06-15 14:08:29 +02:00
teknomunk
6d9cae1034
Fix rail movement regressions
2024-06-15 14:08:29 +02:00
teknomunk
e6664de6e7
Move cart code to its own file, more code cleanup, add aliases for old track items
2024-06-15 14:08:29 +02:00
teknomunk
fd03fc0027
Cleanup code, restore uphill/downhill cart movement, completely remove old rail
2024-06-15 14:08:29 +02:00
teknomunk
c9883cc6cc
Get rail reattachment (especially after jumps) working correctly
2024-06-15 14:08:29 +02:00
teknomunk
5bd06f5c03
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-06-15 14:08:29 +02:00
teknomunk
284c366136
Silence unmaskable print statements
2024-06-15 14:08:29 +02:00
teknomunk
c1a7001c31
Add immortal item entity support, add legacy rail conversion that uses immortal item drops for corners/tees/crosses that are no longer possible
2024-06-15 14:08:29 +02:00
teknomunk
8cd9ee9b32
Fix more rail connection bugs
2024-06-15 14:08:29 +02:00
teknomunk
3391a28fa9
Get sloped connections working correctly
2024-06-15 14:08:29 +02:00
teknomunk
ad11fc22ec
Re-enable rule for powering rail from underneath, have stairs block minecart movement, fix crash when lightning strikes a minecart
2024-06-15 14:08:29 +02:00
teknomunk
4589206985
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-06-15 14:08:29 +02:00
teknomunk
19e2dc58eb
Update all rail types to new version
2024-06-15 14:08:29 +02:00
teknomunk
4b8cb85319
Reorganize
2024-06-15 14:08:29 +02:00
teknomunk
7b7dfd1da3
Finish reverting 08b41a3b39
2024-06-15 14:08:29 +02:00
teknomunk
603577e7a6
Enable new track with get_next_dir handlers
2024-06-15 14:08:29 +02:00
teknomunk
34f394d8dc
Change connection rules again to allow building parallel track, tees and crosses), start implementing rail rules callbacks
2024-06-15 14:08:29 +02:00
teknomunk
75f394e5ab
Add sloped rail
2024-06-15 14:08:29 +02:00
teknomunk
478c488c85
Fix rail visuals, add switch operation
2024-06-15 14:08:29 +02:00
teknomunk
4265f0b428
Implement initial rail connection logic (no vertical track yet), experiment with texture modifiers and gravel underlay for display (not working)
2024-06-15 14:08:29 +02:00
teknomunk
57ad709bdd
Start implementing new rail nodes
2024-06-15 14:08:29 +02:00
teknomunk
296c301669
Implement minecart with command block
2024-06-15 14:08:29 +02:00
teknomunk
4db70fd729
Disable punch to move minecarts, implement punch to drop minecart, enable basic cart keyboard controls (accelerate and brake)
2024-06-15 14:08:29 +02:00
teknomunk
6f7e1df002
Remove cart oscillation when pushed
2024-06-15 14:08:29 +02:00
teknomunk
c18976c0ca
Limit top speed of furnace minecarts to 4 blocks/second, limit total fuel time to 27 minutes
2024-06-15 14:08:29 +02:00
teknomunk
ff5e185629
Fix bug with furnace minecart at max velocity (stopped until fuel ran out), move _fueltime into staticdata
2024-06-15 14:08:29 +02:00
teknomunk
64b930ac3e
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-06-15 14:08:29 +02:00
teknomunk
f9e8f60a1c
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-06-15 14:08:29 +02:00
teknomunk
ec2d08524e
Add API function to remove node watch
2024-06-15 14:08:29 +02:00
teknomunk
6c6bfcfcb2
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-06-15 14:08:29 +02:00
teknomunk
b0c075714f
Start adding hooks for implpementing minecart with command block
2024-06-15 14:08:29 +02:00
teknomunk
44f9a3e619
Make minecarts solid and add players pushing
2024-06-15 14:08:29 +02:00
teknomunk
1618693726
Fix forwards/backwars tilt in all directions
2024-06-15 14:08:29 +02:00
teknomunk
fd6f4ee80e
Prevent players from entering minecarts when sneaking, prevents players from causing https://git.minetest.land/MineClone2/MineClone2/issues/3188
2024-06-15 14:08:29 +02:00
teknomunk
d479bfb711
Increase default track friction, disable right-click to exit minecarts
2024-06-15 14:08:29 +02:00
teknomunk
c2be93e0d5
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-06-15 14:08:29 +02:00
teknomunk
0ef0ae6bee
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-06-15 14:08:29 +02:00
teknomunk
0fa067d3ee
Mostly fix carts stopping between powered rails (there is still some strangeness with acceleration physics)
2024-06-15 14:08:29 +02:00
teknomunk
e4eb38db9c
Fix diagonal movement
2024-06-15 14:08:29 +02:00
teknomunk
b4a0ae9c56
Add diagonal track movement on zig-zag track, rewrite mcl_minecarts:get_rail_direction
2024-06-15 14:08:29 +02:00
teknomunk
37d07b6201
Make TNT minecarts available in creative menu
2024-06-15 14:08:29 +02:00
teknomunk
52bca90ae2
Implement custom item dropper handlers, implement droppers placing minecarts
2024-06-15 14:08:29 +02:00
teknomunk
af9409c69f
Hopper minecarts pull from containers above rail
2024-06-15 14:08:29 +02:00
teknomunk
0951acd06c
Rework in preparation to add code to pull from containers into the hopper minecart
2024-06-15 14:08:29 +02:00
teknomunk
f57d202a9d
Move fiction constant to top of file, suppress cart flips when direction reverses due to gravity or end of track
2024-06-15 14:08:29 +02:00
teknomunk
b51496ad8e
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-06-15 14:08:29 +02:00
teknomunk
adddaec69a
Remove dip into the ground that occured when gravity caused the cart to reverse directions
2024-06-15 14:08:29 +02:00
teknomunk
a0463b564a
Implement gravity, move orientation update to own function, fix cart stopping in process_acceleration
2024-06-15 14:08:29 +02:00
teknomunk
8c6b011c91
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-06-15 14:08:29 +02:00
teknomunk
f2c6f069d0
Make minecart always stop at correct location at end of track, fix crash when placing chest minecart after changing how staticdata is handled
2024-06-15 14:08:29 +02:00
teknomunk
15000be8ec
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-06-15 14:08:29 +02:00
teknomunk
f3fac3586f
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-06-15 14:08:29 +02:00
teknomunk
9be0d27dd8
Fix initial_properties for minecarts
2024-06-15 14:08:29 +02:00
teknomunk
bee32418c4
Change left,right and back vectors to matrix math results with no branching
2024-06-15 14:08:29 +02:00
teknomunk
5d14d43ec4
Remove now unused properties from minecart definition, convert more vectors to use vector.new syntax
2024-06-15 14:08:29 +02:00
teknomunk
8a91f04cf0
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-06-15 14:08:29 +02:00
teknomunk
2a9aaa02af
Change staticdata serialization (with migration from old data), disable debugging code used to investigate https://git.minetest.land/MineClone2/MineClone2/issues/2446
2024-06-15 14:08:29 +02:00
teknomunk
44514e0fad
Change to vector.new from {x=...}, relocate movement code to own function for future changes
2024-06-15 14:08:29 +02:00
nixnoxus
08b41a3b39
accelerate non-moving carts on mcl_minecarts:golden_rail_on
( #4097 )
...
accelerate a non-moving minecart away from a solid opaque block the powered rail is facing
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/4097
Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>
Co-authored-by: nixnoxus <nixnoxus@web.de>
Co-committed-by: nixnoxus <nixnoxus@web.de>
2024-03-24 05:29:44 +00:00
PrWalterB
899c45534f
Adding occitan translation for CORE and ENTITIES
2024-01-20 04:28:46 +01:00
JoseDouglas26
df02770470
mcl_minecarts pt_BR translation
2023-12-22 23:45:07 +01:00
Sab Pyrope
5b4a79a26d
Update russian translation
2023-08-31 14:16:42 +08:00
ancientmarinerdev
fe501e8021
Change bug fix so that loop carries on processing other items if first one is the issue.
2023-06-28 20:19:49 +00:00
ancientmarinerdev
b05fa5562c
Fix crash in hopper minecarts through missing ent
2023-06-28 20:19:49 +00:00
Kristian
cc21b74125
Three fully translated
2023-06-27 21:09:03 +00:00
ancientmarinerdev
be8d9122ee
Fix crash when creeper explodes in minecart
2023-05-07 21:11:48 +01:00
ancientmarinerdev
59f4a62fd6
Move hopper minecarts off item entity. Do not run every on_step. Use more accurate object search location. Cut down object search distance.
2023-03-31 13:40:36 -05:00
ancientmarinerdev
ecf72db684
Fix ooops
2023-03-20 13:37:26 +00:00
ancientmarinerdev
bcd7f38fa7
Use new style vectors
2023-03-20 13:37:25 +00:00
ancientmarinerdev
3eab946889
Make death check less frequent. Load passenger in minecart at shutdown.
2023-03-20 13:37:25 +00:00
anarquimico
f817fe7f72
Fix performance issues and better check for mobs death
2023-03-20 13:37:25 +00:00
anarquimico
d5f01e88c4
Make mobs ride minecarts
2023-03-20 13:37:25 +00:00
syl
96b2f6a01d
Improve French translation
2023-03-10 22:48:46 +01:00
SmokeyDope
71671f8b5f
Make minecart rails unable to be broken with lava
2023-02-09 01:53:52 +00:00
SmokeyDope
c4d60e50cc
Make minecart rails unable to be broken with water
2023-02-09 01:53:52 +00:00
Michieal
6265148727
Move textures all into one centralized directory.
2023-01-30 22:55:53 -05:00
Riu Sakura
2b61231f82
add japanese translation
2022-12-19 15:33:31 +09:00
ancientmarinerdev
e6d778b214
Remove WIP flag for hopper minecart
2022-11-14 04:07:41 +01:00
ancientmarinerdev
ce457eb351
Who doesn't love hopper minecarts?
2022-11-14 04:07:41 +01:00
cora
224bbff56b
Open minecart inv with regular rightclick
2022-10-15 00:40:03 +02:00
cora
d9f820cb67
Enable chest minecarts
2022-09-23 05:43:31 +02:00
PrairieWind
7451e4734f
Enabled furnace minecart crafting and creative entry.
2022-09-18 13:32:45 -06:00
3raven
57d0b29bf5
Add translation
2022-08-23 03:13:32 +00:00
cora
9cea10a706
fix more blast resistance and hardness values
2022-06-13 02:48:00 +02:00
kabou
818cbb2f48
Add check for unknown nodes.
...
* Check if node has a definition table before attempting to evaluate its
attributes.
* Define local variable to cache multiple accesses to `registered_nodes[]`
and improve readability.
2022-03-09 12:11:59 +01:00
NO11
c52fda154b
Break minecart if it's near a cactus ( Fix #924 )
2021-11-02 22:58:03 +01:00