Files
Grasscutter/src/main/java/emu/grasscutter/server/packet/recv/HandlerEvtEntityRenderersChangedNotify.java
T
2023-03-31 22:30:45 -04:00

38 lines
1.6 KiB
Java

package emu.grasscutter.server.packet.recv;
import emu.grasscutter.net.packet.Opcodes;
import emu.grasscutter.net.packet.PacketHandler;
import emu.grasscutter.net.packet.PacketOpcodes;
import emu.grasscutter.net.proto.EvtEntityRenderersChangedNotifyOuterClass;
import emu.grasscutter.server.game.GameSession;
import emu.grasscutter.server.packet.send.PacketEvtEntityRenderersChangedNotify;
@Opcodes(PacketOpcodes.EvtEntityRenderersChangedNotify)
public class HandlerEvtEntityRenderersChangedNotify extends PacketHandler {
@Override
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
var req =
EvtEntityRenderersChangedNotifyOuterClass.EvtEntityRenderersChangedNotify.parseFrom(
payload);
switch (req.getForwardType()) {
case FORWARD_TYPE_TO_ALL -> session
.getPlayer()
.getScene()
.broadcastPacket(new PacketEvtEntityRenderersChangedNotify(req));
case FORWARD_TYPE_TO_ALL_EXCEPT_CUR -> session
.getPlayer()
.getScene()
.broadcastPacketToOthers(
session.getPlayer(), new PacketEvtEntityRenderersChangedNotify(req));
case FORWARD_TYPE_TO_HOST -> session
.getPlayer()
.getScene()
.getWorld()
.getHost()
.sendPacket(new PacketEvtEntityRenderersChangedNotify(req));
}
}
}