Optional effectiveJail = user.getJailHistory().stream().filter(Jail::isEffective).findFirst(); System.out.println("Have effective jail: " + effectiveJail.isPresent()); if (effectiveJail.isPresent()) { event.setCancelled(true); ServerInfo jailServer = plugin.getProxy().getServerInfo(plugin.getConfig().getJailServer()); if (jailServer == null) { player.disconnect("You are jailed, but the jail server isn't present"); // silly server admins see stacktrace and die plugin.getLogger().severe("No jail server set up"); } else { Jail jail = effectiveJail.get(); event.setTarget(jailServer); ByteArrayDataOutput out = ByteStreams.newDataOutput(); out.writeUTF("JailInfo"); out.writeUTF(player.getName()); out.writeInt(jail.getJailId()); out.writeLong(jail.getExpiresInSeconds()); out.writeBoolean(jail.isQuestioning()); jailServer.sendData("globalsanctions:jail", out.toByteArray()); } }