RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
SendPlayerOption.java
1package com.osroyale.net.packet.out;
2
3import com.osroyale.net.packet.OutgoingPacket;
4import com.osroyale.net.packet.PacketType;
5import com.osroyale.net.codec.ByteModification;
6import com.osroyale.game.world.entity.mob.player.Player;
7import com.osroyale.game.world.entity.mob.player.PlayerOption;
8
37
38public final class SendPlayerOption extends OutgoingPacket {
39
40 private PlayerOption option;
41 private boolean top;
42 private boolean disable;
43
44 public SendPlayerOption(PlayerOption option, boolean top) {
45 this(option, top, false);
46 }
47
48 public SendPlayerOption(PlayerOption option, boolean top, boolean disable) {
49 super(104, PacketType.VAR_BYTE);
50 this.option = option;
51 this.top = top;
52 this.disable = disable;
53 }
54
55 @Override
56 public boolean encode(Player player) {
57 if (player.contextMenus.contains(option) && !disable) {
58 return false;
59 }
60
61 builder.writeByte(option.getIndex(), ByteModification.NEG)
62 .writeByte(top ? 1 : 0, ByteModification.ADD)
63 .writeString(disable ? "null" : option.getName());
64
65 if (disable) {
66 player.contextMenus.remove(option);
67 } else {
68 player.contextMenus.add(option);
69 }
70 return true;
71 }
72
73}