Merge branch 'webbukkit:v3.0' into v3.0

This commit is contained in:
JurgenKuyper 2023-10-01 10:44:26 +02:00 committed by GitHub
commit 0d15ee5a46
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 122 additions and 27 deletions

View File

@ -164,6 +164,7 @@ public class DynmapCore implements DynmapCommonAPI {
private File dataDirectory;
private File tilesDirectory;
private File exportDirectory;
private File importDirectory;
private String plugin_ver;
private MapStorage defaultStorage;
@ -224,6 +225,9 @@ public class DynmapCore implements DynmapCommonAPI {
public final File getExportFolder() {
return exportDirectory;
}
public final File getImportFolder() {
return importDirectory;
}
public void setMinecraftVersion(String mcver) {
this.platformVersion = mcver;
}
@ -428,6 +432,11 @@ public class DynmapCore implements DynmapCommonAPI {
if (!exportDirectory.isDirectory() && !exportDirectory.mkdirs()) {
Log.warning("Could not create directory for exports ('" + exportDirectory + "').");
}
// Prime the imports directory
importDirectory = getFile(configuration.getString("importpath", "import"));
if (!importDirectory.isDirectory() && !importDirectory.mkdirs()) {
Log.warning("Could not create directory for imports ('" + importDirectory + "').");
}
// Create default storage handler
String storetype = configuration.getString("storage/type", "filetree");
if (storetype.equals("filetree")) {

View File

@ -2176,6 +2176,10 @@ public class MarkerAPIImpl implements MarkerAPI, Event.Listener<DynmapWorld> {
sender.sendMessage("file:\"filename\" required");
return true;
}
if (!validateImportFile(file)) {
sender.sendMessage("Error: '" + ARG_FILE + "' cannot include directory separators - must be just filename in " + plugin.getImportFolder().getAbsolutePath() + " directory");
return true;
}
if(label == null)
label = id;
MarkerIcon ico = MarkerAPIImpl.getMarkerIconImpl(id);
@ -2184,10 +2188,9 @@ public class MarkerAPIImpl implements MarkerAPI, Event.Listener<DynmapWorld> {
return true;
}
/* Open stream to filename */
File iconf = new File(file);
FileInputStream fis = null;
try {
fis = new FileInputStream(iconf);
fis = new FileInputStream(new File(plugin.getImportFolder(), file));
/* Create new icon */
MarkerIcon mi = api.createMarkerIcon(id, label, fis);
if(mi == null) {
@ -3201,6 +3204,12 @@ public class MarkerAPIImpl implements MarkerAPI, Event.Listener<DynmapWorld> {
}
return true;
}
private static boolean validateImportFile(String fname) {
if ((fname.indexOf('/') >= 0) || (fname.indexOf('\\') >= 0)) {
return false;
}
return true;
}
/** Process importdesc for given item */
private static boolean processImportDesc(DynmapCore plugin, DynmapCommandSender sender, String cmd, String commandLabel, String[] args) {
if(args.length > 1) {
@ -3214,13 +3223,17 @@ public class MarkerAPIImpl implements MarkerAPI, Event.Listener<DynmapWorld> {
}
String f = parms.get(ARG_FILE);
if (f == null) {
sender.sendMessage("Error: no '" + ARG_FILE + "' parameter");
sender.sendMessage("file:\"filename\" required");
return true;
}
if (!validateImportFile(f)) {
sender.sendMessage("Error: '" + ARG_FILE + "' cannot include directory separators - must be just filename in " + plugin.getImportFolder().getAbsolutePath() + " directory");
return true;
}
FileReader fr = null;
String val = null;
try {
fr = new FileReader(f);
fr = new FileReader(new File(plugin.getImportFolder(), f));
StringBuilder sb = new StringBuilder();
char[] buf = new char[512];
int len;
@ -3261,13 +3274,17 @@ public class MarkerAPIImpl implements MarkerAPI, Event.Listener<DynmapWorld> {
}
String f = parms.get(ARG_FILE);
if (f == null) {
sender.sendMessage("Error: no '" + ARG_FILE + "' parameter");
sender.sendMessage("file:\"filename\" required");
return true;
}
if (!validateImportFile(f)) {
sender.sendMessage("Error: '" + ARG_FILE + "' cannot include directory separators - must be just filename in " + plugin.getImportFolder().getAbsolutePath() + " directory");
return true;
}
FileReader fr = null;
String val = null;
try {
fr = new FileReader(f);
fr = new FileReader(new File(plugin.getImportFolder(), f));
StringBuilder sb = new StringBuilder();
char[] buf = new char[512];
int len;

View File

@ -2,32 +2,35 @@
<projectDescription>
<name>Dynmap(Spigot-Common)</name>
<comment>bukkit-helper</comment>
<projects/>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
</natures>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments/>
</buildCommand>
<buildCommand>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<arguments/>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments/>
</buildCommand>
</buildSpec>
<linkedResources/>
<filteredResources>
<filter>
<id>1</id>
<name></name>
<type>30</type>
<name/>
<matcher>
<id>org.eclipse.core.resources.regexFilterMatcher</id>
<arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>

View File

@ -1,5 +1,5 @@
#
#Sat Sep 23 12:37:23 CDT 2023
#Wed Sep 27 17:17:03 CDT 2023
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.nullReference=warning
eclipse.preferences.version=1

View File

@ -327,6 +327,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -327,6 +327,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -335,6 +335,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -335,6 +335,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -333,6 +333,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -333,6 +333,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -333,6 +333,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -333,6 +333,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -333,6 +333,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -333,6 +333,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -333,6 +333,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -335,6 +335,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -335,6 +335,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -335,6 +335,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -335,6 +335,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -335,6 +335,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -335,6 +335,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -335,6 +335,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -335,6 +335,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -335,6 +335,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -335,6 +335,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0

View File

@ -40,12 +40,12 @@ public class Helper {
Log.info("Loading Glowstone support");
BukkitVersionHelper.helper = loadVersionHelper("org.dynmap.bukkit.helper.BukkitVersionHelperGlowstone");
}
else if (v.contains("(MC: 1.20")) {
BukkitVersionHelper.helper = loadVersionHelper("org.dynmap.bukkit.helper.v120_2.BukkitVersionHelperSpigot120_2");
}
else if (v.contains("(MC: 1.20)") || v.contains("(MC: 1.20.1)")) {
BukkitVersionHelper.helper = loadVersionHelper("org.dynmap.bukkit.helper.v120.BukkitVersionHelperSpigot120");
}
else if (v.contains("(MC: 1.20")) {
BukkitVersionHelper.helper = loadVersionHelper("org.dynmap.bukkit.helper.v120_2.BukkitVersionHelperSpigot120_2");
}
else if (v.contains("(MC: 1.19)") || v.contains("(MC: 1.19.1)") || v.contains("(MC: 1.19.2)")) {
BukkitVersionHelper.helper = loadVersionHelper("org.dynmap.bukkit.helper.v119.BukkitVersionHelperSpigot119");
}

View File

@ -342,6 +342,9 @@ update-webpath-files: true
# The path were the /dynmapexp command exports OBJ ZIP files
exportpath: export
# The path where files can be imported for /dmarker commands
importpath: import
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
# If not set, uses same setting as server in server.properties (or 0.0.0.0 if not specified)
#webserver-bindaddress: 0.0.0.0