teknomunk
|
d12896c162
|
Rework rail_dir_curve to significantly reduce code size
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
bb0f0747ae
|
Convert curved rails direction code to use fourdir
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
644393c856
|
Change verticle offset for testing reattaching to rail to 0.55, which is a bit more than the stair step height
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
0f364016ee
|
Fix cart detaching without unregistering from everything
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
407133bdd3
|
Fix typo, set use_texture_alpha = clip for all rail
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
133184c329
|
Fix several undefined global warnings, fix cart movement when over maximum speed, fix cart reattachment to sloped track
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
597147e9cd
|
Revert changed made to debug minecart-updates integration into tsm_railcorridors
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
a71ed25496
|
Make punch move minecarts a little, comment out more debug prints
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
9ed1d0a059
|
Fix visual artifacts on the sides of rails
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
ffd3dbc7b1
|
Stop carts from reversing when they stop, make stopped carts try to start moving in the direction the player is facing
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
a7d8b52510
|
Fix crash after entering a minecart not on rails
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
a3b3585300
|
Fix placed rail conversion, start automatic inventory rail conversion
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
b0f12dfabb
|
Fix players repelling carts with new player metadata system
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
b8ed85a004
|
Cleanup debug prints
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
edf3b54fd4
|
Add documentation for newly exposed attach_driver
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
fad40d9444
|
Add persistent player-specific metadata into mcl_playerinfo, simple cart reattachment (only exists if the luaentity for the cart exists when the player logs in)
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
d5ab0b5406
|
More fixes for minecart-hopper movement
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
2cde46563d
|
Get rail placement creating corners that lead into a downward sloped rail
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
e495dbc0a2
|
Create mcl_util.metadata_timer, fix crashes, add checks to prevent hoppers from pulling from carts that are not in the square above it
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
0af628a8d4
|
Fix hopper-minecart interaction, convert ipairs(table) to use for i=1,#table instead
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
889c89c0e6
|
Update mineshafts for new rail and minecarts, add loot to generated chest and hopper minecarts (and remove notes about a hack)
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
a388b6ebff
|
Give carts a small vertical lift when pushed to allow them to get back on rails
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
0368cf958b
|
Stop rail from being placed directly above rail (floating in air)
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
938c05e68e
|
Fix sloped power,activator and detector rails, remove debug print
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
8bcf9388d4
|
Modify mcl_entity_invs to add support for save/load items hooks in entities, add save/load hooks to minecarts to store item list in the minecart data and not in the entity data so that respawn doesn't destroy items
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
4c6a10f613
|
Add documentation on the rail
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
d250678689
|
Add documentation on file structure and overviewes of each file
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
57525d2072
|
Fix crashes, fix link in documentation
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
9df1f9a588
|
More documentation, add myself to copyright list in README.txt
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
17705348c3
|
More minor changes to API.md, start overall implementation documentation
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
6160534ed5
|
Fix table of contents
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
3881cd60f5
|
Finish writing API documentation, remove drop_railcarts (replaced by try_detach_minecart), rename constants to ALL CAPS for consistency, change mcl_minecarts. to mod. for API function definitions
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
d22aa7285d
|
Nearly finish API documentation, create mcl_minecarts.add_blocks_to_map()
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
c8513d5acd
|
Continue writing API documentation, update call signatures for a couple of API functions
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
20bf40a6ec
|
Change document formatting, finally move cactus cart dropping to node definition for mcl_core:cactus
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
b17710db9c
|
Correct crashes/item duplication with dropping carts, start API documentation
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
1d9ba2211f
|
Fix cart controls, cart pushing
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
d41f2f03ce
|
Fix typo in rail replacement mapping, fix several crashes
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
14b50faf92
|
Implement movement thru tee rails
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
464771b79d
|
Tune respawn distance limit
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
1f80628298
|
Fix crashes
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
39ca793a43
|
Remove memory leak for cart data, check distance to players before respawning distant carts to prevent adding entities that are immediately inactivated
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
b084ec558d
|
Implement offline/out of range minecart movement and fix minecart respawning, remove railtype tracking
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
763c59a1a2
|
Remove do_movement dependency on the existence of a cart luaentity
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
188aca8c12
|
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-11-12 00:59:50 +01:00 |
teknomunk
|
a0d8e5ad7e
|
Make trains containing a player in a minecart function, minor cleanup in mcl_playerinfo
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
e3ca5a84c8
|
Fix crashes in train logic, allow breaking apart trains
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
d9bc707800
|
Implement train reversing
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
8d15b8e99f
|
Repair vectors in cart data, mostly fix train movement bugs (still possible to have a furnace minecart flip, without the train also flipping)
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
9490e4a910
|
Add cart entity respawn/destroy to match cart data (partially working)
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
b38d8c3fa9
|
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-11-12 00:59:50 +01:00 |
teknomunk
|
643e6f3de6
|
Fix rail detach crash, make tnt minecarts explode if they hit something hard (off rails)
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
dd54270294
|
Make sure carts get detatch if the rail under them is removed
|
2024-11-12 00:59:50 +01:00 |
teknomunk
|
9927f54ab4
|
Fixish reorganizing, initial train implementation
|
2024-11-12 00:59:50 +01:00 |
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 |