G-Earth/Extensions/BlockReplacePackets/src/main/java/extensions/blockreplacepackets/rules/BlockPacketRule.java

54 lines
1.2 KiB
Java
Raw Normal View History

2018-11-06 13:56:24 +01:00
package extensions.blockreplacepackets.rules;
import gearth.protocol.HMessage;
/**
* Created by Jonas on 6/11/2018.
*/
public class BlockPacketRule extends BlockReplaceRule{
private int headerId;
private Side side;
BlockPacketRule(Side side, int headerId) {
this.headerId = headerId;
this.side = side;
}
@Override
public void appendRuleToMessage(HMessage message) {
if (side == Side.ALL
2020-04-24 23:16:02 +02:00
|| (message.getDestination() == HMessage.Direction.TOSERVER && side == Side.OUTGOING)
|| (message.getDestination() == HMessage.Direction.TOCLIENT && side ==Side.INCOMING)) {
2020-06-12 00:13:16 +02:00
if (headerId == -1 || message.getPacket().headerId() == headerId) {
2018-11-06 13:56:24 +01:00
message.setBlocked(true);
}
}
}
@Override
public Option option() {
return Option.BLOCK;
}
@Override
public Type type() {
return Type.PACKET;
}
@Override
public Side side() {
return side;
}
@Override
public String value() {
2020-06-12 00:13:16 +02:00
return headerId == -1 ? "ALL" : (headerId+"");
2018-11-06 13:56:24 +01:00
}
@Override
public String replacement() {
2018-11-06 20:32:36 +01:00
return "/";
2018-11-06 13:56:24 +01:00
}
}