MinecartMania has its roots deep in the early days of Bukkit. Unfortunately, over time the codebase has become scattered and difficult to maintain. Instead of patching more holes with the programming equivalent of bubblegum, MCM is being renovated to make a more sustainable plugin.
Comparability with legacy rail systems is a priority, but do not be surprised if some elements need adjusting.
These changes are all mostly complete, but not set in stone.
- New physics :
- Minecarts are no longer glued to the track and can jump and be launched into the air. This can be turned on and off at the server level or with signs.
- Minecarts are no longer limited to low speed around corners and slopes. Speeds in excess of 500% have been tested working. signs and control blocks will still fire normally.
- Friction (empty, with passenger, and off-rail) can be configured at or turned off at the server level.
- Speed change due to slopes can be configured or turned off at the server level.
- Gravity while flying can be configured at the server level.
- Minecarts that collide with a player will make the player bounce out of the way.
- Minecarts stopped on catcher or intersections won't collide with other carts and cant be moved by players.
- Minecart collisions can be turned off entirely to ensure reliable travel.
- New Block System
- The block system has been totally re-done. Blocks now work by simulating a sign, which run an Action. Actions have been created for all previous block types and some new ones. A single block can be configured to represent any number of Actions , and each Actions can optionally execute based on the redstone power of the block. The default configuration should be 100% compatible with legacy rail systems, but can be expanded to offer much more flexibility.
- New block/sign Actions
- Set Speed - set the cart speed by percent or multiplier
- Jump - make the cart jump the specified number of blocks in the air.
- Spawn - (for spawn blocks only)
- Magnet - turn the magnetic rail setting on/off
- Eject Here- can now use a block to represent a eject here sign (default lapis_block)
- Launch reverse: launches in the opposite direction from a normal launch, so you dont have to specify direction (default emerald block)
- New Options (Expect many more once the existing ones are 100% working)
- Minecarts going over a certain speed can be configured to kill players they collide with.
- New plugin setup
- All the previous plugins have been condensed into a single .jar file, much redundant and outdated code was removed
- All configuration settings are in a single config.yml instead of 4 different xml files.
Whats changed (so far)
- Autocart has been removed. You can simulate autocart functionality by setting the frictions and slope speed percents to 0. The /throttle command remains and works as before.
- Setting ranges for action signs and item collection and such isnt really all working.
- Catch works a little differently. You can specify a number of seconds to hold the cart directly on the catch sign. The sign will not 'count down' and seperate 'hold for' signs have no effect.
- Eject works differently. [Eject At] and [Eject Here] Actions only serve as instructions. A minecart must encounter a [Eject] action to actually eject its passenger. (Be careful, with the default settings, if a minecart passes a [eject at] sign at the beginning of its journey and then hits a [eject] with no new [eject at] sign nearby, the earlier [eject at] location will be used!
The bad news:
- The 'old' directions option has been removed for everything except Station Rule signs. If you have launch or chest signs they will need to be re-made.
- All MCM action signs now require the first line to start with '[ ' when it is written. Many new signs have been added and the [ is required to prevent MCM from changing what was supposed to be a normal sign that happened to contain a MCM command (like 'spawn' or 'jump'). *Most* of the old signs should have been bracketed with the old version but some, I know, did not do this (I'm looking at you, max speed]. These will have to be updated by hand. This does NOT apply to intersection rules signs.
- Sorting by minecart type has been removed for some signs. (Stations should be working ok). I want to make a unified 'filtering' syntax for ALL the signs but this is not high priority item. (although I look forward to jump-based vertical sorters.)