The latest version of Basement Renovator is available in the releases section, but the program can be run from source if desired.
C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac Rebirth\tools\ResourceExtractor\ResourceExtractor.exe
C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac Rebirth\resources\rooms
directory with .stb files)"$HOME/Library/Application Support/Steam/SteamApps/common/The Binding of Isaac Rebirth/tools/ResourceExtractor/ResourceExtractor" "$HOME/Library/Application Support/Steam/SteamApps/common/The Binding of Isaac Rebirth/The Binding of Isaac Rebirth.app/Contents/Resources" "$HOME/Documents/IsaacUnpacked"
$HOME/Documents/IsaacUnpacked/resources/rooms
directory with .stb files)C:\Users\[YourUsername]\Documents\My Games\Binding of Isaac Afterbirth+ Mods\[YourModName]\resources
) and it will overwrite the vanilla version of the floor. Note that your mod will be incompatible with all other mods that use this technique to replace floors, so this is not recommended.C:\Users\[YourUsername]\Documents\My Games\Binding of Isaac Afterbirth+ Mods\[YourModName]\content\rooms
) and it will add the rooms to the floor.You'll first want to use Basement Renovator to open a vanilla floor STB file in order to look around and get a feel for how it works. Follow the instructions in the "How to Create a Mod that Modifies Rooms in the Vanilla Game" section above. Basement Renovator can read and save them directly, no need to convert to XML.
The Editor: Smack in the middle is the main editor. You can drag any entity in this editor by clicking it, or select multiple entities by dragging a box around them. You can move entities wherever you'd like in the room. You can cut or paste entities, using the menu or keyboard shortcuts, and you can delete them by selecting them and hitting backspace or delete. Alt-click an entity to replace it with the chosen entity in your palette. You can choose whether doors are active or inactive by double clicking them.
The Room List: On the right of the window is the room list dock. This dock is moveable by grabbing the title bar. Click any room in the list to load it into the editor. The type of the room is indicated by the icon to the left of the name, and the ID is the number beside the name. Room type determines the item pool and tileset. Create new rooms by hitting 'add', delete a room by selecting a room and either pressing the backspace/delete key or clicking 'delete', and duplicate a selected room by clicking 'duplicate' (duplicates will have a different variant number).
The Room List continued: Double click a room to change it's name. Mouse over a room to see some info in the tooltip, and right click a room to change the room size, room type, weight (how often it is spawned) and difficulty (how difficult the room is, used to control floor difficulty). Drag and drop rooms in the list to change their position. Use the filters on the top to only show certain rooms. The Export button on the bottom will export all selected rooms to a new STB, or if you choose an existing STB it will append those rooms onto the one you chose.
The Entity Palette: The entity palette on the left is a moveable dock just like the Room List. You can use it to paint entities onto the Editor just like Mario Paint. Simply select an entity from the palette, then right click in the Editor window where you want the entity to paint. You're basically stamping them into the room. All known game entities are listed.
NoBlockDoors
attributeOther Things: You can show or hide the grid in the edit menu, or by pressing Cmd-G (Ctrl-G on win). You can pick up any of the docks, and move them to new areas, have them as floating windows, or stack them as tabs. There are a few other options in the View menu to give you some choices.
Test Menu: To quickly test your rooms, you can load them from BR directly. You can select multiple rooms to test at a time, or just one. You will be teleported to the right floor for the current file. Here's a summary of the different test methods:
,
and .
;
u
The 'InstaPreview' tool isn't working for me; what can I do?
settings.ini
in the BR folder in a text editor. Ensure there is a line that says: InstallFolder=(...)
where (...) is the location of the TBOI install folder containing an executableHow do I edit Repentance rooms?
settings.ini
in the BR folder in a text editor. Add a line that says: CompatibilityMode=Repentance
. Other valid values are Rebirth
, Afterbirth
, Afterbirth+
, and Antibirth
I found a bug!
When is the next update?
Why can't I edit door position? Why can't I make a custom room size?
How do I add custom entities?
basementrenovator
in your mod's root folder. (It must be within your overall mods folder to be detected.) Inside that folder, create an EntitiesMod.xml
file. This should use the same format as resources/EntitiesAfterbirthPlus.xml
and have the same conventions. If Group
is left out, it will default to (Mod) Your Mod Name
. The Image
path is relative to the basementrenovator
folder within your mod. Finally, BR will only load enabled mods to reduce noise and startup time.PlaceVisual
attribute. Check resources/EntitiesAfterbirthPlus
for some examples. It can either be X,Y
in +/- grid squares of offset or pre-coded dynamic behaviors like WallSnap
.
DisableOffsetIndicator
to disable the visual indicator for this offset (only needed if offset is > half a grid)IsGrid
attribute.entities2.xml
for some reason, you can add Metadata="1"
to your entity. Be sure you know what you're doing! This suppresses useful error messages and allows BR to load entities it normally wouldn't. (This kind of thing is mostly relevant to helper entities used with Stage API)content/entities2.xml
instead of the basementrenovator
folder and work automagically without any additional work. HOWEVER this comes with a number of downsides:
basementrenovator
directory.How do I add custom stages?
basementrenovator
folder and add a file called StagesMod.xml
. This should use the same format as resources/StagesAfterbirthPlus.xml
and have the same conventions.BaseGamePath
is an extension-less version of the game's STB file name for that stage. (which most likely does not apply to your modded stage) If not present, a stage will be assumed to be from a mod.BGPrefix
is the path to the backdrop files relative to the basementrenovator
folder, minus the -.png and -Inner.png for L rooms. If left out, the fallback will be the first stage with the same Stage and StageType with a valid backdrop.Pattern
is the pattern used to match a filename against to determine it's for that stage; if the file contains that prefix it will be set to that stage. The last stage loaded has prefix matching priority, so mods will always have priority over base game stages.Stage
and StageType
correspond to the in-game enum values for the stage, for modded stages this should point to the stage being replaced.StageHPNum
is an optional value used when calculating the total HP of enemies which use Stage HP. If this is not specified, then Stage
is used instead.Name
is the display name shown in BR, and also passed to room tests to allow for properly replacing the base game stage as needed.How do I get some rooms to display different backdrops?
basementrenovator
folder and add a file called RoomTypesMod.xml
. This should use the same format as resources/RoomTypesAfterbirthPlus.xml
and have the same conventions.Is there a fast way to set up BR compatibility?
Why does my custom entity appear with a yellow hazard sign on it?
While Basement Renovator can save a wide range of values identifying entities, not all of them play nicely in game. Some are fine in game, but are still invalid.
If you see this warning, please change your values to fit in the proper range. This will prevent a lot of difficult to debug issues in your mods. You can see exactly where an entity is out of range in the logs or in the tooltip if you hover over it in the room.
What about a red one?
entities2.xml
file. That means the type, variant, or subtype in the Basement Renovator XML file is invalid. This is a very dangerous error, as loading a room with an unmatched entity will crash the game when it loads the room! This will take precedence over the yellow hazard sign, but it may have that problem as well. (Check the entity's tooltip for more information)What is a hook?
script.exe "path to file" --test