mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-19 10:24:47 +01:00
Fix daily dungeon didn't display in note(笔记) (#1296)
* Fix Daily dungeon didn't display in note(笔记) -- Buggy * 123
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.Grasscutter;
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.GetDailyDungeonEntryInfoReqOuterClass;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketGetDailyDungeonEntryInfoRsp;
|
||||
|
||||
@Opcodes(PacketOpcodes.GetDailyDungeonEntryInfoReq)
|
||||
public class HandlerGetDailyDungeonEntryInfoReq extends PacketHandler {
|
||||
|
||||
@Override
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
var req=
|
||||
GetDailyDungeonEntryInfoReqOuterClass.GetDailyDungeonEntryInfoReq.parseFrom(payload);
|
||||
|
||||
session.send(new PacketGetDailyDungeonEntryInfoRsp(req.getSceneId()));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import emu.grasscutter.Grasscutter;
|
||||
import emu.grasscutter.data.GameData;
|
||||
import emu.grasscutter.data.excels.DungeonEntryData;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.DailyDungeonEntryInfoOuterClass;
|
||||
import emu.grasscutter.net.proto.DungeonEntryInfoOuterClass;
|
||||
import emu.grasscutter.net.proto.GetDailyDungeonEntryInfoRspOuterClass;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PacketGetDailyDungeonEntryInfoRsp extends BasePacket {
|
||||
|
||||
public PacketGetDailyDungeonEntryInfoRsp(Integer sceneID) {
|
||||
super(PacketOpcodes.GetDailyDungeonEntryInfoRsp);
|
||||
|
||||
var resp= GetDailyDungeonEntryInfoRspOuterClass.GetDailyDungeonEntryInfoRsp.newBuilder();
|
||||
|
||||
for (var info : GameData.getDungeonEntryDatatMap().values().parallelStream().filter(d -> d.getSceneId() == sceneID).map(this::getDungonEntryInfo).toList())
|
||||
resp.addDailyDungeonInfoList(info);
|
||||
|
||||
this.setData(resp.build());
|
||||
}
|
||||
|
||||
private DailyDungeonEntryInfoOuterClass.DailyDungeonEntryInfo getDungonEntryInfo(DungeonEntryData data) {
|
||||
var dungeonEntryId = data.getDungeonEntryId();
|
||||
var id = data.getId();
|
||||
|
||||
//TODO: 来个爹把这块整活了吧 咚咚咚
|
||||
DungeonEntryInfoOuterClass.DungeonEntryInfo dungeonEntryInfo
|
||||
= DungeonEntryInfoOuterClass.DungeonEntryInfo.newBuilder().setDungeonId(130).build();
|
||||
|
||||
var builder = DailyDungeonEntryInfoOuterClass.DailyDungeonEntryInfo.newBuilder();
|
||||
|
||||
builder.setDungeonEntryId(dungeonEntryId);
|
||||
builder.setDungeonEntryConfigId(id);
|
||||
builder.setRecommendDungeonEntryInfo(dungeonEntryInfo);
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user