I think with your code you can see and Gatekeeper droplist :P So you have to add a check so dont work at all npcs
This is one way:
+++ java/net/sf/l2j/gameserver/model/actor/L2Npc.java
import net.sf.l2j.gameserver.model.L2World;
import net.sf.l2j.gameserver.model.L2WorldRegion;
import net.sf.l2j.gameserver.model.ShotType;
+import net.sf.l2j.gameserver.model.actor.instance.L2ChestInstance;
+import net.sf.l2j.gameserver.model.actor.instance.L2FestivalMonsterInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2FishermanInstance;
+import net.sf.l2j.gameserver.model.actor.instance.L2GrandBossInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2MerchantInstance;
+import net.sf.l2j.gameserver.model.actor.instance.L2MonsterInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.gameserver.model.actor.instance.L2RaidBossInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2TeleporterInstance;
else if (Config.ENABLE_SHIFT_CLICK_TO_NPCS)
{
if (this instanceof L2MonsterInstance || this instanceof L2RaidBossInstance || this instanceof L2GrandBossInstance || this instanceof L2FestivalMonsterInstance || this instanceof L2ChestInstance)
{
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
html.setFile("data/html/mods/npcinfo.htm");
html.replace("%class%", getClass().getSimpleName());
html.replace("%id%", getTemplate().getNpcId());
html.replace("%lvl%", getTemplate().getLevel());
html.replace("%name%", getTemplate().getName());
html.replace("%race%", getTemplate().getRace().toString());
html.replace("%tmplid%", getTemplate().getIdTemplate());
html.replace("%aggro%", getTemplate().getAggroRange());
html.replace("%corpse%", StringUtil.getTimeStamp(getTemplate().getCorpseTime()));
html.replace("%enchant%", getTemplate().getEnchantEffect());
html.replace("%hp%", (int) getCurrentHp());
html.replace("%hpmax%", getMaxHp());
html.replace("%mp%", (int) getCurrentMp());
html.replace("%mpmax%", getMaxMp());
html.replace("%patk%", getPAtk(null));
html.replace("%matk%", getMAtk(null, null));
html.replace("%pdef%", getPDef(null));
html.replace("%mdef%", getMDef(null, null));
html.replace("%accu%", getAccuracy());
html.replace("%evas%", getEvasionRate(null));
html.replace("%crit%", getCriticalHit(null, null));
html.replace("%rspd%", getWalkSpeed());
html.replace("%aspd%", getPAtkSpd());
html.replace("%cspd%", getMAtkSpd());
player.sendPacket(html);
}
}