diff --git a/build.gradle b/build.gradle
new file mode 100644
index 00000000..bd4bcc56
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,44 @@
+plugins {
+ id "com.github.johnrengelman.shadow" version "2.0.4"
+ id 'java'
+ id 'maven'
+ id 'maven-publish'
+}
+
+allprojects {
+ repositories {
+ mavenCentral()
+ mavenLocal()
+ maven { url "https://oss.sonatype.org/content/repositories/releases" }
+ maven { url "http://repo.mikeprimm.com" }
+ maven { url "http://repo.maven.apache.org/maven2" }
+ maven { url "https://hub.spigotmc.org/nexus/content/repositories/snapshots/" }
+ maven { url "http://repo.bstats.org/content/repositories/releases/" }
+ }
+
+ apply plugin: 'java'
+
+ group = 'us.dynmap'
+ version = '3.0-SNAPSHOT'
+
+}
+
+class Globals {
+ String buildNumber = System.getenv().BUILD_NUMBER ?: "Dev"
+}
+ext {
+ globals = new Globals()
+}
+
+subprojects {
+ apply plugin: "com.github.johnrengelman.shadow"
+ apply plugin: 'java'
+ apply plugin: 'maven'
+ apply plugin: 'maven-publish'
+
+ sourceCompatibility = 1.8
+ targetCompatibility = 1.8
+ tasks.withType(JavaCompile) {
+ options.encoding = 'UTF-8'
+ }
+}
diff --git a/bukkit/.gitignore b/bukkit/.gitignore
index c8ee1df6..72c9368f 100644
--- a/bukkit/.gitignore
+++ b/bukkit/.gitignore
@@ -1,2 +1,3 @@
/target/
/dependency-reduced-pom.xml
+/build/
diff --git a/bukkit/build.gradle b/bukkit/build.gradle
new file mode 100644
index 00000000..fcd61d2c
--- /dev/null
+++ b/bukkit/build.gradle
@@ -0,0 +1,53 @@
+
+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 "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'
+ compile group: 'com.platymuus.bukkit.permissions', name: 'PermissionsBukkit', version:'1.6'
+ compile group: 'org.anjocaido', name: 'EssentialsGroupManager', version:'2.10.1'
+ compile group: 'org.bstats', name: 'bstats-bukkit', version:'1.1'
+ compile group: 'com.googlecode.json-simple', name: 'json-simple', version:'1.1.1'
+ compile group: 'com.google.code.gson', name: 'gson', version:'2.8.2'
+ compile project(':dynmap-helper')
+ implementation(project(':dynmap-helper-113')) {
+ transitive = false
+ }
+}
+
+processResources {
+ // replace stuff in mcmod.info, nothing else
+ from('src/main/resources') {
+ include "plugin.yml"
+ // replace version and mcversion
+ expand(
+ buildnumber: project.parent.ext.globals.buildNumber,
+ version: project.version
+ )
+ }
+}
+
+jar {
+ classifier = 'unshaded'
+}
+
+shadowJar {
+ dependencies {
+ include(dependency('org.bstats::'))
+ include(dependency('us.dynmap:dynmap-api:'))
+ include(dependency('us.dynmap:DynmapCore:'))
+ include(dependency(':dynmap-helper'))
+ include(dependency(':dynmap-helper-113'))
+ }
+ relocate('org.bstats', 'org.dynmap.bstats')
+ destinationDir = file '../target'
+ classifier = ''
+}
+
+artifacts {
+ archives shadowJar
+}
diff --git a/bukkit/pom.xml b/bukkit/pom.xml
deleted file mode 100644
index 1c05c6b6..00000000
--- a/bukkit/pom.xml
+++ /dev/null
@@ -1,177 +0,0 @@
-
- 4.0.0
- us.dynmap
- dynmap
- dynmap
- http://github.com/webbukkit/dynmap/
-
- GitHub
- https://github.com/webbukkit/dynmap/issues
-
-
-
-
- src/main/resources
- true
-
- *.yml
- *.txt
-
-
-
- src/main/resources
- false
-
- *.yml
- *.txt
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 2.0.2
-
- 1.8
- 1.8
-
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
- 3.0.0
-
-
-
- org.bstats:*
- us.dynmap:dynmap-api:jar:*
- us.dynmap:DynmapCore:jar:*
- us.dynmap:dynmap-helper:jar:*
- us.dynmap:dynmap-helper-113:jar:*
-
-
-
-
- org.bstats
- org.dynmap
-
-
-
-
-
- package
-
- shade
-
-
-
-
-
- org.apache.maven.plugins
- maven-source-plugin
- 2.2.1
-
-
- attach-sources
-
- jar
-
-
-
-
-
-
-
-
-
- dynmap-repo
- http://repo.mikeprimm.com/
-
-
- spigot-repo
- https://hub.spigotmc.org/nexus/content/repositories/snapshots/
-
-
- bstats-repo
- http://repo.bstats.org/content/repositories/releases/
-
-
-
-
- com.nijikokun.bukkit
- Permissions
- 3.1.6
-
-
- org.bukkit
- bukkit
- 1.7.10-R0.1-SNAPSHOT
-
-
- us.dynmap
- dynmap-api
- 3.0-SNAPSHOT
-
-
- us.dynmap
- DynmapCore
- 3.0-SNAPSHOT
-
-
- ru.tehkode
- PermissionsEx
- 1.19.1
-
-
- de.bananaco
- bPermissions
- 2.9.1
-
-
- com.platymuus.bukkit.permissions
- PermissionsBukkit
- 1.6
-
-
- org.anjocaido
- EssentialsGroupManager
- 2.10.1
-
-
- org.bstats
- bstats-bukkit
- 1.1
-
-
- com.googlecode.json-simple
- json-simple
- 1.1.1
-
-
-
- com.google.code.gson
- gson
- 2.8.2
-
-
- us.dynmap
- dynmap-helper
- 3.0-SNAPSHOT
-
-
- us.dynmap
- dynmap-helper-113
- 3.0-SNAPSHOT
-
-
- 3.0-SNAPSHOT
-
- us.dynmap
- dynmap-common
- 3.0-SNAPSHOT
- ..
-
-
diff --git a/bukkit/src/main/resources/plugin.yml b/bukkit/src/main/resources/plugin.yml
index 3cfc9d0c..926e8dbf 100644
--- a/bukkit/src/main/resources/plugin.yml
+++ b/bukkit/src/main/resources/plugin.yml
@@ -1,382 +1,382 @@
-name: dynmap
-main: org.dynmap.bukkit.DynmapPlugin
-version: "${project.version}-${BUILD_NUMBER}"
-authors: [mikeprimm]
-website: "http://www.minecraftforum.net/topic/1543523-dynmap-dynamic-web-based-maps-for-minecraft/"
-softdepend: [ Permissions, PermissionEx, bPermissions, PermissionsBukkit, GroupManager ]
-commands:
- dynmap:
- description: Controls Dynmap.
- usage: |
- / hide - hides the player from the map.
- / hide TheDude - hides the player 'TheDude' on the map.
- / show - shows the player on the map.
- / show TheDude - shows the player 'TheDude' on the map.
- / render - Renders the tile at your location.
- / fullrender - Render all maps for entire world from your location.
- / fullrender world - Render all maps for entire world 'world'.
- / fullrender world:mapname - Render map 'mapname' of world 'world'.
- / radiusrender ## - Render at least ## block radius from your location on all maps.
- / radiusrender ## mapname - Render at least ## block radius from your location on map 'mapname'
- / radiusrender worldname x z ## - Render at least ## block radius from location x,z on world 'worldname'
- / radiusrender worldname x z ## mapname - Render at least ## block radius from location x,z on world 'worldname' on map 'mapname'
- / updaterender - Render updates starting at your location on all maps.
- / updaterender mapname - Render updates starting at your location on give map
- / updaterender worldname x z mapname - Render updates starting at location x,z on world 'worldname' for given map
- / cancelrender - Cancels any active renders on current world
- / cancelrender world - Cancels any active renders of world 'world'
- / stats - Show render statistics.
- / triggerstats - Show render trigger statistics
- / resetstats - Reset render statistics.
- / sendtoweb msg - Send message to web users
- / purgequeue - Set tile update queue to empty
- / purgequeue worldname - Set tile update queue to empty for world 'worldname'
- / purgemap worldname mapname - Delete all the tiles for map 'mapname' of world 'worldname'
- / purgeworld worldname - Delete all the files for world 'worldname'
- / pause - Show render pause state
- / pause - Set render pause state
- / quiet - Stop progress messages from active jobs
- / ids-for-ip - Show player IDs that have logged in from given IP address
- / ips-for-id - Show IP addresses that have been used for the given player ID
- / add-id-for-ip - Add player ID to given IP address
- / del-id-for-ip - Delete player ID from given IP address
- / webregister - Start registration process for creating web login account
-
- dmarker:
- description: Manipulate map markers
- usage: |
- / add