Skip to content

Builder Configuration

McJty edited this page Jun 11, 2015 · 15 revisions

The Builder is very configurable with a file called 'config/rftools/userbuilder.json'. This file is empty but you can create it and add your own rules. The internal default file looks like this (and userbuilder.json follows the same format):

The current version of this rules file can be found here: https://github.com/McJty/RFTools/blob/master/src/main/resources/assets/rftools/text/builder.json

There are two main sections in this. In the first section you define which blocks are allowed to be moved (the movables section). A line in this section is structured like:

  • Unlocalized block name or "modid:" followed by the name of the mod. A specific name will always be checked first and if it can't find an entry for that name it will try to see if it can find a rule for the mod.
  • A "+" (move is safe), "=" (move is not safe), or "w" (warn status. Move is safe but with issues).
  • The final column is a cost factor. By default this is 1.0 which means moving that block will have the same cost compared to all other blocks. Vanilla mov spawners and Thaumcraft nodes are marked as more expensive to move.

In the second section (the rotatables) you define what should happen if the block is rotated. This basically affects what should happen with the metadata for the block when rotate mode is enabled in the builder. By default RFTools will just copy the metadata. That's fine for blocks like stained clay where the metadata is used to encode the color of the block. But many machines use the metadata (partially) for encoding the orientation of the block. In this section you can define this. There are currently only two possible values:

  • "mmmm": the metadata is unchanged (default)
  • "mfff": the first bit of the metadata is unchanged and the three other bits are interpreted as the direction the block is facing. RFTools will try to manipulate those three bits to get the rotation correct.

In the main config file of RFTools there is a new option that you can use to control how RFTools will use the above rules. This is the 'tileEntityMode'. This config option has four possible values:

  • 'forbidden': this will simply disallow movement of ALL tile entities. The rulebase above is ignored. This is the safest mode but it is a bit limiting as many safe blocks cannot be moved now.
  • 'whitelist': this will only allow movement of tile entities that are specifically marked as being safe. This is still very safe as it will not try to move what it doesn't know. This is the default mode.
  • 'blacklist': this will forbid movement of tile entities that are being marked as unsafe. All other tile entities can be moved. This is slightly more dangerous as there are lots of tile entities that haven't been tested and thus are not present in the list of rules. Don't use this on public servers.
  • 'allowed': this is the most dangerous option. It allows movement of all tile entities even if the rules above specifically indicated that movement is not safe.
Clone this wiki locally