mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-05-16 21:02:44 +08:00
dc9cef8ab7
* Refactor a couple of iterators * Use side-effect instead of second iterator * Make World::onTick return shouldDelete instead of success * Replace Shop iterator with side effects * Scene * Clean up Expeditions * Refactor Expeditions * Clean up Expeditions, Player * Limit Expeditions by AR * Lombokify props Co-authored-by: AnimeGitB <AnimeGitB@bigblueball.in>
42 lines
1.5 KiB
Java
42 lines
1.5 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() == 0) { // TODO: check this logic later, it was null-checking an int before which made it dead code
|
|
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_TAG_ATTACH_AVATAR)
|
|
.build()
|
|
);
|
|
}
|
|
|
|
GetWidgetSlotRspOuterClass.GetWidgetSlotRsp protoData = proto.build();
|
|
|
|
this.setData(protoData);
|
|
}
|
|
}
|