Advertisement
EntenPlayz

Untitled

Oct 1st, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.41 KB | None | 0 0
  1. public class CloudPlayer {
  2. @Getter
  3. @Setter
  4. private String name;
  5. @Getter
  6. @Setter
  7. private String ip;
  8. @Getter
  9. @Setter
  10. private String teamspeakuid;
  11. @Getter
  12. @Setter
  13. private String skinValue;
  14. @Getter
  15. @Setter
  16. private String skinSignature;
  17. @Getter
  18. @Setter
  19. private Bungeecord bungeecord;
  20. @Getter
  21. @Setter
  22. private Rank rank;
  23. @Getter
  24. @Setter
  25. private long rankEnd;
  26. @Getter
  27. @Setter
  28. private Server server;
  29. @Getter
  30. @Setter
  31. private UUID watchingReplay = null;
  32. @Getter
  33. @Setter
  34. private UUID currentGameId = null;
  35. @Getter
  36. @Setter
  37. private long lastLogin;
  38. @Getter
  39. @Setter
  40. private long firstLogin;
  41. @Getter
  42. @Setter
  43. private String[] banData;
  44. @Getter
  45. @Setter
  46. private String[] muteData;
  47. @Getter
  48. @Setter
  49. private List<String> friends = new CopyOnWriteArrayList<String>();
  50. @Getter
  51. @Setter
  52. private List<String> requests = new CopyOnWriteArrayList<String>();
  53. @Getter
  54. @Setter
  55. private int version = 0;
  56. @Getter
  57. @Setter
  58. private Channel admClientChannel;
  59. @Getter
  60. @Setter
  61. private int friendAdd;
  62. @Getter
  63. @Setter
  64. private int friendFollow;
  65. @Getter
  66. @Setter
  67. private int friendMessages;
  68. @Getter
  69. @Setter
  70. private int privateMessages;
  71. @Getter
  72. @Setter
  73. private int partyInvites;
  74. @Getter
  75. @Setter
  76. private int playerVisibility;
  77. @Getter
  78. @Setter
  79. private int spped;
  80. @Getter
  81. @Setter
  82. private int doubleJump;
  83. @Getter
  84. @Setter
  85. private double locX;
  86. @Getter
  87. @Setter
  88. private double locY;
  89. @Getter
  90. @Setter
  91. private double locZ;
  92. @Getter
  93. @Setter
  94. private float yaw;
  95. @Getter
  96. @Setter
  97. private float pitch;
  98. @Getter
  99. @Setter
  100. private long joinTime;
  101. @Getter
  102. @Setter
  103. private long onlineTime;
  104. @Getter
  105. @Setter
  106. private long reportTimeout = -1;
  107. @Getter
  108. @Setter
  109. private ConcurrentHashMap<String, Long> globalStats = new ConcurrentHashMap();
  110. @Getter
  111. @Setter
  112. private ConcurrentHashMap<String, Long> monthlyStats = new ConcurrentHashMap();
  113. @Getter
  114. @Setter
  115. private ConcurrentHashMap<String, Long> dailyStats = new ConcurrentHashMap();
  116. @Getter
  117. @Setter
  118. private ConcurrentHashMap<String, Long> globalRanking = new ConcurrentHashMap();
  119. @Getter
  120. @Setter
  121. private ConcurrentHashMap<String, Long> monthlyRanking = new ConcurrentHashMap();
  122. @Getter
  123. @Setter
  124. private ConcurrentHashMap<String, Long> dailyRanking = new ConcurrentHashMap();
  125. @Getter
  126. @Setter
  127. private int coins;
  128. @Getter
  129. @Setter
  130. private String permissions;
  131. @Getter
  132. @Setter
  133. private CloudPlayer lastMessageReceiver;
  134. @Getter
  135. @Setter
  136. private Party party;
  137. @Getter
  138. @Setter
  139. private Server lastSendedServer;
  140. @Getter
  141. @Setter
  142. private boolean fullLoaded = false;
  143. @Getter
  144. @Setter
  145. private int forumUserID = -1;
  146. @Getter
  147. @Setter
  148. private int banPoints;
  149. @Getter
  150. @Setter
  151. private int mutePoints;
  152. @Getter
  153. @Setter
  154. private ConcurrentHashMap<String, String> playerDB = new ConcurrentHashMap();
  155. @Getter
  156. @Setter
  157. private String nickName;
  158. @Getter
  159. @Setter
  160. private long nickTimeout;
  161. @Getter
  162. @Setter
  163. private PacketHolder nickPacket;
  164. @Getter
  165. @Setter
  166. private boolean notify = true;
  167. @Getter
  168. @Setter
  169. private NickHistory nickHistory;
  170.  
  171. public CloudPlayer(String name, String ip, Rank rank, long lastLogin, long firstLogin, String teamspeakuid, long rankEnd, List<String> friends, List<String> requests, int coins, String permissions) {
  172. this.name = name;
  173. this.ip = ip;
  174. this.rank = rank;
  175. this.lastLogin = lastLogin;
  176. this.firstLogin = firstLogin;
  177. this.teamspeakuid = teamspeakuid;
  178. this.rankEnd = rankEnd;
  179. this.bungeecord = null;
  180. this.coins = coins;
  181. this.permissions = permissions;
  182. if (permissions == null) {
  183. this.permissions = "";
  184. }
  185. this.setFriendAdd(1);
  186. this.setFriendFollow(1);
  187. this.setFriendMessages(1);
  188. this.setPrivateMessages(1);
  189. this.setSpped(1);
  190. this.setDoubleJump(1);
  191. if (friends != null) {
  192. this.friends.addAll(friends.stream().collect(Collectors.toList()));
  193. }
  194. if (requests != null) {
  195. this.requests.addAll(requests.stream().collect(Collectors.toList()));
  196. }
  197. this.setLocX(0.5);
  198. this.setLocY(100.5);
  199. this.setLocZ(0.5);
  200. this.setYaw(90.0f);
  201. this.setPitch(-8.0f);
  202. }
  203.  
  204. public void addCoins(int coins) {
  205. this.coins += coins;
  206. this.sendMessage(String.valueOf(CloudServer.getPrefix()) + "§aDu hast §e" + coins + " Coins §aerhalten!");
  207. this.updateToDatabase(false);
  208. this.sendSettings();
  209. }
  210.  
  211. public void removeCoins(int coins) {
  212. int newValue = this.getCoins();
  213. if ((newValue -= coins) < 0) {
  214. newValue = 0;
  215. }
  216. this.setCoins(newValue);
  217. this.updateToDatabase(false);
  218. this.sendSettings();
  219. }
  220.  
  221. public void joinBungeecord(Bungeecord bungeecord) {
  222. if (this.getBungeecord() != null) {
  223. this.getBungeecord().getCloudPlayers().remove(this.getName().toLowerCase());
  224. }
  225. this.bungeecord = bungeecord;
  226. this.getBungeecord().getCloudPlayers().add(this.getName().toLowerCase());
  227. if (this.getOnlineTime() >= 15) {
  228. this.getBungeecord().sendPacket(CloudServer.getPacketHelper().preparePacket(PacketType.ALLOW_CHAT_PACKET, new AllowChatPacket(this.getName())));
  229. }
  230. }
  231.  
  232. public void switchServer(Server server) {
  233. this.server = server;
  234. new Thread(() -> {
  235. CloudServer.getFriendManager().handleServerSwitch(this);
  236. this.sendSettings();
  237. }
  238. ).start();
  239. }
  240.  
  241. public void watchReplay(UUID replay) {
  242. for (Server s : CloudServer.getServerManager().getServers()) {
  243. if (!s.getName().startsWith("replay-")) continue;
  244. this.connectToServer(s.getName());
  245. break;
  246. }
  247. if (this.lastSendedServer != null && this.lastSendedServer.getName().startsWith("replay-")) {
  248. this.watchingReplay = replay;
  249. } else {
  250. this.sendMessage("§cEin Error trat auf, als wir dich auf den Replay-Server senden wollten.");
  251. }
  252. }
  253.  
  254. public void sendMessage(String message) {
  255. this.sendMessages(new String[]{message});
  256. }
  257.  
  258. public void sendMessages(String[] messages) {
  259. if (this.bungeecord != null) {
  260. this.getBungeecord().sendPacket(CloudServer.getPacketHelper().preparePacket(PacketType.MESSAGE_PACKET, new de.piet.cloudsystem.packets.types.MessagePacket(this.getName(), messages)));
  261. if (this.getAdmClientChannel() != null) {
  262. this.getAdmClientChannel().writeAndFlush(CloudServer.getAdmPacketHelper().preparePacket(de.piet.cloud.admcpackets.PacketType.MESSAGE_PACKET, new MessagePacket(messages)));
  263. }
  264. }
  265. }
  266.  
  267. public void updateFriendInv() {
  268. this.sendSettings();
  269. }
  270.  
  271. public void sendSettings() {
  272. if (this.isOnline() && this.getServer() != null) {
  273. this.getServer().sendPacket(CloudServer.getPacketHelper().preparePacket(PacketType.PLAYER_LOGIN_PACKET, new PlayerLoginPacket(this.getName(), true)));
  274. }
  275. if (this.getServer().isCloudServer() && (this.getServer().getServerTemplate().getName().equalsIgnoreCase("lobby") || this.getServer().getServerTemplate().getName().equalsIgnoreCase("silent"))) {
  276. this.getServer().sendPacket(CloudServer.getPacketHelper().preparePacket(PacketType.PLAYER_LOBBY_DATA_PACKET, this.getPlayerDataPacket()));
  277. }
  278. }
  279.  
  280. public PlayerLobbyDataPacket getPlayerDataPacket() {
  281. long hours = 0;
  282. if (this.getOnlineTime() > 60) {
  283. hours = this.getOnlineTime() / 60;
  284. }
  285. return new PlayerLobbyDataPacket(this.getName(), CloudServer.getFriendManager().getFriendsArray(this), CloudServer.getFriendManager().getRequestArrays(this), this.getFriendAdd(), this.getFriendFollow(), this.getFriendMessages(), this.getPrivateMessages(), this.getPartyInvites(), this.getPlayerVisibility(), this.getSpped(), this.getDoubleJump(), this.getLocX(), this.getLocY(), this.getLocZ(), this.getYaw(), this.getPitch(), this.getCoins(), 0, hours);
  286. }
  287.  
  288. public void connectToServer(String serverName) {
  289. if (this.bungeecord != null) {
  290. Server server = CloudServer.getServerManager().getServerByName(serverName);
  291. if (server == null) {
  292. this.sendMessage(String.valueOf(CloudServer.getPrefix()) + "§cDer Server existiert nicht!");
  293. return;
  294. }
  295. if (server.isCloudServer() && server.getTemplateName().equalsIgnoreCase("silent") && !this.getRank().isHigherEqualsLevel(Rank.VIP)) {
  296. this.sendMessage(String.valueOf(CloudServer.getPrefix()) + "§cDu hast keine Berechtigung um diesen Server zu betreten!");
  297. return;
  298. }
  299. if (this.getParty() != null && this.getParty().getLeader() == this) {
  300. this.getParty().handleServerSwitch(server);
  301. }
  302. if (server.getOnlinePlayers() >= server.getMaxPlayers() && server.getServerState() == ServerState.LOBBY && !this.getRank().isHigherEqualsLevel(Rank.IRON)) {
  303. MessageGroup messageGroup = new MessageGroup(this);
  304. messageGroup.addMessage("§7Der Server §6" + serverName + " §7ist §cvoll!");
  305. messageGroup.addMessage("§4Kaufe dir einen Rang, um volle Server betreten zu k\u00f6nnen!");
  306. messageGroup.addMessage("§ahttp://shop.twerion.net");
  307. messageGroup.send();
  308. return;
  309. }
  310. if (server.isNicknameEnabled() && this.getNickName() != null) {
  311. this.sendMessage("§8[§aNick§8] §bDu bleibst weiterhin genickt: §a" + this.getNickName());
  312. NickNameManager.nickPlayer(this, null, null, server);
  313. }
  314. this.lastSendedServer = server;
  315. server.sendPacket(CloudServer.getPacketHelper().preparePacket(PacketType.PLAYER_RANK_PACKET, new PlayerRankPacket(this.getName().toLowerCase(), this.getRank().getRankName(), this.getPlayerPermissions(server))));
  316. this.getBungeecord().sendPacket(CloudServer.getPacketHelper().preparePacket(PacketType.SERVER_CONNECT, new ConnectPacket(this.getName(), serverName)));
  317. }
  318. }
  319.  
  320. public long getDailyStatValue(String key) {
  321. if (this.dailyStats.containsKey(key)) {
  322. return this.dailyStats.get(key);
  323. }
  324. return 0;
  325. }
  326.  
  327. public long getMonthlyStatsValue(String key) {
  328. if (this.monthlyStats.containsKey(key)) {
  329. return this.monthlyStats.get(key);
  330. }
  331. return 0;
  332. }
  333.  
  334. public long getGlobalStatValue(String key) {
  335. if (this.globalStats.containsKey(key)) {
  336. return this.globalStats.get(key);
  337. }
  338. return 0;
  339. }
  340.  
  341. public void kickPlayer(String reason) {
  342. if (this.bungeecord != null) {
  343. this.getBungeecord().sendPacket(CloudServer.getPacketHelper().preparePacket(PacketType.KICK_PACKET, new KickPacket(this.getName(), reason)));
  344. }
  345. }
  346.  
  347. public boolean isOnline() {
  348. if (this.getBungeecord() != null) {
  349. return true;
  350. }
  351. return false;
  352. }
  353.  
  354. public void updatePlayTime(long leaveTime, boolean update) {
  355. if (this.joinTime != 0 && leaveTime > this.joinTime) {
  356. long diff = leaveTime - this.joinTime;
  357. if ((diff /= 1000) > 60) {
  358. long minutes = diff / 60;
  359. if (minutes <= 0) {
  360. return;
  361. }
  362. this.onlineTime += minutes;
  363. if (update) {
  364. this.updateToDatabase(false);
  365. }
  366. long minuteMillis = minutes * 60;
  367. long setTime = System.currentTimeMillis();
  368. if (diff > minuteMillis) {
  369. long joinDiff = (diff - minuteMillis) * 1000;
  370. setTime -= joinDiff;
  371. }
  372. this.setJoinTime(setTime);
  373. }
  374. }
  375. }
  376.  
  377. public List<String> getPlayerPermissions(Server server) {
  378. List<String> permissions = new ArrayList<>();
  379. if (getServer() != null) {
  380. if (PermissionManager.getPermissionsMap().containsKey(getRank().getRankName().toLowerCase())) {
  381. for (String[] permissionArray : PermissionManager.getPermissionsMap().get(getRank().getRankName().toLowerCase())) {
  382. String permission = permissionArray[0];
  383. String serverGroup = permissionArray[1];
  384. if (serverGroup == null || (server.getServerGroup() != null && serverGroup.equalsIgnoreCase(server.getServerGroup()))) {
  385. permissions.add(permission);
  386. }
  387. }
  388. }
  389. if (PermissionManager.getPermissionsMap().containsKey(Rank.SPIELER.getRankName().toLowerCase()) && getRank() != Rank.ADMIN) {
  390. for (String[] permissionArray : PermissionManager.getPermissionsMap().get(Rank.SPIELER.getRankName().toLowerCase())) {
  391. String permission = permissionArray[0];
  392. String serverGroup = permissionArray[1];
  393. if (serverGroup == null || (server.getServerGroup() != null && serverGroup.equalsIgnoreCase(server.getServerGroup()))) {
  394. permissions.add(permission);
  395. }
  396. }
  397. }
  398. if (!getPermissions().isEmpty()) {
  399. for (String permissionData : getPermissions().split("@")) {
  400. String[] splitData = permissionData.split(";");
  401. String permission = splitData[0];
  402. String serverGroup = splitData[1];
  403. if (serverGroup.equalsIgnoreCase("nogroup") || (server.getServerGroup() != null && serverGroup.equalsIgnoreCase(server.getServerGroup()))) {
  404. permissions.add(permission);
  405. }
  406. }
  407. }
  408. }
  409. return permissions;
  410. }
  411.  
  412.  
  413. public void setRank(Rank rank, long rankEnd) {
  414. int oldRankID = this.getRank().getForumGroupID();
  415. Rank oldRank = this.getRank();
  416. this.rank = rank;
  417. this.rankEnd = rankEnd;
  418. if (oldRank.isTeam() && rank.isTeam()) {
  419. UserManager.updateRank(this);
  420. } else if (!oldRank.isTeam() && rank.isTeam()) {
  421. UserManager.createUser(this);
  422. } else if (oldRank.isTeam() && !rank.isTeam()) {
  423. UserManager.removeUser(this);
  424. }
  425. if (this.getServer() != null) {
  426. List<String> permissions = this.getPlayerPermissions(this.server);
  427. this.getServer().sendPacket(CloudServer.getPacketHelper().preparePacket(PacketType.PLAYER_RANK_PACKET, new PlayerRankPacket(this.getName(), this.getRank().getRankName(), permissions)));
  428. this.sendSettings();
  429. }
  430. if (rank == Rank.SPIELER) {
  431. CloudServer.getPlayerManager().getPlayersWithRank().remove(this.getName().toLowerCase());
  432. } else if (!CloudServer.getPlayerManager().getPlayersWithRank().contains(this.getName().toLowerCase())) {
  433. CloudServer.getPlayerManager().getPlayersWithRank().add(this.getName().toLowerCase());
  434. }
  435. ArrayList<String[]> rankData = new ArrayList<String[]>();
  436. rankData.add(new String[]{this.getName().toLowerCase(), this.getRank().getRankName()});
  437. de.piet.cloudsystem.packets.types.PacketHolder initPacket = CloudServer.getPacketHelper().preparePacket(PacketType.BUNGEE_RANK_PACKET, new BungeeRankPacket(rankData));
  438. for (Bungeecord bungeecord : CloudServer.getBungeecordManager().getBungeecords()) {
  439. bungeecord.sendPacket(initPacket);
  440. }
  441. this.updateToDatabase(false);
  442. if (!CloudServer.isBetaMode()) {
  443. new Thread(() -> {
  444. if (this.getForumUserID() != -1) {
  445. try {
  446. InputStream removeGroups = new URL("http://fapi.twerion.net/api.php?action=editUser&hash=ToBiIsTdErGeIlStEaUfDeRwElT0815&user=" + this.getName() + "&remove_groups=" + oldRankID).openStream();
  447. removeGroups.close();
  448. InputStream addGroups = new URL("http://fapi.twerion.net/api.php?action=editUser&hash=ToBiIsTdErGeIlStEaUfDeRwElT0815&user=" + this.getName() + "&add_groups=" + this.getRank().getForumGroupID()).openStream();
  449. addGroups.close();
  450. } catch (IOException e) {
  451. e.printStackTrace();
  452. System.out.println(e.getLocalizedMessage());
  453. }
  454. }
  455. this.checkTeamspeakGroups();
  456. }
  457. ).start();
  458. }
  459. if (!this.isOnline()) {
  460. return;
  461. }
  462. MessageGroup messageGroup = new MessageGroup(this);
  463. messageGroup.addMessage(String.valueOf(CloudServer.getPrefix()) + "§aDein Rang wurde zu " + rank.getRankColor() + rank.getRankName() + " §age\u00e4ndert!");
  464. if (rankEnd == 0) {
  465. messageGroup.addMessage(String.valueOf(CloudServer.getPrefix()) + "§aAblauf des Rangs: §eNie");
  466. } else {
  467. CloudServer.getTimeManager();
  468. messageGroup.addMessage(String.valueOf(CloudServer.getPrefix()) + "§aAblauf des Rangs: §e(" + TimeManager.getEndeAnzeige(rankEnd) + ")");
  469. }
  470. messageGroup.send();
  471. }
  472.  
  473. public boolean addPermission(String permission, String serverGroup) {
  474. String permissionData = null;
  475. permissionData = serverGroup != null ? String.valueOf(permission.toLowerCase()) + ";" + serverGroup.toLowerCase() : String.valueOf(permission.toLowerCase()) + ";" + "nogroup";
  476. if (!this.getPermissions().contains(permissionData)) {
  477. this.permissions = this.getPermissions().isEmpty() ? String.valueOf(this.permissions) + permissionData : String.valueOf(this.permissions) + "@" + permissionData;
  478. if (this.getServer() != null) {
  479. this.getServer().sendPacket(CloudServer.getPacketHelper().preparePacket(PacketType.PLAYER_RANK_PACKET, new PlayerRankPacket(this.getName(), this.getRank().getRankName(), this.getPlayerPermissions(this.getServer()))));
  480. }
  481. this.updateToDatabase(false);
  482. return true;
  483. }
  484. return false;
  485. }
  486.  
  487. public void removePermission(String permission, String serverGroup) {
  488. String removeData = serverGroup != null ? String.valueOf(permission.toLowerCase()) + ";" + serverGroup.toLowerCase() : String.valueOf(permission.toLowerCase()) + ";" + "nogroup";
  489. String newData = "";
  490. String[] arrstring = this.getPermissions().split("@");
  491. int n = arrstring.length;
  492. int n2 = 0;
  493. while (n2 < n) {
  494. String permissionData = arrstring[n2];
  495. if (!permissionData.equalsIgnoreCase(removeData)) {
  496. newData = newData.isEmpty() ? String.valueOf(newData) + permissionData : String.valueOf(newData) + "@" + permissionData;
  497. }
  498. ++n2;
  499. }
  500. this.permissions = newData;
  501. if (this.getServer() != null) {
  502. this.getServer().sendPacket(CloudServer.getPacketHelper().preparePacket(PacketType.PLAYER_RANK_PACKET, new PlayerRankPacket(this.getName(), this.getRank().getRankName(), this.getPlayerPermissions(this.getServer()))));
  503. }
  504. this.updateToDatabase(false);
  505. }
  506.  
  507. public void checkTeamspeakGroups() {
  508. if (this.getTeamspeakuid().equals("noid")) {
  509. return;
  510. }
  511. TS3Api ts3Api = CloudServer.getTeamspeakBot().getTs3Api();
  512. ClientInfo clientInfo = ts3Api.getClientByUId(this.getTeamspeakuid());
  513. if (clientInfo != null) {
  514. CloudServer.getTeamspeakManager().checkUserGroups(clientInfo.getId(), ts3Api, clientInfo, this);
  515. }
  516. }
  517.  
  518. public String statsToString(ConcurrentHashMap<String, Long> statsMap) {
  519. String saveString = "";
  520. int current = 0;
  521. for (String saveKey : statsMap.keySet()) {
  522. long value = statsMap.get(saveKey);
  523. saveString = String.valueOf(saveString) + saveKey + ";" + value;
  524. if (current != statsMap.size() - 1) {
  525. saveString = String.valueOf(saveString) + "!";
  526. }
  527. ++current;
  528. }
  529. return saveString;
  530. }
  531.  
  532. public void statsFromString(String statsString, ConcurrentHashMap destination) {
  533. if (statsString.contains("!")) {
  534. String[] data;
  535. String[] arrstring = data = statsString.split("!");
  536. int n = arrstring.length;
  537. int n2 = 0;
  538. while (n2 < n) {
  539. String getData = arrstring[n2];
  540. String[] statsData = getData.split(";");
  541. destination.put(statsData[0], Long.valueOf(statsData[1]));
  542. ++n2;
  543. }
  544. } else {
  545. String[] data = statsString.split(";");
  546. destination.put(data[0], Long.valueOf(data[1]));
  547. }
  548. }
  549.  
  550. public String getSaveArray(String[] array) {
  551. return String.valueOf(array[0]) + "§" + array[1];
  552. }
  553.  
  554. public String[] fromSaveArray(String data) {
  555. return data.split("§");
  556. }
  557.  
  558. public void updateToDatabase(boolean insert) {
  559. if (!this.fullLoaded) {
  560. System.out.println(String.valueOf(this.name) + " is not full loaded!");
  561. return;
  562. }
  563. CloudServer.getDatabaseQueue().addToQueue(this, insert);
  564. }
  565.  
  566. public void saveUser(boolean insert) {
  567. block31:
  568. {
  569. Connection connection = null;
  570. try {
  571. try {
  572. connection = CloudServer.getSqlPool().getConnection();
  573. if (insert) {
  574. PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO spieler (name, ip, rank, rankend, firstlogin, lastlogin, teamspeakuid, playedTime, clanName, clanInvites) VALUES (?,?,?,?,?,?,?,?,?,?)");
  575. preparedStatement.setObject(1, this.getName());
  576. preparedStatement.setObject(2, this.getIp());
  577. preparedStatement.setObject(3, this.getRank().getRankName());
  578. preparedStatement.setObject(4, this.getRankEnd());
  579. preparedStatement.setObject(5, this.getFirstLogin());
  580. preparedStatement.setObject(6, this.getLastLogin());
  581. preparedStatement.setObject(7, this.getTeamspeakuid());
  582. preparedStatement.setObject(8, 0);
  583. preparedStatement.setObject(9, null);
  584. preparedStatement.setObject(10, null);
  585. preparedStatement.execute();
  586. preparedStatement.closeOnCompletion();
  587. break block31;
  588. }
  589. PreparedStatement preparedStatement = connection.prepareStatement("UPDATE spieler SET ip = ?, rank = ?, lastlogin = ?, teamspeakuid = ?, rankend = ?, ban = ?, mute = ?, friends = ?, requests = ?, skinValue = ?, skinSignature = ?, premium = ?, password = ?, friendAdd = ?, friendFollow = ?, friendMessages = ?, privateMessages = ?, partyInvites = ?, playerVisibility = ?, speed = ?, doubleJump = ?, premium = ?, globalStats = ?, monthlyStats = ?, dailyStats = ?, coins = ?, gems = ?, playedTime = ?, permissions = ?, banPoints = ?, mutePoints = ?, forumUserID = ?, clanName = ?, clanInvites = ? WHERE name = ?");
  590. preparedStatement.setObject(1, this.getIp());
  591. preparedStatement.setObject(2, this.getRank().getRankName());
  592. preparedStatement.setObject(3, this.getLastLogin());
  593. preparedStatement.setObject(4, this.getTeamspeakuid());
  594. preparedStatement.setObject(5, this.getRankEnd());
  595. if (this.banData == null) {
  596. preparedStatement.setObject(6, null);
  597. } else {
  598. preparedStatement.setObject(6, this.getSaveArray(this.banData));
  599. }
  600. if (this.muteData == null) {
  601. preparedStatement.setObject(7, null);
  602. } else {
  603. preparedStatement.setObject(7, this.getSaveArray(this.muteData));
  604. }
  605. if (this.friends.size() > 0) {
  606. preparedStatement.setObject(8, CloudServer.getFriendManager().toSaveString(this.getFriends()));
  607. } else {
  608. preparedStatement.setObject(8, null);
  609. }
  610. if (this.requests.size() > 0) {
  611. preparedStatement.setObject(9, CloudServer.getFriendManager().toSaveString(this.getRequests()));
  612. } else {
  613. preparedStatement.setObject(9, null);
  614. }
  615. preparedStatement.setObject(10, this.getSkinValue());
  616. preparedStatement.setObject(11, this.getSkinSignature());
  617.  
  618. preparedStatement.setObject(12, 1);
  619.  
  620. preparedStatement.setObject(13, null);
  621. preparedStatement.setObject(14, this.getFriendAdd());
  622. preparedStatement.setObject(15, this.getFriendFollow());
  623. preparedStatement.setObject(16, this.getFriendMessages());
  624. preparedStatement.setObject(17, this.getPrivateMessages());
  625. preparedStatement.setObject(18, this.getPartyInvites());
  626. preparedStatement.setObject(19, this.getPlayerVisibility());
  627. preparedStatement.setObject(20, this.getSpped());
  628. preparedStatement.setObject(21, this.getDoubleJump());
  629.  
  630. preparedStatement.setObject(22, 1);
  631.  
  632. String globalStats = this.statsToString(this.getGlobalStats());
  633. String monthlyStats = this.statsToString(this.getMonthlyStats());
  634. String dailyStats = this.statsToString(this.getDailyStats());
  635. if (!globalStats.equals("")) {
  636. preparedStatement.setObject(23, globalStats);
  637. } else {
  638. preparedStatement.setObject(23, null);
  639. }
  640. if (!monthlyStats.equals("")) {
  641. preparedStatement.setObject(24, monthlyStats);
  642. } else {
  643. preparedStatement.setObject(24, null);
  644. }
  645. if (!dailyStats.equals("")) {
  646. preparedStatement.setObject(25, dailyStats);
  647. } else {
  648. preparedStatement.setObject(25, null);
  649. }
  650. preparedStatement.setObject(26, this.getCoins());
  651. preparedStatement.setObject(27, 0);
  652. preparedStatement.setObject(28, this.getOnlineTime());
  653. preparedStatement.setObject(29, this.getPermissions());
  654. preparedStatement.setObject(30, this.getBanPoints());
  655. preparedStatement.setObject(31, this.getMutePoints());
  656. preparedStatement.setObject(32, this.getForumUserID());
  657. preparedStatement.setObject(33, null);
  658. preparedStatement.setObject(34, null);
  659. preparedStatement.setObject(35, this.getName());
  660. preparedStatement.execute();
  661. preparedStatement.closeOnCompletion();
  662. } catch (SQLException exc) {
  663. exc.printStackTrace();
  664. System.out.println(exc.getLocalizedMessage());
  665. if (connection == null) break block31;
  666. try {
  667. connection.close();
  668. } catch (SQLException dexc) {
  669. dexc.printStackTrace();
  670. System.out.println(dexc.getLocalizedMessage());
  671. }
  672. }
  673. } finally {
  674. if (connection != null) {
  675. try {
  676. connection.close();
  677. } catch (SQLException exc) {
  678. exc.printStackTrace();
  679. System.out.println(exc.getLocalizedMessage());
  680. }
  681. }
  682. }
  683. }
  684. }
  685.  
  686. public void removeNickHistory() {
  687. NickHistory nickHistory = this.nickHistory;
  688. nickHistory.setEnded(System.currentTimeMillis());
  689. NickNameManager.getNickHistories().remove(this.nickHistory);
  690. NickNameManager.getNickHistories().add(nickHistory);
  691. NickNameManager.addToDatabase(nickHistory);
  692. this.nickHistory = null;
  693. }
  694. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement