mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-05-13 21:53:34 +08:00
8c32438b52
Simple implementation of a part of the gadget support, very rough, hard code variables, I am very sorry for that. It can now handle part of the gadget rig. More features and better support await PRs from others. if no one else does, I'll give it a try.
42 lines
1.4 KiB
Java
42 lines
1.4 KiB
Java
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.GetWidgetSlotRspOuterClass;
|
|
import emu.grasscutter.net.proto.WidgetSlotDataOuterClass;
|
|
import emu.grasscutter.net.proto.WidgetSlotTagOuterClass;
|
|
|
|
import java.util.List;
|
|
|
|
public class PacketGetWidgetSlotRsp extends BasePacket {
|
|
|
|
public PacketGetWidgetSlotRsp(Player player) {
|
|
super(PacketOpcodes.GetWidgetSlotRsp);
|
|
|
|
GetWidgetSlotRspOuterClass.GetWidgetSlotRsp.Builder proto =
|
|
GetWidgetSlotRspOuterClass.GetWidgetSlotRsp.newBuilder();
|
|
|
|
if (player.getWidgetId() == null) {
|
|
proto.addAllSlotList(List.of());
|
|
} else {
|
|
proto.addSlotList(
|
|
WidgetSlotDataOuterClass.WidgetSlotData.newBuilder()
|
|
.setIsActive(true)
|
|
.setMaterialId(player.getWidgetId())
|
|
.build()
|
|
);
|
|
|
|
proto.addSlotList(
|
|
WidgetSlotDataOuterClass.WidgetSlotData.newBuilder()
|
|
.setTag(WidgetSlotTagOuterClass.WidgetSlotTag.WIDGET_SLOT_ATTACH_AVATAR)
|
|
.build()
|
|
);
|
|
}
|
|
|
|
GetWidgetSlotRspOuterClass.GetWidgetSlotRsp protoData = proto.build();
|
|
|
|
this.setData(protoData);
|
|
}
|
|
}
|