Implement the Home System (Serenitea Pot)

This commit is contained in:
Akka
2022-06-14 20:51:13 +08:00
committed by Melledy
parent 99bcd2af70
commit 1c0d869ee5
72 changed files with 1412 additions and 39 deletions

View File

@@ -0,0 +1,12 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "Uint32Pair.proto";
// CmdId: 4681
// EnetChannelId: 0
// EnetIsReliable: true
message FurnitureCurModuleArrangeCountNotify {
repeated Uint32Pair furniture_arrange_count_list = 9;
}

View File

@@ -0,0 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4603
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message GetFurnitureCurModuleArrangeCountReq {
}

View File

@@ -0,0 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4845
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message GetPlayerHomeCompInfoReq {
}

View File

@@ -0,0 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "Vector.proto";
message HomeAnimalData {
uint32 furniture_id = 1;
Vector spawn_pos = 2;
Vector spawn_rot = 3;
}

16
proto/HomeBasicInfo.proto Normal file
View File

@@ -0,0 +1,16 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "HomeLimitedShopInfo.proto";
message HomeBasicInfo {
uint32 cur_module_id = 1;
uint32 cur_room_scene_id = 2;
bool is_in_edit_mode = 3;
uint64 exp = 4;
uint32 level = 5;
uint32 home_owner_uid = 6;
HomeLimitedShopInfo limited_shop_info = 7;
string owner_nick_name = 8;
}

View File

@@ -0,0 +1,12 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "HomeBasicInfo.proto";
// CmdId: 4872
// EnetChannelId: 0
// EnetIsReliable: true
message HomeBasicInfoNotify {
HomeBasicInfo basic_info = 9;
}

View File

@@ -0,0 +1,29 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
//import "BIEMCDLIFOD.proto";
//import "GOHMLAFNBGF.proto";
import "HomeAnimalData.proto";
import "HomeBlockDotPattern.proto";
import "HomeBlockFieldData.proto";
import "HomeFurnitureData.proto";
import "HomeFurnitureSuiteData.proto";
import "HomeNpcData.proto";
//import "WeekendDjinnInfo.proto";
message HomeBlockArrangementInfo {
uint32 block_id = 1;
repeated HomeFurnitureData persistent_furniture_list = 2;
repeated HomeFurnitureData deploy_furniure_list = 3;
repeated HomeNpcData deploy_npc_list = 4;
repeated HomeFurnitureSuiteData furniture_suite_list = 5;
repeated HomeAnimalData deploy_animal_list = 6;
bool is_unlocked = 7;
uint32 comfort_value = 8;
//repeated WeekendDjinnInfo weekend_djinn_info_list = 9;
repeated HomeBlockDotPattern dot_pattern_list = 10;
repeated HomeBlockFieldData field_list = 11;
// repeated GOHMLAFNBGF BOCBLHLEKNJ = 12;
// repeated BIEMCDLIFOD CONIAKDJHAN = 13;
}

View File

@@ -0,0 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message HomeBlockDotPattern {
uint32 height = 1;
uint32 width = 2;
bytes data = 3;
}

View File

@@ -0,0 +1,14 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "HomeBlockSubFieldData.proto";
import "Vector.proto";
message HomeBlockFieldData {
uint32 guid = 1;
uint32 furniture_id = 2;
Vector pos = 3;
Vector rot = 4;
repeated HomeBlockSubFieldData sub_field_list = 5;
}

View File

@@ -0,0 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4542
// EnetChannelId: 0
// EnetIsReliable: true
message HomeBlockNotify {
uint32 end_time = 7;
}

View File

@@ -0,0 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "Vector.proto";
message HomeBlockSubFieldData {
Vector pos = 1;
Vector rot = 2;
}

View File

@@ -0,0 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4625
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message HomeChangeEditModeReq {
bool is_enter_edit_mode = 5;
}

View File

@@ -0,0 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4885
// EnetChannelId: 0
// EnetIsReliable: true
message HomeChangeEditModeRsp {
int32 retcode = 11;
bool is_enter_edit_mode = 5;
}

View File

@@ -0,0 +1,14 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "Vector.proto";
message HomeFurnitureData {
uint32 furniture_id = 1;
Vector spawn_pos = 3;
Vector spawn_rot = 4;
int32 parent_furniture_index = 7;
uint32 guid = 8;
uint32 version = 9;
}

View File

@@ -0,0 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "Vector.proto";
message HomeFurnitureSuiteData {
uint32 suite_id = 1;
Vector spawn_pos = 2;
repeated int32 included_furniture_index_list = 3;
uint32 guid = 5;
bool is_allow_summon = 6;
}

View File

