*** Important ***: Not every element exists in the NVGT version, and some  element calls will be depricated upon changing the syntax or through other factors. This has been included as a sort of reference.

Rawdata Glossary
This has been copied over from the readme file into a separate file. Consider this file still part of the readme, as references to the readme will be made.

This part of the readme isn't necessarily a guide, but rather a definition of the several parsed data entries you will see in the game when using the /rawmap and /rawdata features.
Keep in mind these inputs can also be entered with the add line feature, included in the builder menu. For example, pressing Enter on add a line, type url, space, then paste your URL and hit Enter.
When dealing with parsed lines, they are always separated by spaces. For example, platform, space, min X, space, max X, space, min Y, space, etc.
When you think of rawdata, try to think of it as inputting numbers or strings of text directly. Rather than having input fields pop up prompting you to enter specific information, or having a menu appear telling you to select something, try to think of it as if you were entering the strings manually.
Let's use an example. When making a platform, you are asked for the min x, max x, min y, max y, the min z, and the max z. Then finally, a menu appears asking you to select a platform.
If you want to do this in rawdata form, you'd follow through the steps in your head.
We know that the name of the parsed entry we're dealing with is of course, platform. So we type that first. Hit space.
Next we have our min x, so we type a number. Hit Space.
Our max x. Type a number, and we hit Space again. We keep doing this and following through the prompts in our head.
Then, for the last part, we have to choose a platform. If we know the name of the platform, type it. Such as carpet2.

From builder chapter:
The min X (minimum x) is the leftmost x of what you are building.
The max X (maximum x) is the rightmost x of what you are building.
The min y (minimum y) is the bottom most y of what you are building.
The max y (maximum y) is the topmost y of what you are building.
The min z (minimum z) is the minimum height of what you are building.
The max z (maximum z) is the maximum height of what you are building.
If you are building a 2D map, always use 0 for the y parameters, and then input your y parameters as the z parameters. The builder automatically does this for you, but if you are doing it manually, doing it this way will ensure the map comes out correctly. For example, building a staircase from 0, 0, to 0, 10, would look something like this.
platform 0 0 0 0 0 10 stairs
To the game it will be processed like this, ignoring the y.
platform 0 0 0 10 stairs

Definitions sorted by element, explanation, data, example.
If a parameter that is specified is optional, you will see a + (plus) symbol in front of the parameter. For example, +volume.


Platform
A standard surface, like grass or cement.
platform minX maxX minY maxY minZ maxZ platform_type
platform 0 50 0 50 0 0 grass

Wall
A wall which prevents the user from going somewhere, perfect for tables, ledges, buildings, etc.
wall minX maxX minY maxY minZ maxZ wall_type
wall 0 0 0 0 0 10 wallwood

Floor
Introduced in 2.1, a floor is simply an indication of a floor in your map. If your map has several levels, floors indicate where this level starts and where it ends.
Floors are required for other map elements like elevators, because they indicate where the elevator should deposit the user.
Floors are always going to be numbered by how they were inputted in the mapdata. This means if you put something meant for floor 2 above floor 1,floor 2 will become floor 1 and floor 1 will become floor 2. Simply speaking without confusion, your floors will switch places.
If you would like to label your floors, simply add text after the floor parameters, just like if you were making a zone.
floor minX maxX minY maxY minZ maxZ +label
Let's create two floors. We're going to assume our map boundaries are 50 (max X), 50(max Y), 50 (max Z).
Keep in mind these floors are not labeled.
Let's say from 0 to 25 on the z axis, I'm making floor 1. From 26 to 50, I'm making floor 2. It would be formatted like this.
floor 0 50 0 50 0 25
Okay, that's our first floor. Now lets make our second floor, directly above floor 1. Be careful not to put gaps in between floors, and not to overlap floors either. Nothing will actually break if you do this, but there is a chance that a floor from below could be viewed from above and vice versa.
floor 0 50 0 50 26 50
Now when the user goes to 26 on the z axis, unless I have it disabled, pressing C will display floor 2. If I am less than 26 on the z axis, it will show floor 1 instead.

Blockage
A blockage is simply a wall that speaks the text you want it to speak, when you either bump into it, or are within its boundaries.
blockage minX maxX minY maxY minZ maxZ text
blockage 0 50 0 50 0 50 You can't go here!

Source
A typical sound source, like birds, water, room tones, etc.
source minX maxX minY maxY minZ maxZ filename +volume +pitch
source 0 50 0 50 0 50 birds.ogg -5 100

Timed source
A timed source is a source which plays at a specified interval. For example, you can use this to mimick at cat meowing every 15 seconds. The interval is specified in milliseconds.
timed_source minX maxX minY maxY minZ maxZ filename interval(in_milliseconds) +volume +pitch
timed_source 0 50 0 50 0 50 wallwood9.ogg 10000 -5 100

Ambience
Like sources, but these only play when you are within its boundaries. If not the sound will pause until you are within its boundaries again. Perfect for creating maps that have both interior and exterior perspectives.
ambience minX maxX minY maxY minZ maxZ filename +volume +pitch
ambience 0 50 0 50 0 50 birds.ogg -5 100

Excludable source
Excludable sources almost function like ambiences. The only difference however, is that an excludable source acts like a normal sound source, except it silences the source when you are within a set of specified boundaries. These are called excludable zones, covered later in this section.
xsource minX maxX minY maxY minZ maxZ ID filename +volume +pitch
An excludable source works by a reference ID. In order to manipulate the boundaries of an excludable source, you must give it its own ID. This can be anything, such as MyHouse, MyCity, etc. It should be something that you can remember.
To simplify things, let us assume that this is a building.
platform 10 20 10 20 0 0 carpet
Now, let's assume we want to add birds.
If we were to use a regular source, we would hear the birds throughout the building. But say that we didn't want to hear the birds inside, but only around the building. This is where an excludable source comes in.
So let's break it down.
Let's say our map is 30x30x30, meaning 30 is the maxX, 30 is the maxY and 30 is the maxZ.
platform 0 30 0 30 0 0 concrete
Now let's make a simple building.
platform 9 21 9 21 0 10 wallgeneric
platform 10 20 10 20 0 0 carpet
platform 10 20 10 20 1 9 air
I know that was a stupid way of constructing it but, hey, there's no wrong way to build.
Now, we have made our building. This is where we add the excludable source.
Let's break this down into sections.
First, we know our map is 30x30x30, so let's start by making an excludable source, with a reference ID named Outside, that spans the entire map.
xsource 0 30 0 30 0 30 Outside birds1.ogg
Now, let's say we want to mute the source so it cannot be heard in the building.
Remember how we labeled our excludable source Outside? Well, we make what is called an excludable zone.
An excludable zone silences a given source ID in specified boundaries. This means you are able to create several excludable zones to silence a source in a given area. This is useful for a set of houses, for example.
Let's add an excludable zone that silences the excludable source called Outside.
The syntax of excludable zones is x_zone ID minx maxx miny maxy minz maxz
x_zone Outside 10 20 10 20 0 10
Now, the Outside source will no longer be able to be heard in the building, unless you step out.

Speaker
Speakers are a feature which allow you to play a soundtrack in two different locations to simulate a pair of stereo speakers. 
These are not very high quality, but they basically allow you to position a soundtrack in the left channel, and the right channel, to simulate speakers. The left speaker will be panned all the way to the left to demonstrate the left channel, and the right speaker will be panned all the way to the right to demonstrate the right channel, so if you encounter a speaker it may sound a little weird, like it's off to your left or right.
It's always good to try and have the speaker's channel on the same y value as the other channel. I tried placing the right channel a few tiles in front of the left channel, and they sort of echoed off each other.
speaker left_channel_x left_channel_y left_channel_z right_channel_x right_channel_y right_channel_z filename volume
speaker 0 0 0 10 0 0 music1.ogg -5

