Tunnel bore alternatives
Yopu opened this issue ยท 8 comments
Simple track layer
-Lays track under the cart.
-No propulsion, must be pushed.
-Can step up/down 1 block.
-Used for preexisting tunnels or surface rail construction.
Advanced tunnel bore
-Functions like existing tunnel bore.
-Builds bridges rather than filling holes.
-Places/replaces walls and floor with supplied material.
It would also be timely to update/replace the existing tunnel bore.
It's an ancient piece of technology from before the steam locomotive era and is still powered by a sterling engine. I feel an electric tunnel bore makes more sense than a steam one, although it might be best to abstract it in a similar way as the locomotives so that variants can be easily added, that way there could also be a diesel powered one in the future?
This would with little doubt be hefty task though.
Yeah, I'm under no delusions that this will be a big project. But I need something to sink my teeth into.
There is a list of improvements I'd like to make the tunnel bore someday:
- Multiple tiers/variants. A wall/floor replacer variant would be 5x5, dig out the tunnel, then replace the walls behind it. I'd also like a double wide variant that can lay two tracks, but I'm not sure whether it makes more sense to just run the bore down the tunnel twice.
- Convert it to a multi-part entity like the Dragon so that the collision box fits better.
- Standardize fuel usage to be more in line with the rest of the mod. Possibly with different variants.
- Enchantable Bore Heads.
Anyway, the tunnel bore changes are a massive undertaking. I'd suggest holding off on that for the moment. The Track Layer however could be handy. I'd also suggest a dumb track remover that removes tracks behind it as a locomotive pulls it along.
I don't want to step on Steve's Carts toes too much, so keep them as basic and 'dumb' as possible.
Also it's worth mentioning that CartContainerBase now has a protected field for a ForgeDirection to indicate which direction a cart is traveling in. It's updated by calling updateTravelDirection(). It should make implementing carts that depend on a direction of travel more easy.
Progress update:
http://imgur.com/a/gXVDM
It lays track. But only when traveling on a straight track. Still needs inventory/GUI work.
Another progress shot:
http://imgur.com/a/Jh7Cl