@@ -0,0 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4848
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message HomeGetArrangementInfoReq {
repeated uint32 scene_id_list = 6;
}

View File

@@ -0,0 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "HomeSceneArrangementInfo.proto";
// CmdId: 4456
// EnetChannelId: 0
// EnetIsReliable: true
message HomeGetArrangementInfoRsp {
int32 retcode = 1;
repeated HomeSceneArrangementInfo scene_arrangement_info_list = 12;
}

View File

@@ -0,0 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4535
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message HomeGetBasicInfoReq {
}

View File

@@ -0,0 +1,14 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "Vector.proto";
message HomeLimitedShopInfo {
uint32 uid = 1;
uint32 next_open_time = 3;
uint32 next_guest_open_time = 4;
uint32 next_close_time = 5;
Vector djinn_pos = 6;
Vector djinn_rot = 7;
}

View File

@@ -0,0 +1,18 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "HomeMarkPointNPCData.proto";
import "HomeMarkPointSuiteData.proto";
import "Vector.proto";
message HomeMarkPointFurnitureData {
uint32 guid = 1;
uint32 furniture_id = 2;
uint32 furniture_type = 3;
Vector pos = 4;
oneof extra {
HomeMarkPointNPCData npc_data = 6;
HomeMarkPointSuiteData suite_data = 7;
}
}

View File

@@ -0,0 +1,8 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message HomeMarkPointNPCData {
uint32 avatar_id = 1;
uint32 costume_id = 2;
}

View File

@@ -0,0 +1,12 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "HomeMarkPointSceneData.proto";
// CmdId: 4746
// EnetChannelId: 0
// EnetIsReliable: true
message HomeMarkPointNotify {
repeated HomeMarkPointSceneData mark_point_data_list = 13;
}

View File

@@ -0,0 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "HomeMarkPointFurnitureData.proto";
import "Vector.proto";
message HomeMarkPointSceneData {
uint32 module_id = 1;
uint32 scene_id = 2;
repeated HomeMarkPointFurnitureData furniture_list = 3;
Vector teapot_spirit_pos = 4;
}

View File

@@ -0,0 +1,7 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message HomeMarkPointSuiteData {
uint32 suite_id = 1;
}

12
proto/HomeNpcData.proto Normal file
View File

@@ -0,0 +1,12 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "Vector.proto";
message HomeNpcData {
uint32 avatar_id = 1;
Vector spawn_pos = 2;
Vector spawn_rot = 3;
uint32 costume_id = 4;
}

View File

@@ -0,0 +1,22 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "HomeBlockArrangementInfo.proto";
import "HomeFurnitureData.proto";
import "Vector.proto";
message HomeSceneArrangementInfo {
uint32 scene_id = 1;
repeated HomeBlockArrangementInfo block_arrangement_info_list = 2;
bool is_set_born_pos = 3;
Vector born_pos = 4;
Vector born_rot = 5;
repeated HomeFurnitureData door_list = 7;
repeated HomeFurnitureData stair_list = 8;
HomeFurnitureData main_house = 9;
uint32 comfort_value = 10;
Vector djinn_pos = 11;
uint32 tmp_version = 12;
uint32 CNLMNOEGKME = 13;
}

View File

@@ -0,0 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4552
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message HomeSceneInitFinishReq {
}

View File

@@ -0,0 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4592
// EnetChannelId: 0
// EnetIsReliable: true
message HomeSceneInitFinishRsp {
int32 retcode = 7;
}

View File

@@ -0,0 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4659
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message HomeSceneJumpReq {
bool is_enter_room_scene = 12;
}

View File

@@ -0,0 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4570
// EnetChannelId: 0
// EnetIsReliable: true
message HomeSceneJumpRsp {
int32 retcode = 10;
bool is_enter_room_scene = 8;
}

View File

@@ -0,0 +1,7 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message HomeUnknown1Notify {
bool is_enter_edit_mode = 12;
}

View File

@@ -0,0 +1,13 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "HomeSceneArrangementInfo.proto";
// CmdId: 4472
// EnetChannelId: 0
// EnetIsReliable: true
// IsAllowClient: true
message HomeUpdateArrangementInfoReq {
HomeSceneArrangementInfo scene_arrangement_info = 12;
}

View File

@@ -0,0 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4822
// EnetChannelId: 0
// EnetIsReliable: true
message HomeUpdateArrangementInfoRsp {
int32 retcode = 1;
}

View File

@@ -0,0 +1,11 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 4680
// EnetChannelId: 0
// EnetIsReliable: true
message UnlockedFurnitureFormulaDataNotify {
bool is_all = 14;
repeated uint32 furniture_id_list = 7;
}