// Derived from http://stackoverflow.com/a/3054692/250076 public static File getRelativeFile(File targetFile, File baseFile) { try { targetFile = targetFile.getCanonicalFile(); baseFile = baseFile.getCanonicalFile(); } catch (IOException ignored) { } String pathSeparator = File.separator; String basePath = baseFile.getAbsolutePath(); String normalizedTargetPath = normalize(targetFile.getAbsolutePath(), pathSeparator); String normalizedBasePath = normalize(basePath, pathSeparator); String[] base = normalizedBasePath.split(Pattern.quote(pathSeparator)); String[] target = normalizedTargetPath.split(Pattern.quote(pathSeparator)); StringBuilder common = new StringBuilder(); int commonIndex = 0; while (commonIndex < target.length && commonIndex < base.length && target[commonIndex].equals(base[commonIndex])) { common.append(target[commonIndex]).append(pathSeparator); commonIndex++; } if (commonIndex == 0) { throw new Error( "No common path element found for '" + normalizedTargetPath + "' and '" + normalizedBasePath + '\''); } boolean baseIsFile = true; if (baseFile.exists()) { baseIsFile = baseFile.isFile(); } else if (basePath.endsWith(pathSeparator)) { baseIsFile = false; } StringBuilder relative = new StringBuilder(); if (base.length != commonIndex) { int numDirsUp = baseIsFile ? base.length - commonIndex - 1 : base.length - commonIndex; for (int i = 0; i < numDirsUp; i++) { relative.append("..").append(pathSeparator); } } relative.append(normalizedTargetPath.substring(common.length())); return new File(relative.toString()); }
public static void lookingCode() { int procura = 0; boolean entrou = false; do { procura = Entrada.leiaInt("Digite o código da carta: "); } while (procura < 0 || procura > 32); try { FileReader arq = new FileReader(FileManenger.fileName); BufferedReader lerArq = new BufferedReader(arq); String linha = lerArq.readLine(); while (linha != null) { // procura na string '.' if (linha.toLowerCase().contains(".".toLowerCase())) { // separ em um array a linha que tem o nome do personagem ex: 1.CARLOS String columnArray[] = linha.split(Pattern.quote(".")); // testa se o codigo é o que ele procura if (procura == Integer.parseInt(columnArray[0])) { // achou o codigo que ele procura entrou = true; } } // testa se a linha é igual a * se for ele já não é mais o personagem que procuramos if (linha.equals("*")) { entrou = false; } // mostra as inforamações do personagem if (entrou) { System.out.println(linha); } linha = lerArq.readLine(); } arq.close(); } catch (IOException e) { System.err.printf("Erro na abertura do arquivo: %s.\n", e.getMessage()); } }
public synchronized String format(String message) { Matcher matcher = variablePattern.matcher(message); while (matcher.find()) { String variable = matcher.group(); variable = variable.substring(1); if (variable.startsWith("{") && variable.endsWith("}")) variable = variable.substring(1, variable.length() - 1); String value = variables.get(variable); if (value == null) value = ""; message = message.replaceFirst(Pattern.quote(matcher.group()), Matcher.quoteReplacement(value)); } matcher = colorPattern.matcher(message); while (matcher.find()) message = message.substring(0, matcher.start()) + "\247" + message.substring(matcher.end() - 1); return message; }
@EventHandler public void onPacketProcess(PacketProcessEvent event) { // System.out.println("Packet received: " + event.getPacket().getId() // + " (" + event.getPacket() + ")"); Packet packet = event.getPacket(); switch (packet.getId()) { case 0: connectionHandler.sendPacket(new Packet0KeepAlive(new Random().nextInt())); break; case 3: String message = ((Packet3Chat) packet).message; message = removeColors(message); System.out.println("[" + bot.getSession().getUsername() + "] " + message); String testMessage = "[MineCaptcha] To be unmuted answer this question: What is "; String testMessage2 = "Please type '"; String testMessage3 = "' to continue sending messages/commands"; if (message.contains(testMessage)) { try { String captcha = message.split(Pattern.quote(testMessage))[1].split("[ \\?]")[0]; ScriptEngineManager mgr = new ScriptEngineManager(); ScriptEngine engine = mgr.getEngineByName("JavaScript"); String solved = engine.eval(captcha).toString(); solved = solved.split("\\.")[0]; connectionHandler.sendPacket(new Packet3Chat(solved)); } catch (Exception exception) { exception.printStackTrace(); } } else if (message.contains(testMessage2) && message.contains(testMessage3)) { try { String captcha = message.split(Pattern.quote(testMessage2))[1].split(Pattern.quote(testMessage3))[0]; connectionHandler.sendPacket(new Packet3Chat(captcha)); } catch (Exception exception) { exception.printStackTrace(); } } else if (message.startsWith("Please register with \"/register")) { String password = ""; for (int i = 0; i < 10 + random.nextInt(6); i++) password += alphas[random.nextInt(alphas.length)]; bot.say("/register " + password + " " + password); } else if (message.startsWith("/uc ")) { connectionHandler.sendPacket(new Packet3Chat(message)); } else if ((message.contains("do the crime") && message.contains("do the time")) || message.contains("You have been muted")) { connectionHandler.sendPacket(new Packet3Chat("\247Leaving!")); } else if (message.contains(owner + " has requested to teleport to you.")) { connectionHandler.sendPacket(new Packet3Chat("/tpaccept")); } else if (message.contains(owner)) { if (message.contains("Go ")) { spamMessage = message.substring(message.indexOf("Go ") + "Go ".length()); } else if (message.contains("Stop")) { spamMessage = null; bot.getTaskManager().stopAll(); } else if (message.contains("Die")) { die = true; } else if (message.contains("Say ")) { connectionHandler.sendPacket( new Packet3Chat(message.substring(message.indexOf("Say ") + "Say ".length()))); } else if (message.contains("Leave")) { connectionHandler.sendPacket(new Packet255KickDisconnect("Quit")); } else if (message.contains("Tool")) { MainPlayerEntity player = bot.getPlayer(); if (player == null) return; PlayerInventory inventory = player.getInventory(); inventory.setCurrentHeldSlot( Integer.parseInt( message.substring(message.indexOf("Tool ") + "Tool ".length()).split(" ")[0])); } else if (message.contains("DropId ")) { MainPlayerEntity player = bot.getPlayer(); PlayerInventory inventory = player.getInventory(); String substring = message.substring(message.indexOf("DropId ") + "DropId ".length()).split(" ")[0]; int id = Integer.parseInt(substring); for (int slot = 0; slot < 40; slot++) { ItemStack item = inventory.getItemAt(slot); if (item != null && item.getId() == id) { inventory.selectItemAt(slot, true); inventory.dropSelectedItem(); } } inventory.close(); } else if (message.contains("Drop")) { MainPlayerEntity player = bot.getPlayer(); PlayerInventory inventory = player.getInventory(); if (message.contains("Drop ")) { String substring = message.substring(message.indexOf("Drop ") + "Drop ".length()).split(" ")[0]; try { int slot = Integer.parseInt(substring); if (slot < 0 || slot >= 40) return; if (inventory.getItemAt(slot) != null) { inventory.selectItemAt(slot, true); inventory.dropSelectedItem(); } return; } catch (NumberFormatException e) { } } for (int slot = 0; slot < 40; slot++) { if (inventory.getItemAt(slot) != null) { inventory.selectItemAt(slot, true); inventory.dropSelectedItem(); } } inventory.close(); } else if (message.contains("Switch ")) { MainPlayerEntity player = bot.getPlayer(); PlayerInventory inventory = player.getInventory(); String substring = message.substring(message.indexOf("Switch ") + "Switch ".length()); try { int slot1 = Integer.parseInt(substring.split(" ")[0]); int slot2 = Integer.parseInt(substring.split(" ")[1]); if (slot1 < 0 || slot1 >= 45 || slot2 < 0 || slot2 >= 45) return; inventory.selectItemAt(slot1); inventory.selectItemAt(slot2); inventory.selectItemAt(slot1); } catch (NumberFormatException e) { } // inventory.close(); } else if (message.contains("Equip")) { MainPlayerEntity player = bot.getPlayer(); PlayerInventory inventory = player.getInventory(); boolean helmet = inventory.getArmorAt(0) != null; boolean chestplate = inventory.getArmorAt(1) != null; boolean leggings = inventory.getArmorAt(2) != null; boolean boots = inventory.getArmorAt(3) != null; boolean changed = false; for (int i = 0; i < 36; i++) { ItemStack item = inventory.getItemAt(i); if (item == null) continue; int armorSlot; int id = item.getId(); if (!helmet && (id == 86 || id == 298 || id == 302 || id == 306 || id == 310 || id == 314)) { armorSlot = 0; helmet = true; } else if (!chestplate && (id == 299 || id == 303 || id == 307 || id == 311 || id == 315)) { armorSlot = 1; chestplate = true; } else if (!leggings && (id == 300 || id == 304 || id == 308 || id == 312 || id == 316)) { armorSlot = 2; leggings = true; } else if (!boots && (id == 301 || id == 305 || id == 309 || id == 313 || id == 317)) { armorSlot = 3; boots = true; } else if (helmet && chestplate && leggings && boots) break; else continue; inventory.selectItemAt(i); inventory.selectArmorAt(armorSlot); changed = true; } if (!changed) { for (int i = 0; i < 36; i++) { ItemStack item = inventory.getItemAt(i); if (item != null) continue; int armorSlot; if (helmet) { armorSlot = 0; helmet = false; } else if (chestplate) { armorSlot = 1; chestplate = false; } else if (leggings) { armorSlot = 2; leggings = false; } else if (boots) { armorSlot = 3; boots = false; } else if (!helmet && !chestplate && !leggings && !boots) break; else continue; inventory.selectArmorAt(armorSlot); inventory.selectItemAt(i); } } inventory.close(); bot.say("Equipped armor."); } else if (message.contains("Owner ")) { String name = message.substring(message.indexOf("Owner ") + "Owner ".length()).split(" ")[0]; owner = name; bot.say("Set owner to " + name); } } else if (message.contains("You are not member of any faction.") && spamMessage != null && createFaction) { String msg = "/f create "; for (int i = 0; i < 7 + random.nextInt(3); i++) msg += alphas[random.nextInt(alphas.length)]; bot.say(msg); } if (message.matches("[\\*]*SPQR [\\w]{1,16} invited you to SPQR")) { bot.say("/f join SPQR"); bot.say("\247asdf"); } break; case 8: Packet8UpdateHealth updateHealth = (Packet8UpdateHealth) packet; if (updateHealth.healthMP <= 0) connectionHandler.sendPacket(new Packet205ClientCommand(1)); break; case 9: TaskManager taskManager = bot.getTaskManager(); taskManager.stopAll(); break; } }