Music
Music which should be used throughout the entire map.
music filename +pitch
music music5.ogg 100

Instrument handler
An instrument handler is a feature which gives you access to instruments in the game.
To insert an instrument handler, simply specify an x, y and z value, then the instrument type. Note that the instrument type needs to be valid.
For a reference of the compatible instruments, refer to the instrument handler option in the builder menu, which provides a menu of available instruments to use.
Once an instrument handler is initiated, the instrument will be presented to the user in the simulated form of a MIDI keyboard, with black keys using the QWERTY row and white keys using the ASDFG row. They can also press Space to toggle sustain.
instrument x y z type
instrument 0 0 0 piano

URL
This feature allows you to play radio streams or broadcasts on your map by passing a URL to it. Not all URL's will work, like SoundCloud, YouTube, etc. Audio streams will be fine, Dropbox links and OneDrive links have so far been tested and they work fine. With Dropbox, be sure that the link says dl=1 at the end, not dl=0, otherwise it won't play.
url address
url http://myurl.com/myurl.mp3

Sign
A sign that will display text when the user clicks on it with the Enter key. Perfect for map explanations and other things.
sign x y z text
sign 0 0 0 Hi, welcome to Golden Crayon.

Text square
A sign that will display text when the user clicks on it with the Enter key, without the sign sound on top of it. Perfect for map explanations and other things.
txt x y z text
txt 0 0 0 Hi, welcome to Golden Crayon.

Interactables
Support for legacy interactable syntax has been deprecated. Refer to interactables.txt for full documentation on interactables and their commands.

Dialog
Dialogs allow you to simulate stories or RPG's, like Manamon or BK3, by pressing Enter after each snippet.
Dialog lines are always separated by -- (two dashes). Alternatively use the dialog builder (explained in chapter 4) to achieve this for you.
dialog x y z text
dialog 0 0 0 Hi--I'm a dialog--Each time you press Enter--You will hear these four lines.

Zone
This tells the user their current location at that point in time with custom text. They can press Z to find this information. For example, a forest, the living room, the couch, etc.
zone minX maxX minY maxY minZ maxZ text
There is also a flag you can add at the end of a zone, which allows the zone to be viewable in the locations menu, which is accessed by pressing L.
@track@
This must be at the end of the zone line.
Create a regular zone.
zone 0 50 0 50 0 50 A test map
Create a zone that can be tracked.
zone 10 10 10 10 0 50 A tall tree @track@

Chat Zone
This enables voice chat in a given area. Users will only be able to use voice chat in that given area, and any other areas you decide to add to the map.
chat_zone minX maxX minY maxY minZ maxZ
chat_zone 0 10 0 10 0 10

Death message
If you have a map in which someone dies, whether it is a challenge map or it is just something funny, hearing player was just killed by xxx a lot of times can get old and boring. Death messages allow you to write your own text when a person dies in the specified area. Adding several of these messages in the same area will cause the server to pick a random message.
Constants to use in the message have a percent in front to signify to replace it with the specified parameter:
%name: Replaces with the players name.
%zone: Replaces with the player's current location.
%map: Replaces with the player's map.
%x, %y or %z: Replaces with player's x, y or z cordinates at the time of dying.
dmg minX maxX minY maxY minZ maxZ text
dmg 0 50 0 50 0 50 Wow, good job %name. You just died at %zone, on %map at %x, %y, %z!

Spawn Location
This spawns you on the map within a given set of boundaries. If you only want the user to spawn at specific coordinates, set the min and max X, the min and max Y, and the min and max Z, all to their respective stationary values.
spawnloc minX maxX minY maxY minZ maxZ
Here is a spawn location that will spawn a user randomly between the given points.
spawnloc 15 30 15 30 0 0
Keep in mind if you set the max Z higher than a given min Z, such as 0 10, you will sometimes plummet, because you told the game that it can spawn you randomly on the z axis. If this is your intention, go on right ahead, but that is just something to note.
Here is a spawn location that will spawn the user in one spot.
spawnloc 15 15 20 20 0 0
This will ensure that the user will always spawn at 15, 20, 0.
Note: If you add several spawn locations on your map, the game will choose a random one out of the given locations. For example, if you were to create a spawn location by a fireplace, then in your bedroom, then in the backyard, it will randomly select one out of those 3.

Hook Controller
This limits the grappling hook's range within a certain area. This takes a minimum, which is the amount the user can hook down, and a maximum, how far the user can hook up.
hkc minX maxX minY maxY minZ maxZ hookmin hookmax
Let's say in one area, I want the user's hook to be able to hook 10 tiles down, but I want to restrict them from hooking up. I want this controller to extend to 50 on the x, 50 on the y, and 50 on the z. Remember, if this was a 2D map, you would use 0 0 as the minY and maxY coordinates, then use minZ and maxZ as if they were y coordinates. It would look like this.
3D
hkc 0 50 0 50 0 0 10 0
2D
hkc 0 50 0 0 0 50 10 0
The 10 is the amount the user can hook down, and the 0 is the amount the user can hook up. Since hooking up is set to 0, they cannot hook up at all.
You have the option of having several hook controllers on your map. This means that if you want the user to have different hooking distances in different locations, you can add several hook controllers to do so.
Without any hook controllers present on the map, the user can hook 50 tiles up or down by default.
You also have the option of disabling the hook entirely, further down in this glossary.

Clock
Clocks allow you to display the user's system time when they press Enter on it. You can choose between 24-hour or 12-hour format.
If you use 0 for the format, the clock will be 24-hour. If you use 1 for the format, the clock will be 12-hour.
To create a clock, use beginning text. For example, currently, it is... is a good starter. The time will then be displayed after your text.
clock x y z format beginning_text
clock 0 0 0 1 The time is currently

Calendar
Displays the user's system date when the user presses Enter on the calendar. Same as clocks, uses beginning text.
calendar x y z beginning_text
calendar 0 0 0 The date is

Door
Doors are perhaps the hardest parsed lines to look at, as they hold so much parameters. When a user presses Enter on a door, or if the door is automatic, they will be moved to new cordinates.
To control if the door is automatic, use 0 for manual and use 1 for automatic.
If you want a door to instnatly move a user to the new cordinates, use -1 as the door's speed. Door speeds are measured in milliseconds.
You can also optionally choose to add a password by putting the password after the automatic/manual parameter.
If you don't want a door to make a specific sound, like a moving sound or loop sound, use none.ogg or just .ogg.
door start_x start_y start_z end_x end_y end_z speed move_sound loop_sound open_sound close_sound manual_or_automatic +password
door 0 0 0 50 50 0 500 .ogg .ogg door1open.ogg door1close.ogg 0

Gate
A gate is basically a door that holds length, width and height parameters. Doors and gates are perhaps the hardest parsed lines to look at, as they hold so much parameters.
When a user presses Enter on a gate or if the gate is automatic, the following will happen depending on which type of gate you create.
A north south gate is a gate which only allows the y and z to be moved, but not the x. This is useful for large doors, minimizing the time it would take to build individual ones. For example, moving from 30, 50, 0, to 30, 70, 0.
An east west gate is a gate which only manipulates the x and z, but keeps the y intact. For example, moving from 50, 30, 0, to 55, 30, 0.
To control if the gate is automatic, use 0 for manual and use 1 for automatic.
If you want a gate to instantly move a user to the new cordinates, use -1 as the gate's speed. Gate speeds, just like doors, are measured in milliseconds.
You can also optionally choose to add a password by putting the password after the automatic/manual parameter.
If you don't want a gate to make a specific sound, like a moving sound or loop sound, use none.ogg or just .ogg.
North south gate example:
gate minX maxX minY maxY minZ maxZ end_y end_z speed move_sound loop_sound open_sound close_sound manual_or_automatic +password
gate 0 10 10 10 0 6 15 0 500 .ogg .ogg door1open.ogg door1close.ogg 0
east west gate example:
gate2 minX maxX minY maxY minZ maxZ end_x end_z speed move_sound loop_sound open_sound close_sound manual_or_automatic +password
gate2 30 30 0 60 0 6 35 0 500 .ogg .ogg door1open.ogg door1close.ogg 0

