Oct 062014

I’m currently doing some changes to how configuration works in Gendustry, Pressure Pipes, Advanced Generators and all future mods.

The system started as a way to specify simple crafting recipes in normal text files back when i started modding in Scala, and had a lot of ad-hoc additions since then. There were quite a few things that have bugged me about it over time so I’ve decided to do a major cleanup and refactoring pass.

Things that got changed

  • Clear distinction of what executes at what point, statements are split between Configuration and Recipe blocks. This replaces the old Delayed Statement thing.
  • Recipe characters used to be global which caused errors when characters that were used all over the place got changed by accident. The new systems has clearly defined blocks with all definitions being local to their block.
  • If statements have been normalized, also added some basic boolean operations.
  • Lots of minor inconsistencies were unified, like “->” vs “=>” in different statements, “:” vs “=” in config entries, “mb” after fluid amounts, etc.

I have also started doing some proper documentation for the format and how it’s used in my mods now that the cleanup is out of the way.

Gendustry (1.4.x) and BDLib (1.5.x) are now on Jenkins with support for the new format, and the main BACON documentation and Gendustry configuration are now online. There is even a mini-guide on adding custom bees.

Pressure Pipes and Advanced Generators will be done in the next few days.

Updated: Pressure Pipes (0.9.6.x) and Advanced Generators (0.9.3.x) with support for the new format are now on Jenkins as well, documentation will be up sometimes next week.

 Posted by at 1:14 pm

  2 Responses to “BACON – New configuration system”

  1. Could you add in the option to disable the bee particles for hives when they’re producing?

    # set to false if apiaries should output all items regardless of side a pipe is attached to

    – Forestry Apiculture Config File

    • Option for bee particles will be in the next version.

      I’m not sure about sidedness, all my machines are generally “smart” about sides – allowing input/output from all sides and doing whatever makes sense. Are there any real use cases from something different?

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>