package me.asofold.bpl.simplyvanish.api.hooks.impl;
import me.asofold.bpl.simplyvanish.SimplyVanish;
import me.asofold.bpl.simplyvanish.api.hooks.AbstractHook;
import me.asofold.bpl.simplyvanish.api.hooks.HookListener;
import me.asofold.bpl.simplyvanish.api.hooks.HookPurpose;
public class ProtocolLibHook extends AbstractHook {
private static final HookPurpose[] purpose = new HookPurpose[]{
// HookPurpose.LISTENER,
// HookPurpose.AFTER_VANISH, HookPurpose.AFTER_REAPPEAR,
// HookPurpose.AFTER_SETFLAGS,
};
// private final ProtocolManager protocolManager;
public ProtocolLibHook(SimplyVanish plugin){
// protocolManager = ProtocolLibrary.getProtocolManager();
throw new RuntimeException("not intended for use :)");
// protocolManager.addPacketListener(new PacketAdapter(plugin, ConnectionSide.SERVER_SIDE, ListenerPriority.NORMAL, 0x1F, 0x22) {
// @Override
// public void onPacketSending(PacketEvent event) {
// // Item packets
// switch (event.getPacketID()) {
// case 0x1F:
// try {
// System.out.println("RELMOVE: " + event.getPacket().getModifier().readSafely(0));
// } catch (FieldAccessException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
//// event.setCancelled(true);
// break;
// case 0x22:
// try {
// System.out.println("TELEPORT: " + event.getPacket().getModifier().readSafely(0));
// } catch (FieldAccessException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
//// event.setCancelled(true);
// break;
// }
// }
// });
}
@Override
public String getHookName() {
return "ProtocolLib";
}
@Override
public HookPurpose[] getSupportedMethods() {
return purpose;
}
@Override
public HookListener getListener() {
return new HookListener() {
@Override
public boolean unregisterEvents() {
return false;
}
// TODO
};
}
@Override
public void afterVanish(String playerName) {
// TODO
}
@Override
public void afterReappear(String playerName) {
// TODO
}
@Override
public void afterSetFlags(String playerName) {
// TODO
}
}