Open Terrain Generator Wiki
Advertisement

What is Bo3_BulkEdit?

Bo3_BulkEdit is a console applicaion for Open Terrain Generator and TerrainControl Bo3 Objects. (Aswell limited for MineCraft Worlds).

Bo3_BulkEdit is used to convert Minecraft Schematics and modify several BO3 objects at once, according to preconfigured Rulesets.

It allows you to:

  • Convert Schematics to Bo3 Files
  • Convert Bo2 to Bo3 Files
  • Change nearly all Common settings of an Object
  • Switch out all Occurances of Specifc Blocks to Another (Also "Block()" to "RandomBlock()")
  • Remove all Occurances of Blocks
  • Add BlockChecks
  • Add Branches
  • Add Entities
  • Generate Preview Images

Download:

Download Most Recent Version: Bo3_BulkEdit

Additional Imagefiles: Bo3_BulkEdit ImageFiles

V1.06: Bo3_BulkEdit v1.06

V1.05: Bo3_BulkEdit v1.05

V1.04: Bo3_BulkEdit v1.04

V1.03: Bo3_BulkEdit v1.03

V1.02: Bo3_BulkEdit v1.02

V1.01: Bo3_BulkEdit v1.01

Usage:

Installation:

Download and Extract Bo3_BulkEdit in a convenient folder. After that "bo3_bulkedit.exe" once. It will generate a Warning for a Missing Config file and Generate a new one.

The Folder should now contain:

  • A Folder called: Images - These Images will be used for Preview Images.
  • A Folder called: Objects - This folder needs to be filled with the Objects/Schematics you wish to Modify.
  • A Folder called: Results - The Finished Objects will be placed here.
  • A File called: bo3_bulkedit.exe - To run the Application
  • A File called: Bo3_BulkEdit_Materials.ini - This file contains the BlockNames and Ids to translate in Objects. If you which to use Modded Blocks in your Schematics you need to add them to this List so BulkEdit may correctly translate your BlockID to BlockNames.
  • A File called: Bo3_BulkEdit_Settings.ini - This file contains all the Rules that govern the changes to your Objects.
  • A File called: Bo3_BulkEdit_README.txt - A basic Readme file.

Configuration:

To Configure Bo3_BulkEdit you need to tweak "Bo3_BulkEdit_Settings.ini". A default Settingsfile should look somewhat like this:

### Default Settings ###
Version: 1.05
Obj_default:
######################
### Basic Settings ###
######################
RemoveComments: false
SplitObjects: true
Description: -NONE-
Tree: -NONE-
Frequency: -NONE-
Rarity: -NONE-
RotateRandomly: -NONE-
SpawnHeight: -NONE-
SpawnHeightOffset: -NONE-
SpawnHeightVariance: -NONE-
MinHeight: -NONE-
MaxHeight: -NONE-
ExtrudeMode: -NONE-
ExtrudeThroughBlocks: -NONE-
MaxBranchDepth: -NONE-
ExcludedBiomes: -NONE-
SourceBlocks: -NONE-
MaxPercentageOutsideSourceBlock: -NONE-
OutsideSourceBlock: -NONE-
### Preview - BO3 Bulk Edit will generate an Object Preview ###
Preview: false
#################################################
### PlaceHolder Settings ###
### You may use these Settings Multiple times ###
#################################################
AIR_Block: SPONGE:1
REMOVE_Block: IRON_BLOCK
CHECK_Block: EMERALD_BLOCK
BRANCH_Block: GOLD_BLOCK
CENTER_Block: DIAMOND_BLOCK
###############################
### Shift Object ###
### Moves the Object around ###
###############################
Shift_X: 0
Shift_Y: 0
Shift_Z: 0
######################################################################################################
### Block Changes: ###
### EXAMPLE: Change: Block -> RandomBlock | SMOOTH_BRICK:1 -> SMOOTH_BRICK:1,50,SMOOTH_BRICK:2,100 ###
######################################################################################################
Change: Block -> RandomBlock | SMOOTH_BRICK:1 -> SMOOTH_BRICK,40,SMOOTH_BRICK:1,50,SMOOTH_BRICK:2,40,COBBLESTONE,100

Modifying the RuleSets:

The Config File can contain almost as many RuleSets as you want. A Ruleset will begin with "Obj_" like the default set in the config ("Obj_default"). To create additional Rulesets you may just copy the Default rules, and change "Obj_default" to "Obj_different".