Lift
Lifts are platforms which move vertically (up/down) in a specific area. They are like elevators in which a user can step onto, and then be transported up or down. You can choose how fast the lift moves, and which platform the lift uses.
Supports loop, start, and end sounds for enhanced audio experience.
Start position can be "top", "bottom", or "random" (default).
lift minX maxX minY maxY minZ maxZ speed platform_type +sound_file +sound_volume +sound_pitch +start_sound +end_sound +start_position
lift 20 22 20 22 1 8 750 platform lift.ogg 0 100 liftstart.ogg liftend.ogg top

Elevator
Elevators allow you to navigate through floors, sort of like Manamon. In order for elevators to work, you must have floors on your map, otherwise you will be given an error.
Elevators will pull up a menu displaying the available floors on the map. You can then use your UP and Down arrow keys to select a floor, then press Enter to go to that floor.
Keep in mind you can not move while in an elevator.
Elevator announcements can either be announced by a screen reader, SAPI, or a custom sound of your choosing. You can also choose whether to have elevator music or not. The speed controls how fast an elevator will move. The intro lets you choose what the menu should say as the user pulls it up.
elevator minX maxX minY maxY minZ maxZ speed loop_sound move_sound open_sound close_sound announcement_type announcement_sound use_music intro
This is an example of an elevator which uses an elevator beep sound, along with some elevator music.
elevator 30 40 30 40 0 20 200 elevatorloop4.ogg elevatorloop1.ogg elevator1open.ogg elevator1close.ogg 1 elevatorbeep5.ogg 1 Welcome to my elevator. This is floor %f. Where would you like to go?
Notice the %f in the intro. %f means current floor, useful if you want to tell the user their current floor as they are going into the elevator.
Next, we have two examples with the music turned off, and the screen reader or SAPI is used to announce floors instead of a custom sound.
This is an example with a screen reader.
elevator 30 40 30 40 0 20 200 elevatorloop4.ogg elevatorloop1.ogg elevator1open.ogg elevator1close.ogg 0 none.ogg 0 Welcome to my boring little elevator. This is floor %f. Where would you like to go?
This is an example with SAPI.
elevator 30 40 30 40 0 20 200 elevatorloop4.ogg elevatorloop1.ogg elevator1open.ogg elevator1close.ogg 2 none.ogg 0 Welcome to my boring little elevator. This is floor %f. Where would you like to go?
Notice the none.ogg in the data. This parameter will be ignored, but is still required to be entered for elevators to work correctly. If the elevator is set to use a screen reader, this parameter will not be activated, and no sound will be played. Even if you typed elevatormega.ogg, iamahugegiantelevator.ogg, thisisanelevatornow.ogg, thiselevatorisstupid.ogg, etc, it wouldn't care. LOL.

Belt (Conveyor Belt)
Belts continuously move players in a specified direction while allowing free movement.
Supports 8 cardinal directions in 3D maps (north, northeast, east, southeast, south, southwest, west, northwest) and 4 directions in 2D maps (up, down, left, right).
Direction compatibility: 3D directions work in 2D maps (mapped to closest equivalent), and vice versa.
belt minX maxX minY maxY minZ maxZ direction speed +loop_sound
belt 10 20 5 15 0 0 northeast 200 conveyor.ogg
belt 0 10 0 5 0 0 right 150

