Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.56 KB | None | 0 0
  1. package com.arlania;
  2.  
  3. import com.google.gson.*;
  4.  
  5. import java.io.*;
  6. import java.util.Objects;
  7.  
  8. public class CheckForID {
  9. public static void main(String[] args) {
  10. try {
  11. JsonParser fileParser;
  12. JsonObject reader;
  13. int[] idsToCheck = new int[]{1040};//here show how i run it.
  14. try {
  15. File file = new File("data/saves/characters1/");
  16. if (file.exists()) {
  17. File[] listOfFiles = file.listFiles();
  18. if (listOfFiles != null) {
  19. for (File listOfFile : listOfFiles) {
  20. try (FileReader fileReader = new FileReader(listOfFile)) {
  21. String playerInventory = "";
  22. String playerequipment = "";
  23. String bank0 = "";
  24. String bank1 = "";
  25. String bank2 = "";
  26. String bank3 = "";
  27. String bank4 = "";
  28. String bank5 = "";
  29. String bank6 = "";
  30. String bank7 = "";
  31. String bank8 = "";
  32. fileParser = new JsonParser();
  33. Gson builder = new GsonBuilder().create();
  34. reader = (JsonObject) fileParser.parse(fileReader);
  35. try {
  36. String username = reader.get("username").getAsString();
  37.  
  38. Item[] parsedInventories = builder.fromJson(reader.get("inventory").getAsJsonArray(), Item[].class);
  39. if (parsedInventories != null) {
  40. if (contains(parsedInventories, idsToCheck))
  41. playerInventory = contains("inventory", parsedInventories, idsToCheck);
  42. }
  43. Item[] parsedequipment = builder.fromJson(reader.get("equipment").getAsJsonArray(), Item[].class);
  44. if (parsedequipment != null) {
  45. if (contains(parsedequipment, idsToCheck))
  46. playerequipment = contains("equipment", parsedequipment, idsToCheck);
  47. }
  48.  
  49. //BANK
  50. Item[] containers;
  51. for (int i = 0; i < 9; i++) {
  52. if (reader.has("bank-" + i)) {
  53. containers = builder.fromJson(reader.get("bank-" + i).getAsJsonArray(), Item[].class);
  54. if (containers != null) {
  55. if (contains(containers, idsToCheck)) {
  56. switch (i) {
  57. case 0:
  58. bank0 = contains("bank-" + i, containers, idsToCheck);
  59. break;
  60. case 1:
  61. bank1 = contains("bank-" + i, containers, idsToCheck);
  62. break;
  63. case 2:
  64. bank2 = contains("bank-" + i, containers, idsToCheck);
  65. break;
  66. case 3:
  67. bank3 = contains("bank-" + i, containers, idsToCheck);
  68. break;
  69. case 4:
  70. bank4 = contains("bank-" + i, containers, idsToCheck);
  71. break;
  72. case 5:
  73. bank5 = contains("bank-" + i, containers, idsToCheck);
  74. break;
  75. case 6:
  76. bank6 = contains("bank-" + i, containers, idsToCheck);
  77. break;
  78. case 7:
  79. bank7 = contains("bank-" + i, containers, idsToCheck);
  80. break;
  81. case 8:
  82. bank8 = contains("bank-" + i, containers, idsToCheck);
  83. break;
  84. }
  85. }
  86. }
  87. }
  88. }
  89. writeToFile(username, playerInventory, playerequipment, bank0, bank1, bank2, bank3, bank4, bank5, bank6, bank7, bank8);
  90. } catch (IllegalStateException e) {
  91. System.out.println(listOfFile.getAbsolutePath());
  92. }
  93. }
  94. }
  95. }
  96. }
  97. } catch (IOException e) {
  98. e.printStackTrace();
  99. }
  100. } catch (Exception e) {
  101. e.printStackTrace();
  102. }
  103. }
  104.  
  105. private static String contains(String prefix, Item[] array, int[] idsToCheck) {
  106. StringBuilder string = new StringBuilder();
  107. for (int i = 0; i < idsToCheck.length; i++) {
  108. for (Item item : array) {
  109. if (Objects.nonNull(item) && item.amount <= 0) {
  110. continue;
  111. }
  112. if (Objects.nonNull(item) && (item.id == idsToCheck[i])) {
  113. if (item.amount <= 0) {
  114. continue;
  115. }
  116. System.out.println("item.amount = " + item.amount);
  117. string.append("{").append(item.id).append("-").append(item.amount).append("}, ");
  118. }
  119. }
  120. }
  121. return string.toString();
  122. }
  123.  
  124. private static boolean contains(Item[] array, int[] idsToCheck) {
  125. for (int i = 0; i < idsToCheck.length; i++) {
  126. for (Item item : array) {
  127. if (Objects.nonNull(item) && (item.id == idsToCheck[i])) {
  128. return true;
  129. }
  130. }
  131. }
  132. return false;
  133. }
  134.  
  135. private static void writeToFile(String username, String playerInventory, String playerequipment, String
  136. bank0, String bank1, String bank2, String bank3, String bank4, String bank5, String bank6, String
  137. bank7, String bank8) {
  138. PrintWriter pw = null;
  139. try {
  140. pw = new PrintWriter(new FileWriter("out.txt", true));
  141. } catch (IOException e) {
  142. e.printStackTrace();
  143. }
  144. if (Objects.nonNull(pw)) {
  145. if (playerequipment.isEmpty() && playerInventory.isEmpty() && bank0.isEmpty() && bank1.isEmpty() && bank2.isEmpty() && bank3.isEmpty() && bank4.isEmpty()
  146. && bank5.isEmpty() && bank6.isEmpty() && bank7.isEmpty() && bank8.isEmpty())
  147. return;
  148. pw.append(username).append(":").append(playerequipment).append(playerInventory).append(bank0).append(bank1).append(bank2).append(bank3).append(bank4).append(bank5).append(bank6).append(bank7).append(bank8).append("\n");
  149. pw.flush();
  150. System.out.println(username + " completed!");
  151. pw.close();
  152. }
  153. }
  154.  
  155. static class Item {
  156. final int id;
  157. final int amount;
  158.  
  159. Item(int id, int amount) {
  160. this.id = id;
  161. this.amount = amount;
  162. }
  163. }
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement