Fractal Block World
Environment Variables
This documentation was created for the following version of the program: 1.01.22
One can toggle the console (while in game) by pressing the '~' key.
Commands can be entered while in the console. For example, entering the command "exit" will cause the program to exit.
The game has "environment variables" that can be accessed through the console. The "get" command prints the value of the specified environment variable.
The "ls" command lists all variables that start with a given prefix. Note: in addition to environment variables, there are "directories" which are simply a prefix of an environment variable name that ends with a period. The ls command lists variables and directories with the given prefix.
Variables can be changed using the "set" command, assuming you have access to do so. Note that all access is granted by enabling cheat codes.
Environment variables are important because you can set them in the "program_startup" script that is run when the program starts up. You can use this for advanced customization.
This document contains a dump of all environment variables.
This document was created by running the program and calling the "gendoc" console command.
Green entries represent directories, whereas grey ones represent individual environment variables. Some variables or directories are documented with blue text.
package (dir)
package.state (dir)
package.state.globals (dir)
package.state.globals.foo (bool)
package.state.globals.dingle (bool)
package.state.globals.sound (dir)
package.state.globals.sound.player_hurt_sounds_enabled (bool)
package.state.globals.flashes (dir)
package.state.globals.flashes.enable (bool)
package.state.input (dir)
package.state.input.binds (dir)
package.state.input.binds.SEMICOLON (dir)
package.state.input.binds.SEMICOLON.downup (string)
package.state.input.binds.RSHIFT (dir)
package.state.input.binds.RSHIFT.downup (string)
package.state.input.binds.RCTRL (dir)
package.state.input.binds.RCTRL.downup (string)
package.state.input.binds.RALT (dir)
package.state.input.binds.RALT.downup (string)
package.state.input.binds.QUOTE (dir)
package.state.input.binds.QUOTE.downup (string)
package.state.input.binds.LEFT (dir)
package.state.input.binds.LEFT.downup (string)
package.state.input.binds.UP (dir)
package.state.input.binds.UP.downup (string)
package.state.input.binds.LALT (dir)
package.state.input.binds.LALT.downup (string)
package.state.input.binds.HOME (dir)
package.state.input.binds.HOME.downup (string)
package.state.input.binds.EQUALS (dir)
package.state.input.binds.EQUALS.downup (string)
package.state.input.binds.COMMA (dir)
package.state.input.binds.COMMA.downup (string)
package.state.input.binds.MOUSEWHEEL_UP (dir)
package.state.input.binds.MOUSEWHEEL_UP.use (string)
package.state.input.binds.MOUSE2 (dir)
package.state.input.binds.MOUSE2.downup (string)
package.state.input.binds.BACKSPACE (dir)
package.state.input.binds.BACKSPACE.downup (string)
package.state.input.binds.SLASH (dir)
package.state.input.binds.SLASH.downup (string)
package.state.input.binds.F12 (dir)
package.state.input.binds.F12.downup (string)
package.state.input.binds.F11 (dir)
package.state.input.binds.F11.downup (string)
package.state.input.binds.F10 (dir)
package.state.input.binds.F10.downup (string)
package.state.input.binds.F8 (dir)
package.state.input.binds.F8.downup (string)
package.state.input.binds.DKEY_RBRACKET (dir)
package.state.input.binds.DKEY_RBRACKET.downup (string)
package.state.input.binds.F7 (dir)
package.state.input.binds.F7.downup (string)
package.state.input.binds.MINUS (dir)
package.state.input.binds.MINUS.downup (string)
package.state.input.binds.F6 (dir)
package.state.input.binds.F6.downup (string)
package.state.input.binds.RIGHT (dir)
package.state.input.binds.RIGHT.downup (string)
package.state.input.binds.S (dir)
package.state.input.binds.S.downup (string)
package.state.input.binds.LCTRL (dir)
package.state.input.binds.LCTRL.downup (string)
package.state.input.binds.Q (dir)
package.state.input.binds.Q.downup (string)
package.state.input.binds.P (dir)
package.state.input.binds.P.downup (string)
package.state.input.binds.O (dir)
package.state.input.binds.O.downup (string)
package.state.input.binds.V (dir)
package.state.input.binds.V.downup (string)
package.state.input.binds.SPACE (dir)
package.state.input.binds.SPACE.downup (string)
package.state.input.binds.N (dir)
package.state.input.binds.N.downup (string)
package.state.input.binds.RBRACKET (dir)
package.state.input.binds.RBRACKET.downup (string)
package.state.input.binds.E (dir)
package.state.input.binds.E.downup (string)
package.state.input.binds.U (dir)
package.state.input.binds.U.downup (string)
package.state.input.binds.G (dir)
package.state.input.binds.G.downup (string)
package.state.input.binds.7 (dir)
package.state.input.binds.7.downup (string)
package.state.input.binds.D (dir)
package.state.input.binds.D.downup (string)
package.state.input.binds.L (dir)
package.state.input.binds.L.downup (string)
package.state.input.binds.F (dir)
package.state.input.binds.F.downup (string)
package.state.input.binds.A (dir)
package.state.input.binds.A.downup (string)
package.state.input.binds.B (dir)
package.state.input.binds.B.downup (string)
package.state.input.binds.TAB (dir)
package.state.input.binds.TAB.downup (string)
package.state.input.binds.M (dir)
package.state.input.binds.M.downup (string)
package.state.input.binds.K (dir)
package.state.input.binds.K.downup (string)
package.state.input.binds.H (dir)
package.state.input.binds.H.downup (string)
package.state.input.binds.ENTER (dir)
package.state.input.binds.ENTER.downup (string)
package.state.input.binds.X (dir)
package.state.input.binds.X.downup (string)
package.state.input.binds.DKEY_LBRACKET (dir)
package.state.input.binds.DKEY_LBRACKET.downup (string)
package.state.input.binds.Y (dir)
package.state.input.binds.Y.downup (string)
package.state.input.binds.I (dir)
package.state.input.binds.I.downup (string)
package.state.input.binds.W (dir)
package.state.input.binds.W.downup (string)
package.state.input.binds.6 (dir)
package.state.input.binds.6.downup (string)
package.state.input.binds.F9 (dir)
package.state.input.binds.F9.downup (string)
package.state.input.binds.R (dir)
package.state.input.binds.R.downup (string)
package.state.input.binds.J (dir)
package.state.input.binds.J.downup (string)
package.state.input.binds.Z (dir)
package.state.input.binds.Z.downup (string)
package.state.input.binds.MOUSE1 (dir)
package.state.input.binds.MOUSE1.downup (string)
package.state.input.binds.1 (dir)
package.state.input.binds.1.downup (string)
package.state.input.binds.2 (dir)
package.state.input.binds.2.downup (string)
package.state.input.binds.LBRACKET (dir)
package.state.input.binds.LBRACKET.downup (string)
package.state.input.binds.END (dir)
package.state.input.binds.END.downup (string)
package.state.input.binds.DOWN (dir)
package.state.input.binds.DOWN.downup (string)
package.state.input.binds.4 (dir)
package.state.input.binds.4.downup (string)
package.state.input.binds.PERIOD (dir)
package.state.input.binds.PERIOD.downup (string)
package.state.input.binds.8 (dir)
package.state.input.binds.8.downup (string)
package.state.input.binds.0 (dir)
package.state.input.binds.0.downup (string)
package.state.input.binds.GRAVE (dir)
package.state.input.binds.GRAVE.downup (string)
package.state.input.binds.5 (dir)
package.state.input.binds.5.downup (string)
package.state.input.binds.DELETE (dir)
package.state.input.binds.DELETE.downup (string)
package.state.input.binds.BACKSLASH (dir)
package.state.input.binds.BACKSLASH.downup (string)
package.state.input.binds.F1 (dir)
package.state.input.binds.F1.downup (string)
package.state.input.binds.9 (dir)
package.state.input.binds.9.downup (string)
package.state.input.binds.C (dir)
package.state.input.binds.C.downup (string)
package.state.input.binds.ESC (dir)
package.state.input.binds.ESC.downup (string)
package.state.input.binds.T (dir)
package.state.input.binds.T.downup (string)
package.state.input.binds.LSHIFT (dir)
package.state.input.binds.LSHIFT.downup (string)
package.state.input.binds.F2 (dir)
package.state.input.binds.F2.downup (string)
package.state.input.binds.MOUSEWHEEL_DOWN (dir)
package.state.input.binds.MOUSEWHEEL_DOWN.use (string)
package.state.input.binds.F5 (dir)
package.state.input.binds.F5.downup (string)
package.state.input.binds.3 (dir)
package.state.input.binds.3.downup (string)
package.state.input.binds.F3 (dir)
package.state.input.binds.F3.downup (string)
package.state.input.binds.F4 (dir)
package.state.input.binds.F4.downup (string)
menu (dir)
menu.text_color (vector)
The color of text in the main menu.
menu.back_alpha_dark (float)
The darker background alpha of windows in the main menu. Some windows have a darker background than others.
menu.back_color (vector)
The background color of windows in the main menu.
menu.in_load_error (bool)
Whether the user is in a menu to deal with an error from loading a game. These menus are essentially popup menus.
menu.ent_press_key_prompt (bool)
Whether a message appears to use an item (that can be used) when the player has their crosshair on it. This var should probably be removed.
menu.in_main (bool)
If true, the game is paused (if there is a game loaded) and the user is in the main menu.
menu.last_player_name (string)
The player name associated to the last game that was played. This is useful because when the user loads a game, the user will probably want to select this name.
menu.back_alpha (float)
The background alpha of windows in the main menu.
menu.was_in_menu (bool)
True iff last cycle the player was either in the main menu, the console, or a game menu. This is needed because once the player opens some kind of menu from normal gameplay, all the input keys must be "cleared".
menu.render_world_behind (bool)
If true, then when in a main menu, the world will be rendered behind the menu. Note: if the frame rate is too low, the world will NOT be rendered behind the menu.
menu.in_package (bool)
If true, the game is paused and the user is in menu that comes with the package.
menu.load_error (dir)
If there is an error loading a game, the user must deal with a popup menu. Some of these menus allow the user to resume the load while forcing the value of a var. To resume the load, we must store the params that were passed to the loading function.
menu.load_error.2 (dir)
menu.load_error.2.has (bool)
menu.load_error.2.force_expected_package_ver (string)
menu.load_error.2.force_expected_eng_ver (string)
menu.load_error.1 (dir)
menu.load_error.1.override_eng_ver (string)
menu.load_error.1.type_new (bool)
menu.load_error.1.has (bool)
menu.load_error.1.new (dir)
menu.load_error.1.new.world_seed (int)
menu.load_error.1.new.player (string)
menu.load_error.1.new.starting_config_file (string)
metagame (dir)
Variables that start with "game" are removed just before we load a game. However, variables that start with "metagame" are not. That is, metagame vars can last longer than one loaded game. So you can set metagame.cheat.god to true, then load a different game and it will still be true.
metagame.cheat (dir)
Some cheat codes are defined by the package, and so you can enable them, save the game, exit the program, start the program again, load the game, and the cheat code will be enabled again. Other cheat codes, such as the ones here, are system cheat codes. They are not stored when the program exits. On the other hand, they are not associated to any game. So you can set metagame.cheat.god to true, load a different game, than god mode will still be on.
metagame.cheat.noclip (bool)
metagame.cheat.shrink_any (bool)
metagame.cheat.enabled (bool)
metagame.cheat.god (bool)
metagame.input (dir)
metagame.input.binds (dir)
There are input events, and then there are input actions. Input events are bound to input actions. For example, metagame.input.binds.input.6.down may be set to CUSTOM_03.
metagame.input.binds.actions (dir)
There are two kinds of input actions: custom and package. Custom input actions are specified here. When an action is executed, the string will be executed as a console command. Package input actions, on the other hand, are defined by the package in the binds.txt file. All package input actions should start with "PACKAGE".
metagame.input.binds.actions.CUSTOM_40 (dir)
metagame.input.binds.actions.CUSTOM_40.secondary (string)
metagame.input.binds.actions.CUSTOM_40.nickname (string)
metagame.input.binds.actions.CUSTOM_40.primary (string)
metagame.input.binds.actions.CUSTOM_39 (dir)
metagame.input.binds.actions.CUSTOM_39.secondary (string)
metagame.input.binds.actions.CUSTOM_39.nickname (string)
metagame.input.binds.actions.CUSTOM_39.primary (string)
metagame.input.binds.actions.CUSTOM_36 (dir)
metagame.input.binds.actions.CUSTOM_36.secondary (string)
metagame.input.binds.actions.CUSTOM_36.nickname (string)
metagame.input.binds.actions.CUSTOM_36.primary (string)
metagame.input.binds.actions.CUSTOM_35 (dir)
metagame.input.binds.actions.CUSTOM_35.secondary (string)
metagame.input.binds.actions.CUSTOM_35.nickname (string)
metagame.input.binds.actions.CUSTOM_35.primary (string)
metagame.input.binds.actions.CUSTOM_34 (dir)
metagame.input.binds.actions.CUSTOM_34.secondary (string)
metagame.input.binds.actions.CUSTOM_34.nickname (string)
metagame.input.binds.actions.CUSTOM_34.primary (string)
metagame.input.binds.actions.CUSTOM_38 (dir)
metagame.input.binds.actions.CUSTOM_38.secondary (string)
metagame.input.binds.actions.CUSTOM_38.nickname (string)
metagame.input.binds.actions.CUSTOM_38.primary (string)
metagame.input.binds.actions.CUSTOM_32 (dir)
metagame.input.binds.actions.CUSTOM_32.secondary (string)
metagame.input.binds.actions.CUSTOM_32.nickname (string)