Travelpoint
Travelpoints are elements which a user can press Enter on and be transported to a new map with specified cordinates on that new map.
Travelpoints will only function if the following requirements are met.
The map is visible. If the map is invisible the travelpoint will fail.
The map exists.
The map is not a challenge map. You cannot create travelpoints to challenge maps, or in other words, maps that have been officially added to the challenge maps menu.
If you want to create a travelpoint back to the main map, use main as the destination map parameter.
You can also choose to add custom text to your travelpoint which will speak as the user is being transported.
travelpoint minX maxX minY maxY minZ maxZ destination_x destination_y destination_z destination_map +travel_text
travelpoint 0 50 0 50 0 10 0 0 0 main Have a good day.

Hazard
Hazards instantly kill the user when they are stepped on.
hazard minX maxX minY maxY minZ maxZ
hazard 0 50 0 50 0 50

Checkpoint
Checkpoints allow you to specify a return point if the user dies. For example, you can put a checkpoint at 50, 50, 0, and if the user dies at 100, 100, 0, instead of going back to main, they will respawn at 50, 50, 0.
checkpoint x y z
checkpoint 50 50 0

Health drainers
If you have played STW, you will know that health drainers drain your health over time, until you die. These can become useful in things like fires, burning buildings, etc.
The speed (in milliseconds) will determine the interval you take damage, and the damage will be dealt when this interval has elapsed.
health_drainer minx maxx miny maxy minz maxz speed damage
Let's make a fake fire.
platform 0 10 0 10 0 0 fire
zone 0 10 0 10 0 10 This is a fire! Move away!
Now let's add a health drainer that will drain the user's health every second, and they will take 100 damage.
health_drainer 0 10 0 10 0 10 1000 100

Main maps
Some people may want to define a map that they worked on as a main map. To do this, you do the following.
First, the map that you are trying to define as a main map, needs to have the Hangouts / main category as one of its categories. It doesn't need to be the only category, but it must be one of them.
Second, you will build what is called a main menu area.
menu minx maxx miny maxy minz maxz
In this area, you will be able to open up the main menu. Under that menu, clicking set as main map will set that as your default map. Any time you leave a map or die in a challenge map, you will be returned to that map, rather than the default main map.
Feel free to put menus in multiple places.

The following commands only use one or two parameters. For example, a one parameter command could be nocamera, but a two parameter command could be health 5000.

Map name
Sets the name of your map.
name mapname
name test

maxX:
Sets the maximum x of your map.
maxx value
maxx 50

maxY:
Sets the maximum y of your map.
maxy value
maxy 50

maxZ:
Sets the maximum z of your map.
maxz value
maxz 50

Default health
Configures the default health on the map.
health value
health 30000

Public
Makes the map public.
public

Visible
Makes the map visible.
visible

Disable the camera
Disables the camera on the map.
nocamera

Disable the spyer
Disables the spyer on the map.
nospyer

Disable coordinates
Disallows the viewing of coordinates on your map.
nocoords

Disable floor numbers
This allows you to disable the announcement of your current floor when pressing C.
nofloors

Disable the grappling hook
Prevents the grappling hook from being used on the map.
nohook

Disable biking
Prevents bikes from being used on the map.
nobiking

Disable boating
Prevents boats from being used on the map.
noboating

Disable taking damage
Prevents taking damage when falling.
nodamage

Set autowalk setting
In your map data, use the following line for whatever applies.
You want the user to tap their arrow keys, but you don't want them to hold them down.
autowalk0
You want the user to only hold their arrow keys down, they are unable to tap them.
autowalk1
You don't want neither.
Do not add anything.

Timed map
Make the map timed, which requires the user to complete the map under a certain amount of time, otherwise they fail.
time minutes
time 5

2D mode
Convert your map into a 2D format.
2D


Add a contributor
Adds a specified contributor to your map.
contributor name
contributor John
