add config option fake-enforce-secure-chat to disable secure chat popup
This commit is contained in:
parent
bca00f98cb
commit
4fb964fa60
3 changed files with 37 additions and 0 deletions
|
@ -43,6 +43,7 @@ import lol.pyr.znpcsplus.tasks.NpcProcessorTask;
|
|||
import lol.pyr.znpcsplus.tasks.ViewableHideOnLeaveListener;
|
||||
import lol.pyr.znpcsplus.updater.UpdateChecker;
|
||||
import lol.pyr.znpcsplus.updater.UpdateNotificationListener;
|
||||
import lol.pyr.znpcsplus.user.ClientPacketListener;
|
||||
import lol.pyr.znpcsplus.user.UserListener;
|
||||
import lol.pyr.znpcsplus.user.UserManager;
|
||||
import lol.pyr.znpcsplus.util.*;
|
||||
|
@ -141,6 +142,7 @@ public class ZNpcsPlus {
|
|||
typeRegistry.registerDefault(packetEvents, propertyRegistry);
|
||||
actionRegistry.registerTypes(scheduler, adventure, textSerializer, bungeeConnector);
|
||||
packetEvents.getEventManager().registerListener(new InteractionPacketListener(userManager, npcRegistry, typeRegistry, scheduler), PacketListenerPriority.MONITOR);
|
||||
packetEvents.getEventManager().registerListener(new ClientPacketListener(configManager), PacketListenerPriority.LOWEST);
|
||||
new Metrics(bootstrap, 18244);
|
||||
pluginManager.registerEvents(new UserListener(userManager), bootstrap);
|
||||
|
||||
|
|
|
@ -73,4 +73,9 @@ public interface MainConfig {
|
|||
@ConfComments("The display name to use for npcs in the player list (aka tab)")
|
||||
@DefaultString("ZNPC[{id}]")
|
||||
String tabDisplayName();
|
||||
|
||||
@ConfKey("fake-enforce-secure-chat")
|
||||
@ConfComments("Should the plugin fake the enforce secure chat packet to hide the popup?")
|
||||
@DefaultBoolean(false)
|
||||
boolean fakeEnforceSecureChat();
|
||||
}
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
package lol.pyr.znpcsplus.user;
|
||||
|
||||
import com.github.retrooper.packetevents.event.PacketListener;
|
||||
import com.github.retrooper.packetevents.event.PacketSendEvent;
|
||||
import com.github.retrooper.packetevents.protocol.packettype.PacketType;
|
||||
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerJoinGame;
|
||||
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerServerData;
|
||||
import lol.pyr.znpcsplus.config.ConfigManager;
|
||||
|
||||
public class ClientPacketListener implements PacketListener {
|
||||
private final ConfigManager configManager;
|
||||
|
||||
public ClientPacketListener(ConfigManager configManager) {
|
||||
this.configManager = configManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPacketSend(PacketSendEvent event) {
|
||||
if (!configManager.getConfig().fakeEnforceSecureChat()) return;
|
||||
if (event.getPacketType() == PacketType.Play.Server.SERVER_DATA) {
|
||||
WrapperPlayServerServerData packet = new WrapperPlayServerServerData(event);
|
||||
packet.setEnforceSecureChat(true);
|
||||
event.setByteBuf(packet.getBuffer());
|
||||
} else if (event.getPacketType() == PacketType.Play.Server.JOIN_GAME) {
|
||||
WrapperPlayServerJoinGame packet = new WrapperPlayServerJoinGame(event);
|
||||
packet.setEnforcesSecureChat(true);
|
||||
event.setByteBuf(packet.getBuffer());
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue