Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
ziqian zhang
Grasscutter
Commits
7925d1cd
Commit
7925d1cd
authored
Apr 17, 2022
by
Melledy
Browse files
Initial commit
parents
Changes
354
Show whitespace changes
Inline
Side-by-side
src/main/java/emu/grasscutter/server/packet/send/PacketEnterScenePeerNotify.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.game.GenshinPlayer
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.EnterScenePeerNotifyOuterClass.EnterScenePeerNotify
;
public
class
PacketEnterScenePeerNotify
extends
GenshinPacket
{
public
PacketEnterScenePeerNotify
(
GenshinPlayer
player
)
{
super
(
PacketOpcodes
.
EnterScenePeerNotify
);
EnterScenePeerNotify
proto
=
EnterScenePeerNotify
.
newBuilder
()
.
setDestSceneId
(
player
.
getSceneId
())
.
setPeerId
(
player
.
getPeerId
())
.
setHostPeerId
(
player
.
getWorld
().
getHost
().
getPeerId
())
.
setEnterSceneToken
(
player
.
getEnterSceneToken
())
.
build
();
this
.
setData
(
proto
);
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketEnterSceneReadyRsp.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.game.GenshinPlayer
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.EnterSceneReadyRspOuterClass.EnterSceneReadyRsp
;
public
class
PacketEnterSceneReadyRsp
extends
GenshinPacket
{
public
PacketEnterSceneReadyRsp
(
GenshinPlayer
player
)
{
super
(
PacketOpcodes
.
EnterSceneReadyRsp
,
11
);
EnterSceneReadyRsp
p
=
EnterSceneReadyRsp
.
newBuilder
()
.
setEnterSceneToken
(
player
.
getEnterSceneToken
())
.
build
();
this
.
setData
(
p
.
toByteArray
());
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketEnterWorldAreaRsp.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.EnterWorldAreaReqOuterClass.EnterWorldAreaReq
;
import
emu.grasscutter.net.proto.EnterWorldAreaRspOuterClass.EnterWorldAreaRsp
;
public
class
PacketEnterWorldAreaRsp
extends
GenshinPacket
{
public
PacketEnterWorldAreaRsp
(
int
clientSequence
,
EnterWorldAreaReq
enterWorld
)
{
super
(
PacketOpcodes
.
EnterWorldAreaRsp
,
clientSequence
);
EnterWorldAreaRsp
p
=
EnterWorldAreaRsp
.
newBuilder
()
.
setAreaType
(
enterWorld
.
getAreaType
())
.
setAreaId
(
enterWorld
.
getAreaId
())
.
build
();
this
.
setData
(
p
.
toByteArray
());
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketEntityAiSyncNotify.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.AiSyncInfoOuterClass.AiSyncInfo
;
import
emu.grasscutter.net.proto.EntityAiSyncNotifyOuterClass.EntityAiSyncNotify
;
public
class
PacketEntityAiSyncNotify
extends
GenshinPacket
{
public
PacketEntityAiSyncNotify
(
EntityAiSyncNotify
notify
)
{
super
(
PacketOpcodes
.
EntityAiSyncNotify
,
true
);
EntityAiSyncNotify
.
Builder
proto
=
EntityAiSyncNotify
.
newBuilder
();
for
(
int
monsterId
:
notify
.
getLocalAvatarAlertedMonsterListList
())
{
proto
.
addInfoList
(
AiSyncInfo
.
newBuilder
().
setEntityId
(
monsterId
));
}
this
.
setData
(
proto
);
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketEntityFightPropUpdateNotify.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.game.entity.GenshinEntity
;
import
emu.grasscutter.game.props.FightProperty
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.EntityFightPropUpdateNotifyOuterClass.EntityFightPropUpdateNotify
;
public
class
PacketEntityFightPropUpdateNotify
extends
GenshinPacket
{
public
PacketEntityFightPropUpdateNotify
(
GenshinEntity
entity
,
FightProperty
prop
)
{
super
(
PacketOpcodes
.
EntityFightPropUpdateNotify
);
EntityFightPropUpdateNotify
proto
=
EntityFightPropUpdateNotify
.
newBuilder
()
.
setEntityId
(
entity
.
getId
())
.
putFightPropMap
(
prop
.
getId
(),
entity
.
getFightProperty
(
prop
))
.
build
();
this
.
setData
(
proto
);
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketGadgetInteractRsp.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.game.entity.EntityGadget
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.GadgetInteractRspOuterClass.GadgetInteractRsp
;
import
emu.grasscutter.net.proto.InteractTypeOuterClass.InteractType
;
public
class
PacketGadgetInteractRsp
extends
GenshinPacket
{
public
PacketGadgetInteractRsp
(
EntityGadget
gadget
,
InteractType
interact
)
{
super
(
PacketOpcodes
.
GadgetInteractRsp
);
GadgetInteractRsp
proto
=
GadgetInteractRsp
.
newBuilder
()
.
setGadgetEntityId
(
gadget
.
getId
())
.
setInteractType
(
interact
)
.
setGadgetId
(
gadget
.
getGadgetId
())
.
build
();
this
.
setData
(
proto
);
}
public
PacketGadgetInteractRsp
()
{
super
(
PacketOpcodes
.
GadgetInteractRsp
);
GadgetInteractRsp
proto
=
GadgetInteractRsp
.
newBuilder
()
.
setRetcode
(
1
)
.
build
();
this
.
setData
(
proto
);
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketGetActivityInfoRsp.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.GetActivityInfoRspOuterClass.GetActivityInfoRsp
;
public
class
PacketGetActivityInfoRsp
extends
GenshinPacket
{
public
PacketGetActivityInfoRsp
()
{
super
(
PacketOpcodes
.
GetActivityInfoRsp
);
GetActivityInfoRsp
proto
=
GetActivityInfoRsp
.
newBuilder
().
build
();
this
.
setData
(
proto
);
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketGetAllUnlockNameCardRsp.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.game.GenshinPlayer
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.GetAllUnlockNameCardRspOuterClass.GetAllUnlockNameCardRsp
;
public
class
PacketGetAllUnlockNameCardRsp
extends
GenshinPacket
{
public
PacketGetAllUnlockNameCardRsp
(
GenshinPlayer
player
)
{
super
(
PacketOpcodes
.
GetAllUnlockNameCardRsp
);
GetAllUnlockNameCardRsp
proto
=
GetAllUnlockNameCardRsp
.
newBuilder
()
.
addAllNameCardList
(
player
.
getNameCardList
())
.
build
();
this
.
setData
(
proto
);
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketGetAuthkeyRsp.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.GetAuthkeyRspOuterClass.GetAuthkeyRsp
;
public
class
PacketGetAuthkeyRsp
extends
GenshinPacket
{
public
PacketGetAuthkeyRsp
()
{
super
(
PacketOpcodes
.
GetAuthkeyRsp
);
GetAuthkeyRsp
proto
=
GetAuthkeyRsp
.
newBuilder
().
setRetcode
(
1
).
build
();
this
.
setData
(
proto
);
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketGetGachaInfoRsp.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.game.gacha.GachaManager
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
public
class
PacketGetGachaInfoRsp
extends
GenshinPacket
{
public
PacketGetGachaInfoRsp
(
GachaManager
manager
)
{
super
(
PacketOpcodes
.
GetGachaInfoRsp
);
this
.
setData
(
manager
.
toProto
());
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerAskFriendListRsp.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.game.GenshinPlayer
;
import
emu.grasscutter.game.friends.Friendship
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.GetPlayerAskFriendListRspOuterClass.GetPlayerAskFriendListRsp
;
public
class
PacketGetPlayerAskFriendListRsp
extends
GenshinPacket
{
public
PacketGetPlayerAskFriendListRsp
(
GenshinPlayer
player
)
{
super
(
PacketOpcodes
.
GetPlayerAskFriendListRsp
);
GetPlayerAskFriendListRsp
.
Builder
proto
=
GetPlayerAskFriendListRsp
.
newBuilder
();
for
(
Friendship
friendship
:
player
.
getFriendsList
().
getPendingFriends
().
values
())
{
if
(
friendship
.
getAskerId
()
==
player
.
getId
())
{
continue
;
}
proto
.
addAskFriendList
(
friendship
.
toProto
());
}
this
.
setData
(
proto
);
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerFriendListRsp.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.GenshinConstants
;
import
emu.grasscutter.game.GenshinPlayer
;
import
emu.grasscutter.game.friends.Friendship
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.FriendBriefOuterClass.FriendBrief
;
import
emu.grasscutter.net.proto.FriendOnlineStateOuterClass.FriendOnlineState
;
import
emu.grasscutter.net.proto.GetPlayerFriendListRspOuterClass.GetPlayerFriendListRsp
;
import
emu.grasscutter.net.proto.HeadImageOuterClass.HeadImage
;
public
class
PacketGetPlayerFriendListRsp
extends
GenshinPacket
{
public
PacketGetPlayerFriendListRsp
(
GenshinPlayer
player
)
{
super
(
PacketOpcodes
.
GetPlayerFriendListRsp
);
FriendBrief
serverFriend
=
FriendBrief
.
newBuilder
()
.
setUid
(
GenshinConstants
.
SERVER_CONSOLE_UID
)
.
setNickname
(
"Server"
)
.
setLevel
(
1
)
.
setAvatar
(
HeadImage
.
newBuilder
().
setAvatarId
(
GenshinConstants
.
MAIN_CHARACTER_FEMALE
))
.
setWorldLevel
(
0
)
.
setSignature
(
""
)
.
setLastActiveTime
((
int
)
(
System
.
currentTimeMillis
()
/
1000
f
))
.
setIsMpModeAvailable
(
true
)
.
setNameCardId
(
210001
)
.
setOnlineState
(
FriendOnlineState
.
FRIEND_ONLINE
)
.
setParam
(
1
)
.
setUnk1
(
1
)
.
setUnk2
(
3
)
.
build
();
GetPlayerFriendListRsp
.
Builder
proto
=
GetPlayerFriendListRsp
.
newBuilder
().
addFriendList
(
serverFriend
);
for
(
Friendship
friendship
:
player
.
getFriendsList
().
getFriends
().
values
())
{
proto
.
addFriendList
(
friendship
.
toProto
());
}
for
(
Friendship
friendship
:
player
.
getFriendsList
().
getPendingFriends
().
values
())
{
if
(
friendship
.
getAskerId
()
==
player
.
getId
())
{
continue
;
}
proto
.
addAskFriendList
(
friendship
.
toProto
());
}
this
.
setData
(
proto
);
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerSocialDetailRsp.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.GetPlayerSocialDetailRspOuterClass.GetPlayerSocialDetailRsp
;
import
emu.grasscutter.net.proto.SocialDetailOuterClass.SocialDetail
;
public
class
PacketGetPlayerSocialDetailRsp
extends
GenshinPacket
{
public
PacketGetPlayerSocialDetailRsp
(
SocialDetail
.
Builder
detail
)
{
super
(
PacketOpcodes
.
GetPlayerSocialDetailRsp
);
GetPlayerSocialDetailRsp
.
Builder
proto
=
GetPlayerSocialDetailRsp
.
newBuilder
();
if
(
detail
!=
null
)
{
proto
.
setDetailData
(
detail
);
}
else
{
proto
.
setRetcode
(
1
);
}
this
.
setData
(
proto
);
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketGetPlayerTokenRsp.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
com.google.protobuf.ByteString
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.GetPlayerTokenRspOuterClass.GetPlayerTokenRsp
;
import
emu.grasscutter.server.game.GameSession
;
import
emu.grasscutter.utils.Crypto
;
public
class
PacketGetPlayerTokenRsp
extends
GenshinPacket
{
public
PacketGetPlayerTokenRsp
(
GameSession
session
,
boolean
doesPlayerExist
)
{
super
(
PacketOpcodes
.
GetPlayerTokenRsp
,
true
);
this
.
setUseDispatchKey
(
true
);
GetPlayerTokenRsp
p
=
GetPlayerTokenRsp
.
newBuilder
()
.
setPlayerUid
(
session
.
getAccount
().
getPlayerId
())
.
setAccountToken
(
session
.
getAccount
().
getToken
())
.
setAccountType
(
1
)
.
setIsProficientPlayer
(
doesPlayerExist
)
// Not sure where this goes
.
setSecretKey
(
Crypto
.
ENCRYPT_SEED
)
.
setSecretKeyBuffer
(
ByteString
.
copyFrom
(
Crypto
.
ENCRYPT_SEED_BUFFER
))
.
setPlatformType
(
3
)
.
setChannelId
(
1
)
.
setCountryCode
(
"US"
)
.
setUnk1
(
"c25-314dd05b0b5f"
)
.
setUnk3
(
3
)
.
setClientIp
(
session
.
getAddress
().
getAddress
().
getHostAddress
())
.
build
();
this
.
setData
(
p
.
toByteArray
());
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketGetSceneAreaRsp.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
java.util.Arrays
;
import
java.util.stream.Collectors
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.CityInfoOuterClass.CityInfo
;
import
emu.grasscutter.net.proto.GetSceneAreaRspOuterClass.GetSceneAreaRsp
;
public
class
PacketGetSceneAreaRsp
extends
GenshinPacket
{
public
PacketGetSceneAreaRsp
(
int
sceneId
)
{
super
(
PacketOpcodes
.
GetSceneAreaRsp
);
this
.
buildHeader
(
0
);
GetSceneAreaRsp
p
=
GetSceneAreaRsp
.
newBuilder
()
.
setSceneId
(
3
)
.
addAllAreaIdList
(
Arrays
.
stream
(
new
int
[]
{
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
17
,
18
,
19
}).
boxed
().
collect
(
Collectors
.
toList
()))
.
addCityInfoList
(
CityInfo
.
newBuilder
().
setCityId
(
1
).
setLevel
(
1
).
build
())
.
addCityInfoList
(
CityInfo
.
newBuilder
().
setCityId
(
2
).
setLevel
(
1
).
build
())
.
addCityInfoList
(
CityInfo
.
newBuilder
().
setCityId
(
3
).
setLevel
(
1
).
build
())
.
build
();
this
.
setData
(
p
);
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketGetScenePointRsp.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.GetScenePointRspOuterClass.GetScenePointRsp
;
public
class
PacketGetScenePointRsp
extends
GenshinPacket
{
public
PacketGetScenePointRsp
(
int
sceneId
)
{
super
(
PacketOpcodes
.
GetScenePointRsp
);
GetScenePointRsp
.
Builder
p
=
GetScenePointRsp
.
newBuilder
()
.
setSceneId
(
sceneId
);
for
(
int
i
=
1
;
i
<
1000
;
i
++)
{
p
.
addUnlockedPointList
(
i
);
}
for
(
int
i
=
1
;
i
<
9
;
i
++)
{
p
.
addUnlockAreaList
(
i
);
}
this
.
setData
(
p
);
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketGetShopRsp.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.GetShopRspOuterClass.GetShopRsp
;
import
emu.grasscutter.net.proto.ShopOuterClass.Shop
;
public
class
PacketGetShopRsp
extends
GenshinPacket
{
public
PacketGetShopRsp
(
int
shopType
)
{
super
(
PacketOpcodes
.
GetShopRsp
);
GetShopRsp
proto
=
GetShopRsp
.
newBuilder
()
.
setShop
(
Shop
.
newBuilder
().
setShopType
(
shopType
))
.
build
();
this
.
setData
(
proto
);
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketGetShopmallDataRsp.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.GetShopmallDataRspOuterClass.GetShopmallDataRsp
;
public
class
PacketGetShopmallDataRsp
extends
GenshinPacket
{
public
PacketGetShopmallDataRsp
()
{
super
(
PacketOpcodes
.
GetShopmallDataRsp
);
GetShopmallDataRsp
proto
=
GetShopmallDataRsp
.
newBuilder
().
build
();
this
.
setData
(
proto
);
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketGetWorldMpInfoRsp.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.game.World
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.GetWorldMpInfoRspOuterClass.GetWorldMpInfoRsp
;
public
class
PacketGetWorldMpInfoRsp
extends
GenshinPacket
{
public
PacketGetWorldMpInfoRsp
(
World
world
)
{
super
(
PacketOpcodes
.
GetWorldMpInfoRsp
);
GetWorldMpInfoRsp
proto
=
GetWorldMpInfoRsp
.
newBuilder
()
.
setIsInMpMode
(
world
.
isMultiplayer
())
.
build
();
this
.
setData
(
proto
);
}
}
src/main/java/emu/grasscutter/server/packet/send/PacketH5ActivityIdsNotify.java
0 → 100644
View file @
7925d1cd
package
emu.grasscutter.server.packet.send
;
import
emu.grasscutter.net.packet.GenshinPacket
;
import
emu.grasscutter.net.packet.PacketOpcodes
;
import
emu.grasscutter.net.proto.H5ActivityIdsNotifyOuterClass.H5ActivityIdsNotify
;
public
class
PacketH5ActivityIdsNotify
extends
GenshinPacket
{
public
PacketH5ActivityIdsNotify
()
{
super
(
PacketOpcodes
.
H5ActivityIdsNotify
);
H5ActivityIdsNotify
proto
=
H5ActivityIdsNotify
.
newBuilder
()
.
build
();
this
.
setData
(
proto
);
}
}
Prev
1
…
10
11
12
13
14
15
16
17
18
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment