Skip to content

Version 1.5.0 Beta 1

Pre-release
Pre-release
Compare
Choose a tag to compare
@fnuecke fnuecke released this 14 Feb 22:50
· 1864 commits to master-MC1.7.10 since this release

Moreso than usual, do make a backup of your world before updating.

READ THE CHANGE LOG!

This update contains some major changes, so be sure to read the change log. Also, due to these changes, this version may have some neat new bugs hidden in it, in particular in the way robots' and drones' inventories work and how they interact with the world. I did a good bit of testing, but would like to get a few more eyeballs on this before I'm declaring it somewhat stable.

  • Added: eeprom.getData/setData for storing a 256-sized byte array.
  • Changed: Microcontrollers are now fully sided, i.e. they do not pass power, network messages or component access anymore. They can select to which sides they send network messages, however, allowing use as advanced switches.
  • Changed: Internet card now uses userdata for opened connections. The internet library didn't change and remains backwards compatible. However, if you used the internet component directly, you'll need to adjust your code.
  • Changed: Drones can now place blocks and break blocks that can be harvested by hand.
  • Changed: Robot movement restrictions added. They have a limited flight height when in mid-air now (default is eight for now, may add upgrades to boost it). Their movement logic after a good amount of discussion can be summarized as such:
    1. Robots may only move if the start or target position is valid.
    2. The position below a robot is always valid (if it isn't solid).
    3. Positions up to <flightHeight> above a solid block are valid.
    4. Any position that has an adjacent block with a solid face towards the position is valid.
  • Changed: Methods inserting into robot/drone inventories (*.suck()) will now prefer inserting into the selected slot over merging into an existing stack.
  • Removed: computer.getBootAddress/setBootAddress, this is replaced by eeprom.getData/setData. The new Lua BIOS will provide a temporary fallback that uses the EEPROM's new methods. IMPORTANT: you will need to recraft your Lua BIOSes, the old ones will error.

IMPORTANT ADDITIONAL NOTES

  • This version should be world-compatible with 1.4, i.e. blocks and items should be safe.
  • Computers will stop due to computer save-state incompatibility. You will also need to re-craft your Lua BIOSes due to a low-level Lua API change (the one that causes the save-state incompatibility).
  • There were some changes to the Java API. I don't think many mods use the parts that changed, but you may encounter issues with those until they also update.