mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-17 09:25:06 +01:00
Implement food buffs
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
package emu.grasscutter.server.packet.send;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import emu.grasscutter.game.entity.EntityAvatar;
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.game.player.PlayerBuffManager.PlayerBuff;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.ServerBuffChangeNotifyOuterClass.ServerBuffChangeNotify;
|
||||
import emu.grasscutter.net.proto.ServerBuffChangeNotifyOuterClass.ServerBuffChangeNotify.ServerBuffChangeType;
|
||||
|
||||
public class PacketServerBuffChangeNotify extends BasePacket {
|
||||
|
||||
public PacketServerBuffChangeNotify(Player player, ServerBuffChangeType changeType, PlayerBuff buff) {
|
||||
super(PacketOpcodes.ServerBuffChangeNotify);
|
||||
|
||||
var proto = ServerBuffChangeNotify.newBuilder();
|
||||
|
||||
for (EntityAvatar entity : player.getTeamManager().getActiveTeam()) {
|
||||
proto.addAvatarGuidList(entity.getAvatar().getGuid());
|
||||
}
|
||||
|
||||
proto.setServerBuffChangeType(changeType);
|
||||
proto.addServerBuffList(buff.toProto());
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
|
||||
public PacketServerBuffChangeNotify(Player player, ServerBuffChangeType changeType, Collection<PlayerBuff> buffs) {
|
||||
super(PacketOpcodes.ServerBuffChangeNotify);
|
||||
|
||||
var proto = ServerBuffChangeNotify.newBuilder();
|
||||
|
||||
for (EntityAvatar entity : player.getTeamManager().getActiveTeam()) {
|
||||
proto.addAvatarGuidList(entity.getAvatar().getGuid());
|
||||
}
|
||||
|
||||
proto.setServerBuffChangeType(changeType);
|
||||
proto.addAllServerBuffList(buffs.stream().map(PlayerBuff::toProto).toList());
|
||||
|
||||
this.setData(proto);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user