type {
attribute value(s)
attribute value(s)
...
}
type {
attribute value(s)
...
}
...
In addition to the attributes in the shape format guide, 3 others are
supported by the server. They are :
copy source {
attribute values(s)
attribute values(s)
...
}
Source is the name of an already defined shape to copy. The new shape
has all the same attributes as the source with the exception of the
name, which is not copied. New values for common attributes
can be specified in the copied shape, so you can reposition, recolour or
scale the new shape. However, you can't add new sub-shapes to a collection
or change the radius of a sphere shape in a copy. A shape with a name starting with _ is a definition shape only, and is not visible to clients. Definition shapes are mainly used for copying, allowing you to do something like :
coll { name _column
box { corners 0 0 0 1 1 .1
colour 250 200 150
}
box { corners 0 0 1.9 1 1 2
colour 250 200 150
}
tube { centre .5 .5 1
radius .4
height 1.8
colour 250 250 250
}
cmt "A stone column"
}
copy _column { pos 5 0 0 }
copy _column { pos 5 5 0 }
copy _column { pos 5 10 0 }
copy _column { pos 5 15 0 }
Every server must have a shape called _player, which is the avatar
that new players created on the server start with. This can be any
shape, but should follow the avatar creation rules defined in the
Shape format guide (centred around (0,0),
facing along the x axis and roughly 2 meters high). There is no requirement
that servers making up different parts of the same world have the same
default avatar, as player's shapes are transferred from server to
server when a server boundary is crossed.