fixed some typos
This commit is contained in:
parent
b2fb6cc094
commit
e90b0d389b
2 changed files with 162 additions and 5 deletions
10
Messages.md
10
Messages.md
|
@ -10,14 +10,14 @@ may contain `null` instead of their value type, or may be completely omitted.
|
|||
## DataTypes
|
||||
|
||||
### Tuples
|
||||
wi will write tuples types as `<(A,B)>` for a Tuple containing something of `A` and
|
||||
We will write tuples types as `<(A,B)>` for a Tuple containing something of `A` and
|
||||
something of `B`. We will encode this as a JSON Array of length n, where n is the
|
||||
length of the tuple.
|
||||
For example a Value of `<(Number,String)>` might be `[5,"Hello World!"]`
|
||||
|
||||
### Lists
|
||||
we will write `[A]` for the type of Lists containing stuff of type `A`. These are
|
||||
encoded by Arrrays of arbitrary length.
|
||||
encoded by Arrays of arbitrary length.
|
||||
|
||||
### Tick
|
||||
#### TickType
|
||||
|
@ -31,7 +31,7 @@ A Tick is an Object of the following form:
|
|||
"TickValue" : <Number>
|
||||
}
|
||||
```
|
||||
The TickValue field is only requiered if the "TickType" field contains the Value "Tick"
|
||||
The TickValue field is only required if the "TickType" field contains the Value "Tick"
|
||||
|
||||
### Player
|
||||
#### UUID
|
||||
|
@ -62,7 +62,7 @@ you don't know that Player you should add it.
|
|||
"PlayerName" : <String>
|
||||
}
|
||||
```
|
||||
Remark: `<Maybe null>` allows you to optionaly include this field with a `null` value. But
|
||||
Remark: `<Maybe null>` allows you to optionally include this field with a `null` value. But
|
||||
you might omit it.
|
||||
|
||||
UnknownPlayer are used to introduce new Player to the Server.
|
||||
|
@ -134,7 +134,7 @@ This is used to change the name of a Player without moving them.
|
|||
"Player" : <KnownPlayer>
|
||||
}
|
||||
```
|
||||
If you don't set the name in KnownPlayer no namechange will occur.
|
||||
If you don't set the name in KnownPlayer no name change will occur.
|
||||
|
||||
## Events
|
||||
A Server might Send the following Events to a client.
|
||||
|
|
157
Messages.md.bak
Normal file
157
Messages.md.bak
Normal file
|
@ -0,0 +1,157 @@
|
|||
We will first describe some simple JSON values. We will use them later in more complicated
|
||||
objects with the Syntax `"filedName" : <name>`. We will write standard JSON types in the same
|
||||
way. (For example `<Number>` for a correct JSON number). If there are multiple allowed values we will
|
||||
write it with a `|`, for example `"fieldName" : <Number>|<String>` if `"filedName"` may contain a
|
||||
`<Number>` or a `<String>`.
|
||||
|
||||
For optional fields we write the corresponding value as `<Maybe name>`. Optional fields
|
||||
may contain `null` instead of their value type, or may be completely omitted.
|
||||
|
||||
## DataTypes
|
||||
|
||||
### Tuples
|
||||
wi will write tuples types as `<(A,B)>` for a Tuple containing something of `A` and
|
||||
something of `B`. We will encode this as a JSON Array of length n, where n is the
|
||||
length of the tuple.
|
||||
For example a Value of `<(Number,String)>` might be `[5,"Hello World!"]`
|
||||
|
||||
### Lists
|
||||
we will write `[A]` for the type of Lists containing stuff of type `A`. These are
|
||||
encoded by Arrrays of arbitrary length.
|
||||
|
||||
### Tick
|
||||
#### TickType
|
||||
A TickType is one of the following Strings:
|
||||
`"Abwarten"`,`"Bereithalten"`,`"Tick"`
|
||||
#### Tick
|
||||
A Tick is an Object of the following form:
|
||||
```
|
||||
{
|
||||
"TickType" : <TickType>
|
||||
"TickValue" : <Number>
|
||||
}
|
||||
```
|
||||
The TickValue field is only requiered if the "TickType" field contains the Value "Tick"
|
||||
|
||||
### Player
|
||||
#### UUID
|
||||
we encode UUID as Strings of the following form:
|
||||
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
Where every x represents a character between 0 and f.
|
||||
|
||||
#### Player
|
||||
A Player is either an UnknownPlayer or a KnownPlayer. Aka `<Player>`
|
||||
is a synonym for `<KnownPlayer> | <UnknownPlayer>`. As a client you
|
||||
will never generate UUIDs for Player. This is always the job of the Server.
|
||||
|
||||
##### KnownPlayer
|
||||
```
|
||||
{
|
||||
"PlayerUUID" : <UUID>
|
||||
"PlayerName" : <Maybe String>
|
||||
}
|
||||
```
|
||||
|
||||
If `"PlayerName"` is set, the Player has a new Name. The Server will always use KnownPlayer. If
|
||||
you don't know that Player you should add it.
|
||||
|
||||
##### UnknownPlayer
|
||||
```
|
||||
{
|
||||
"PlayerUUID" : <Maybe null>
|
||||
"PlayerName" : <String>
|
||||
}
|
||||
```
|
||||
Remark: `<Maybe null>` allows you to optionaly include this field with a `null` value. But
|
||||
you might omit it.
|
||||
|
||||
UnknownPlayer are used to introduce new Player to the Server.
|
||||
|
||||
### TickLeiste
|
||||
As every Session has exactly one TickLeiste attached to it, we never need to communicate an ID
|
||||
for a TickLeiste. But we still have to versions of TickLeiste.
|
||||
|
||||
#### KnownTickLieste
|
||||
|
||||
```
|
||||
[(<Tick>,[<KnownPlayer>])]
|
||||
```
|
||||
These are mainly used to communicate existing TickLeisten from the server to the client
|
||||
|
||||
#### UnknownTickLeiste
|
||||
```
|
||||
[(<Tick>,[<UnknownPlayer>])]
|
||||
```
|
||||
These are mainly used so the client can initialize a TickLeiste.
|
||||
|
||||
## Requests
|
||||
a client is allowed to make the following Requests
|
||||
|
||||
### RequestType
|
||||
Every Request has a field `"RequestType" : <RequestType>`. For
|
||||
the allowed values of `<RequestType>` and the implication for the rest of
|
||||
the corresponding fields, look at the documentation of the specific requests.
|
||||
|
||||
### SetPlayerTickR
|
||||
This request is used to set a player to a specific Tick. If the Player is an
|
||||
`UnknownPlayer` it will be added.
|
||||
```
|
||||
{
|
||||
"RequestType" : "SetPlayerTickR",
|
||||
"Player" : <Player>
|
||||
"Tick" : <Tick>
|
||||
}
|
||||
```
|
||||
|
||||
### InitializeTickLeisteR
|
||||
|
||||
Initialize a new TickLeiste, either one saved on the client side,
|
||||
to get a new empty one just set `"TickLeiste": []`
|
||||
|
||||
```
|
||||
{
|
||||
"RequestType" : "InitializeTickLeisteR",
|
||||
"TickLeiste" : <UnknownTickLeiste>
|
||||
}
|
||||
```
|
||||
|
||||
### TickLeisteR
|
||||
Request the current TickLeiste
|
||||
```
|
||||
{
|
||||
"RequestType" : "TickLeisteR",
|
||||
}
|
||||
```
|
||||
This is used to get the current TickLeiste from server. The server on its own will only
|
||||
send incremental updates.
|
||||
|
||||
|
||||
### ChangeNameR
|
||||
This is used to change the name of a Player without moving them.
|
||||
```
|
||||
{
|
||||
"RequestType" : "ChangeNameR",
|
||||
"Player" : <KnownPlayer>
|
||||
}
|
||||
```
|
||||
If you don't set the name in KnownPlayer no namechange will occur.
|
||||
|
||||
## Events
|
||||
A Server might Send the following Events to a client.
|
||||
|
||||
### SetPlayerTickE
|
||||
```
|
||||
{
|
||||
"EventType" : "SetPlayerTickE",
|
||||
"Player" : <KnownPlayer>
|
||||
"Tick" : <Tick>
|
||||
}
|
||||
```
|
||||
|
||||
### InitializeTickLeisteE
|
||||
```
|
||||
{
|
||||
"EventType" : "InitializeTickLeisteE",
|
||||
"TickLeiste" : <KnownTickLieste>
|
||||
}
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue