mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-02-07 02:26:43 +01:00
Update gc to 3.3 (#1981)
* replace the deprecated api * update proto * delete music game * fixed codes * fix costume switch * fix mail bug * Bump version number. * Re-add max boss chest number Co-authored-by: GanyusLeftHorn <1244229+GanyusLeftHorn@users.noreply.github.com>
This commit is contained in:
@@ -3,9 +3,10 @@ package emu.grasscutter.server.http.dispatch;
|
||||
import com.google.protobuf.ByteString;
|
||||
import emu.grasscutter.Grasscutter;
|
||||
import emu.grasscutter.Grasscutter.ServerRunMode;
|
||||
import emu.grasscutter.net.proto.QueryRegionListHttpRspOuterClass.QueryRegionListHttpRsp;
|
||||
import emu.grasscutter.net.proto.QueryCurrRegionHttpRspOuterClass.QueryCurrRegionHttpRsp;
|
||||
import emu.grasscutter.net.proto.RegionInfoOuterClass.RegionInfo;
|
||||
import emu.grasscutter.net.proto.RegionSimpleInfoOuterClass.RegionSimpleInfo;
|
||||
import emu.grasscutter.net.proto.RegionInfoOuterClass.RegionInfo;
|
||||
import emu.grasscutter.server.event.dispatch.QueryAllRegionsEvent;
|
||||
import emu.grasscutter.server.event.dispatch.QueryCurrentRegionEvent;
|
||||
import emu.grasscutter.server.http.Router;
|
||||
@@ -23,7 +24,6 @@ import java.security.Signature;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import static emu.grasscutter.config.Configuration.*;
|
||||
import static emu.grasscutter.net.proto.QueryRegionListHttpRspOuterClass.QueryRegionListHttpRsp;
|
||||
|
||||
/**
|
||||
* Handles requests related to region queries.
|
||||
|
||||
@@ -5,8 +5,8 @@ import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
|
||||
@Opcodes(PacketOpcodes.AddCustomTeamReq)
|
||||
public class HandlerAddCustomTeamReq extends PacketHandler {
|
||||
@Opcodes(PacketOpcodes.AddBackupAvatarTeamReq)
|
||||
public class HandlerAddBackupAvatarTeamReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
session.getPlayer().getTeamManager().addNewCustomTeam();
|
||||
@@ -1,26 +0,0 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.Unk2700BEDLIGJANCJClientReq;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketChangeHomeBgmNotify;
|
||||
import emu.grasscutter.server.packet.send.PacketChangeHomeBgmRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.Unk2700_BEDLIGJANCJ_ClientReq)
|
||||
public class HandlerChangeHomeBgmReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var req = Unk2700BEDLIGJANCJClientReq.Unk2700_BEDLIGJANCJ_ClientReq.parseFrom(payload);
|
||||
|
||||
int homeBgmId = req.getUnk2700BJHAMKKECEI();
|
||||
var home = session.getPlayer().getHome();
|
||||
|
||||
home.getHomeSceneItem(session.getPlayer().getSceneId()).setHomeBgmId(homeBgmId);
|
||||
home.save();
|
||||
|
||||
session.send(new PacketChangeHomeBgmNotify(homeBgmId));
|
||||
session.send(new PacketChangeHomeBgmRsp());
|
||||
}
|
||||
}
|
||||
@@ -2,15 +2,15 @@ package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.RemoveCustomTeamReqOuterClass.RemoveCustomTeamReq;
|
||||
import emu.grasscutter.net.proto.DelBackupAvatarTeamReqOuterClass.DelBackupAvatarTeamReq;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
|
||||
@Opcodes(PacketOpcodes.RemoveCustomTeamReq)
|
||||
public class HandlerRemoveCustomTeamReq extends PacketHandler {
|
||||
@Opcodes(PacketOpcodes.DelBackupAvatarTeamReq)
|
||||
public class HandlerDelBackupAvatarTeamReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
RemoveCustomTeamReq req = RemoveCustomTeamReq.parseFrom(payload);
|
||||
session.getPlayer().getTeamManager().removeCustomTeam(req.getId());
|
||||
DelBackupAvatarTeamReq req = DelBackupAvatarTeamReq.parseFrom(payload);
|
||||
session.getPlayer().getTeamManager().removeCustomTeam(req.getBackupAvatarTeamId());
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.FireWorkReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketFireworkNotify;
|
||||
import emu.grasscutter.server.packet.send.PacketFireworkRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.FireworkReq)
|
||||
public class HandlerFireWorkReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
|
||||
var req
|
||||
= FireWorkReqOuterClass.FireWorkReq.parseFrom(payload);
|
||||
session.send(new PacketFireworkNotify(req.getFireWorkData()));
|
||||
session.send(new PacketFireworkRsp());
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.FireworkSetReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketFireworkSetNotify;
|
||||
import emu.grasscutter.server.packet.send.PacketFireworkSetRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.FireworkSetReq)
|
||||
public class HandlerFireworkSetReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
|
||||
var req
|
||||
= FireworkSetReqOuterClass.FireworkSetReq.parseFrom(payload);
|
||||
|
||||
|
||||
session.send(new PacketFireworkSetNotify(req.getData()));
|
||||
session.send(new PacketFireworkSetRsp());
|
||||
}
|
||||
}
|
||||
@@ -16,6 +16,6 @@ public class HandlerGetAllMailReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
GetAllMailReqOuterClass.GetAllMailReq req = GetAllMailReqOuterClass.GetAllMailReq.parseFrom(payload);
|
||||
session.send(new PacketGetAllMailRsp(session.getPlayer(), req.getUnk2700OPEHLDAGICF()));
|
||||
session.send(new PacketGetAllMailRsp(session.getPlayer(), req.getIsCollected()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@ public class HandlerGetPlayerTokenReq extends PacketHandler {
|
||||
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
|
||||
cipher.init(Cipher.DECRYPT_MODE, Crypto.CUR_SIGNING_KEY);
|
||||
|
||||
var client_seed_encrypted = Utils.base64Decode(req.getClientSeed());
|
||||
var client_seed_encrypted = Utils.base64Decode(req.getClientRandKey());
|
||||
var client_seed = ByteBuffer.wrap(cipher.doFinal(client_seed_encrypted))
|
||||
.getLong();
|
||||
|
||||
@@ -124,7 +124,7 @@ public class HandlerGetPlayerTokenReq extends PacketHandler {
|
||||
session.send(new PacketGetPlayerTokenRsp(session, Utils.base64Encode(seed_encrypted), Utils.base64Encode(privateSignature.sign())));
|
||||
} catch (Exception ignore) {
|
||||
// Only UA Patch users will have exception
|
||||
byte[] clientBytes = Utils.base64Decode(req.getClientSeed());
|
||||
byte[] clientBytes = Utils.base64Decode(req.getClientRandKey());
|
||||
byte[] seed = ByteHelper.longToBytes(Crypto.ENCRYPT_SEED);
|
||||
Crypto.xor(clientBytes, seed);
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.HomeChangeBgmReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketHomeChangeBgmNotify;
|
||||
import emu.grasscutter.server.packet.send.PacketHomeChangeBgmRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.HomeChangeBgmReq)
|
||||
public class HandlerHomeChangeBgmReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var req = HomeChangeBgmReqOuterClass.HomeChangeBgmReq.parseFrom(payload);
|
||||
|
||||
int homeBgmId = req.getBgmId();
|
||||
var home = session.getPlayer().getHome();
|
||||
|
||||
home.getHomeSceneItem(session.getPlayer().getSceneId()).setHomeBgmId(homeBgmId);
|
||||
home.save();
|
||||
|
||||
session.send(new PacketHomeChangeBgmNotify(homeBgmId));
|
||||
session.send(new PacketHomeChangeBgmRsp());
|
||||
}
|
||||
}
|
||||
@@ -9,12 +9,12 @@ import emu.grasscutter.server.packet.send.*;
|
||||
|
||||
@Opcodes(PacketOpcodes.HomeChangeEditModeReq)
|
||||
public class HandlerHomeChangeEditModeReq extends PacketHandler {
|
||||
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var req = HomeChangeEditModeReqOuterClass.HomeChangeEditModeReq.parseFrom(payload);
|
||||
|
||||
session.send(new PacketHomeUnknown1Notify(req.getIsEnterEditMode()));
|
||||
session.send(new PacketHomePreChangeEditModeNotify(req.getIsEnterEditMode()));
|
||||
session.send(new PacketHomeBasicInfoNotify(session.getPlayer(), req.getIsEnterEditMode()));
|
||||
session.send(new PacketHomeComfortInfoNotify(session.getPlayer()));
|
||||
|
||||
|
||||
@@ -4,17 +4,17 @@ import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketHomeUnknown2Rsp;
|
||||
import emu.grasscutter.server.packet.send.PacketHomeEnterEditModeFinishRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.Unk2700_ACILPONNGGK_ClientReq)
|
||||
public class HandlerHomeUnknown2Req extends PacketHandler {
|
||||
@Opcodes(PacketOpcodes.HomeEnterEditModeFinishReq)
|
||||
public class HandlerHomeEnterEditModeFinishReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
/*
|
||||
* This packet is about the edit mode
|
||||
*/
|
||||
session.send(new PacketHomeUnknown2Rsp());
|
||||
session.send(new PacketHomeEnterEditModeFinishRsp());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.LaunchFireworksReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketFireworksLaunchDataNotify;
|
||||
import emu.grasscutter.server.packet.send.PacketLaunchFireworksRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.LaunchFireworksReq)
|
||||
public class HandlerLaunchFireworksReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
|
||||
var req
|
||||
= LaunchFireworksReqOuterClass.LaunchFireworksReq.parseFrom(payload);
|
||||
|
||||
|
||||
session.send(new PacketFireworksLaunchDataNotify(req.getSchemeData()));
|
||||
session.send(new PacketLaunchFireworksRsp());
|
||||
}
|
||||
}
|
||||
@@ -1,66 +1,66 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.database.DatabaseHelper;
|
||||
import emu.grasscutter.game.activity.musicgame.MusicGameActivityHandler;
|
||||
import emu.grasscutter.game.activity.musicgame.MusicGameBeatmap;
|
||||
import emu.grasscutter.game.activity.musicgame.MusicGamePlayerData;
|
||||
import emu.grasscutter.game.props.ActivityType;
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.MusicGameCreateBeatmapReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketActivityInfoNotify;
|
||||
import emu.grasscutter.server.packet.send.PacketMusicGameCreateBeatmapRsp;
|
||||
import emu.grasscutter.utils.Utils;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
@Opcodes(PacketOpcodes.MusicGameCreateBeatmapReq)
|
||||
public class HandlerMusicGameCreateBeatmapReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var req = MusicGameCreateBeatmapReqOuterClass.MusicGameCreateBeatmapReq.parseFrom(payload);
|
||||
|
||||
var musicGameBeatmap = MusicGameBeatmap.of()
|
||||
.musicId(req.getMusicBriefInfo().getMusicId())
|
||||
.musicNoteCount(req.getMusicBriefInfo().getMusicNoteCount())
|
||||
.savePosition(req.getMusicBriefInfo().getPosition())
|
||||
.maxScore(req.getMusicBriefInfo().getMaxScore())
|
||||
.authorUid(session.getPlayer().getUid())
|
||||
.beatmap(MusicGameBeatmap.parse(req.getMusicRecord().getBeatmapItemListList()))
|
||||
.createTime(Utils.getCurrentSeconds())
|
||||
.build();
|
||||
|
||||
musicGameBeatmap.save();
|
||||
|
||||
var playerData = session.getPlayer().getActivityManager().getPlayerActivityDataByActivityType(ActivityType.NEW_ACTIVITY_MUSIC_GAME);
|
||||
if(playerData.isEmpty()){
|
||||
return;
|
||||
}
|
||||
|
||||
var handler = (MusicGameActivityHandler) playerData.get().getActivityHandler();
|
||||
var musicGamePlayerData = handler.getMusicGamePlayerData(playerData.get());
|
||||
|
||||
var oldBeatmap = musicGamePlayerData.getPersonalCustomBeatmapRecord().values().stream()
|
||||
.map(MusicGamePlayerData.CustomBeatmapRecord::getMusicShareId)
|
||||
.map(DatabaseHelper::getMusicGameBeatmap)
|
||||
.filter(Objects::nonNull)
|
||||
.filter(item -> item.getAuthorUid() == session.getPlayer().getUid())
|
||||
.filter(item -> item.getMusicId() == req.getMusicBriefInfo().getMusicId())
|
||||
.filter(item -> item.getSavePosition() == req.getMusicBriefInfo().getPosition())
|
||||
.findFirst();
|
||||
|
||||
// delete old beatmap for player
|
||||
// the old beatmap is still in database so that others can still play.
|
||||
oldBeatmap.ifPresent(i -> handler.removePersonalBeatmap(playerData.get(), i));
|
||||
|
||||
// link this beatmap to player's personal data
|
||||
handler.addPersonalBeatmap(playerData.get(), musicGameBeatmap);
|
||||
|
||||
session.send(new PacketActivityInfoNotify(handler.toProto(playerData.get())));
|
||||
session.send(new PacketMusicGameCreateBeatmapRsp(musicGameBeatmap.getMusicShareId(), req.getUnknownEnum1()));
|
||||
}
|
||||
|
||||
}
|
||||
//package emu.grasscutter.server.packet.recv;
|
||||
//
|
||||
//import emu.grasscutter.database.DatabaseHelper;
|
||||
//import emu.grasscutter.game.activity.musicgame.MusicGameActivityHandler;
|
||||
//import emu.grasscutter.game.activity.musicgame.MusicGameBeatmap;
|
||||
//import emu.grasscutter.game.activity.musicgame.MusicGamePlayerData;
|
||||
//import emu.grasscutter.game.props.ActivityType;
|
||||
//import emu.grasscutter.net.packet.Opcodes;
|
||||
//import emu.grasscutter.net.packet.PacketHandler;
|
||||
//import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
//import emu.grasscutter.net.proto.MusicGameCreateBeatmapReqOuterClass;
|
||||
//import emu.grasscutter.server.game.GameSession;
|
||||
//import emu.grasscutter.server.packet.send.PacketActivityInfoNotify;
|
||||
//import emu.grasscutter.server.packet.send.PacketMusicGameCreateBeatmapRsp;
|
||||
//import emu.grasscutter.utils.Utils;
|
||||
//
|
||||
//import java.util.Objects;
|
||||
//
|
||||
//@Opcodes(PacketOpcodes.MusicGameCreateBeatmapReq)
|
||||
//public class HandlerMusicGameCreateBeatmapReq extends PacketHandler {
|
||||
//
|
||||
// @Override
|
||||
// public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
// var req = MusicGameCreateBeatmapReqOuterClass.MusicGameCreateBeatmapReq.parseFrom(payload);
|
||||
//
|
||||
// var musicGameBeatmap = MusicGameBeatmap.of()
|
||||
// .musicId(req.getMusicBriefInfo().getMusicId())
|
||||
// .musicNoteCount(req.getMusicBriefInfo().getMusicNoteCount())
|
||||
// .savePosition(req.getMusicBriefInfo().getPosition())
|
||||
// .maxScore(req.getMusicBriefInfo().getMaxScore())
|
||||
// .authorUid(session.getPlayer().getUid())
|
||||
// .beatmap(MusicGameBeatmap.parse(req.getMusicRecord().getBeatmapItemListList()))
|
||||
// .createTime(Utils.getCurrentSeconds())
|
||||
// .build();
|
||||
//
|
||||
// musicGameBeatmap.save();
|
||||
//
|
||||
// var playerData = session.getPlayer().getActivityManager().getPlayerActivityDataByActivityType(ActivityType.NEW_ACTIVITY_MUSIC_GAME);
|
||||
// if(playerData.isEmpty()){
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// var handler = (MusicGameActivityHandler) playerData.get().getActivityHandler();
|
||||
// var musicGamePlayerData = handler.getMusicGamePlayerData(playerData.get());
|
||||
//
|
||||
// var oldBeatmap = musicGamePlayerData.getPersonalCustomBeatmapRecord().values().stream()
|
||||
// .map(MusicGamePlayerData.CustomBeatmapRecord::getMusicShareId)
|
||||
// .map(DatabaseHelper::getMusicGameBeatmap)
|
||||
// .filter(Objects::nonNull)
|
||||
// .filter(item -> item.getAuthorUid() == session.getPlayer().getUid())
|
||||
// .filter(item -> item.getMusicId() == req.getMusicBriefInfo().getMusicId())
|
||||
// .filter(item -> item.getSavePosition() == req.getMusicBriefInfo().getPosition())
|
||||
// .findFirst();
|
||||
//
|
||||
// // delete old beatmap for player
|
||||
// // the old beatmap is still in database so that others can still play.
|
||||
// oldBeatmap.ifPresent(i -> handler.removePersonalBeatmap(playerData.get(), i));
|
||||
//
|
||||
// // link this beatmap to player's personal data
|
||||
// handler.addPersonalBeatmap(playerData.get(), musicGameBeatmap);
|
||||
//
|
||||
// session.send(new PacketActivityInfoNotify(handler.toProto(playerData.get())));
|
||||
// session.send(new PacketMusicGameCreateBeatmapRsp(musicGameBeatmap.getMusicShareId(), req.getUnknownEnum1()));
|
||||
// }
|
||||
//
|
||||
//}
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.game.activity.musicgame.MusicGameBeatmap;
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.MusicGameGetBeatmapReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketMusicGameGetBeatmapRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.MusicGameGetBeatmapReq)
|
||||
public class HandlerMusicGameGetBeatmapReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var req = MusicGameGetBeatmapReqOuterClass.MusicGameGetBeatmapReq.parseFrom(payload);
|
||||
|
||||
var musicGameBeatmap = MusicGameBeatmap.getByShareId(req.getMusicShareId());
|
||||
|
||||
if(musicGameBeatmap == null){
|
||||
return;
|
||||
}
|
||||
|
||||
session.send(new PacketMusicGameGetBeatmapRsp(
|
||||
musicGameBeatmap.toBriefProto().build(),
|
||||
musicGameBeatmap.toProto(),
|
||||
req
|
||||
));
|
||||
}
|
||||
|
||||
}
|
||||
//package emu.grasscutter.server.packet.recv;
|
||||
//
|
||||
//import emu.grasscutter.game.activity.musicgame.MusicGameBeatmap;
|
||||
//import emu.grasscutter.net.packet.Opcodes;
|
||||
//import emu.grasscutter.net.packet.PacketHandler;
|
||||
//import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
//import emu.grasscutter.net.proto.MusicGameGetBeatmapReqOuterClass;
|
||||
//import emu.grasscutter.server.game.GameSession;
|
||||
//import emu.grasscutter.server.packet.send.PacketMusicGameGetBeatmapRsp;
|
||||
//
|
||||
//@Opcodes(PacketOpcodes.MusicGameGetBeatmapReq)
|
||||
//public class HandlerMusicGameGetBeatmapReq extends PacketHandler {
|
||||
//
|
||||
// @Override
|
||||
// public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
// var req = MusicGameGetBeatmapReqOuterClass.MusicGameGetBeatmapReq.parseFrom(payload);
|
||||
//
|
||||
// var musicGameBeatmap = MusicGameBeatmap.getByShareId(req.getMusicShareId());
|
||||
//
|
||||
// if(musicGameBeatmap == null){
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// session.send(new PacketMusicGameGetBeatmapRsp(
|
||||
// musicGameBeatmap.toBriefProto().build(),
|
||||
// musicGameBeatmap.toProto(),
|
||||
// req
|
||||
// ));
|
||||
// }
|
||||
//
|
||||
//}
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.game.activity.musicgame.MusicGameBeatmap;
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.MusicGameSearchBeatmapReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketMusicGameSearchBeatmapRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.MusicGameSearchBeatmapReq)
|
||||
public class HandlerMusicGameSearchBeatmapReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var req = MusicGameSearchBeatmapReqOuterClass.MusicGameSearchBeatmapReq.parseFrom(payload);
|
||||
|
||||
var musicGameBeatmap = MusicGameBeatmap.getByShareId(req.getMusicShareId());
|
||||
|
||||
if(musicGameBeatmap == null){
|
||||
session.send(new PacketMusicGameSearchBeatmapRsp(11153, req.getUnknownEnum1()));
|
||||
return;
|
||||
}
|
||||
|
||||
session.send(new PacketMusicGameSearchBeatmapRsp(musicGameBeatmap.toBriefProto().build(), req.getUnknownEnum1()));
|
||||
}
|
||||
|
||||
}
|
||||
//package emu.grasscutter.server.packet.recv;
|
||||
//
|
||||
//import emu.grasscutter.game.activity.musicgame.MusicGameBeatmap;
|
||||
//import emu.grasscutter.net.packet.Opcodes;
|
||||
//import emu.grasscutter.net.packet.PacketHandler;
|
||||
//import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
//import emu.grasscutter.net.proto.MusicGameSearchBeatmapReqOuterClass;
|
||||
//import emu.grasscutter.server.game.GameSession;
|
||||
//import emu.grasscutter.server.packet.send.PacketMusicGameSearchBeatmapRsp;
|
||||
//
|
||||
//@Opcodes(PacketOpcodes.MusicGameSearchBeatmapReq)
|
||||
//public class HandlerMusicGameSearchBeatmapReq extends PacketHandler {
|
||||
//
|
||||
// @Override
|
||||
// public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
// var req = MusicGameSearchBeatmapReqOuterClass.MusicGameSearchBeatmapReq.parseFrom(payload);
|
||||
//
|
||||
// var musicGameBeatmap = MusicGameBeatmap.getByShareId(req.getMusicShareId());
|
||||
//
|
||||
// if(musicGameBeatmap == null){
|
||||
// session.send(new PacketMusicGameSearchBeatmapRsp(11153, req.getUnknownEnum1()));
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// session.send(new PacketMusicGameSearchBeatmapRsp(musicGameBeatmap.toBriefProto().build(), req.getUnknownEnum1()));
|
||||
// }
|
||||
//
|
||||
//}
|
||||
|
||||
@@ -27,12 +27,7 @@ public class HandlerMusicGameSettleReq extends PacketHandler {
|
||||
boolean isNewRecord = false;
|
||||
// check if custom beatmap
|
||||
|
||||
// TODO: PROTO IS OBFUSCATED, NEED TO GET PROPER VALUES.
|
||||
// Discovered: 23/08/2022.
|
||||
// Probably was an issue in 2.8 but was discovered in 3.0 port.
|
||||
// - Benj
|
||||
|
||||
/*if (req.getMusicShareId() == 0) {
|
||||
if (req.getUgcGuid() == 0) {
|
||||
session.getPlayer().getActivityManager().triggerWatcher(
|
||||
WatcherTriggerType.TRIGGER_FLEUR_FAIR_MUSIC_GAME_REACH_SCORE,
|
||||
String.valueOf(req.getMusicBasicId()),
|
||||
@@ -51,14 +46,14 @@ public class HandlerMusicGameSettleReq extends PacketHandler {
|
||||
}else {
|
||||
handler.setMusicGameCustomBeatmapRecord(playerData.get(),
|
||||
MusicGamePlayerData.CustomBeatmapRecord.of()
|
||||
.musicShareId(req.getMusicShareId())
|
||||
.musicShareId(req.getUgcGuid())
|
||||
.score(req.getMaxCombo())
|
||||
.settle(req.getSuccess())
|
||||
// .settle(req.getSuccess())
|
||||
.build());
|
||||
}
|
||||
|
||||
|
||||
session.send(new PacketMusicGameSettleRsp(req.getMusicBasicId(), req.getMusicShareId(), isNewRecord));*/
|
||||
session.send(new PacketMusicGameSettleRsp(req.getMusicBasicId(), req.getUgcGuid(), isNewRecord));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ public class HandlerMusicGameStartReq extends PacketHandler {
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var req = MusicGameStartReqOuterClass.MusicGameStartReq.parseFrom(payload);
|
||||
|
||||
session.send(new PacketMusicGameStartRsp(req.getMusicBasicId(), req.getMusicShareId()));
|
||||
session.send(new PacketMusicGameStartRsp(req.getMusicBasicId(), req.getUgcGuid()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.MusicGameStartToPlayOthersBeatmapReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketMusicGameStartToPlayOthersBeatmapRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.MusicGameStartToPlayOthersBeatmapReq)
|
||||
public class HandlerMusicGameStartToPlayOthersBeatmapReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var req = MusicGameStartToPlayOthersBeatmapReqOuterClass.MusicGameStartToPlayOthersBeatmapReq.parseFrom(payload);
|
||||
|
||||
session.send(new PacketMusicGameStartToPlayOthersBeatmapRsp(req.getUnknownEnum1()));
|
||||
}
|
||||
|
||||
}
|
||||
//package emu.grasscutter.server.packet.recv;
|
||||
//
|
||||
//import emu.grasscutter.net.packet.Opcodes;
|
||||
//import emu.grasscutter.net.packet.PacketHandler;
|
||||
//import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
//import emu.grasscutter.net.proto.MusicGameStartToPlayOthersBeatmapReqOuterClass;
|
||||
//import emu.grasscutter.server.game.GameSession;
|
||||
//import emu.grasscutter.server.packet.send.PacketMusicGameStartToPlayOthersBeatmapRsp;
|
||||
//
|
||||
//@Opcodes(PacketOpcodes.MusicGameStartToPlayOthersBeatmapReq)
|
||||
//public class HandlerMusicGameStartToPlayOthersBeatmapReq extends PacketHandler {
|
||||
//
|
||||
// @Override
|
||||
// public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
// var req = MusicGameStartToPlayOthersBeatmapReqOuterClass.MusicGameStartToPlayOthersBeatmapReq.parseFrom(payload);
|
||||
//
|
||||
// session.send(new PacketMusicGameStartToPlayOthersBeatmapRsp(req.getUnknownEnum1()));
|
||||
// }
|
||||
//
|
||||
//}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.ReformFireworksReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketFireworksReformDataNotify;
|
||||
import emu.grasscutter.server.packet.send.PacketReformFireworksRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.ReformFireworksReq)
|
||||
public class HandlerReformFireworksReq extends PacketHandler {
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
|
||||
var req
|
||||
= ReformFireworksReqOuterClass.ReformFireworksReq.parseFrom(payload);
|
||||
session.send(new PacketFireworksReformDataNotify(req.getFireworksReformData()));
|
||||
session.send(new PacketReformFireworksRsp());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.RetcodeOuterClass.Retcode;
|
||||
import emu.grasscutter.net.proto.AddBackupAvatarTeamRspOuterClass.AddBackupAvatarTeamRsp;
|
||||
|
||||
public class PacketAddBackupAvatarTeamRsp extends BasePacket {
|
||||
public PacketAddBackupAvatarTeamRsp(Retcode retcode) {
|
||||
super(PacketOpcodes.AddBackupAvatarTeamRsp);
|
||||
|
||||
AddBackupAvatarTeamRsp proto = AddBackupAvatarTeamRsp.newBuilder()
|
||||
.setRetcode(retcode.getNumber())
|
||||
.build();
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
public PacketAddBackupAvatarTeamRsp() {
|
||||
this(Retcode.RET_SUCC);
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.RetcodeOuterClass.Retcode;
|
||||
import emu.grasscutter.net.proto.AddCustomTeamRspOuterClass.AddCustomTeamRsp;
|
||||
|
||||
public class PacketAddCustomTeamRsp extends BasePacket {
|
||||
public PacketAddCustomTeamRsp(Retcode retcode) {
|
||||
super(PacketOpcodes.AddCustomTeamRsp);
|
||||
|
||||
AddCustomTeamRsp proto = AddCustomTeamRsp.newBuilder()
|
||||
.setRetcode(retcode.getNumber())
|
||||
.build();
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
public PacketAddCustomTeamRsp() {
|
||||
this(Retcode.RET_SUCC);
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,7 @@ public class PacketAllWidgetDataNotify extends BasePacket {
|
||||
LunchBoxDataOuterClass.LunchBoxData.newBuilder().build()
|
||||
)
|
||||
// Maybe it's a little difficult, or it makes you upset :(
|
||||
.addAllOneofGatherPointDetectorDataList(List.of())
|
||||
.addAllOneoffGatherPointDetectorDataList(List.of())
|
||||
// So, goodbye, and hopefully sometime in the future o(* ̄▽ ̄*)ブ
|
||||
.addAllCoolDownGroupDataList(List.of())
|
||||
// I'll see your PR with a title that says (・∀・(・∀・(・∀・*)
|
||||
|
||||
@@ -13,7 +13,7 @@ public class PacketAvatarDataNotify extends BasePacket {
|
||||
|
||||
AvatarDataNotify.Builder proto = AvatarDataNotify.newBuilder()
|
||||
.setCurAvatarTeamId(player.getTeamManager().getCurrentTeamId())
|
||||
//.setChooseAvatarGuid(player.getTeamManager().getCurrentCharacterGuid())
|
||||
.setChooseAvatarGuid(player.getTeamManager().getCurrentCharacterGuid())
|
||||
.addAllOwnedFlycloakList(player.getFlyCloakList())
|
||||
.addAllOwnedCostumeList(player.getCostumeList());
|
||||
|
||||
@@ -22,7 +22,7 @@ public class PacketAvatarDataNotify extends BasePacket {
|
||||
player.getTeamManager().getTeams().forEach((id, teamInfo) -> {
|
||||
proto.putAvatarTeamMap(id, teamInfo.toProto(player));
|
||||
if (id > 4) { // Add the id list for custom teams.
|
||||
proto.addCustomTeamIds(id);
|
||||
proto.addBackupAvatarTeamOrderList(id);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -3,18 +3,18 @@ package emu.grasscutter.server.packet.send;
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.CustomTeamListNotifyOuterClass.CustomTeamListNotify;
|
||||
import emu.grasscutter.net.proto.AvatarTeamAllDataNotifyOuterClass.AvatarTeamAllDataNotify;
|
||||
|
||||
public class PacketCustomTeamListNotify extends BasePacket {
|
||||
public PacketCustomTeamListNotify(Player player) {
|
||||
super(PacketOpcodes.CustomTeamListNotify);
|
||||
public class PacketAvatarTeamAllDataNotify extends BasePacket {
|
||||
public PacketAvatarTeamAllDataNotify(Player player) {
|
||||
super(PacketOpcodes.AvatarTeamAllDataNotify);
|
||||
|
||||
CustomTeamListNotify.Builder proto = CustomTeamListNotify.newBuilder();
|
||||
AvatarTeamAllDataNotify.Builder proto = AvatarTeamAllDataNotify.newBuilder();
|
||||
|
||||
// Add the id list for custom teams.
|
||||
for (int id : player.getTeamManager().getTeams().keySet()) {
|
||||
if (id > 4) {
|
||||
proto.addCustomTeamIds(id);
|
||||
proto.addBackupAvatarTeamOrderList(id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.Unk2700FJEHHCPCBLGServerNotify;
|
||||
|
||||
public class PacketChangeHomeBgmNotify extends BasePacket {
|
||||
public PacketChangeHomeBgmNotify(int homeBgmId) {
|
||||
super(PacketOpcodes.Unk2700_FJEHHCPCBLG_ServerNotify);
|
||||
|
||||
var notify = Unk2700FJEHHCPCBLGServerNotify.Unk2700_FJEHHCPCBLG_ServerNotify.newBuilder()
|
||||
.setUnk2700BJHAMKKECEI(homeBgmId)
|
||||
.build();
|
||||
|
||||
this.setData(notify);
|
||||
}
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.Unk2700OGHMHELMBNNServerRsp;
|
||||
|
||||
public class PacketChangeHomeBgmRsp extends BasePacket {
|
||||
public PacketChangeHomeBgmRsp() {
|
||||
super(PacketOpcodes.Unk2700_OGHMHELMBNN_ServerRsp);
|
||||
|
||||
var rsp = Unk2700OGHMHELMBNNServerRsp.Unk2700_OGHMHELMBNN_ServerRsp.newBuilder()
|
||||
.setRetcode(0)
|
||||
.build();
|
||||
|
||||
this.setData(rsp);
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ public class PacketCompoundDataNotify extends BasePacket {
|
||||
super(PacketOpcodes.CompoundDataNotify);
|
||||
var proto= CompoundDataNotify.newBuilder()
|
||||
.addAllUnlockCompoundList(unlockedCompounds)
|
||||
.addAllCompoundQueDataList(compoundQueueData)
|
||||
.addAllCompoundQueueDataList(compoundQueueData)
|
||||
.build();
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.RetcodeOuterClass.Retcode;
|
||||
import emu.grasscutter.net.proto.DelBackupAvatarTeamRspOuterClass.DelBackupAvatarTeamRsp;
|
||||
|
||||
public class PacketDelBackupAvatarTeamRsp extends BasePacket {
|
||||
public PacketDelBackupAvatarTeamRsp(Retcode retcode, int id) {
|
||||
super(PacketOpcodes.DelBackupAvatarTeamRsp);
|
||||
|
||||
DelBackupAvatarTeamRsp proto = DelBackupAvatarTeamRsp.newBuilder()
|
||||
.setRetcode(retcode.getNumber())
|
||||
.setBackupAvatarTeamId(id)
|
||||
.build();
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
public PacketDelBackupAvatarTeamRsp(int id) {
|
||||
this(Retcode.RET_SUCC, id);
|
||||
}
|
||||
}
|
||||
@@ -12,27 +12,27 @@ import emu.grasscutter.net.proto.PropChangeReasonOuterClass.PropChangeReason;
|
||||
import java.util.List;
|
||||
|
||||
public class PacketEntityFightPropChangeReasonNotify extends BasePacket {
|
||||
|
||||
|
||||
public PacketEntityFightPropChangeReasonNotify(GameEntity entity, FightProperty prop, Float value, List<Integer> param, PropChangeReason reason, ChangeHpReason changeHpReason) {
|
||||
super(PacketOpcodes.EntityFightPropChangeReasonNotify);
|
||||
|
||||
|
||||
EntityFightPropChangeReasonNotify.Builder proto = EntityFightPropChangeReasonNotify.newBuilder()
|
||||
.setEntityId(entity.getId())
|
||||
.setPropType(prop.getId())
|
||||
.setPropDelta(value)
|
||||
.setReason(reason)
|
||||
.setChangeHpReason(changeHpReason);
|
||||
|
||||
|
||||
for(int p : param){
|
||||
proto.addParamList(p);
|
||||
}
|
||||
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
|
||||
public PacketEntityFightPropChangeReasonNotify(GameEntity entity, FightProperty prop, Float value, PropChangeReason reason, ChangeHpReason changeHpReason) {
|
||||
super(PacketOpcodes.EntityFightPropChangeReasonNotify);
|
||||
|
||||
|
||||
EntityFightPropChangeReasonNotify proto = EntityFightPropChangeReasonNotify.newBuilder()
|
||||
.setEntityId(entity.getId())
|
||||
.setPropType(prop.getId())
|
||||
@@ -40,33 +40,33 @@ public class PacketEntityFightPropChangeReasonNotify extends BasePacket {
|
||||
.setReason(reason)
|
||||
.setChangeHpReason(changeHpReason)
|
||||
.build();
|
||||
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
|
||||
public PacketEntityFightPropChangeReasonNotify(GameEntity entity, FightProperty prop, Float value, PropChangeReason reason) {
|
||||
super(PacketOpcodes.EntityFightPropChangeReasonNotify);
|
||||
|
||||
|
||||
EntityFightPropChangeReasonNotify proto = EntityFightPropChangeReasonNotify.newBuilder()
|
||||
.setEntityId(entity.getId())
|
||||
.setPropType(prop.getId())
|
||||
.setPropDelta(value)
|
||||
.setReason(reason)
|
||||
.build();
|
||||
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
public PacketEntityFightPropChangeReasonNotify(GameEntity entity, FightProperty prop, Float value, ChangeEnergyReason reason) {
|
||||
super(PacketOpcodes.EntityFightPropChangeReasonNotify);
|
||||
|
||||
|
||||
EntityFightPropChangeReasonNotify proto = EntityFightPropChangeReasonNotify.newBuilder()
|
||||
.setEntityId(entity.getId())
|
||||
.setPropType(prop.getId())
|
||||
.setPropDelta(value)
|
||||
.setChangeEnergyReson(reason)
|
||||
.setChangeEnergyReason(reason)
|
||||
.build();
|
||||
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.FireWorkNotifyOuterClass;
|
||||
import emu.grasscutter.net.proto.FireWorkDataOuterClass;
|
||||
|
||||
public class PacketFireworkNotify extends BasePacket {
|
||||
|
||||
public PacketFireworkNotify(FireWorkDataOuterClass.FireWorkData pinfo) {
|
||||
super(PacketOpcodes.FireworkNotify);
|
||||
|
||||
var proto
|
||||
= FireWorkNotifyOuterClass.FireWorkNotify.newBuilder();
|
||||
|
||||
proto.addFireWorkData(pinfo);
|
||||
|
||||
setData(proto.build());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
|
||||
public class PacketFireworkRsp extends BasePacket {
|
||||
|
||||
public PacketFireworkRsp() {
|
||||
super(PacketOpcodes.FireworkRsp);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.FireworkSetNotifyOuterClass;
|
||||
import emu.grasscutter.net.proto.FireworkSetDataOuterClass;
|
||||
|
||||
public class PacketFireworkSetNotify extends BasePacket {
|
||||
|
||||
public PacketFireworkSetNotify(FireworkSetDataOuterClass.FireworkSetData notify) {
|
||||
super(PacketOpcodes.FireworkSetNotify);
|
||||
|
||||
var proto
|
||||
= FireworkSetNotifyOuterClass.FireworkSetNotify.newBuilder();
|
||||
|
||||
proto.setCode(1).addData(notify);
|
||||
|
||||
setData(proto.build());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.FireworksLaunchDataNotifyOuterClass;
|
||||
import emu.grasscutter.net.proto.FireworksLaunchSchemeDataOuterClass;
|
||||
|
||||
public class PacketFireworksLaunchDataNotify extends BasePacket {
|
||||
|
||||
public PacketFireworksLaunchDataNotify(FireworksLaunchSchemeDataOuterClass.FireworksLaunchSchemeData notify) {
|
||||
super(PacketOpcodes.FireworksLaunchDataNotify);
|
||||
|
||||
var proto
|
||||
= FireworksLaunchDataNotifyOuterClass.FireworksLaunchDataNotify.newBuilder();
|
||||
|
||||
proto.setLastUseSchemeId(1).addSchemeDataList(notify);
|
||||
|
||||
setData(proto.build());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.FireworksReformDataNotifyOuterClass;
|
||||
import emu.grasscutter.net.proto.FireworksReformDataOuterClass;
|
||||
|
||||
public class PacketFireworksReformDataNotify extends BasePacket {
|
||||
|
||||
public PacketFireworksReformDataNotify(FireworksReformDataOuterClass.FireworksReformData fireworksReformData) {
|
||||
super(PacketOpcodes.FireworksReformDataNotify);
|
||||
|
||||
var proto
|
||||
= FireworksReformDataNotifyOuterClass.FireworksReformDataNotify.newBuilder();
|
||||
|
||||
proto.addFireworksReformDataList(fireworksReformData);
|
||||
|
||||
setData(proto.build());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -18,14 +18,14 @@ public class PacketForgeQueueManipulateRsp extends BasePacket {
|
||||
ForgeQueueManipulateRsp.Builder builder = ForgeQueueManipulateRsp.newBuilder()
|
||||
.setRetcode(retcode.getNumber())
|
||||
.setManipulateType(type);
|
||||
|
||||
|
||||
for (GameItem item : output) {
|
||||
ItemParam toAdd = ItemParam.newBuilder()
|
||||
.setItemId(item.getItemId())
|
||||
.setCount(item.getCount())
|
||||
.build();
|
||||
|
||||
builder.addOutputItemList(toAdd);
|
||||
builder.addExtraOutputItemList(toAdd);
|
||||
}
|
||||
|
||||
for (GameItem item : refund) {
|
||||
@@ -41,4 +41,4 @@ public class PacketForgeQueueManipulateRsp extends BasePacket {
|
||||
|
||||
this.setData(builder.build());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,9 +24,9 @@ public class PacketGetAllMailRsp extends BasePacket {
|
||||
GetAllMailRsp.Builder proto = GetAllMailRsp.newBuilder();
|
||||
|
||||
if (isGiftMail) {
|
||||
proto.setUnk2700OPEHLDAGICF(true);
|
||||
proto.setIsCollected(true);
|
||||
} else {
|
||||
proto.setUnk2700OPEHLDAGICF(false);
|
||||
proto.setIsCollected(false);
|
||||
|
||||
if (player.getAllMail().size() != 0) { // Make sure the player has mail
|
||||
List<MailData> mailDataList = new ArrayList<MailData>();
|
||||
@@ -61,7 +61,7 @@ public class PacketGetAllMailRsp extends BasePacket {
|
||||
mailData.setImportance(message.importance);
|
||||
mailData.setIsRead(message.isRead);
|
||||
mailData.setIsAttachmentGot(message.isAttachmentGot);
|
||||
mailData.setUnk2700NDPPGJKJOMHValue(1);
|
||||
mailData.setCollectStateValue(1);
|
||||
|
||||
mailDataList.add(mailData.build());
|
||||
}
|
||||
@@ -70,7 +70,7 @@ public class PacketGetAllMailRsp extends BasePacket {
|
||||
}
|
||||
|
||||
proto.addAllMailList(mailDataList);
|
||||
proto.setIsTruncated(mailDataList.size() <= 1000 ? false : true); // When enabled this will send a notification to the user telling them their inbox is full and they should delete old messages when opening the mailbox.
|
||||
proto.setIsTruncated(mailDataList.size() > 1000); // When enabled this will send a notification to the user telling them their inbox is full and they should delete old messages when opening the mailbox.
|
||||
}
|
||||
}
|
||||
this.setData(proto.build());
|
||||
|
||||
@@ -14,7 +14,7 @@ public class PacketGetCompoundDataRsp extends BasePacket {
|
||||
super(PacketOpcodes.GetCompoundDataRsp);
|
||||
var proto = GetCompoundDataRsp.newBuilder()
|
||||
.addAllUnlockCompoundList(unlockedCompounds)
|
||||
.addAllCompoundQueDataList(compoundQueueData)
|
||||
.addAllCompoundQueueDataList(compoundQueueData)
|
||||
.setRetcode(Retcode.RET_SUCC_VALUE)
|
||||
.build();
|
||||
setData(proto);
|
||||
|
||||
@@ -70,8 +70,8 @@ public class PacketGetPlayerTokenRsp extends BasePacket {
|
||||
.setClientVersionRandomKey("c25-314dd05b0b5f")
|
||||
.setRegPlatform(3)
|
||||
.setClientIpStr(session.getAddress().getAddress().getHostAddress())
|
||||
.setEncryptedSeed(encryptedSeed)
|
||||
.setSeedSignature(encryptedSeedSign)
|
||||
.setServerRandKey(encryptedSeed)
|
||||
.setSign(encryptedSeedSign)
|
||||
.build();
|
||||
|
||||
this.setData(p.toByteArray());
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.HomeAllUnlockedBgmIdListNotifyOuterClass;
|
||||
|
||||
public class PacketHomeAllUnlockedBgmIdListNotify extends BasePacket {
|
||||
public PacketHomeAllUnlockedBgmIdListNotify(Player player) {
|
||||
super(PacketOpcodes.HomeAllUnlockedBgmIdListNotify);
|
||||
|
||||
if (player.getRealmList() == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
var unlocked = player.getHome().getUnlockedHomeBgmList();
|
||||
|
||||
var notify = HomeAllUnlockedBgmIdListNotifyOuterClass.HomeAllUnlockedBgmIdListNotify.newBuilder()
|
||||
.addAllAllUnlockedBgmIdList(unlocked)
|
||||
.build();
|
||||
|
||||
this.setData(notify);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.HomeChangeBgmNotifyOuterClass;
|
||||
|
||||
public class PacketHomeChangeBgmNotify extends BasePacket {
|
||||
public PacketHomeChangeBgmNotify(int homeBgmId) {
|
||||
super(PacketOpcodes.HomeChangeBgmNotify);
|
||||
|
||||
var notify = HomeChangeBgmNotifyOuterClass.HomeChangeBgmNotify.newBuilder()
|
||||
.setBgmId(homeBgmId)
|
||||
.build();
|
||||
|
||||
this.setData(notify);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.HomeChangeBgmRspOuterClass;
|
||||
|
||||
public class PacketHomeChangeBgmRsp extends BasePacket {
|
||||
public PacketHomeChangeBgmRsp() {
|
||||
super(PacketOpcodes.HomeChangeBgmRsp);
|
||||
|
||||
var rsp = HomeChangeBgmRspOuterClass.HomeChangeBgmRsp.newBuilder()
|
||||
.setRetcode(0)
|
||||
.build();
|
||||
|
||||
this.setData(rsp);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
|
||||
public class PacketHomeEnterEditModeFinishRsp extends BasePacket {
|
||||
|
||||
public PacketHomeEnterEditModeFinishRsp() {
|
||||
super(PacketOpcodes.HomeEnterEditModeFinishRsp);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.HomeNewUnlockedBgmIdListNotifyOuterClass;
|
||||
|
||||
public class PacketHomeNewUnlockedBgmIdListNotify extends BasePacket {
|
||||
public PacketHomeNewUnlockedBgmIdListNotify(int homeBgmId) {
|
||||
super(PacketOpcodes.HomeNewUnlockedBgmIdListNotify);
|
||||
|
||||
var notify = HomeNewUnlockedBgmIdListNotifyOuterClass.HomeNewUnlockedBgmIdListNotify.newBuilder()
|
||||
.addNewUnlockedBgmIdList(homeBgmId)
|
||||
.build();
|
||||
|
||||
this.setData(notify);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.HomePreChangeEditModeNotifyOuterClass;
|
||||
|
||||
public class PacketHomePreChangeEditModeNotify extends BasePacket {
|
||||
|
||||
public PacketHomePreChangeEditModeNotify(boolean isEnterEditMode) {
|
||||
super(PacketOpcodes.HomePreChangeEditModeNotify);
|
||||
|
||||
var proto = HomePreChangeEditModeNotifyOuterClass.HomePreChangeEditModeNotify.newBuilder();
|
||||
|
||||
proto.setIsEnterEditMode(isEnterEditMode);
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.HomeUnknown1NotifyOuterClass;
|
||||
|
||||
public class PacketHomeUnknown1Notify extends BasePacket {
|
||||
|
||||
public PacketHomeUnknown1Notify(boolean isEnterEditMode) {
|
||||
super(PacketOpcodes.Unk2700_JDMPECKFGIG_ServerNotify);
|
||||
|
||||
var proto = HomeUnknown1NotifyOuterClass.HomeUnknown1Notify.newBuilder();
|
||||
|
||||
proto.setIsEnterEditMode(isEnterEditMode);
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
|
||||
public class PacketHomeUnknown2Rsp extends BasePacket {
|
||||
|
||||
public PacketHomeUnknown2Rsp() {
|
||||
super(PacketOpcodes.Unk2700_KIIOGMKFNNP_ServerRsp);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -3,10 +3,10 @@ package emu.grasscutter.server.packet.send;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
|
||||
public class PacketFireworkSetRsp extends BasePacket {
|
||||
public class PacketLaunchFireworksRsp extends BasePacket {
|
||||
|
||||
public PacketFireworkSetRsp() {
|
||||
super(PacketOpcodes.FireworkSetRsp);
|
||||
public PacketLaunchFireworksRsp() {
|
||||
super(PacketOpcodes.LaunchFireworksRsp);
|
||||
|
||||
}
|
||||
|
||||
@@ -6,7 +6,12 @@ import emu.grasscutter.game.mail.Mail;
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.*;
|
||||
import emu.grasscutter.net.proto.MailChangeNotifyOuterClass.MailChangeNotify;
|
||||
import emu.grasscutter.net.proto.MailTextContentOuterClass.MailTextContent;
|
||||
import emu.grasscutter.net.proto.MailItemOuterClass.MailItem;
|
||||
import emu.grasscutter.net.proto.MailDataOuterClass.MailData;
|
||||
|
||||
import emu.grasscutter.net.proto.EquipParamOuterClass.EquipParam;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -24,20 +29,20 @@ public class PacketMailChangeNotify extends BasePacket {
|
||||
public PacketMailChangeNotify(Player player, List<Mail> mailList, List<Integer> delMailIdList) {
|
||||
super(PacketOpcodes.MailChangeNotify);
|
||||
|
||||
MailChangeNotifyOuterClass.MailChangeNotify.Builder proto = MailChangeNotifyOuterClass.MailChangeNotify.newBuilder();
|
||||
var proto = MailChangeNotify.newBuilder();
|
||||
|
||||
if (mailList != null) {
|
||||
for (Mail message : mailList) {
|
||||
MailTextContentOuterClass.MailTextContent.Builder mailTextContent = MailTextContentOuterClass.MailTextContent.newBuilder();
|
||||
var mailTextContent = MailTextContent.newBuilder();
|
||||
mailTextContent.setTitle(message.mailContent.title);
|
||||
mailTextContent.setContent(message.mailContent.content);
|
||||
mailTextContent.setSender(message.mailContent.sender);
|
||||
|
||||
List<MailItemOuterClass.MailItem> mailItems = new ArrayList<MailItemOuterClass.MailItem>();
|
||||
List<MailItem> mailItems = new ArrayList<>();
|
||||
|
||||
for (Mail.MailItem item : message.itemList) {
|
||||
MailItemOuterClass.MailItem.Builder mailItem = MailItemOuterClass.MailItem.newBuilder();
|
||||
EquipParamOuterClass.EquipParam.Builder itemParam = EquipParamOuterClass.EquipParam.newBuilder();
|
||||
var mailItem = MailItem.newBuilder();
|
||||
var itemParam = EquipParam.newBuilder();
|
||||
itemParam.setItemId(item.itemId);
|
||||
itemParam.setItemNum(item.itemCount);
|
||||
mailItem.setEquipParam(itemParam.build());
|
||||
@@ -45,7 +50,7 @@ public class PacketMailChangeNotify extends BasePacket {
|
||||
mailItems.add(mailItem.build());
|
||||
}
|
||||
|
||||
MailDataOuterClass.MailData.Builder mailData = MailDataOuterClass.MailData.newBuilder();
|
||||
var mailData = MailData.newBuilder();
|
||||
mailData.setMailId(player.getMailId(message));
|
||||
mailData.setMailTextContent(mailTextContent.build());
|
||||
mailData.addAllItemList(mailItems);
|
||||
@@ -54,7 +59,7 @@ public class PacketMailChangeNotify extends BasePacket {
|
||||
mailData.setImportance(message.importance);
|
||||
mailData.setIsRead(message.isRead);
|
||||
mailData.setIsAttachmentGot(message.isAttachmentGot);
|
||||
mailData.setUnk2700NDPPGJKJOMHValue(message.stateValue);
|
||||
mailData.setCollectStateValue(message.stateValue);
|
||||
|
||||
proto.addMailList(mailData.build());
|
||||
}
|
||||
|
||||
@@ -3,7 +3,8 @@ package emu.grasscutter.server.packet.send;
|
||||
import emu.grasscutter.game.managers.mapmark.MapMark;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.*;
|
||||
import emu.grasscutter.net.proto.MarkMapRspOuterClass.MarkMapRsp;
|
||||
import emu.grasscutter.net.proto.MapMarkPointOuterClass.MapMarkPoint;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -12,12 +13,12 @@ public class PacketMarkMapRsp extends BasePacket {
|
||||
public PacketMarkMapRsp(Map<String, MapMark> mapMarks) {
|
||||
super(PacketOpcodes.MarkMapRsp);
|
||||
|
||||
MarkMapRspOuterClass.MarkMapRsp.Builder proto = MarkMapRspOuterClass.MarkMapRsp.newBuilder();
|
||||
var proto = MarkMapRsp.newBuilder();
|
||||
proto.setRetcode(0);
|
||||
|
||||
if (mapMarks != null) {
|
||||
for (MapMark mapMark: mapMarks.values()) {
|
||||
MapMarkPointOuterClass.MapMarkPoint.Builder markPoint = MapMarkPointOuterClass.MapMarkPoint.newBuilder();
|
||||
var markPoint = MapMarkPoint.newBuilder();
|
||||
markPoint.setSceneId(mapMark.getSceneId());
|
||||
markPoint.setName(mapMark.getName());
|
||||
markPoint.setPos(mapMark.getPosition().toProto());
|
||||
@@ -29,8 +30,6 @@ public class PacketMarkMapRsp extends BasePacket {
|
||||
proto.addMarkList(markPoint.build());
|
||||
}
|
||||
}
|
||||
|
||||
MarkMapRspOuterClass.MarkMapRsp data = proto.build();
|
||||
this.setData(data);
|
||||
this.setData(proto.build());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,25 +1,22 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class PacketMarkNewNotify extends BasePacket {
|
||||
|
||||
public PacketMarkNewNotify(Player player, int markNewType, ArrayList<Integer> idList) {
|
||||
super(PacketOpcodes.MarkNewNotify);
|
||||
|
||||
MarkNewNotifyOuterClass.MarkNewNotify.Builder proto = MarkNewNotifyOuterClass.MarkNewNotify.newBuilder();
|
||||
proto.setMarkNewType(markNewType);
|
||||
for (Integer id: idList) {
|
||||
proto.addIdList(id);
|
||||
}
|
||||
|
||||
MarkNewNotifyOuterClass.MarkNewNotify data = proto.build();
|
||||
this.setData(data);
|
||||
}
|
||||
}
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.MarkNewNotifyOuterClass.MarkNewNotify;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class PacketMarkNewNotify extends BasePacket {
|
||||
|
||||
public PacketMarkNewNotify(Player player, int markNewType, ArrayList<Integer> idList) {
|
||||
super(PacketOpcodes.MarkNewNotify);
|
||||
|
||||
var proto = MarkNewNotify.newBuilder();
|
||||
proto.setMarkNewType(markNewType);
|
||||
proto.addAllIdList(idList);
|
||||
|
||||
this.setData(proto.build());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.MusicGameCreateBeatmapRspOuterClass;
|
||||
import emu.grasscutter.net.proto.MusicGameUnknown1EnumOuterClass;
|
||||
|
||||
public class PacketMusicGameCreateBeatmapRsp extends BasePacket {
|
||||
|
||||
public PacketMusicGameCreateBeatmapRsp(long musicShareId, MusicGameUnknown1EnumOuterClass.MusicGameUnknown1Enum unknownEnum1) {
|
||||
super(PacketOpcodes.MusicGameCreateBeatmapRsp);
|
||||
|
||||
var proto = MusicGameCreateBeatmapRspOuterClass.MusicGameCreateBeatmapRsp.newBuilder();
|
||||
|
||||
proto.setMusicShareId(musicShareId)
|
||||
.setUnknownEnum1(unknownEnum1);
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
//package emu.grasscutter.server.packet.send;
|
||||
//
|
||||
//import emu.grasscutter.net.packet.BasePacket;
|
||||
//import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
//import emu.grasscutter.net.proto.MusicGameCreateBeatmapRspOuterClass;
|
||||
//import emu.grasscutter.net.proto.MusicGameUnknown1EnumOuterClass;
|
||||
//
|
||||
//public class PacketMusicGameCreateBeatmapRsp extends BasePacket {
|
||||
//
|
||||
// public PacketMusicGameCreateBeatmapRsp(long musicShareId, MusicGameUnknown1EnumOuterClass.MusicGameUnknown1Enum unknownEnum1) {
|
||||
// super(PacketOpcodes.MusicGameCreateBeatmapRsp);
|
||||
//
|
||||
// var proto = MusicGameCreateBeatmapRspOuterClass.MusicGameCreateBeatmapRsp.newBuilder();
|
||||
//
|
||||
// proto.setMusicShareId(musicShareId)
|
||||
// .setUnknownEnum1(unknownEnum1);
|
||||
//
|
||||
// this.setData(proto);
|
||||
// }
|
||||
//}
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.MusicBeatmapOuterClass;
|
||||
import emu.grasscutter.net.proto.MusicBriefInfoOuterClass;
|
||||
import emu.grasscutter.net.proto.MusicGameGetBeatmapReqOuterClass;
|
||||
import emu.grasscutter.net.proto.MusicGameGetBeatmapRspOuterClass;
|
||||
|
||||
public class PacketMusicGameGetBeatmapRsp extends BasePacket {
|
||||
|
||||
public PacketMusicGameGetBeatmapRsp(MusicBriefInfoOuterClass.MusicBriefInfo briefInfo, MusicBeatmapOuterClass.MusicBeatmap musicRecord, MusicGameGetBeatmapReqOuterClass.MusicGameGetBeatmapReq req) {
|
||||
super(PacketOpcodes.MusicGameGetBeatmapRsp);
|
||||
|
||||
var proto = MusicGameGetBeatmapRspOuterClass.MusicGameGetBeatmapRsp.newBuilder();
|
||||
|
||||
proto.setMusicBriefInfo(briefInfo)
|
||||
.setMusicShareId(briefInfo.getMusicShareId())
|
||||
.setMusicRecord(musicRecord)
|
||||
.setUnknownEnum1(req.getUnknownEnum1())
|
||||
.setReqType(req.getReqType())
|
||||
;
|
||||
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
//package emu.grasscutter.server.packet.send;
|
||||
//
|
||||
//import emu.grasscutter.net.packet.BasePacket;
|
||||
//import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
//import emu.grasscutter.net.proto.MusicBeatmapOuterClass;
|
||||
//import emu.grasscutter.net.proto.MusicBriefInfoOuterClass;
|
||||
//import emu.grasscutter.net.proto.MusicGameGetBeatmapReqOuterClass;
|
||||
//import emu.grasscutter.net.proto.MusicGameGetBeatmapRspOuterClass;
|
||||
//
|
||||
//public class PacketMusicGameGetBeatmapRsp extends BasePacket {
|
||||
//
|
||||
// public PacketMusicGameGetBeatmapRsp(MusicBriefInfoOuterClass.MusicBriefInfo briefInfo, MusicBeatmapOuterClass.MusicBeatmap musicRecord, MusicGameGetBeatmapReqOuterClass.MusicGameGetBeatmapReq req) {
|
||||
// super(PacketOpcodes.MusicGameGetBeatmapRsp);
|
||||
//
|
||||
// var proto = MusicGameGetBeatmapRspOuterClass.MusicGameGetBeatmapRsp.newBuilder();
|
||||
//
|
||||
// proto.setMusicBriefInfo(briefInfo)
|
||||
// .setMusicShareId(briefInfo.getMusicShareId())
|
||||
// .setMusicRecord(musicRecord)
|
||||
// .setUnknownEnum1(req.getUnknownEnum1())
|
||||
// .setReqType(req.getReqType())
|
||||
// ;
|
||||
//
|
||||
//
|
||||
// this.setData(proto);
|
||||
// }
|
||||
//}
|
||||
|
||||
@@ -1,34 +1,34 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.MusicBriefInfoOuterClass;
|
||||
import emu.grasscutter.net.proto.MusicGameSearchBeatmapRspOuterClass;
|
||||
import emu.grasscutter.net.proto.MusicGameUnknown1EnumOuterClass;
|
||||
|
||||
public class PacketMusicGameSearchBeatmapRsp extends BasePacket {
|
||||
|
||||
public PacketMusicGameSearchBeatmapRsp(int ret, MusicGameUnknown1EnumOuterClass.MusicGameUnknown1Enum unknownEnum1) {
|
||||
super(PacketOpcodes.MusicGameSearchBeatmapRsp);
|
||||
|
||||
var proto = MusicGameSearchBeatmapRspOuterClass.MusicGameSearchBeatmapRsp.newBuilder();
|
||||
|
||||
proto.setRetcode(ret)
|
||||
.setUnknownEnum1(unknownEnum1);
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
public PacketMusicGameSearchBeatmapRsp(MusicBriefInfoOuterClass.MusicBriefInfo briefInfo, MusicGameUnknown1EnumOuterClass.MusicGameUnknown1Enum unknownEnum1) {
|
||||
super(PacketOpcodes.MusicGameSearchBeatmapRsp);
|
||||
|
||||
var proto = MusicGameSearchBeatmapRspOuterClass.MusicGameSearchBeatmapRsp.newBuilder();
|
||||
|
||||
proto.setMusicBriefInfo(briefInfo)
|
||||
.setUnknownEnum1(unknownEnum1);
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
//package emu.grasscutter.server.packet.send;
|
||||
//
|
||||
//import emu.grasscutter.net.packet.BasePacket;
|
||||
//import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
//import emu.grasscutter.net.proto.MusicBriefInfoOuterClass;
|
||||
//import emu.grasscutter.net.proto.MusicGameSearchBeatmapRspOuterClass;
|
||||
//import emu.grasscutter.net.proto.MusicGameUnknown1EnumOuterClass;
|
||||
//
|
||||
//public class PacketMusicGameSearchBeatmapRsp extends BasePacket {
|
||||
//
|
||||
// public PacketMusicGameSearchBeatmapRsp(int ret, MusicGameUnknown1EnumOuterClass.MusicGameUnknown1Enum unknownEnum1) {
|
||||
// super(PacketOpcodes.MusicGameSearchBeatmapRsp);
|
||||
//
|
||||
// var proto = MusicGameSearchBeatmapRspOuterClass.MusicGameSearchBeatmapRsp.newBuilder();
|
||||
//
|
||||
// proto.setRetcode(ret)
|
||||
// .setUnknownEnum1(unknownEnum1);
|
||||
//
|
||||
// this.setData(proto);
|
||||
// }
|
||||
//
|
||||
// public PacketMusicGameSearchBeatmapRsp(MusicBriefInfoOuterClass.MusicBriefInfo briefInfo, MusicGameUnknown1EnumOuterClass.MusicGameUnknown1Enum unknownEnum1) {
|
||||
// super(PacketOpcodes.MusicGameSearchBeatmapRsp);
|
||||
//
|
||||
// var proto = MusicGameSearchBeatmapRspOuterClass.MusicGameSearchBeatmapRsp.newBuilder();
|
||||
//
|
||||
// proto.setMusicBriefInfo(briefInfo)
|
||||
// .setUnknownEnum1(unknownEnum1);
|
||||
//
|
||||
// this.setData(proto);
|
||||
// }
|
||||
//
|
||||
//
|
||||
//}
|
||||
|
||||
@@ -12,7 +12,7 @@ public class PacketMusicGameSettleRsp extends BasePacket {
|
||||
var proto = MusicGameSettleRspOuterClass.MusicGameSettleRsp.newBuilder();
|
||||
|
||||
proto.setMusicBasicId(musicBasicId)
|
||||
.setMusicShareId(musicShareId)
|
||||
.setUgcGuid(musicShareId)
|
||||
.setIsNewRecord(isNewRecord);
|
||||
|
||||
this.setData(proto);
|
||||
|
||||
@@ -12,7 +12,7 @@ public class PacketMusicGameStartRsp extends BasePacket {
|
||||
var proto = MusicGameStartRspOuterClass.MusicGameStartRsp.newBuilder();
|
||||
|
||||
proto.setMusicBasicId(musicBasicId)
|
||||
.setMusicShareId(musicShareId);
|
||||
.setUgcGuid(musicShareId);
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.MusicGameStartToPlayOthersBeatmapRspOuterClass;
|
||||
import emu.grasscutter.net.proto.MusicGameUnknown1EnumOuterClass;
|
||||
|
||||
public class PacketMusicGameStartToPlayOthersBeatmapRsp extends BasePacket {
|
||||
|
||||
public PacketMusicGameStartToPlayOthersBeatmapRsp(MusicGameUnknown1EnumOuterClass.MusicGameUnknown1Enum unknownEnum1) {
|
||||
super(PacketOpcodes.MusicGameStartToPlayOthersBeatmapRsp);
|
||||
|
||||
var proto = MusicGameStartToPlayOthersBeatmapRspOuterClass.MusicGameStartToPlayOthersBeatmapRsp.newBuilder();
|
||||
|
||||
proto.setUnknownEnum1(unknownEnum1);
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
//package emu.grasscutter.server.packet.send;
|
||||
//
|
||||
//import emu.grasscutter.net.packet.BasePacket;
|
||||
//import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
//import emu.grasscutter.net.proto.MusicGameStartToPlayOthersBeatmapRspOuterClass;
|
||||
//import emu.grasscutter.net.proto.MusicGameUnknown1EnumOuterClass;
|
||||
//
|
||||
//public class PacketMusicGameStartToPlayOthersBeatmapRsp extends BasePacket {
|
||||
//
|
||||
// public PacketMusicGameStartToPlayOthersBeatmapRsp(MusicGameUnknown1EnumOuterClass.MusicGameUnknown1Enum unknownEnum1) {
|
||||
// super(PacketOpcodes.MusicGameStartToPlayOthersBeatmapRsp);
|
||||
//
|
||||
// var proto = MusicGameStartToPlayOthersBeatmapRspOuterClass.MusicGameStartToPlayOthersBeatmapRsp.newBuilder();
|
||||
//
|
||||
// proto.setUnknownEnum1(unknownEnum1);
|
||||
//
|
||||
// this.setData(proto);
|
||||
// }
|
||||
//}
|
||||
|
||||
@@ -3,12 +3,11 @@ package emu.grasscutter.server.packet.send;
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.PlayerApplyEnterMpReasonOuterClass.PlayerApplyEnterMpReason;
|
||||
import emu.grasscutter.net.proto.PlayerApplyEnterMpResultNotifyOuterClass;
|
||||
import emu.grasscutter.net.proto.PlayerApplyEnterMpResultNotifyOuterClass.PlayerApplyEnterMpResultNotify;
|
||||
|
||||
public class PacketPlayerApplyEnterMpResultNotify extends BasePacket {
|
||||
|
||||
|
||||
public PacketPlayerApplyEnterMpResultNotify(Player target, boolean isAgreed, PlayerApplyEnterMpResultNotifyOuterClass.PlayerApplyEnterMpResultNotify.Reason reason) {
|
||||
super(PacketOpcodes.PlayerApplyEnterMpResultNotify);
|
||||
|
||||
@@ -18,10 +17,10 @@ public class PacketPlayerApplyEnterMpResultNotify extends BasePacket {
|
||||
.setIsAgreed(isAgreed)
|
||||
.setReason(reason)
|
||||
.build();
|
||||
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
|
||||
public PacketPlayerApplyEnterMpResultNotify(int targetId, String targetName, boolean isAgreed, PlayerApplyEnterMpResultNotify.Reason reason) {
|
||||
super(PacketOpcodes.PlayerApplyEnterMpResultNotify);
|
||||
|
||||
@@ -31,7 +30,7 @@ public class PacketPlayerApplyEnterMpResultNotify extends BasePacket {
|
||||
.setIsAgreed(isAgreed)
|
||||
.setReason(reason)
|
||||
.build();
|
||||
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,58 +5,57 @@ import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.ChatInfoOuterClass.ChatInfo;
|
||||
import emu.grasscutter.net.proto.PlayerChatNotifyOuterClass.PlayerChatNotify;
|
||||
import emu.grasscutter.net.proto.SystemHintOuterClass.SystemHint;
|
||||
|
||||
public class PacketPlayerChatNotify extends BasePacket {
|
||||
|
||||
|
||||
public PacketPlayerChatNotify(Player sender, int channelId, String message) {
|
||||
super(PacketOpcodes.PlayerChatNotify);
|
||||
|
||||
|
||||
ChatInfo info = ChatInfo.newBuilder()
|
||||
.setTime((int) (System.currentTimeMillis() / 1000))
|
||||
.setUid(sender.getUid())
|
||||
.setText(message)
|
||||
.build();
|
||||
|
||||
|
||||
PlayerChatNotify proto = PlayerChatNotify.newBuilder()
|
||||
.setChannelId(channelId)
|
||||
.setChatInfo(info)
|
||||
.build();
|
||||
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
|
||||
public PacketPlayerChatNotify(Player sender, int channelId, int emote) {
|
||||
super(PacketOpcodes.PlayerChatNotify);
|
||||
|
||||
|
||||
ChatInfo info = ChatInfo.newBuilder()
|
||||
.setTime((int) (System.currentTimeMillis() / 1000))
|
||||
.setUid(sender.getUid())
|
||||
.setIcon(emote)
|
||||
.build();
|
||||
|
||||
|
||||
PlayerChatNotify proto = PlayerChatNotify.newBuilder()
|
||||
.setChannelId(channelId)
|
||||
.setChatInfo(info)
|
||||
.build();
|
||||
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
|
||||
public PacketPlayerChatNotify(Player sender, int channelId, ChatInfo.SystemHint systemHint) {
|
||||
super(PacketOpcodes.PlayerChatNotify);
|
||||
|
||||
|
||||
ChatInfo info = ChatInfo.newBuilder()
|
||||
.setTime((int) (System.currentTimeMillis() / 1000))
|
||||
.setUid(sender.getUid())
|
||||
.setSystemHint(systemHint)
|
||||
.build();
|
||||
|
||||
|
||||
PlayerChatNotify proto = PlayerChatNotify.newBuilder()
|
||||
.setChannelId(channelId)
|
||||
.setChatInfo(info)
|
||||
.build();
|
||||
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ public class PacketPlayerCompoundMaterialRsp extends BasePacket {
|
||||
public PacketPlayerCompoundMaterialRsp(CompoundQueueData compoundQueueData) {
|
||||
super(PacketOpcodes.PlayerCompoundMaterialRsp);
|
||||
PlayerCompoundMaterialRsp proto = PlayerCompoundMaterialRsp.newBuilder()
|
||||
.setCompoundQueData(compoundQueueData)
|
||||
.setCompoundQueueData(compoundQueueData)
|
||||
.setRetcode(Retcode.RET_SUCC_VALUE)
|
||||
.build();
|
||||
setData(proto);
|
||||
|
||||
@@ -28,7 +28,7 @@ public class PacketPlayerCookRsp extends BasePacket {
|
||||
.setRecipeData(
|
||||
CookRecipeData.newBuilder()
|
||||
.setRecipeId(recipeId)
|
||||
.setProficiency(proficiency)
|
||||
.setProficiency(proficiency)
|
||||
)
|
||||
.setQteQuality(quality)
|
||||
.setCookCount(count);
|
||||
|
||||
@@ -17,7 +17,7 @@ public class PacketQueryCodexMonsterBeKilledNumRsp extends BasePacket {
|
||||
if (player.getCodex().getUnlockedAnimal().containsKey(animal)) {
|
||||
proto.addCodexIdList(animal)
|
||||
.addBeKilledNumList(player.getCodex().getUnlockedAnimal().get(animal))
|
||||
.addUnk2700MKOBMGGPNMI(0);
|
||||
.addBeCapturedNumList(0);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.ReformFireworksRspOuterClass;
|
||||
|
||||
public class PacketReformFireworksRsp extends BasePacket {
|
||||
public PacketReformFireworksRsp() {
|
||||
super(PacketOpcodes.ReformFireworksRsp);
|
||||
var proto = ReformFireworksRspOuterClass.ReformFireworksRsp.newBuilder()
|
||||
.build();
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.RetcodeOuterClass.Retcode;
|
||||
import emu.grasscutter.net.proto.RemoveCustomTeamRspOuterClass.RemoveCustomTeamRsp;
|
||||
|
||||
public class PacketRemoveCustomTeamRsp extends BasePacket {
|
||||
public PacketRemoveCustomTeamRsp(Retcode retcode, int id) {
|
||||
super(PacketOpcodes.RemoveCustomTeamRsp);
|
||||
|
||||
RemoveCustomTeamRsp proto = RemoveCustomTeamRsp.newBuilder()
|
||||
.setRetcode(retcode.getNumber())
|
||||
.setId(id)
|
||||
.build();
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
public PacketRemoveCustomTeamRsp(int id) {
|
||||
this(Retcode.RET_SUCC, id);
|
||||
}
|
||||
}
|
||||
@@ -2,8 +2,6 @@ package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.AchievementInfoOuterClass;
|
||||
import emu.grasscutter.net.proto.AchievementInfoOuterClass.AchievementInfo;
|
||||
import emu.grasscutter.net.proto.TakeAchievementRewardReqOuterClass.TakeAchievementRewardReq;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
|
||||
@@ -20,4 +18,4 @@ public class PacketTakeAchievementRewardReq extends BasePacket {
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ public class PacketTowerCurLevelRecordChangeNotify extends BasePacket {
|
||||
// TODO team info
|
||||
.build())
|
||||
.build();
|
||||
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ public class PacketTowerLevelStarCondNotify extends BasePacket {
|
||||
.build()
|
||||
)
|
||||
.build();
|
||||
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.Unk2700MEBFPBDNPGOServerNotify;
|
||||
|
||||
public class PacketUnlockHomeBgmNotify extends BasePacket {
|
||||
public PacketUnlockHomeBgmNotify(int homeBgmId) {
|
||||
super(PacketOpcodes.Unk2700_MEBFPBDNPGO_ServerNotify);
|
||||
|
||||
var notify = Unk2700MEBFPBDNPGOServerNotify.Unk2700_MEBFPBDNPGO_ServerNotify.newBuilder()
|
||||
.addUnk2700ELJPLMIHNIP(homeBgmId)
|
||||
.build();
|
||||
|
||||
this.setData(notify);
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.Unk2700LOHBMOKOPLHServerNotify;
|
||||
|
||||
public class PacketUnlockedHomeBgmNotify extends BasePacket {
|
||||
public PacketUnlockedHomeBgmNotify(Player player) {
|
||||
super(PacketOpcodes.Unk2700_LOHBMOKOPLH_ServerNotify);
|
||||
|
||||
if (player.getRealmList() == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
var unlocked = player.getHome().getUnlockedHomeBgmList();
|
||||
|
||||
var notify = Unk2700LOHBMOKOPLHServerNotify.Unk2700_LOHBMOKOPLH_ServerNotify.newBuilder()
|
||||
.addAllUnk2700KMEKMNONMGE(unlocked)
|
||||
.build();
|
||||
|
||||
this.setData(notify);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user