From 0812ff3adeb3ca328f83ba8de8e3f60b38923482 Mon Sep 17 00:00:00 2001 From: ME1312 Date: Sat, 20 Jun 2020 03:45:45 -0400 Subject: [PATCH] Properly set a default value for the `Replacements` option --- .../SubServers/Bungee/Host/Internal/InternalSubCreator.java | 2 +- .../Bungee/Network/Packet/PacketExUploadTemplates.java | 2 +- .../net/ME1312/SubServers/Host/Executable/SubCreatorImpl.java | 2 +- .../Host/Network/Packet/PacketExUploadTemplates.java | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubCreator.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubCreator.java index 6e6f52ec..5b3a96ee 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubCreator.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubCreator.java @@ -122,7 +122,7 @@ public class InternalSubCreator extends SubCreator { if (template.getBuildOptions().getBoolean("Update-Files", false)) updateDirectory(template.getDirectory(), dir); else Util.copyDirectory(template.getDirectory(), dir); - for (ObjectMapValue replacement : template.getBuildOptions().getMap("Replacements").getValues()) if (!replacement.isNull()) { + for (ObjectMapValue replacement : template.getBuildOptions().getMap("Replacements", new ObjectMap<>()).getValues()) if (!replacement.isNull()) { replacements.put(replacement.getHandle().toLowerCase().replace('-', '_').replace(' ', '_'), replacement.asRawString()); } diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketExUploadTemplates.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketExUploadTemplates.java index 9acb544a..3480336e 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketExUploadTemplates.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketExUploadTemplates.java @@ -35,7 +35,7 @@ public class PacketExUploadTemplates implements PacketObjectIn, PacketO HashMap map = Util.getDespiteException(() -> Util.reflect(ExternalSubCreator.class.getDeclaredField("templates"), ((ExternalHost) client.getHandler()).getCreator()), new HashMap<>()); UniversalFile templatedir = new UniversalFile(plugin.dir, "SubServers:Cache:Remote:Templates"); ObjectMap templates = new ObjectMap<>((Map) data.getObject(0x0000)); - templatedir.mkdirs(); + map.clear(); for (String name : templates.getKeys()) { try { UniversalFile dir = new UniversalFile(templatedir, name); diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Executable/SubCreatorImpl.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Executable/SubCreatorImpl.java index 2a96e4b9..be0ebda3 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Executable/SubCreatorImpl.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Executable/SubCreatorImpl.java @@ -300,7 +300,7 @@ public class SubCreatorImpl { if (template.getBuildOptions().getBoolean("Update-Files", false)) updateDirectory(template.getDirectory(), dir); else Util.copyDirectory(template.getDirectory(), dir); - for (ObjectMapValue replacement : template.getBuildOptions().getMap("Replacements").getValues()) if (!replacement.isNull()) { + for (ObjectMapValue replacement : template.getBuildOptions().getMap("Replacements", new ObjectMap<>()).getValues()) if (!replacement.isNull()) { replacements.put(replacement.getHandle().toLowerCase().replace('-', '_').replace(' ', '_'), replacement.asRawString()); } diff --git a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExUploadTemplates.java b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExUploadTemplates.java index 4d24dbc3..21fca732 100644 --- a/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExUploadTemplates.java +++ b/SubServers.Host/src/net/ME1312/SubServers/Host/Network/Packet/PacketExUploadTemplates.java @@ -27,8 +27,9 @@ public class PacketExUploadTemplates implements PacketIn, PacketObjectOut send(SubDataSender client) { - host.log.info.println(((first)?"S":"Res") + "ending Local Template Metadata..."); if (!first) host.creator.load(false); + if (!host.templates.isEmpty()) + host.log.info.println(((first)?"S":"Res") + "ending Local Template Metadata..."); ObjectMap data = new ObjectMap(); ObjectMap templates = new ObjectMap();