Commit Graph

307 Commits

Author SHA1 Message Date
teknomunk
19f21db8c9 Change document formatting, finally move cactus cart dropping to node definition for mcl_core:cactus 2024-12-31 02:36:18 +01:00
teknomunk
dba86a8d60 Correct crashes/item duplication with dropping carts, start API documentation 2024-12-31 02:36:18 +01:00
teknomunk
48b1a4d7e5 Fix cart controls, cart pushing 2024-12-31 02:36:18 +01:00
teknomunk
867fc20782 Fix typo in rail replacement mapping, fix several crashes 2024-12-31 02:36:18 +01:00
teknomunk
74a14a5a74 Implement movement thru tee rails 2024-12-31 02:36:18 +01:00
teknomunk
1eda16a1a1 Tune respawn distance limit 2024-12-31 02:36:18 +01:00
teknomunk
135eea4de4 Fix crashes 2024-12-31 02:36:18 +01:00
teknomunk
c99f972b31 Remove memory leak for cart data, check distance to players before respawning distant carts to prevent adding entities that are immediately inactivated 2024-12-31 02:36:18 +01:00
teknomunk
4dccfff1d0 Implement offline/out of range minecart movement and fix minecart respawning, remove railtype tracking 2024-12-31 02:36:18 +01:00
teknomunk
a500f554e0 Remove do_movement dependency on the existence of a cart luaentity 2024-12-31 02:36:18 +01:00
teknomunk
7c7a987342 Fix undefined global warning, move player off to the side of a cart when dismounting so trains don't get pushed apart when getting out 2024-12-31 02:36:18 +01:00
teknomunk
265a25d6ae Make trains containing a player in a minecart function, minor cleanup in mcl_playerinfo 2024-12-31 02:36:18 +01:00
teknomunk
2e41f2df48 Fix crashes in train logic, allow breaking apart trains 2024-12-31 02:36:18 +01:00
teknomunk
d280e2e942 Implement train reversing 2024-12-31 02:36:18 +01:00
teknomunk
88ed70ce92 Repair vectors in cart data, mostly fix train movement bugs (still possible to have a furnace minecart flip, without the train also flipping) 2024-12-31 02:36:18 +01:00
teknomunk
d6e6194316 Add cart entity respawn/destroy to match cart data (partially working) 2024-12-31 02:36:18 +01:00
teknomunk
7bd95257bd 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-12-31 02:36:18 +01:00
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
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
kno10
c73baa3886 German translation updates 2024-12-18 18:42:25 +01:00
kno10
3ecda2e70d auto-update translation files 2024-12-16 01:16:32 +01:00
ethan
4db34098d9 Contributed simplified Chinese translations 2024-12-16 01:16:32 +01:00
Bloodaxe
7856f97f8e Added all my localization files for Norwegian Bokmål 2024-12-16 01:16:32 +01:00
0ldude
6e3a5b53b1 tr mods/CORE & mods/ENTITIES to it [typo] 2024-12-16 01:16:32 +01:00
0ldude
3fd1b9d96f tr mods/CORE & mods/ENTITIES to it 2024-12-16 01:16:32 +01: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
AFCMS
2d1a43396f Merge pull request 'Title HUD API' (#1778) from title-API into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/1778
2021-08-20 12:31:54 +00:00
AFCMS
fe62189019 Update French translation (part 1) 2021-08-13 11:35:18 +02:00
AFCMS
c31c852a6e add documentation 2021-07-20 16:14:34 +02:00
AFCMS
b5f7ae5458 working implementation + support of other mods 2021-07-20 15:47:26 +02:00
marcin-serwin
cbe8583cef Merge branch 'master' into polish-translation 2021-06-02 10:14:25 +00:00
AFCMS
cd33d406b2 fix many codestyle issues (functions, strings, modpaths) 2021-05-29 16:12:33 +02:00
AFCMS
9e074af07f unify code style [1] 2021-05-25 12:52:25 +02:00
AFCMS
fddaacdeae [mcl_item_entity] fix warnings 2021-05-25 00:43:42 +02:00
AFCMS
8286fd2a4d [mcl_minecarts] fix warnings 2021-05-25 00:43:08 +02:00
Elias Fleckenstein
f6d34db76e Update german Minecart translation 2021-04-26 10:36:22 +02:00
Marcin Serwin
9472f86025 Fix spellchecking errors 2021-04-12 17:58:04 +02:00
Marcin Serwin
1fd869b5fb Add polish translation of mcl_minecarts 2021-04-12 08:55:42 +02:00
AFCMS
59c13b6df8 Revert "Revert "remove hard depend to mcl_wip in mcl_minecarts""
This reverts commit 857a0c55658a316c7adf64815218c36fe6da12e4.
2021-03-30 00:58:45 +02:00
AFCMS
857a0c5565 Revert "remove hard depend to mcl_wip in mcl_minecarts"
This reverts commit 369c8b9b8aed6af23f6e41c7861a55345568b9b1.
2021-03-30 00:58:36 +02:00
AFCMS
41a8cd0e15 Revert "Revert "remove hard depend to mcl_wip in mcl_minecarts""
This reverts commit 7a5c2d617b2af0993965bc1b0be11e3e37b6489d.
2021-03-30 00:58:02 +02:00
AFCMS
7a5c2d617b Revert "remove hard depend to mcl_wip in mcl_minecarts"
This reverts commit 369c8b9b8aed6af23f6e41c7861a55345568b9b1.
2021-03-30 00:57:46 +02:00
AFCMS
369c8b9b8a remove hard depend to mcl_wip in mcl_minecarts 2021-03-30 00:54:58 +02:00
AFCMS
7ec7012572 fix indentation 2021-03-30 00:50:58 +02:00
Elias Åström
69e38debe5 Revert "Slightly tweak minecarts to be more MC-like"
This reverts commit 8af76f835da46c713591893bbda65a4791b68023.
2021-03-13 12:30:33 +01:00
AFCMS
3635b848d5 add API for mcl_wip 2021-03-07 00:42:34 +01:00
Elias Fleckenstein
d57db0444f Use mod.conf in all mods, part 1 2021-03-04 15:22:14 +01:00
kay27
8af76f835d Slightly tweak minecarts to be more MC-like 2021-03-01 01:43:00 +04:00
kay27
44d3f25767 Leave minecart by Pressing Sneak, https://git.minetest.land/MineClone2/MineClone2/issues/567 2021-02-26 00:26:27 +04:00
Wuzzy
6b30553707 Merge branch 'cart-acceleration' of https://git.minetest.land/2mac/MineClone2 into master 2020-10-23 22:12:40 +02:00
kay27
ba51686e6c Russian translation 2020-07-20 00:11:13 +00:00
Wuzzy
c106a62979 Use minetest.is_creative_enabled 2020-07-10 16:45:40 +02:00
Wuzzy
7cfef25dfe Fix undeclared global in mcl_minecarts 2020-05-16 20:13:22 +02:00
Wuzzy
1a0e979b0c Update incomplete license information and credits 2020-05-11 17:18:04 +02:00
Wuzzy
c156398fb5 Merge branch 'translate-fr' of https://git.minetest.land/lrocher/MineClone2 into translate_fr 2020-05-09 18:57:40 +02:00
Rocher Laurent
4957bd1118 Translate In French 2020-05-03 22:39:07 +02:00
Wuzzy
3087621b11 Merge branch 'mcl_explosions' 2020-04-30 20:55:10 +02:00
Wuzzy
ef20ac54c3 Fix crash when fueling furnace minecart 2020-04-30 18:13:05 +02:00
Elias Åström
fd05259202 Make TNT and TNT Minecart use the explosions API
The old api from mcl_tnt is still left in the code, and used by the
mobs.
2020-04-19 13:08:36 +02:00