From f66e63fe455ea28a00c9940283a21b9c359a9e4a Mon Sep 17 00:00:00 2001 From: Mike Primm Date: Sat, 11 Aug 2018 23:42:08 -0500 Subject: [PATCH] Merge dynmap-api into common dynmap --- bukkit-helper-113/.classpath | 36 +++++----- bukkit-helper-113/.project | 8 ++- .../org.eclipse.buildship.core.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 6 +- bukkit-helper/.classpath | 36 +++++----- bukkit-helper/.project | 8 ++- .../org.eclipse.buildship.core.prefs | 2 + .../.settings/org.eclipse.jdt.core.prefs | 6 +- bukkit/.classpath | 18 +++++ bukkit/.project | 23 +++++++ .../org.eclipse.buildship.core.prefs | 2 + bukkit/build.gradle | 4 +- dynmap-api/.gitignore | 1 + dynmap-api/build.gradle | 23 +++++++ dynmap-api/src/main/assembly/package.xml | 16 +++++ .../src/main/java/org/dynmap/DynmapAPI.java | 67 +++++++++++++++++++ .../java/org/dynmap/DynmapWebChatEvent.java | 51 ++++++++++++++ settings.gradle | 4 +- 18 files changed, 260 insertions(+), 53 deletions(-) create mode 100644 bukkit-helper-113/.settings/org.eclipse.buildship.core.prefs create mode 100644 bukkit-helper/.settings/org.eclipse.buildship.core.prefs create mode 100644 bukkit/.classpath create mode 100644 bukkit/.project create mode 100644 bukkit/.settings/org.eclipse.buildship.core.prefs create mode 100644 dynmap-api/.gitignore create mode 100644 dynmap-api/build.gradle create mode 100644 dynmap-api/src/main/assembly/package.xml create mode 100644 dynmap-api/src/main/java/org/dynmap/DynmapAPI.java create mode 100644 dynmap-api/src/main/java/org/dynmap/DynmapWebChatEvent.java 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 + + + + + + ${project.build.directory}/${artifactId}-${version}.jar + / + 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