Create files from Grasscutter-Quests

these files are NOT directly compatible with Grasscutter, and require additional modifications to the codebase to work.
This commit is contained in:
KingRainbow44
2023-03-31 23:58:12 -04:00
Unverified
parent 86aad96125
commit 262ee38ded
229 changed files with 6729 additions and 0 deletions
@@ -0,0 +1,48 @@
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.RetcodeOuterClass;
import emu.grasscutter.net.proto.UgcTypeOuterClass;
import emu.grasscutter.server.game.GameSession;
import emu.grasscutter.server.packet.send.PacketGetUgcRsp;
import emu.grasscutter.net.proto.GetUgcReqOuterClass.GetUgcReq;
import lombok.val;
@Opcodes(PacketOpcodes.GetUgcReq)
public class HandlerGetUgcReq extends PacketHandler {
@Override
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
val req = GetUgcReq.parseFrom(payload);
PacketGetUgcRsp rsp = null;
if(req.getUgcType() == UgcTypeOuterClass.UgcType.UGC_TYPE_MUSIC_GAME) {
val musicGameBeatmap = MusicGameBeatmap.getByShareId(req.getUgcGuid());
if (musicGameBeatmap != null) {
rsp = new PacketGetUgcRsp(
musicGameBeatmap.toBriefProto().build(),
musicGameBeatmap.toProto(),
req
);
} else {
rsp = new PacketGetUgcRsp(
RetcodeOuterClass.Retcode.RET_UGC_DATA_NOT_FOUND,
req
);
}
}else {
rsp = new PacketGetUgcRsp(
RetcodeOuterClass.Retcode.RET_UGC_DISABLED,
req
);
}
session.send(rsp);
}
}