diff --git a/bukkit-helper-113/.classpath b/bukkit-helper-113/.classpath
index d58ab93b..797b9cd8 100644
--- a/bukkit-helper-113/.classpath
+++ b/bukkit-helper-113/.classpath
@@ -1,36 +1,30 @@
-
+
-
-
+
+
-
+
-
+
+
-
+
-
-
+
+
-
+
-
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/bukkit-helper-113/.project b/bukkit-helper-113/.project
index e0ce0988..77e7670f 100644
--- a/bukkit-helper-113/.project
+++ b/bukkit-helper-113/.project
@@ -1,6 +1,6 @@
- helper113
+ bukkit-helper-113
@@ -10,6 +10,11 @@
+
+ org.eclipse.buildship.core.gradleprojectbuilder
+
+
+
org.eclipse.m2e.core.maven2Builder
@@ -19,5 +24,6 @@
org.eclipse.jdt.core.javanature
org.eclipse.m2e.core.maven2Nature
+ org.eclipse.buildship.core.gradleprojectnature
diff --git a/bukkit-helper-113/.settings/org.eclipse.buildship.core.prefs b/bukkit-helper-113/.settings/org.eclipse.buildship.core.prefs
new file mode 100644
index 00000000..a7b84d92
--- /dev/null
+++ b/bukkit-helper-113/.settings/org.eclipse.buildship.core.prefs
@@ -0,0 +1,2 @@
+connection.project.dir=..
+eclipse.preferences.version=1
diff --git a/bukkit-helper-113/.settings/org.eclipse.jdt.core.prefs b/bukkit-helper-113/.settings/org.eclipse.jdt.core.prefs
index 86260262..d59e09c9 100644
--- a/bukkit-helper-113/.settings/org.eclipse.jdt.core.prefs
+++ b/bukkit-helper-113/.settings/org.eclipse.jdt.core.prefs
@@ -1,5 +1,5 @@
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/bukkit-helper/.classpath b/bukkit-helper/.classpath
index d58ab93b..797b9cd8 100644
--- a/bukkit-helper/.classpath
+++ b/bukkit-helper/.classpath
@@ -1,36 +1,30 @@
-
+
-
-
+
+
-
+
-
+
+
-
+
-
-
+
+
-
+
-
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/bukkit-helper/.project b/bukkit-helper/.project
index 34ea69da..45e13d21 100644
--- a/bukkit-helper/.project
+++ b/bukkit-helper/.project
@@ -1,6 +1,6 @@
- helper
+ bukkit-helper
@@ -10,6 +10,11 @@
+
+ org.eclipse.buildship.core.gradleprojectbuilder
+
+
+
org.eclipse.m2e.core.maven2Builder
@@ -19,5 +24,6 @@
org.eclipse.jdt.core.javanature
org.eclipse.m2e.core.maven2Nature
+ org.eclipse.buildship.core.gradleprojectnature
diff --git a/bukkit-helper/.settings/org.eclipse.buildship.core.prefs b/bukkit-helper/.settings/org.eclipse.buildship.core.prefs
new file mode 100644
index 00000000..a7b84d92
--- /dev/null
+++ b/bukkit-helper/.settings/org.eclipse.buildship.core.prefs
@@ -0,0 +1,2 @@
+connection.project.dir=..
+eclipse.preferences.version=1
diff --git a/bukkit-helper/.settings/org.eclipse.jdt.core.prefs b/bukkit-helper/.settings/org.eclipse.jdt.core.prefs
index 86260262..d59e09c9 100644
--- a/bukkit-helper/.settings/org.eclipse.jdt.core.prefs
+++ b/bukkit-helper/.settings/org.eclipse.jdt.core.prefs
@@ -1,5 +1,5 @@
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/bukkit/.classpath b/bukkit/.classpath
new file mode 100644
index 00000000..6b415083
--- /dev/null
+++ b/bukkit/.classpath
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bukkit/.project b/bukkit/.project
new file mode 100644
index 00000000..2d6f7110
--- /dev/null
+++ b/bukkit/.project
@@ -0,0 +1,23 @@
+
+
+ dynmap
+ Project dynmap created by Buildship.
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.buildship.core.gradleprojectbuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.buildship.core.gradleprojectnature
+
+
diff --git a/bukkit/.settings/org.eclipse.buildship.core.prefs b/bukkit/.settings/org.eclipse.buildship.core.prefs
new file mode 100644
index 00000000..a7b84d92
--- /dev/null
+++ b/bukkit/.settings/org.eclipse.buildship.core.prefs
@@ -0,0 +1,2 @@
+connection.project.dir=..
+eclipse.preferences.version=1
diff --git a/bukkit/build.gradle b/bukkit/build.gradle
index 728f99ba..7b5b0ac5 100644
--- a/bukkit/build.gradle
+++ b/bukkit/build.gradle
@@ -4,7 +4,7 @@ description = 'dynmap'
dependencies {
compile group: 'org.bukkit', name: 'bukkit', version:'1.7.10-R0.1-SNAPSHOT'
compile 'com.nijikokun.bukkit:Permissions:3.1.6'
- compile "us.dynmap:dynmap-api:${project.version}"
+ compile project(":dynmap-api")
compile "us.dynmap:DynmapCore:${project.version}"
compile group: 'ru.tehkode', name: 'PermissionsEx', version:'1.19.1'
compile group: 'de.bananaco', name: 'bPermissions', version:'2.9.1'
@@ -38,7 +38,7 @@ jar {
shadowJar {
dependencies {
include(dependency('org.bstats::'))
- include(dependency('us.dynmap:dynmap-api:'))
+ include(dependency(':dynmap-api'))
include(dependency('us.dynmap:DynmapCore:'))
include(dependency(':bukkit-helper'))
include(dependency(':bukkit-helper-113'))
diff --git a/dynmap-api/.gitignore b/dynmap-api/.gitignore
new file mode 100644
index 00000000..84c048a7
--- /dev/null
+++ b/dynmap-api/.gitignore
@@ -0,0 +1 @@
+/build/
diff --git a/dynmap-api/build.gradle b/dynmap-api/build.gradle
new file mode 100644
index 00000000..c829db03
--- /dev/null
+++ b/dynmap-api/build.gradle
@@ -0,0 +1,23 @@
+
+description = "dynmap-api"
+
+dependencies {
+ compile group: 'org.bukkit', name: 'bukkit', version:'1.7.10-R0.1-SNAPSHOT'
+ compile "us.dynmap:DynmapCoreAPI:${project.version}"
+}
+
+jar {
+ classifier = 'unshaded'
+}
+
+shadowJar {
+ dependencies {
+ include(dependency("us.dynmap:DynmapCoreAPI:"))
+ }
+ destinationDir = file '../target'
+ classifier = ''
+}
+
+artifacts {
+ archives shadowJar
+}
diff --git a/dynmap-api/src/main/assembly/package.xml b/dynmap-api/src/main/assembly/package.xml
new file mode 100644
index 00000000..1e70bf40
--- /dev/null
+++ b/dynmap-api/src/main/assembly/package.xml
@@ -0,0 +1,16 @@
+
+ bin
+ false
+
+ zip
+
+
+
+
+
+
+ /
+ dynmap-api.jar
+
+
+
diff --git a/dynmap-api/src/main/java/org/dynmap/DynmapAPI.java b/dynmap-api/src/main/java/org/dynmap/DynmapAPI.java
new file mode 100644
index 00000000..d77633f6
--- /dev/null
+++ b/dynmap-api/src/main/java/org/dynmap/DynmapAPI.java
@@ -0,0 +1,67 @@
+package org.dynmap;
+
+import org.bukkit.Location;
+import org.bukkit.entity.Player;
+import org.bukkit.plugin.Plugin;
+
+/**
+ * This is the interface representing the published API for the Dynmap plugin for Bukkit. Public methods of the
+ * DynmapPlugin class that are not defined in this interface are subject to change without notice, so
+ * be careful with forming dependencies beyond these. Plugins accessing dynmap 0.24 or later should
+ * do so by casting the Plugin to this interface.
+ *
+ * This interface is Bukkit specific.
+ */
+public interface DynmapAPI extends DynmapCommonAPI {
+ /**
+ * Trigger update on tiles associated with given locations. If two locations provided,
+ * the volume is the rectangular prism ("cuboid") with the two locations on opposite corners.
+ *
+ * @param l0 - first location (required)
+ * @param l1 - second location (if null, only single point invalidated (l0))
+ * @return number of tiles queued to be rerendered (@deprecated return value - just returns 1)
+ */
+ public int triggerRenderOfVolume(Location l0, Location l1);
+ /**
+ * Set player visibility
+ * @param player - player
+ * @param is_visible - true if visible, false if hidden
+ */
+ public void setPlayerVisiblity(Player player, boolean is_visible);
+ /**
+ * Test if player is visible
+ * @return true if visible, false if not
+ */
+ public boolean getPlayerVisbility(Player player);
+ /**
+ * Post message from player to web
+ * @param player - player
+ * @param message - message text
+ */
+ public void postPlayerMessageToWeb(Player player, String message);
+ /**
+ * Post join/quit message for player to web
+ * @param player - player
+ * @param isjoin - if true, join message; if false, quit message
+ */
+ public void postPlayerJoinQuitToWeb(Player player, boolean isjoin);
+ /**
+ * Get version of dynmap plugin
+ * @return version - format is "major.minor-build" or "major.minor.patch-build"
+ */
+ public String getDynmapVersion();
+ /**
+ * Set player visibility (transient - if player is configured to be visible, they are hidden if one or more plugins assert their invisiblity)
+ * @param player - player ID
+ * @param is_invisible - true if asserting player should be invisible, false if no assertion
+ * @param plugin - asserting plugin
+ */
+ public void assertPlayerInvisibility(Player player, boolean is_invisible, Plugin plugin);
+ /**
+ * Set player visibility (transient - if player is configured to be hidden, they are made visibile if one or more plugins assert their visibility))
+ * @param player - player
+ * @param is_visible - true if asserting that hidden player should be visible, false if no assertion
+ * @param plugin - asserting plugin
+ */
+ public void assertPlayerVisibility(Player player, boolean is_visible, Plugin plugin);
+}
diff --git a/dynmap-api/src/main/java/org/dynmap/DynmapWebChatEvent.java b/dynmap-api/src/main/java/org/dynmap/DynmapWebChatEvent.java
new file mode 100644
index 00000000..df707a4f
--- /dev/null
+++ b/dynmap-api/src/main/java/org/dynmap/DynmapWebChatEvent.java
@@ -0,0 +1,51 @@
+package org.dynmap;
+import org.bukkit.event.Cancellable;
+import org.bukkit.event.Event;
+import org.bukkit.event.HandlerList;
+
+/**
+ * Custom Bukkit event, corresponding to the receiving of a web-chat message from a web UI user
+ *
+ * This interface is Bukkit specific.
+ */
+public class DynmapWebChatEvent extends Event implements Cancellable {
+ public static final String CUSTOM_TYPE = "org.dynmap.DynmapWebChatEvent";
+ private static final HandlerList handlers = new HandlerList();
+ private String source;
+ private String name;
+ private String message;
+ private boolean cancelled;
+ private boolean isprocessed;
+
+ public DynmapWebChatEvent(String source, String name, String message) {
+ this.source = source;
+ this.name = name;
+ this.message = message;
+ this.cancelled = false;
+ this.isprocessed = false;
+ }
+ @Override
+ public boolean isCancelled() { return cancelled; }
+
+ @Override
+ public void setCancelled(boolean cancel) { cancelled = cancel; }
+
+ public String getSource() { return source; }
+
+ public String getName() { return name; }
+
+ public String getMessage() { return message; }
+
+ /* Processed flag is used to mark message as handled by listener - if set, dynmap will not send it using broadcastMessage() */
+ public boolean isProcessed() { return isprocessed; }
+
+ public void setProcessed() { isprocessed = true; }
+
+ @Override
+ public HandlerList getHandlers() {
+ return handlers;
+ }
+ public static HandlerList getHandlerList() {
+ return handlers;
+ }
+}
diff --git a/settings.gradle b/settings.gradle
index 7d81a915..8d8a4074 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -2,7 +2,9 @@ rootProject.name = 'dynmap-common'
include ':dynmap'
include ':bukkit-helper-113'
include ':bukkit-helper'
+include ':dynmap-api'
project(':dynmap').projectDir = "$rootDir/bukkit" as File
project(':bukkit-helper-113').projectDir = "$rootDir/bukkit-helper-113" as File
-project(':bukkit-helper').projectDir = "$rootDir/bukkit-helper" as File
\ No newline at end of file
+project(':bukkit-helper').projectDir = "$rootDir/bukkit-helper" as File
+project(':dynmap-api').projectDir = "$rootDir/dynmap-api" as File