diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/SubProtocol.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/SubProtocol.java index 6bc4535c..e352cfa8 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/SubProtocol.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/SubProtocol.java @@ -83,27 +83,27 @@ public void close() throws SecurityException { // 30-49: Control Packets - //instance.registerPacket(0x0030, PacketInReload.class); TODO + //instance.registerPacket(0x0030, PacketInReload.class); // TODO instance.registerPacket(0x0031, PacketCreateServer.class); - //instance.registerPacket(0x0032, PacketAddServer.class); TODO + //instance.registerPacket(0x0032, PacketAddServer.class); // TODO instance.registerPacket(0x0033, PacketStartServer.class); - //instance.registerPacket(0x0034, PacketEditServer.class); TODO + //instance.registerPacket(0x0034, PacketEditServer.class); // TODO instance.registerPacket(0x0035, PacketRestartServer.class); instance.registerPacket(0x0036, PacketCommandServer.class); instance.registerPacket(0x0037, PacketStopServer.class); - //instance.registerPacket(0x0038, PacketRemoveServer.class); TODO - //instance.registerPacket(0x0039, PacketDeleteServer.class); TODO + //instance.registerPacket(0x0038, PacketRemoveServer.class); // TODO + //instance.registerPacket(0x0039, PacketDeleteServer.class); // TODO - //instance.registerPacket(0x0030, new PacketInReload(plugin)); TODO + //instance.registerPacket(0x0030, new PacketInReload(plugin)); // TODO instance.registerPacket(0x0031, new PacketCreateServer(plugin)); - //instance.registerPacket(0x0032, new PacketAddServer(plugin)); TODO + //instance.registerPacket(0x0032, new PacketAddServer(plugin)); // TODO instance.registerPacket(0x0033, new PacketStartServer(plugin)); - //instance.registerPacket(0x0034, new PacketEditServer(plugin)); TODO + //instance.registerPacket(0x0034, new PacketEditServer(plugin)); // TODO instance.registerPacket(0x0035, new PacketRestartServer(plugin)); instance.registerPacket(0x0036, new PacketCommandServer(plugin)); instance.registerPacket(0x0037, new PacketStopServer(plugin)); - //instance.registerPacket(0x0038, new PacketRemoveServer(plugin)); TODO - //instance.registerPacket(0x0039, new PacketDeleteServer(plugin)); TODO + //instance.registerPacket(0x0038, new PacketRemoveServer(plugin)); // TODO + //instance.registerPacket(0x0039, new PacketDeleteServer(plugin)); // TODO // 50-69: External Host Packets diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java index d4eb267e..e93b127f 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java @@ -149,46 +149,59 @@ protected SubPlugin(PrintStream out, boolean isPatched) throws IOException { } } - if (new UniversalFile(dir, "Recently Deleted").exists()) { - int f = new UniversalFile(dir, "Recently Deleted").listFiles().length; - for (File file : new UniversalFile(dir, "Recently Deleted").listFiles()) { - try { - if (file.isDirectory()) { - if (new UniversalFile(dir, "Recently Deleted:" + file.getName() + ":info.json").exists()) { - FileReader reader = new FileReader(new UniversalFile(dir, "Recently Deleted:" + file.getName() + ":info.json")); - YAMLSection info = new YAMLSection(new Gson().fromJson(Util.readAll(reader), Map.class)); - reader.close(); - if (info.contains("Timestamp")) { - if (TimeUnit.MILLISECONDS.toDays(Calendar.getInstance().getTime().getTime() - info.getLong("Timestamp")) >= 7) { + Runnable clean = () -> { + try { + if (new UniversalFile(dir, "Recently Deleted").exists()) { + int f = new UniversalFile(dir, "Recently Deleted").listFiles().length; + for (File file : new UniversalFile(dir, "Recently Deleted").listFiles()) { + try { + if (file.isDirectory()) { + if (new UniversalFile(dir, "Recently Deleted:" + file.getName() + ":info.json").exists()) { + FileReader reader = new FileReader(new UniversalFile(dir, "Recently Deleted:" + file.getName() + ":info.json")); + YAMLSection info = new YAMLSection(new Gson().fromJson(Util.readAll(reader), Map.class)); + reader.close(); + if (info.contains("Timestamp")) { + if (TimeUnit.MILLISECONDS.toDays(Calendar.getInstance().getTime().getTime() - info.getLong("Timestamp")) >= 7) { + Util.deleteDirectory(file); + f--; + System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName()); + } + } else { + Util.deleteDirectory(file); + f--; + System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName()); + } + } else { Util.deleteDirectory(file); f--; System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName()); } } else { - Util.deleteDirectory(file); + Files.delete(file.toPath()); f--; System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName()); } - } else { - Util.deleteDirectory(file); - f--; - System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName()); + } catch (Exception e) { + System.out.println("SubServers > Problem scanning ~/SubServers/Recently Deleted/" + file.getName()); + e.printStackTrace(); + Files.delete(file.toPath()); } - } else { - Files.delete(file.toPath()); - f--; - System.out.println("SubServers > Removed ~/SubServers/Recently Deleted/" + file.getName()); } - } catch (Exception e) { - System.out.println("SubServers > Problem scanning ~/SubServers/Recently Deleted/" + file.getName()); - e.printStackTrace(); - Files.delete(file.toPath()); + if (f <= 0) { + Files.delete(new UniversalFile(dir, "Recently Deleted").toPath()); + } } + } catch (Exception e) { + e.printStackTrace(); } - if (f <= 0) { - Files.delete(new UniversalFile(dir, "Recently Deleted").toPath()); + }; + clean.run(); + new Timer("SubServers.Bungee::Recycle_Cleaner").scheduleAtFixedRate(new TimerTask() { + @Override + public void run() { + clean.run(); } - } + }, TimeUnit.DAYS.toMillis(7), TimeUnit.DAYS.toMillis(7)); api.addHostDriver(net.ME1312.SubServers.Bungee.Host.Internal.InternalHost.class, "built-in"); api.addHostDriver(net.ME1312.SubServers.Bungee.Host.External.ExternalHost.class, "network");