Bo3_BulkEdit will choose the Ruleset according to a prefix on the Objects name. For Example, the Object: "Obj-different_tree.bo3" would use the "Obj_different" Ruleset. Prefixes like this, or the "we-" will be removed from the resulting Object. So it would just be "tree.bo3" as Result.

Note:  The Config file is CaseSensitive.  Bo3_BulkEdit will not check for valid values. Anything you put in there, is the target Value.

Common Settings:

These Settings reflect the Main Settings of your Bo3 Object. As Mentioned Earlier: Settings set to: -NONE- wil not change your Object.

  • RemoveComments: false <- Will Remove any Comments and Empty lines of the Object (Possible: true/false)
  • SplitObjects: true <- Will Split Objects larger than 32x32 Blocks into 16x16 parts.
  • Description: -NONE-
  • Tree: -NONE-
  • Frequency: -NONE-
  • Rarity: -NONE-
  • RotateRandomly: -NONE-
  • SpawnHeight: -NONE-
  • SpawnHeightOffset: -NONE-
  • SpawnHeightVariance: -NONE-
  • MinHeight: -NONE-
  • MaxHeight: -NONE-
  • ExtrudeMode: -NONE-
  • ExtrudeThroughBlocks: -NONE-
  • MaxBranchDepth: -NONE-
  • ExcludedBiomes: -NONE-
  • SourceBlocks: -NONE-
  • MaxPercentageOutsideSourceBlock: -NONE-
  • OutsideSourceBlock: -NONE-

Object Changes:

These are Generic Changes applied to your Object.

  • Preview: false <- Will Generate a Preview Image of the Object. This will drastically increase Processing time. And needs valid Images for each Block.
  • AIR_Block: SPONGE:1 <- Will Replace the Set Block with AIR. (This Setting can be used twice or more)
  • REMOVE_Block: IRON_BLOCK <- Will just remove these Blocks from the Object.
  • CHECK_Block: EMERALD_BLOCK <- Will add A Generic BlockCheck at this Position, and remove the Block Itself
  • BRANCH_Block: GOLD_BLOCK <- Will add a Generic Branch at this Position, and remove the Block Itself
  • CENTER_Block: DIAMOND_BLOCK <- Will move the Entire Object so this Block would Center the Object. (It is advised to ensure this Blocks is Unique in the Object, or the Result will be weird.)
  • Shift_X: 0 <- Moves the Entire Object on the X axis. (Additional to the Center Blockcheck)
  • Shift_Y: 0 <- Moves the Entire Object on the Y axis. (Additional to the Center Blockcheck)
  • Shift_Z: 0 <- Moves the Entire Object on the Z axis. (Additional to the Center Blockcheck)

Block Changes:

The Last lines of your RuleSet are BlockChanges. Each line starts with: "    Change: " then the BlockType you wish to Change. ("Block" or "RandomBlock") then the target BlockType ("Block", "RandomBlock" or "Entity") after that, the Block string you whish to Change, and the Target String.

Note however, as Bo3_BulkEdit cannot possibly know all Blocks you may have Modded or beeing added in the Future, it takes whatever you write as Block.

Also, replacing a Block to an Entity, will change the Source to AIR.

For Example:

Change: RandomBlock -> Block | SMOOTH_BRICK,10,SMOOTH_BRICK:1,100 -> SMOOTH_BRICK
Change: RandomBlock -> Block | SMOOTH_BRICK,20,SMOOTH_BRICK:1,100 -> SMOOTH_BRICK

While they tweak kind of the same Blocks. It will only Change the Exact same occurance you have set up.

In truth, you wont have RandomBlocks in fresh exportet Objects, so this is just a small matter.

Here is an Example of a larger set of Changes you could set up:

    Change: Block -> RandomBlock | SMOOTH_BRICK:1 -> SMOOTH_BRICK,40,SMOOTH_BRICK:1,50,SMOOTH_BRICK:2,40,COBBLESTONE,100
    Change: Block -> RandomBlock | SMOOTH_BRICK:2 -> SMOOTH_BRICK:2,40,SMOOTH_BRICK:1,40,SMOOTH_BRICK,60,COBBLESTONE,50
    Change: Block -> RandomBlock | STEP:3 -> STEP:3,2,COBBLESTONE,1,GRAVEL,1,AIR,100
    Change: Block -> RandomBlock | STONE:6 -> STONE:6,50,STONE:5,43,STONE,50,COBBLESTONE,75,STEP:3,100
    Change: Block -> RandomBlock | STONE:3 -> STONE,85
    Change: Block -> RandomBlock | BOOKSHELF -> BOOKSHELF,70,WOOD,75,WEB,100
    Change: Block -> RandomBlock | WEB -> WEB,8,AIR,100
    Change: Block -> RandomBlock | IRON_FENCE -> IRON_FENCE,75,AIR,100
    Change: Block -> RandomBlock | GLOWSTONE -> GLOWSTONE,10,AIR,100
    Change: Block -> RandomBlock | CHEST -> CHEST,NBT/Dungeon_Loot.nbt,30,AIR,100
    Change: Block -> RandomBlock | CHEST:1 -> CHEST:1,NBT/Dungeon_Loot.nbt,30,AIR,100
    Change: Block -> RandomBlock | CHEST:2 -> CHEST:2,NBT/Dungeon_Loot.nbt,30,AIR,100
    Change: Block -> RandomBlock | CHEST:3 -> CHEST:3,NBT/Dungeon_Loot.nbt,30,AIR,100
    Change: Block -> RandomBlock | CHEST:4 -> CHEST:4,NBT/Dungeon_Loot.nbt,30,AIR,100
    Change: Block -> RandomBlock | CHEST:5 -> CHEST:5,NBT/Dungeon_Loot.nbt,30,AIR,100
    Change: Block -> RandomBlock | SPONGE -> AIR,33
    Change: Block -> RandomBlock | BREWING_STAND -> BREWING_STAND,33,AIR,100
    Change: Block -> RandomBlock | MOB_SPAWNER -> MOB_SPAWNER,100
    Change: Block -> Block | DIRT:1 -> GRASS_PATH
    Change: Block -> RandomBlock | DIRT:2 -> DIRT,25,AIR,100
    Change: Block -> Block | RAILS -> RAILS,50,AIR,100
    Change: Block -> Block | RAILS:1 -> RAILS:1,50,AIR,100
    Change: Block -> RandomBlock | DIRT:2 -> GRASS_PATH,25
    Change: Block -> RandomBlock | DIRT:2 -> GRASS_PATH,25
    Change: Block -> RandomBlock | UNOBTANIUM -> STONE,60,PRISMARINE:0,50,SEA_LANTERN,50,PRISMARINE:0,100
    Change: Block -> Entity | REDSTONE_BLOCK -> Sheep,1

Running:

After setting up all the changes you want to use. Just move the Objects you wish to Process to the "Objects" folder, and run "Bo3_BulkEdit.exe". The Finnished objects will be placed in the Result Folder, your Source Objects wont be touched or changed. In case something goes wrong.

Changelog:

10.07.2018:

  • Fixed a Crash while Converting Schematics with block IDs that are not present in the MaterialList.
  • Taught BulkEdit to think about using the Datavalue 0 on Placeholders if not specified otherwise.
  • BulkEdit should again correctly center Schematics around the CenterBlock

13.06.2018:

  • BulkEdit can now Ignore the minecraft: prefix (or from Mods) to generate Preview Images.

10.04.2018:

  • Quick fix to address the Issue with Stairs that were translated to the Wrong direction.

03.04.2018:

  • Fixed another Bug where BulkEdit wont set up Branches correctly when splitting Objects. Now BulkEdit should actually create a complete Structure, without missing parts.
  • Fixed a bug where BulkEdit would Replace the AIR Placeholder with AIR, and immediatly remove the AIR when set to remove AIR from the Object.

31.01.2018:

  • Fixed a Bug where BulkEdit wont set up Branches correctly when splitting Multiple Objects.
  • BulkEdit will now Roughly Center the Object while Shematic Conversion if no Center Placeholder is found.
  • Fixed the Annoyance that BulkEdit generated an Outdated ConfigFile.

07.01.2018:

  • Added the Ability to Split up Larger Objects to a single Custom Structure.
  • Added Configuration Option to Split up Objects, defaults to "false" if not set. [ SplitObjects: true ]
  • Added version number to Configuration. BulkEdit will inform you if the Config was Changed. You can either let BulkEdit regenerate your Config, or adjust it manually. [ Version: 1.05 ]

06.01.2018:

  • Taught BulkEdit to understand Short Versions of Block() and RandomBlock() used by newer Versions of OTG and BiomeBundle

19.09.2017:

  • Disabled Debugging Mode. Now BulkEdit should run fine again.

08.09.2017:

  • Added the Ability to Convert bo2 files.
  • Added an Output for Block-IDs on Schematic/Bo2 conversion that BulkEdit doesnt understand. (So you can add them Manually)
  • Added the Ability to recognize Schematics and Bo2 files with lower and uppercase Extensions.
  • Fixed the Entry in the Material list for MobSpawner
Advertisement