aboutsummaryrefslogtreecommitdiff
path: root/src/shared/net/lib/protobuf/net.proto
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/net/lib/protobuf/net.proto')
-rw-r--r--src/shared/net/lib/protobuf/net.proto68
1 files changed, 57 insertions, 11 deletions
diff --git a/src/shared/net/lib/protobuf/net.proto b/src/shared/net/lib/protobuf/net.proto
index 79d58e7..f84c0e7 100644
--- a/src/shared/net/lib/protobuf/net.proto
+++ b/src/shared/net/lib/protobuf/net.proto
@@ -25,19 +25,38 @@ message ivec3 {
int32 z = 3;
}
-message player {
+message entity {
uint32 index = 1;
+ coords chunk_pos = 2;
+ vec3 local_pos = 3;
+}
+
+message animate {
+ entity entity = 1;
+
uint32 commands = 2;
+ angles viewangles = 3;
+ vec3 velocity = 4;
+ uint32 active_item = 5;
+}
- coords chunk_pos = 3;
- vec3 local_pos = 4;
+message item {
+ uint32 index = 1; // in inventory
+ uint32 type = 2;
+ uint32 quantity = 3;
+}
- angles viewangles = 5;
- vec3 velocity = 6;
+message item_array {
+ repeated item items = 1;
}
-// END OF STRUCTS
-// PACKETS
+message player {
+ animate animate = 1;
+ item_array inventory = 2;
+}
+// END STRUCTS
+
+// PACKETS
message auth {
string username = 1;
string password = 2;
@@ -47,14 +66,18 @@ message init {
uint64 seed = 1;
int32 draw_distance = 2;
player localplayer = 3;
+ uint32 tickrate = 4;
+ uint32 tick = 5;
}
message move {
uint32 commands = 1;
angles viewangles = 2;
+ uint32 active_item = 3;
+ uint32 sequence = 4;
}
-message remove_player {
+message remove_entity {
uint32 index = 1;
}
@@ -86,7 +109,7 @@ message add_block {
ivec3 block_pos = 2;
// A bit inefficient as we only need 8 bits. We could use the rest for other
// stuff down the road.
- uint32 block = 3;
+ uint32 active_item = 3;
}
message remove_block {
@@ -98,6 +121,26 @@ message server_message {
string message = 1;
bool fatal = 2;
}
+
+message item_swap { // client sent, swap items in an array of items
+ uint32 index_a = 1;
+ uint32 index_b = 2;
+}
+
+message item_use { // client sent, uses an item
+ uint32 index = 1;
+}
+
+message item_update { // server sent, reflects any inventory changes
+ repeated item items = 1;
+}
+
+message animate_update {
+ animate animate = 1;
+ uint32 tick = 2;
+ optional uint32 sequence = 3;
+}
+
// END OF PACKETS
// Actual thing we read.
@@ -107,8 +150,8 @@ oneof contents {
auth auth_packet = 1;
init init_packet = 2;
move move_packet = 3;
- player player_packet = 4;
- remove_player remove_player_packet = 5;
+ animate_update animate_update_packet = 4;
+ remove_entity remove_entity_packet = 5;
say say_packet = 6;
hear_player hear_player_packet = 7;
request_chunk request_chunk_packet = 8;
@@ -117,6 +160,9 @@ oneof contents {
add_block add_block_packet = 11;
remove_block remove_block_packet = 12;
server_message server_message_packet = 13;
+ item_swap item_swap_packet = 14;
+ item_use item_use_packet = 16;
+ item_update item_update_packet = 15;
}
}