From 40760975a9fc74a454cdb4bea6214785ceca1bce Mon Sep 17 00:00:00 2001 From: Joo200 Date: Wed, 25 Dec 2024 22:02:24 +0100 Subject: [PATCH 1/3] misc: Refactor project layout * Moved bukkit adapters to bukkit-helper:adapters * Replaced important project files with kts scripts * Prepared project for paperweight usage --- .gitignore | 4 +- DynmapCore/build.gradle | 88 ----------- DynmapCore/build.gradle.kts | 85 ++++++++++ DynmapCoreAPI/build.gradle | 27 ---- DynmapCoreAPI/build.gradle.kts | 26 +++ build.gradle | 72 --------- build.gradle.kts | 55 +++++++ bukkit-helper-121/.gitignore | 1 - .../adapters/bukkit-helper-113-2}/.gitignore | 0 .../bukkit-helper-113-2}/build.gradle | 0 .../BukkitVersionHelperSpigot113_2.java | 0 .../helper/v113_2/MapChunkCache113_2.java | 0 .../adapters/bukkit-helper-114-1}/.gitignore | 0 .../bukkit-helper-114-1}/build.gradle | 0 .../BukkitVersionHelperSpigot114_1.java | 0 .../helper/v114_1/MapChunkCache114_1.java | 0 .../org/dynmap/bukkit/helper/v114_1/NBT.java | 0 .../adapters/bukkit-helper-115}/.gitignore | 0 .../adapters/bukkit-helper-115}/build.gradle | 0 .../v115/BukkitVersionHelperSpigot115.java | 0 .../bukkit/helper/v115/MapChunkCache115.java | 0 .../org/dynmap/bukkit/helper/v115/NBT.java | 0 .../adapters/bukkit-helper-116-2}/.gitignore | 0 .../bukkit-helper-116-2}/build.gradle | 0 .../BukkitVersionHelperSpigot116_2.java | 0 .../helper/v116_2/MapChunkCache116_2.java | 0 .../org/dynmap/bukkit/helper/v116_2/NBT.java | 0 .../adapters/bukkit-helper-116-3}/.gitignore | 0 .../bukkit-helper-116-3}/build.gradle | 0 .../BukkitVersionHelperSpigot116_3.java | 0 .../helper/v116_3/MapChunkCache116_3.java | 0 .../org/dynmap/bukkit/helper/v116_3/NBT.java | 0 .../adapters/bukkit-helper-116-4}/.gitignore | 0 .../bukkit-helper-116-4}/build.gradle | 0 .../BukkitVersionHelperSpigot116_4.java | 0 .../helper/v116_4/MapChunkCache116_4.java | 0 .../org/dynmap/bukkit/helper/v116_4/NBT.java | 0 .../adapters/bukkit-helper-116}/.gitignore | 0 .../adapters/bukkit-helper-116}/build.gradle | 0 .../v116/BukkitVersionHelperSpigot116.java | 0 .../bukkit/helper/v116/MapChunkCache116.java | 0 .../org/dynmap/bukkit/helper/v116/NBT.java | 0 .../adapters/bukkit-helper-117}/.gitignore | 0 .../adapters/bukkit-helper-117}/build.gradle | 0 .../v117/BukkitVersionHelperSpigot117.java | 0 .../bukkit/helper/v117/MapChunkCache117.java | 0 .../org/dynmap/bukkit/helper/v117/NBT.java | 0 .../adapters/bukkit-helper-118-2}/.gitignore | 0 .../bukkit-helper-118-2}/build.gradle | 0 .../v118_2/AsyncChunkProvider118_2.java | 0 .../BukkitVersionHelperSpigot118_2.java | 0 .../helper/v118_2/MapChunkCache118_2.java | 0 .../org/dynmap/bukkit/helper/v118_2/NBT.java | 0 .../adapters/bukkit-helper-118}/.gitignore | 0 .../adapters/bukkit-helper-118}/build.gradle | 0 .../v118/BukkitVersionHelperSpigot118.java | 0 .../bukkit/helper/v118/MapChunkCache118.java | 0 .../org/dynmap/bukkit/helper/v118/NBT.java | 0 .../adapters/bukkit-helper-119-3}/.gitignore | 0 .../bukkit-helper-119-3}/build.gradle | 0 .../v119_3/AsyncChunkProvider119_3.java | 0 .../BukkitVersionHelperSpigot119_3.java | 0 .../helper/v119_3/MapChunkCache119_3.java | 0 .../org/dynmap/bukkit/helper/v119_3/NBT.java | 0 .../adapters/bukkit-helper-119-4}/.gitignore | 0 .../bukkit-helper-119-4}/build.gradle | 0 .../v119_4/AsyncChunkProvider119_4.java | 0 .../BukkitVersionHelperSpigot119_4.java | 0 .../helper/v119_4/MapChunkCache119_4.java | 0 .../org/dynmap/bukkit/helper/v119_4/NBT.java | 0 .../adapters/bukkit-helper-119}/.gitignore | 0 .../bukkit-helper-119}/bin/.gitignore | 0 .../adapters/bukkit-helper-119}/build.gradle | 0 .../helper/v119/AsyncChunkProvider119.java | 0 .../v119/BukkitVersionHelperSpigot119.java | 0 .../bukkit/helper/v119/MapChunkCache119.java | 0 .../org/dynmap/bukkit/helper/v119/NBT.java | 0 .../adapters/bukkit-helper-120-2}/.gitignore | 0 .../bukkit-helper-120-2}/bin/.gitignore | 0 .../bukkit-helper-120-2}/build.gradle | 0 .../v120_2/AsyncChunkProvider120_2.java | 0 .../BukkitVersionHelperSpigot120_2.java | 0 .../helper/v120_2/MapChunkCache120_2.java | 0 .../org/dynmap/bukkit/helper/v120_2/NBT.java | 0 .../adapters/bukkit-helper-120-4}/.gitignore | 0 .../bukkit-helper-120-4}/build.gradle | 0 .../v120_4/AsyncChunkProvider120_4.java | 0 .../BukkitVersionHelperSpigot120_4.java | 0 .../helper/v120_4/MapChunkCache120_4.java | 0 .../org/dynmap/bukkit/helper/v120_4/NBT.java | 0 .../adapters/bukkit-helper-120-5}/.gitignore | 0 .../bukkit-helper-120-5}/build.gradle | 0 .../v120_5/AsyncChunkProvider120_5.java | 0 .../BukkitVersionHelperSpigot120_5.java | 0 .../helper/v120_5/MapChunkCache120_5.java | 0 .../org/dynmap/bukkit/helper/v120_5/NBT.java | 0 .../adapters/bukkit-helper-120}/.gitignore | 0 .../adapters/bukkit-helper-120}/build.gradle | 0 .../helper/v120/AsyncChunkProvider120.java | 0 .../v120/BukkitVersionHelperSpigot120.java | 0 .../bukkit/helper/v120/MapChunkCache120.java | 0 .../org/dynmap/bukkit/helper/v120/NBT.java | 0 .../adapters/bukkit-helper-121}/build.gradle | 4 +- .../helper/v121/AsyncChunkProvider121.java | 0 .../v121/BukkitVersionHelperSpigot121.java | 0 .../bukkit/helper/v121/MapChunkCache121.java | 0 .../org/dynmap/bukkit/helper/v121/NBT.java | 0 bukkit-helper/build.gradle | 18 --- bukkit-helper/build.gradle.kts | 23 +++ dynmap-api/build.gradle | 40 ----- dynmap-api/build.gradle.kts | 37 +++++ settings.gradle | 100 ------------ settings.gradle.kts | 61 ++++++++ spigot/build.gradle | 148 ------------------ spigot/build.gradle.kts | 104 ++++++++++++ spigot/src/main/resources/plugin.yml | 2 +- 116 files changed, 397 insertions(+), 498 deletions(-) delete mode 100644 DynmapCore/build.gradle create mode 100644 DynmapCore/build.gradle.kts delete mode 100644 DynmapCoreAPI/build.gradle create mode 100644 DynmapCoreAPI/build.gradle.kts delete mode 100644 build.gradle create mode 100644 build.gradle.kts delete mode 100644 bukkit-helper-121/.gitignore rename {bukkit-helper-113-2 => bukkit-helper/adapters/bukkit-helper-113-2}/.gitignore (100%) rename {bukkit-helper-113-2 => bukkit-helper/adapters/bukkit-helper-113-2}/build.gradle (100%) rename {bukkit-helper-113-2 => bukkit-helper/adapters/bukkit-helper-113-2}/src/main/java/org/dynmap/bukkit/helper/v113_2/BukkitVersionHelperSpigot113_2.java (100%) rename {bukkit-helper-113-2 => bukkit-helper/adapters/bukkit-helper-113-2}/src/main/java/org/dynmap/bukkit/helper/v113_2/MapChunkCache113_2.java (100%) rename {bukkit-helper-114-1 => bukkit-helper/adapters/bukkit-helper-114-1}/.gitignore (100%) rename {bukkit-helper-114-1 => bukkit-helper/adapters/bukkit-helper-114-1}/build.gradle (100%) rename {bukkit-helper-114-1 => bukkit-helper/adapters/bukkit-helper-114-1}/src/main/java/org/dynmap/bukkit/helper/v114_1/BukkitVersionHelperSpigot114_1.java (100%) rename {bukkit-helper-114-1 => bukkit-helper/adapters/bukkit-helper-114-1}/src/main/java/org/dynmap/bukkit/helper/v114_1/MapChunkCache114_1.java (100%) rename {bukkit-helper-114-1 => bukkit-helper/adapters/bukkit-helper-114-1}/src/main/java/org/dynmap/bukkit/helper/v114_1/NBT.java (100%) rename {bukkit-helper-115 => bukkit-helper/adapters/bukkit-helper-115}/.gitignore (100%) rename {bukkit-helper-115 => bukkit-helper/adapters/bukkit-helper-115}/build.gradle (100%) rename {bukkit-helper-115 => bukkit-helper/adapters/bukkit-helper-115}/src/main/java/org/dynmap/bukkit/helper/v115/BukkitVersionHelperSpigot115.java (100%) rename {bukkit-helper-115 => bukkit-helper/adapters/bukkit-helper-115}/src/main/java/org/dynmap/bukkit/helper/v115/MapChunkCache115.java (100%) rename {bukkit-helper-115 => bukkit-helper/adapters/bukkit-helper-115}/src/main/java/org/dynmap/bukkit/helper/v115/NBT.java (100%) rename {bukkit-helper-116-2 => bukkit-helper/adapters/bukkit-helper-116-2}/.gitignore (100%) rename {bukkit-helper-116-2 => bukkit-helper/adapters/bukkit-helper-116-2}/build.gradle (100%) rename {bukkit-helper-116-2 => bukkit-helper/adapters/bukkit-helper-116-2}/src/main/java/org/dynmap/bukkit/helper/v116_2/BukkitVersionHelperSpigot116_2.java (100%) rename {bukkit-helper-116-2 => bukkit-helper/adapters/bukkit-helper-116-2}/src/main/java/org/dynmap/bukkit/helper/v116_2/MapChunkCache116_2.java (100%) rename {bukkit-helper-116-2 => bukkit-helper/adapters/bukkit-helper-116-2}/src/main/java/org/dynmap/bukkit/helper/v116_2/NBT.java (100%) rename {bukkit-helper-116-3 => bukkit-helper/adapters/bukkit-helper-116-3}/.gitignore (100%) rename {bukkit-helper-116-3 => bukkit-helper/adapters/bukkit-helper-116-3}/build.gradle (100%) rename {bukkit-helper-116-3 => bukkit-helper/adapters/bukkit-helper-116-3}/src/main/java/org/dynmap/bukkit/helper/v116_3/BukkitVersionHelperSpigot116_3.java (100%) rename {bukkit-helper-116-3 => bukkit-helper/adapters/bukkit-helper-116-3}/src/main/java/org/dynmap/bukkit/helper/v116_3/MapChunkCache116_3.java (100%) rename {bukkit-helper-116-3 => bukkit-helper/adapters/bukkit-helper-116-3}/src/main/java/org/dynmap/bukkit/helper/v116_3/NBT.java (100%) rename {bukkit-helper-116-4 => bukkit-helper/adapters/bukkit-helper-116-4}/.gitignore (100%) rename {bukkit-helper-116-4 => bukkit-helper/adapters/bukkit-helper-116-4}/build.gradle (100%) rename {bukkit-helper-116-4 => bukkit-helper/adapters/bukkit-helper-116-4}/src/main/java/org/dynmap/bukkit/helper/v116_4/BukkitVersionHelperSpigot116_4.java (100%) rename {bukkit-helper-116-4 => bukkit-helper/adapters/bukkit-helper-116-4}/src/main/java/org/dynmap/bukkit/helper/v116_4/MapChunkCache116_4.java (100%) rename {bukkit-helper-116-4 => bukkit-helper/adapters/bukkit-helper-116-4}/src/main/java/org/dynmap/bukkit/helper/v116_4/NBT.java (100%) rename {bukkit-helper-116 => bukkit-helper/adapters/bukkit-helper-116}/.gitignore (100%) rename {bukkit-helper-116 => bukkit-helper/adapters/bukkit-helper-116}/build.gradle (100%) rename {bukkit-helper-116 => bukkit-helper/adapters/bukkit-helper-116}/src/main/java/org/dynmap/bukkit/helper/v116/BukkitVersionHelperSpigot116.java (100%) rename {bukkit-helper-116 => bukkit-helper/adapters/bukkit-helper-116}/src/main/java/org/dynmap/bukkit/helper/v116/MapChunkCache116.java (100%) rename {bukkit-helper-116 => bukkit-helper/adapters/bukkit-helper-116}/src/main/java/org/dynmap/bukkit/helper/v116/NBT.java (100%) rename {bukkit-helper-117 => bukkit-helper/adapters/bukkit-helper-117}/.gitignore (100%) rename {bukkit-helper-117 => bukkit-helper/adapters/bukkit-helper-117}/build.gradle (100%) rename {bukkit-helper-117 => bukkit-helper/adapters/bukkit-helper-117}/src/main/java/org/dynmap/bukkit/helper/v117/BukkitVersionHelperSpigot117.java (100%) rename {bukkit-helper-117 => bukkit-helper/adapters/bukkit-helper-117}/src/main/java/org/dynmap/bukkit/helper/v117/MapChunkCache117.java (100%) rename {bukkit-helper-117 => bukkit-helper/adapters/bukkit-helper-117}/src/main/java/org/dynmap/bukkit/helper/v117/NBT.java (100%) rename {bukkit-helper-118-2 => bukkit-helper/adapters/bukkit-helper-118-2}/.gitignore (100%) rename {bukkit-helper-118-2 => bukkit-helper/adapters/bukkit-helper-118-2}/build.gradle (100%) rename {bukkit-helper-118-2 => bukkit-helper/adapters/bukkit-helper-118-2}/src/main/java/org/dynmap/bukkit/helper/v118_2/AsyncChunkProvider118_2.java (100%) rename {bukkit-helper-118-2 => bukkit-helper/adapters/bukkit-helper-118-2}/src/main/java/org/dynmap/bukkit/helper/v118_2/BukkitVersionHelperSpigot118_2.java (100%) rename {bukkit-helper-118-2 => bukkit-helper/adapters/bukkit-helper-118-2}/src/main/java/org/dynmap/bukkit/helper/v118_2/MapChunkCache118_2.java (100%) rename {bukkit-helper-118-2 => bukkit-helper/adapters/bukkit-helper-118-2}/src/main/java/org/dynmap/bukkit/helper/v118_2/NBT.java (100%) rename {bukkit-helper-118 => bukkit-helper/adapters/bukkit-helper-118}/.gitignore (100%) rename {bukkit-helper-118 => bukkit-helper/adapters/bukkit-helper-118}/build.gradle (100%) rename {bukkit-helper-118 => bukkit-helper/adapters/bukkit-helper-118}/src/main/java/org/dynmap/bukkit/helper/v118/BukkitVersionHelperSpigot118.java (100%) rename {bukkit-helper-118 => bukkit-helper/adapters/bukkit-helper-118}/src/main/java/org/dynmap/bukkit/helper/v118/MapChunkCache118.java (100%) rename {bukkit-helper-118 => bukkit-helper/adapters/bukkit-helper-118}/src/main/java/org/dynmap/bukkit/helper/v118/NBT.java (100%) rename {bukkit-helper-119-3 => bukkit-helper/adapters/bukkit-helper-119-3}/.gitignore (100%) rename {bukkit-helper-119-3 => bukkit-helper/adapters/bukkit-helper-119-3}/build.gradle (100%) rename {bukkit-helper-119-3 => bukkit-helper/adapters/bukkit-helper-119-3}/src/main/java/org/dynmap/bukkit/helper/v119_3/AsyncChunkProvider119_3.java (100%) rename {bukkit-helper-119-3 => bukkit-helper/adapters/bukkit-helper-119-3}/src/main/java/org/dynmap/bukkit/helper/v119_3/BukkitVersionHelperSpigot119_3.java (100%) rename {bukkit-helper-119-3 => bukkit-helper/adapters/bukkit-helper-119-3}/src/main/java/org/dynmap/bukkit/helper/v119_3/MapChunkCache119_3.java (100%) rename {bukkit-helper-119-3 => bukkit-helper/adapters/bukkit-helper-119-3}/src/main/java/org/dynmap/bukkit/helper/v119_3/NBT.java (100%) rename {bukkit-helper-119-4 => bukkit-helper/adapters/bukkit-helper-119-4}/.gitignore (100%) rename {bukkit-helper-119-4 => bukkit-helper/adapters/bukkit-helper-119-4}/build.gradle (100%) rename {bukkit-helper-119-4 => bukkit-helper/adapters/bukkit-helper-119-4}/src/main/java/org/dynmap/bukkit/helper/v119_4/AsyncChunkProvider119_4.java (100%) rename {bukkit-helper-119-4 => bukkit-helper/adapters/bukkit-helper-119-4}/src/main/java/org/dynmap/bukkit/helper/v119_4/BukkitVersionHelperSpigot119_4.java (100%) rename {bukkit-helper-119-4 => bukkit-helper/adapters/bukkit-helper-119-4}/src/main/java/org/dynmap/bukkit/helper/v119_4/MapChunkCache119_4.java (100%) rename {bukkit-helper-119-4 => bukkit-helper/adapters/bukkit-helper-119-4}/src/main/java/org/dynmap/bukkit/helper/v119_4/NBT.java (100%) rename {bukkit-helper-119 => bukkit-helper/adapters/bukkit-helper-119}/.gitignore (100%) rename {bukkit-helper-119 => bukkit-helper/adapters/bukkit-helper-119}/bin/.gitignore (100%) rename {bukkit-helper-119 => bukkit-helper/adapters/bukkit-helper-119}/build.gradle (100%) rename {bukkit-helper-119 => bukkit-helper/adapters/bukkit-helper-119}/src/main/java/org/dynmap/bukkit/helper/v119/AsyncChunkProvider119.java (100%) rename {bukkit-helper-119 => bukkit-helper/adapters/bukkit-helper-119}/src/main/java/org/dynmap/bukkit/helper/v119/BukkitVersionHelperSpigot119.java (100%) rename {bukkit-helper-119 => bukkit-helper/adapters/bukkit-helper-119}/src/main/java/org/dynmap/bukkit/helper/v119/MapChunkCache119.java (100%) rename {bukkit-helper-119 => bukkit-helper/adapters/bukkit-helper-119}/src/main/java/org/dynmap/bukkit/helper/v119/NBT.java (100%) rename {bukkit-helper-120-2 => bukkit-helper/adapters/bukkit-helper-120-2}/.gitignore (100%) rename {bukkit-helper-120-2 => bukkit-helper/adapters/bukkit-helper-120-2}/bin/.gitignore (100%) rename {bukkit-helper-120-2 => bukkit-helper/adapters/bukkit-helper-120-2}/build.gradle (100%) rename {bukkit-helper-120-2 => bukkit-helper/adapters/bukkit-helper-120-2}/src/main/java/org/dynmap/bukkit/helper/v120_2/AsyncChunkProvider120_2.java (100%) rename {bukkit-helper-120-2 => bukkit-helper/adapters/bukkit-helper-120-2}/src/main/java/org/dynmap/bukkit/helper/v120_2/BukkitVersionHelperSpigot120_2.java (100%) rename {bukkit-helper-120-2 => bukkit-helper/adapters/bukkit-helper-120-2}/src/main/java/org/dynmap/bukkit/helper/v120_2/MapChunkCache120_2.java (100%) rename {bukkit-helper-120-2 => bukkit-helper/adapters/bukkit-helper-120-2}/src/main/java/org/dynmap/bukkit/helper/v120_2/NBT.java (100%) rename {bukkit-helper-120-4 => bukkit-helper/adapters/bukkit-helper-120-4}/.gitignore (100%) rename {bukkit-helper-120-4 => bukkit-helper/adapters/bukkit-helper-120-4}/build.gradle (100%) rename {bukkit-helper-120-4 => bukkit-helper/adapters/bukkit-helper-120-4}/src/main/java/org/dynmap/bukkit/helper/v120_4/AsyncChunkProvider120_4.java (100%) rename {bukkit-helper-120-4 => bukkit-helper/adapters/bukkit-helper-120-4}/src/main/java/org/dynmap/bukkit/helper/v120_4/BukkitVersionHelperSpigot120_4.java (100%) rename {bukkit-helper-120-4 => bukkit-helper/adapters/bukkit-helper-120-4}/src/main/java/org/dynmap/bukkit/helper/v120_4/MapChunkCache120_4.java (100%) rename {bukkit-helper-120-4 => bukkit-helper/adapters/bukkit-helper-120-4}/src/main/java/org/dynmap/bukkit/helper/v120_4/NBT.java (100%) rename {bukkit-helper-120-5 => bukkit-helper/adapters/bukkit-helper-120-5}/.gitignore (100%) rename {bukkit-helper-120-5 => bukkit-helper/adapters/bukkit-helper-120-5}/build.gradle (100%) rename {bukkit-helper-120-5 => bukkit-helper/adapters/bukkit-helper-120-5}/src/main/java/org/dynmap/bukkit/helper/v120_5/AsyncChunkProvider120_5.java (100%) rename {bukkit-helper-120-5 => bukkit-helper/adapters/bukkit-helper-120-5}/src/main/java/org/dynmap/bukkit/helper/v120_5/BukkitVersionHelperSpigot120_5.java (100%) rename {bukkit-helper-120-5 => bukkit-helper/adapters/bukkit-helper-120-5}/src/main/java/org/dynmap/bukkit/helper/v120_5/MapChunkCache120_5.java (100%) rename {bukkit-helper-120-5 => bukkit-helper/adapters/bukkit-helper-120-5}/src/main/java/org/dynmap/bukkit/helper/v120_5/NBT.java (100%) rename {bukkit-helper-120 => bukkit-helper/adapters/bukkit-helper-120}/.gitignore (100%) rename {bukkit-helper-120 => bukkit-helper/adapters/bukkit-helper-120}/build.gradle (100%) rename {bukkit-helper-120 => bukkit-helper/adapters/bukkit-helper-120}/src/main/java/org/dynmap/bukkit/helper/v120/AsyncChunkProvider120.java (100%) rename {bukkit-helper-120 => bukkit-helper/adapters/bukkit-helper-120}/src/main/java/org/dynmap/bukkit/helper/v120/BukkitVersionHelperSpigot120.java (100%) rename {bukkit-helper-120 => bukkit-helper/adapters/bukkit-helper-120}/src/main/java/org/dynmap/bukkit/helper/v120/MapChunkCache120.java (100%) rename {bukkit-helper-120 => bukkit-helper/adapters/bukkit-helper-120}/src/main/java/org/dynmap/bukkit/helper/v120/NBT.java (100%) rename {bukkit-helper-121 => bukkit-helper/adapters/bukkit-helper-121}/build.gradle (93%) rename {bukkit-helper-121 => bukkit-helper/adapters/bukkit-helper-121}/src/main/java/org/dynmap/bukkit/helper/v121/AsyncChunkProvider121.java (100%) rename {bukkit-helper-121 => bukkit-helper/adapters/bukkit-helper-121}/src/main/java/org/dynmap/bukkit/helper/v121/BukkitVersionHelperSpigot121.java (100%) rename {bukkit-helper-121 => bukkit-helper/adapters/bukkit-helper-121}/src/main/java/org/dynmap/bukkit/helper/v121/MapChunkCache121.java (100%) rename {bukkit-helper-121 => bukkit-helper/adapters/bukkit-helper-121}/src/main/java/org/dynmap/bukkit/helper/v121/NBT.java (100%) delete mode 100644 bukkit-helper/build.gradle create mode 100644 bukkit-helper/build.gradle.kts delete mode 100644 dynmap-api/build.gradle create mode 100644 dynmap-api/build.gradle.kts delete mode 100644 settings.gradle create mode 100644 settings.gradle.kts delete mode 100644 spigot/build.gradle create mode 100644 spigot/build.gradle.kts diff --git a/.gitignore b/.gitignore index 0eeb19b49..fa5fb7048 100644 --- a/.gitignore +++ b/.gitignore @@ -14,7 +14,7 @@ # we use maven! /build.xml -# maven +# gradle out dir /target # vim @@ -22,6 +22,7 @@ # various other potential build files /build +**/build/ /bin /dist /manifest.mf @@ -33,6 +34,7 @@ *.log /.gradle +**/.gradle /fabric-1.16.1_client.launch /fabric-1.16.1_server.launch /fabric-1.16.2_client.launch diff --git a/DynmapCore/build.gradle b/DynmapCore/build.gradle deleted file mode 100644 index 9fa007713..000000000 --- a/DynmapCore/build.gradle +++ /dev/null @@ -1,88 +0,0 @@ -description = "DynmapCore" - -apply plugin: 'eclipse' - -eclipse { - project { - name = "Dynmap(DynmapCore)" - } -} - -sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly. - -dependencies { - implementation project(':DynmapCoreAPI') - implementation 'javax.servlet:javax.servlet-api:3.1' - implementation'org.eclipse.jetty:jetty-server:9.4.26.v20200117' - implementation 'org.eclipse.jetty:jetty-servlet:9.4.26.v20200117' - implementation 'com.googlecode.json-simple:json-simple:1.1.1' - implementation 'org.yaml:snakeyaml:1.23' // DON'T UPDATE - NEWER ONE TRIPS ON WINDOWS ENCODED FILES - implementation 'com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:20180219.1' - implementation 'org.postgresql:postgresql:42.2.18' - implementation 'io.github.linktosriram.s3lite:core:0.0.2-SNAPSHOT' - implementation 'io.github.linktosriram.s3lite:api:0.0.2-SNAPSHOT' - implementation 'io.github.linktosriram.s3lite:http-client-url-connection:0.0.2-SNAPSHOT' - implementation 'io.github.linktosriram.s3lite:http-client-spi:0.0.2-SNAPSHOT' - implementation 'io.github.linktosriram.s3lite:util:0.0.2-SNAPSHOT' - implementation 'jakarta.xml.bind:jakarta.xml.bind-api:3.0.1' - implementation 'com.sun.xml.bind:jaxb-impl:3.0.0' -} - -processResources { - // replace stuff in mcmod.info, nothing else - filesMatching([ - 'core.yml', - 'lightings.txt', - 'perspectives.txt', - 'shaders.txt', - 'extracted/web/version.js', - 'extracted/web/index.html', - 'extracted/web/login.html', - ]) { - // replace version and mcversion - expand( - buildnumber: project.parent.ext.globals.buildNumber, - version: project.version - ) - } -} - -jar { - archiveClassifier = 'unshaded' -} - -shadowJar { - dependencies { - include(dependency('com.googlecode.json-simple:json-simple:')) - include(dependency('org.yaml:snakeyaml:')) - include(dependency('com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:')) - include(dependency('javax.servlet::')) - include(dependency('org.eclipse.jetty::')) - include(dependency('org.eclipse.jetty.orbit:javax.servlet:')) - include(dependency('org.postgresql:postgresql:')) - include(dependency('io.github.linktosriram.s3lite:core:')) - include(dependency('io.github.linktosriram.s3lite:api:')) - include(dependency('io.github.linktosriram.s3lite:http-client-url-connection:')) - include(dependency('io.github.linktosriram.s3lite:http-client-spi:')) - include(dependency('io.github.linktosriram.s3lite:util:')) - include(dependency('jakarta.xml.bind::')) - include(dependency('com.sun.xml.bind::')) - include(dependency(':DynmapCoreAPI')) - exclude("META-INF/maven/**") - exclude("META-INF/services/**") - } - relocate('org.json.simple', 'org.dynmap.json.simple') - relocate('org.yaml.snakeyaml', 'org.dynmap.snakeyaml') - relocate('org.eclipse.jetty', 'org.dynmap.jetty') - relocate('org.owasp.html', 'org.dynmap.org.owasp.html') - relocate('javax.servlet', 'org.dynmap.javax.servlet' ) - relocate('org.postgresql', 'org.dynmap.org.postgresql') - relocate('io.github.linktosriram.s3lite', 'org.dynmap.s3lite') - - destinationDirectory = file '../target' - archiveClassifier = '' -} - -artifacts { - archives shadowJar -} diff --git a/DynmapCore/build.gradle.kts b/DynmapCore/build.gradle.kts new file mode 100644 index 000000000..76d902466 --- /dev/null +++ b/DynmapCore/build.gradle.kts @@ -0,0 +1,85 @@ +import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar + +plugins { + eclipse +} + +eclipse { + project { + name = "Dynmap(DynmapCore)" + } +} + +description = "DynmapCore" + +tasks.named("compileJava") { + sourceCompatibility = "1.8" + targetCompatibility = "1.8" +} + +dependencies { + implementation(project(":DynmapCoreAPI")) + implementation("javax.servlet:javax.servlet-api:3.1") + implementation("org.eclipse.jetty:jetty-server:9.4.26.v20200117") + implementation("org.eclipse.jetty:jetty-servlet:9.4.26.v20200117") + implementation("com.googlecode.json-simple:json-simple:1.1.1") + implementation("org.yaml:snakeyaml:1.23") // DON'T UPDATE - NEWER ONE TRIPS ON WINDOWS ENCODED FILES + implementation("com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:20180219.1") + implementation("org.postgresql:postgresql:42.2.18") + implementation("io.github.linktosriram.s3lite:core:0.0.2-SNAPSHOT") + implementation("io.github.linktosriram.s3lite:api:0.0.2-SNAPSHOT") + implementation("io.github.linktosriram.s3lite:http-client-url-connection:0.0.2-SNAPSHOT") + implementation("io.github.linktosriram.s3lite:http-client-spi:0.0.2-SNAPSHOT") + implementation("io.github.linktosriram.s3lite:util:0.0.2-SNAPSHOT") + implementation("jakarta.xml.bind:jakarta.xml.bind-api:3.0.1") + implementation("com.sun.xml.bind:jaxb-impl:3.0.0") +} + +tasks.named("processResources") { + filesMatching(listOf("core.yml", + "lightings.txt", + "perspectives.txt", + "shaders.txt", + "extracted/web/version.js", + "extracted/web/index.html", + "extracted/web/login.html")) { + expand("buildNumber" to project.parent!!.ext["buildNumber"]) + expand("version" to project.version) + } +} + +tasks.named("shadowJar") { + dependencies { + include(dependency("com.googlecode.json-simple:json-simple:")) + include(dependency("org.yaml:snakeyaml:")) + include(dependency("com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:")) + include(dependency("javax.servlet::")) + include(dependency("org.eclipse.jetty::")) + include(dependency("org.eclipse.jetty.orbit:javax.servlet:")) + include(dependency("org.postgresql:postgresql:")) + include(dependency("io.github.linktosriram.s3lite:core:")) + include(dependency("io.github.linktosriram.s3lite:api:")) + include(dependency("io.github.linktosriram.s3lite:http-client-url-connection:")) + include(dependency("io.github.linktosriram.s3lite:http-client-spi:")) + include(dependency("io.github.linktosriram.s3lite:util:")) + include(dependency("jakarta.xml.bind::")) + include(dependency("com.sun.xml.bind::")) + include(dependency(":DynmapCoreAPI")) + exclude("META-INF/maven/**") + exclude("META-INF/services/**") + } + relocate("org.json.simple", "org.dynmap.json.simple") + relocate("org.yaml.snakeyaml", "org.dynmap.snakeyaml") + relocate("org.eclipse.jetty", "org.dynmap.jetty") + relocate("org.owasp.html", "org.dynmap.org.owasp.html") + relocate("javax.servlet", "org.dynmap.javax.servlet" ) + relocate("org.postgresql", "org.dynmap.org.postgresql") + relocate("io.github.linktosriram.s3lite", "org.dynmap.s3lite") + + destinationDirectory.set(File("../target")) + archiveClassifier.set("") +} + +tasks.named("assemble").configure { + dependsOn("shadowJar") +} diff --git a/DynmapCoreAPI/build.gradle b/DynmapCoreAPI/build.gradle deleted file mode 100644 index 93f716856..000000000 --- a/DynmapCoreAPI/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ - -apply plugin: 'eclipse' - -eclipse { - project { - name = "Dynmap(DynmapCoreAPI)" - } -} -sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly. - -description = "DynmapCoreAPI" - -jar { - destinationDirectory = file '../target' -} - -artifacts { - archives jar -} - -publishing { - publications { - mavenJava(MavenPublication) { - from components.java - } - } -} diff --git a/DynmapCoreAPI/build.gradle.kts b/DynmapCoreAPI/build.gradle.kts new file mode 100644 index 000000000..52c17c277 --- /dev/null +++ b/DynmapCoreAPI/build.gradle.kts @@ -0,0 +1,26 @@ +plugins { + eclipse +} + +eclipse { + project { + name = "Dynmap(DynmapCoreAPI)" + } +} + +tasks.named("compileJava") { + sourceCompatibility = "1.8" + targetCompatibility = "1.8" +} + +description = "DynmapCoreAPI" + +tasks.withType() { + destinationDirectory.set(File("../target")) +} + +configure { + publications.withType() { + from(components["java"]) + } +} diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 99876bf05..000000000 --- a/build.gradle +++ /dev/null @@ -1,72 +0,0 @@ -// Workaround for Shadow not supporting Java 19 classes. -// Remove this once Shadow updates. -// See: https://github.com/johnrengelman/shadow/pull/770 -// See: https://discord.com/channels/722722769950998560/793019909055578113/978939925061857315 -buildscript { - configurations.all { - resolutionStrategy { - force("org.ow2.asm:asm:9.5") - force("org.ow2.asm:asm-commons:9.5") - } - } -} - -plugins { - //id "com.github.johnrengelman.shadow" version "7.1.0" - id "io.github.goooler.shadow" version "8.1.7" - id 'java' - id 'maven-publish' -} - -apply plugin: 'eclipse' - -eclipse { - project { - name = "Dynmap" - } -} - -allprojects { - repositories { - mavenLocal() - maven { url 'https://libraries.minecraft.net/' } - maven { url "https://oss.sonatype.org/content/repositories/releases" } - maven { url "https://oss.sonatype.org/content/repositories/snapshots" } - maven { url "https://repo.mikeprimm.com" } - maven { url "https://repo.maven.apache.org/maven2" } - maven { url "https://hub.spigotmc.org/nexus/content/repositories/snapshots/" } - maven { url "https://repo.codemc.org/repository/maven-public/" } - } - - apply plugin: 'java' - - group = 'us.dynmap' - version = '3.7-beta-7' - -} - -class Globals { - String buildNumber = System.getenv().BUILD_NUMBER ?: "Dev" -} -ext { - globals = new Globals() -} - -subprojects { - apply plugin: "io.github.goooler.shadow" - apply plugin: 'java' - apply plugin: 'maven-publish' - - sourceCompatibility = 1.8 - targetCompatibility = 1.8 - tasks.withType(JavaCompile) { - options.encoding = 'UTF-8' - } -} - -clean { - delete "target" -} - -task setupCIWorkspace { -} diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 000000000..a1c492496 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,55 @@ +plugins { + id("com.gradleup.shadow") version "8.3.5" + id("java") + id("maven-publish") + id("io.papermc.paperweight.userdev") version "1.7.5" apply false + eclipse +} + +eclipse { + project { + name = "Dynmap" + } +} + +allprojects { + repositories { + mavenLocal() + mavenCentral() + maven { url = uri("https://libraries.minecraft.net/") } + maven { url = uri("https://oss.sonatype.org/content/repositories/releases") } + maven { url = uri("https://oss.sonatype.org/content/repositories/snapshots") } + maven { url = uri("https://repo.mikeprimm.com") } + maven { url = uri("https://repo.maven.apache.org/maven2") } + maven { url = uri("https://papermc.io/repo/repository/maven-public/") } + maven { url = uri("https://repo.codemc.org/repository/maven-public/") } + } + + apply(plugin = "java") + + group = "us.dynmap" + version = "3.8-beta-1" +} + +ext["buildNumber"] = System.getenv("BUILD_NUMBER") ?: "Dev" + +subprojects { + apply(plugin = "com.gradleup.shadow") + apply(plugin = "java") + apply(plugin = "maven-publish") + + java { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + + tasks.withType { + options.encoding = "UTF-8" + } +} + +tasks.named("clean") { + delete("target") +} + +tasks.register("setupCIWorkspace") \ No newline at end of file diff --git a/bukkit-helper-121/.gitignore b/bukkit-helper-121/.gitignore deleted file mode 100644 index 84c048a73..000000000 --- a/bukkit-helper-121/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build/ diff --git a/bukkit-helper-113-2/.gitignore b/bukkit-helper/adapters/bukkit-helper-113-2/.gitignore similarity index 100% rename from bukkit-helper-113-2/.gitignore rename to bukkit-helper/adapters/bukkit-helper-113-2/.gitignore diff --git a/bukkit-helper-113-2/build.gradle b/bukkit-helper/adapters/bukkit-helper-113-2/build.gradle similarity index 100% rename from bukkit-helper-113-2/build.gradle rename to bukkit-helper/adapters/bukkit-helper-113-2/build.gradle diff --git a/bukkit-helper-113-2/src/main/java/org/dynmap/bukkit/helper/v113_2/BukkitVersionHelperSpigot113_2.java b/bukkit-helper/adapters/bukkit-helper-113-2/src/main/java/org/dynmap/bukkit/helper/v113_2/BukkitVersionHelperSpigot113_2.java similarity index 100% rename from bukkit-helper-113-2/src/main/java/org/dynmap/bukkit/helper/v113_2/BukkitVersionHelperSpigot113_2.java rename to bukkit-helper/adapters/bukkit-helper-113-2/src/main/java/org/dynmap/bukkit/helper/v113_2/BukkitVersionHelperSpigot113_2.java diff --git a/bukkit-helper-113-2/src/main/java/org/dynmap/bukkit/helper/v113_2/MapChunkCache113_2.java b/bukkit-helper/adapters/bukkit-helper-113-2/src/main/java/org/dynmap/bukkit/helper/v113_2/MapChunkCache113_2.java similarity index 100% rename from bukkit-helper-113-2/src/main/java/org/dynmap/bukkit/helper/v113_2/MapChunkCache113_2.java rename to bukkit-helper/adapters/bukkit-helper-113-2/src/main/java/org/dynmap/bukkit/helper/v113_2/MapChunkCache113_2.java diff --git a/bukkit-helper-114-1/.gitignore b/bukkit-helper/adapters/bukkit-helper-114-1/.gitignore similarity index 100% rename from bukkit-helper-114-1/.gitignore rename to bukkit-helper/adapters/bukkit-helper-114-1/.gitignore diff --git a/bukkit-helper-114-1/build.gradle b/bukkit-helper/adapters/bukkit-helper-114-1/build.gradle similarity index 100% rename from bukkit-helper-114-1/build.gradle rename to bukkit-helper/adapters/bukkit-helper-114-1/build.gradle diff --git a/bukkit-helper-114-1/src/main/java/org/dynmap/bukkit/helper/v114_1/BukkitVersionHelperSpigot114_1.java b/bukkit-helper/adapters/bukkit-helper-114-1/src/main/java/org/dynmap/bukkit/helper/v114_1/BukkitVersionHelperSpigot114_1.java similarity index 100% rename from bukkit-helper-114-1/src/main/java/org/dynmap/bukkit/helper/v114_1/BukkitVersionHelperSpigot114_1.java rename to bukkit-helper/adapters/bukkit-helper-114-1/src/main/java/org/dynmap/bukkit/helper/v114_1/BukkitVersionHelperSpigot114_1.java diff --git a/bukkit-helper-114-1/src/main/java/org/dynmap/bukkit/helper/v114_1/MapChunkCache114_1.java b/bukkit-helper/adapters/bukkit-helper-114-1/src/main/java/org/dynmap/bukkit/helper/v114_1/MapChunkCache114_1.java similarity index 100% rename from bukkit-helper-114-1/src/main/java/org/dynmap/bukkit/helper/v114_1/MapChunkCache114_1.java rename to bukkit-helper/adapters/bukkit-helper-114-1/src/main/java/org/dynmap/bukkit/helper/v114_1/MapChunkCache114_1.java diff --git a/bukkit-helper-114-1/src/main/java/org/dynmap/bukkit/helper/v114_1/NBT.java b/bukkit-helper/adapters/bukkit-helper-114-1/src/main/java/org/dynmap/bukkit/helper/v114_1/NBT.java similarity index 100% rename from bukkit-helper-114-1/src/main/java/org/dynmap/bukkit/helper/v114_1/NBT.java rename to bukkit-helper/adapters/bukkit-helper-114-1/src/main/java/org/dynmap/bukkit/helper/v114_1/NBT.java diff --git a/bukkit-helper-115/.gitignore b/bukkit-helper/adapters/bukkit-helper-115/.gitignore similarity index 100% rename from bukkit-helper-115/.gitignore rename to bukkit-helper/adapters/bukkit-helper-115/.gitignore diff --git a/bukkit-helper-115/build.gradle b/bukkit-helper/adapters/bukkit-helper-115/build.gradle similarity index 100% rename from bukkit-helper-115/build.gradle rename to bukkit-helper/adapters/bukkit-helper-115/build.gradle diff --git a/bukkit-helper-115/src/main/java/org/dynmap/bukkit/helper/v115/BukkitVersionHelperSpigot115.java b/bukkit-helper/adapters/bukkit-helper-115/src/main/java/org/dynmap/bukkit/helper/v115/BukkitVersionHelperSpigot115.java similarity index 100% rename from bukkit-helper-115/src/main/java/org/dynmap/bukkit/helper/v115/BukkitVersionHelperSpigot115.java rename to bukkit-helper/adapters/bukkit-helper-115/src/main/java/org/dynmap/bukkit/helper/v115/BukkitVersionHelperSpigot115.java diff --git a/bukkit-helper-115/src/main/java/org/dynmap/bukkit/helper/v115/MapChunkCache115.java b/bukkit-helper/adapters/bukkit-helper-115/src/main/java/org/dynmap/bukkit/helper/v115/MapChunkCache115.java similarity index 100% rename from bukkit-helper-115/src/main/java/org/dynmap/bukkit/helper/v115/MapChunkCache115.java rename to bukkit-helper/adapters/bukkit-helper-115/src/main/java/org/dynmap/bukkit/helper/v115/MapChunkCache115.java diff --git a/bukkit-helper-115/src/main/java/org/dynmap/bukkit/helper/v115/NBT.java b/bukkit-helper/adapters/bukkit-helper-115/src/main/java/org/dynmap/bukkit/helper/v115/NBT.java similarity index 100% rename from bukkit-helper-115/src/main/java/org/dynmap/bukkit/helper/v115/NBT.java rename to bukkit-helper/adapters/bukkit-helper-115/src/main/java/org/dynmap/bukkit/helper/v115/NBT.java diff --git a/bukkit-helper-116-2/.gitignore b/bukkit-helper/adapters/bukkit-helper-116-2/.gitignore similarity index 100% rename from bukkit-helper-116-2/.gitignore rename to bukkit-helper/adapters/bukkit-helper-116-2/.gitignore diff --git a/bukkit-helper-116-2/build.gradle b/bukkit-helper/adapters/bukkit-helper-116-2/build.gradle similarity index 100% rename from bukkit-helper-116-2/build.gradle rename to bukkit-helper/adapters/bukkit-helper-116-2/build.gradle diff --git a/bukkit-helper-116-2/src/main/java/org/dynmap/bukkit/helper/v116_2/BukkitVersionHelperSpigot116_2.java b/bukkit-helper/adapters/bukkit-helper-116-2/src/main/java/org/dynmap/bukkit/helper/v116_2/BukkitVersionHelperSpigot116_2.java similarity index 100% rename from bukkit-helper-116-2/src/main/java/org/dynmap/bukkit/helper/v116_2/BukkitVersionHelperSpigot116_2.java rename to bukkit-helper/adapters/bukkit-helper-116-2/src/main/java/org/dynmap/bukkit/helper/v116_2/BukkitVersionHelperSpigot116_2.java diff --git a/bukkit-helper-116-2/src/main/java/org/dynmap/bukkit/helper/v116_2/MapChunkCache116_2.java b/bukkit-helper/adapters/bukkit-helper-116-2/src/main/java/org/dynmap/bukkit/helper/v116_2/MapChunkCache116_2.java similarity index 100% rename from bukkit-helper-116-2/src/main/java/org/dynmap/bukkit/helper/v116_2/MapChunkCache116_2.java rename to bukkit-helper/adapters/bukkit-helper-116-2/src/main/java/org/dynmap/bukkit/helper/v116_2/MapChunkCache116_2.java diff --git a/bukkit-helper-116-2/src/main/java/org/dynmap/bukkit/helper/v116_2/NBT.java b/bukkit-helper/adapters/bukkit-helper-116-2/src/main/java/org/dynmap/bukkit/helper/v116_2/NBT.java similarity index 100% rename from bukkit-helper-116-2/src/main/java/org/dynmap/bukkit/helper/v116_2/NBT.java rename to bukkit-helper/adapters/bukkit-helper-116-2/src/main/java/org/dynmap/bukkit/helper/v116_2/NBT.java diff --git a/bukkit-helper-116-3/.gitignore b/bukkit-helper/adapters/bukkit-helper-116-3/.gitignore similarity index 100% rename from bukkit-helper-116-3/.gitignore rename to bukkit-helper/adapters/bukkit-helper-116-3/.gitignore diff --git a/bukkit-helper-116-3/build.gradle b/bukkit-helper/adapters/bukkit-helper-116-3/build.gradle similarity index 100% rename from bukkit-helper-116-3/build.gradle rename to bukkit-helper/adapters/bukkit-helper-116-3/build.gradle diff --git a/bukkit-helper-116-3/src/main/java/org/dynmap/bukkit/helper/v116_3/BukkitVersionHelperSpigot116_3.java b/bukkit-helper/adapters/bukkit-helper-116-3/src/main/java/org/dynmap/bukkit/helper/v116_3/BukkitVersionHelperSpigot116_3.java similarity index 100% rename from bukkit-helper-116-3/src/main/java/org/dynmap/bukkit/helper/v116_3/BukkitVersionHelperSpigot116_3.java rename to bukkit-helper/adapters/bukkit-helper-116-3/src/main/java/org/dynmap/bukkit/helper/v116_3/BukkitVersionHelperSpigot116_3.java diff --git a/bukkit-helper-116-3/src/main/java/org/dynmap/bukkit/helper/v116_3/MapChunkCache116_3.java b/bukkit-helper/adapters/bukkit-helper-116-3/src/main/java/org/dynmap/bukkit/helper/v116_3/MapChunkCache116_3.java similarity index 100% rename from bukkit-helper-116-3/src/main/java/org/dynmap/bukkit/helper/v116_3/MapChunkCache116_3.java rename to bukkit-helper/adapters/bukkit-helper-116-3/src/main/java/org/dynmap/bukkit/helper/v116_3/MapChunkCache116_3.java diff --git a/bukkit-helper-116-3/src/main/java/org/dynmap/bukkit/helper/v116_3/NBT.java b/bukkit-helper/adapters/bukkit-helper-116-3/src/main/java/org/dynmap/bukkit/helper/v116_3/NBT.java similarity index 100% rename from bukkit-helper-116-3/src/main/java/org/dynmap/bukkit/helper/v116_3/NBT.java rename to bukkit-helper/adapters/bukkit-helper-116-3/src/main/java/org/dynmap/bukkit/helper/v116_3/NBT.java diff --git a/bukkit-helper-116-4/.gitignore b/bukkit-helper/adapters/bukkit-helper-116-4/.gitignore similarity index 100% rename from bukkit-helper-116-4/.gitignore rename to bukkit-helper/adapters/bukkit-helper-116-4/.gitignore diff --git a/bukkit-helper-116-4/build.gradle b/bukkit-helper/adapters/bukkit-helper-116-4/build.gradle similarity index 100% rename from bukkit-helper-116-4/build.gradle rename to bukkit-helper/adapters/bukkit-helper-116-4/build.gradle diff --git a/bukkit-helper-116-4/src/main/java/org/dynmap/bukkit/helper/v116_4/BukkitVersionHelperSpigot116_4.java b/bukkit-helper/adapters/bukkit-helper-116-4/src/main/java/org/dynmap/bukkit/helper/v116_4/BukkitVersionHelperSpigot116_4.java similarity index 100% rename from bukkit-helper-116-4/src/main/java/org/dynmap/bukkit/helper/v116_4/BukkitVersionHelperSpigot116_4.java rename to bukkit-helper/adapters/bukkit-helper-116-4/src/main/java/org/dynmap/bukkit/helper/v116_4/BukkitVersionHelperSpigot116_4.java diff --git a/bukkit-helper-116-4/src/main/java/org/dynmap/bukkit/helper/v116_4/MapChunkCache116_4.java b/bukkit-helper/adapters/bukkit-helper-116-4/src/main/java/org/dynmap/bukkit/helper/v116_4/MapChunkCache116_4.java similarity index 100% rename from bukkit-helper-116-4/src/main/java/org/dynmap/bukkit/helper/v116_4/MapChunkCache116_4.java rename to bukkit-helper/adapters/bukkit-helper-116-4/src/main/java/org/dynmap/bukkit/helper/v116_4/MapChunkCache116_4.java diff --git a/bukkit-helper-116-4/src/main/java/org/dynmap/bukkit/helper/v116_4/NBT.java b/bukkit-helper/adapters/bukkit-helper-116-4/src/main/java/org/dynmap/bukkit/helper/v116_4/NBT.java similarity index 100% rename from bukkit-helper-116-4/src/main/java/org/dynmap/bukkit/helper/v116_4/NBT.java rename to bukkit-helper/adapters/bukkit-helper-116-4/src/main/java/org/dynmap/bukkit/helper/v116_4/NBT.java diff --git a/bukkit-helper-116/.gitignore b/bukkit-helper/adapters/bukkit-helper-116/.gitignore similarity index 100% rename from bukkit-helper-116/.gitignore rename to bukkit-helper/adapters/bukkit-helper-116/.gitignore diff --git a/bukkit-helper-116/build.gradle b/bukkit-helper/adapters/bukkit-helper-116/build.gradle similarity index 100% rename from bukkit-helper-116/build.gradle rename to bukkit-helper/adapters/bukkit-helper-116/build.gradle diff --git a/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/BukkitVersionHelperSpigot116.java b/bukkit-helper/adapters/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/BukkitVersionHelperSpigot116.java similarity index 100% rename from bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/BukkitVersionHelperSpigot116.java rename to bukkit-helper/adapters/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/BukkitVersionHelperSpigot116.java diff --git a/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/MapChunkCache116.java b/bukkit-helper/adapters/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/MapChunkCache116.java similarity index 100% rename from bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/MapChunkCache116.java rename to bukkit-helper/adapters/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/MapChunkCache116.java diff --git a/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/NBT.java b/bukkit-helper/adapters/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/NBT.java similarity index 100% rename from bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/NBT.java rename to bukkit-helper/adapters/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/NBT.java diff --git a/bukkit-helper-117/.gitignore b/bukkit-helper/adapters/bukkit-helper-117/.gitignore similarity index 100% rename from bukkit-helper-117/.gitignore rename to bukkit-helper/adapters/bukkit-helper-117/.gitignore diff --git a/bukkit-helper-117/build.gradle b/bukkit-helper/adapters/bukkit-helper-117/build.gradle similarity index 100% rename from bukkit-helper-117/build.gradle rename to bukkit-helper/adapters/bukkit-helper-117/build.gradle diff --git a/bukkit-helper-117/src/main/java/org/dynmap/bukkit/helper/v117/BukkitVersionHelperSpigot117.java b/bukkit-helper/adapters/bukkit-helper-117/src/main/java/org/dynmap/bukkit/helper/v117/BukkitVersionHelperSpigot117.java similarity index 100% rename from bukkit-helper-117/src/main/java/org/dynmap/bukkit/helper/v117/BukkitVersionHelperSpigot117.java rename to bukkit-helper/adapters/bukkit-helper-117/src/main/java/org/dynmap/bukkit/helper/v117/BukkitVersionHelperSpigot117.java diff --git a/bukkit-helper-117/src/main/java/org/dynmap/bukkit/helper/v117/MapChunkCache117.java b/bukkit-helper/adapters/bukkit-helper-117/src/main/java/org/dynmap/bukkit/helper/v117/MapChunkCache117.java similarity index 100% rename from bukkit-helper-117/src/main/java/org/dynmap/bukkit/helper/v117/MapChunkCache117.java rename to bukkit-helper/adapters/bukkit-helper-117/src/main/java/org/dynmap/bukkit/helper/v117/MapChunkCache117.java diff --git a/bukkit-helper-117/src/main/java/org/dynmap/bukkit/helper/v117/NBT.java b/bukkit-helper/adapters/bukkit-helper-117/src/main/java/org/dynmap/bukkit/helper/v117/NBT.java similarity index 100% rename from bukkit-helper-117/src/main/java/org/dynmap/bukkit/helper/v117/NBT.java rename to bukkit-helper/adapters/bukkit-helper-117/src/main/java/org/dynmap/bukkit/helper/v117/NBT.java diff --git a/bukkit-helper-118-2/.gitignore b/bukkit-helper/adapters/bukkit-helper-118-2/.gitignore similarity index 100% rename from bukkit-helper-118-2/.gitignore rename to bukkit-helper/adapters/bukkit-helper-118-2/.gitignore diff --git a/bukkit-helper-118-2/build.gradle b/bukkit-helper/adapters/bukkit-helper-118-2/build.gradle similarity index 100% rename from bukkit-helper-118-2/build.gradle rename to bukkit-helper/adapters/bukkit-helper-118-2/build.gradle diff --git a/bukkit-helper-118-2/src/main/java/org/dynmap/bukkit/helper/v118_2/AsyncChunkProvider118_2.java b/bukkit-helper/adapters/bukkit-helper-118-2/src/main/java/org/dynmap/bukkit/helper/v118_2/AsyncChunkProvider118_2.java similarity index 100% rename from bukkit-helper-118-2/src/main/java/org/dynmap/bukkit/helper/v118_2/AsyncChunkProvider118_2.java rename to bukkit-helper/adapters/bukkit-helper-118-2/src/main/java/org/dynmap/bukkit/helper/v118_2/AsyncChunkProvider118_2.java diff --git a/bukkit-helper-118-2/src/main/java/org/dynmap/bukkit/helper/v118_2/BukkitVersionHelperSpigot118_2.java b/bukkit-helper/adapters/bukkit-helper-118-2/src/main/java/org/dynmap/bukkit/helper/v118_2/BukkitVersionHelperSpigot118_2.java similarity index 100% rename from bukkit-helper-118-2/src/main/java/org/dynmap/bukkit/helper/v118_2/BukkitVersionHelperSpigot118_2.java rename to bukkit-helper/adapters/bukkit-helper-118-2/src/main/java/org/dynmap/bukkit/helper/v118_2/BukkitVersionHelperSpigot118_2.java diff --git a/bukkit-helper-118-2/src/main/java/org/dynmap/bukkit/helper/v118_2/MapChunkCache118_2.java b/bukkit-helper/adapters/bukkit-helper-118-2/src/main/java/org/dynmap/bukkit/helper/v118_2/MapChunkCache118_2.java similarity index 100% rename from bukkit-helper-118-2/src/main/java/org/dynmap/bukkit/helper/v118_2/MapChunkCache118_2.java rename to bukkit-helper/adapters/bukkit-helper-118-2/src/main/java/org/dynmap/bukkit/helper/v118_2/MapChunkCache118_2.java diff --git a/bukkit-helper-118-2/src/main/java/org/dynmap/bukkit/helper/v118_2/NBT.java b/bukkit-helper/adapters/bukkit-helper-118-2/src/main/java/org/dynmap/bukkit/helper/v118_2/NBT.java similarity index 100% rename from bukkit-helper-118-2/src/main/java/org/dynmap/bukkit/helper/v118_2/NBT.java rename to bukkit-helper/adapters/bukkit-helper-118-2/src/main/java/org/dynmap/bukkit/helper/v118_2/NBT.java diff --git a/bukkit-helper-118/.gitignore b/bukkit-helper/adapters/bukkit-helper-118/.gitignore similarity index 100% rename from bukkit-helper-118/.gitignore rename to bukkit-helper/adapters/bukkit-helper-118/.gitignore diff --git a/bukkit-helper-118/build.gradle b/bukkit-helper/adapters/bukkit-helper-118/build.gradle similarity index 100% rename from bukkit-helper-118/build.gradle rename to bukkit-helper/adapters/bukkit-helper-118/build.gradle diff --git a/bukkit-helper-118/src/main/java/org/dynmap/bukkit/helper/v118/BukkitVersionHelperSpigot118.java b/bukkit-helper/adapters/bukkit-helper-118/src/main/java/org/dynmap/bukkit/helper/v118/BukkitVersionHelperSpigot118.java similarity index 100% rename from bukkit-helper-118/src/main/java/org/dynmap/bukkit/helper/v118/BukkitVersionHelperSpigot118.java rename to bukkit-helper/adapters/bukkit-helper-118/src/main/java/org/dynmap/bukkit/helper/v118/BukkitVersionHelperSpigot118.java diff --git a/bukkit-helper-118/src/main/java/org/dynmap/bukkit/helper/v118/MapChunkCache118.java b/bukkit-helper/adapters/bukkit-helper-118/src/main/java/org/dynmap/bukkit/helper/v118/MapChunkCache118.java similarity index 100% rename from bukkit-helper-118/src/main/java/org/dynmap/bukkit/helper/v118/MapChunkCache118.java rename to bukkit-helper/adapters/bukkit-helper-118/src/main/java/org/dynmap/bukkit/helper/v118/MapChunkCache118.java diff --git a/bukkit-helper-118/src/main/java/org/dynmap/bukkit/helper/v118/NBT.java b/bukkit-helper/adapters/bukkit-helper-118/src/main/java/org/dynmap/bukkit/helper/v118/NBT.java similarity index 100% rename from bukkit-helper-118/src/main/java/org/dynmap/bukkit/helper/v118/NBT.java rename to bukkit-helper/adapters/bukkit-helper-118/src/main/java/org/dynmap/bukkit/helper/v118/NBT.java diff --git a/bukkit-helper-119-3/.gitignore b/bukkit-helper/adapters/bukkit-helper-119-3/.gitignore similarity index 100% rename from bukkit-helper-119-3/.gitignore rename to bukkit-helper/adapters/bukkit-helper-119-3/.gitignore diff --git a/bukkit-helper-119-3/build.gradle b/bukkit-helper/adapters/bukkit-helper-119-3/build.gradle similarity index 100% rename from bukkit-helper-119-3/build.gradle rename to bukkit-helper/adapters/bukkit-helper-119-3/build.gradle diff --git a/bukkit-helper-119-3/src/main/java/org/dynmap/bukkit/helper/v119_3/AsyncChunkProvider119_3.java b/bukkit-helper/adapters/bukkit-helper-119-3/src/main/java/org/dynmap/bukkit/helper/v119_3/AsyncChunkProvider119_3.java similarity index 100% rename from bukkit-helper-119-3/src/main/java/org/dynmap/bukkit/helper/v119_3/AsyncChunkProvider119_3.java rename to bukkit-helper/adapters/bukkit-helper-119-3/src/main/java/org/dynmap/bukkit/helper/v119_3/AsyncChunkProvider119_3.java diff --git a/bukkit-helper-119-3/src/main/java/org/dynmap/bukkit/helper/v119_3/BukkitVersionHelperSpigot119_3.java b/bukkit-helper/adapters/bukkit-helper-119-3/src/main/java/org/dynmap/bukkit/helper/v119_3/BukkitVersionHelperSpigot119_3.java similarity index 100% rename from bukkit-helper-119-3/src/main/java/org/dynmap/bukkit/helper/v119_3/BukkitVersionHelperSpigot119_3.java rename to bukkit-helper/adapters/bukkit-helper-119-3/src/main/java/org/dynmap/bukkit/helper/v119_3/BukkitVersionHelperSpigot119_3.java diff --git a/bukkit-helper-119-3/src/main/java/org/dynmap/bukkit/helper/v119_3/MapChunkCache119_3.java b/bukkit-helper/adapters/bukkit-helper-119-3/src/main/java/org/dynmap/bukkit/helper/v119_3/MapChunkCache119_3.java similarity index 100% rename from bukkit-helper-119-3/src/main/java/org/dynmap/bukkit/helper/v119_3/MapChunkCache119_3.java rename to bukkit-helper/adapters/bukkit-helper-119-3/src/main/java/org/dynmap/bukkit/helper/v119_3/MapChunkCache119_3.java diff --git a/bukkit-helper-119-3/src/main/java/org/dynmap/bukkit/helper/v119_3/NBT.java b/bukkit-helper/adapters/bukkit-helper-119-3/src/main/java/org/dynmap/bukkit/helper/v119_3/NBT.java similarity index 100% rename from bukkit-helper-119-3/src/main/java/org/dynmap/bukkit/helper/v119_3/NBT.java rename to bukkit-helper/adapters/bukkit-helper-119-3/src/main/java/org/dynmap/bukkit/helper/v119_3/NBT.java diff --git a/bukkit-helper-119-4/.gitignore b/bukkit-helper/adapters/bukkit-helper-119-4/.gitignore similarity index 100% rename from bukkit-helper-119-4/.gitignore rename to bukkit-helper/adapters/bukkit-helper-119-4/.gitignore diff --git a/bukkit-helper-119-4/build.gradle b/bukkit-helper/adapters/bukkit-helper-119-4/build.gradle similarity index 100% rename from bukkit-helper-119-4/build.gradle rename to bukkit-helper/adapters/bukkit-helper-119-4/build.gradle diff --git a/bukkit-helper-119-4/src/main/java/org/dynmap/bukkit/helper/v119_4/AsyncChunkProvider119_4.java b/bukkit-helper/adapters/bukkit-helper-119-4/src/main/java/org/dynmap/bukkit/helper/v119_4/AsyncChunkProvider119_4.java similarity index 100% rename from bukkit-helper-119-4/src/main/java/org/dynmap/bukkit/helper/v119_4/AsyncChunkProvider119_4.java rename to bukkit-helper/adapters/bukkit-helper-119-4/src/main/java/org/dynmap/bukkit/helper/v119_4/AsyncChunkProvider119_4.java diff --git a/bukkit-helper-119-4/src/main/java/org/dynmap/bukkit/helper/v119_4/BukkitVersionHelperSpigot119_4.java b/bukkit-helper/adapters/bukkit-helper-119-4/src/main/java/org/dynmap/bukkit/helper/v119_4/BukkitVersionHelperSpigot119_4.java similarity index 100% rename from bukkit-helper-119-4/src/main/java/org/dynmap/bukkit/helper/v119_4/BukkitVersionHelperSpigot119_4.java rename to bukkit-helper/adapters/bukkit-helper-119-4/src/main/java/org/dynmap/bukkit/helper/v119_4/BukkitVersionHelperSpigot119_4.java diff --git a/bukkit-helper-119-4/src/main/java/org/dynmap/bukkit/helper/v119_4/MapChunkCache119_4.java b/bukkit-helper/adapters/bukkit-helper-119-4/src/main/java/org/dynmap/bukkit/helper/v119_4/MapChunkCache119_4.java similarity index 100% rename from bukkit-helper-119-4/src/main/java/org/dynmap/bukkit/helper/v119_4/MapChunkCache119_4.java rename to bukkit-helper/adapters/bukkit-helper-119-4/src/main/java/org/dynmap/bukkit/helper/v119_4/MapChunkCache119_4.java diff --git a/bukkit-helper-119-4/src/main/java/org/dynmap/bukkit/helper/v119_4/NBT.java b/bukkit-helper/adapters/bukkit-helper-119-4/src/main/java/org/dynmap/bukkit/helper/v119_4/NBT.java similarity index 100% rename from bukkit-helper-119-4/src/main/java/org/dynmap/bukkit/helper/v119_4/NBT.java rename to bukkit-helper/adapters/bukkit-helper-119-4/src/main/java/org/dynmap/bukkit/helper/v119_4/NBT.java diff --git a/bukkit-helper-119/.gitignore b/bukkit-helper/adapters/bukkit-helper-119/.gitignore similarity index 100% rename from bukkit-helper-119/.gitignore rename to bukkit-helper/adapters/bukkit-helper-119/.gitignore diff --git a/bukkit-helper-119/bin/.gitignore b/bukkit-helper/adapters/bukkit-helper-119/bin/.gitignore similarity index 100% rename from bukkit-helper-119/bin/.gitignore rename to bukkit-helper/adapters/bukkit-helper-119/bin/.gitignore diff --git a/bukkit-helper-119/build.gradle b/bukkit-helper/adapters/bukkit-helper-119/build.gradle similarity index 100% rename from bukkit-helper-119/build.gradle rename to bukkit-helper/adapters/bukkit-helper-119/build.gradle diff --git a/bukkit-helper-119/src/main/java/org/dynmap/bukkit/helper/v119/AsyncChunkProvider119.java b/bukkit-helper/adapters/bukkit-helper-119/src/main/java/org/dynmap/bukkit/helper/v119/AsyncChunkProvider119.java similarity index 100% rename from bukkit-helper-119/src/main/java/org/dynmap/bukkit/helper/v119/AsyncChunkProvider119.java rename to bukkit-helper/adapters/bukkit-helper-119/src/main/java/org/dynmap/bukkit/helper/v119/AsyncChunkProvider119.java diff --git a/bukkit-helper-119/src/main/java/org/dynmap/bukkit/helper/v119/BukkitVersionHelperSpigot119.java b/bukkit-helper/adapters/bukkit-helper-119/src/main/java/org/dynmap/bukkit/helper/v119/BukkitVersionHelperSpigot119.java similarity index 100% rename from bukkit-helper-119/src/main/java/org/dynmap/bukkit/helper/v119/BukkitVersionHelperSpigot119.java rename to bukkit-helper/adapters/bukkit-helper-119/src/main/java/org/dynmap/bukkit/helper/v119/BukkitVersionHelperSpigot119.java diff --git a/bukkit-helper-119/src/main/java/org/dynmap/bukkit/helper/v119/MapChunkCache119.java b/bukkit-helper/adapters/bukkit-helper-119/src/main/java/org/dynmap/bukkit/helper/v119/MapChunkCache119.java similarity index 100% rename from bukkit-helper-119/src/main/java/org/dynmap/bukkit/helper/v119/MapChunkCache119.java rename to bukkit-helper/adapters/bukkit-helper-119/src/main/java/org/dynmap/bukkit/helper/v119/MapChunkCache119.java diff --git a/bukkit-helper-119/src/main/java/org/dynmap/bukkit/helper/v119/NBT.java b/bukkit-helper/adapters/bukkit-helper-119/src/main/java/org/dynmap/bukkit/helper/v119/NBT.java similarity index 100% rename from bukkit-helper-119/src/main/java/org/dynmap/bukkit/helper/v119/NBT.java rename to bukkit-helper/adapters/bukkit-helper-119/src/main/java/org/dynmap/bukkit/helper/v119/NBT.java diff --git a/bukkit-helper-120-2/.gitignore b/bukkit-helper/adapters/bukkit-helper-120-2/.gitignore similarity index 100% rename from bukkit-helper-120-2/.gitignore rename to bukkit-helper/adapters/bukkit-helper-120-2/.gitignore diff --git a/bukkit-helper-120-2/bin/.gitignore b/bukkit-helper/adapters/bukkit-helper-120-2/bin/.gitignore similarity index 100% rename from bukkit-helper-120-2/bin/.gitignore rename to bukkit-helper/adapters/bukkit-helper-120-2/bin/.gitignore diff --git a/bukkit-helper-120-2/build.gradle b/bukkit-helper/adapters/bukkit-helper-120-2/build.gradle similarity index 100% rename from bukkit-helper-120-2/build.gradle rename to bukkit-helper/adapters/bukkit-helper-120-2/build.gradle diff --git a/bukkit-helper-120-2/src/main/java/org/dynmap/bukkit/helper/v120_2/AsyncChunkProvider120_2.java b/bukkit-helper/adapters/bukkit-helper-120-2/src/main/java/org/dynmap/bukkit/helper/v120_2/AsyncChunkProvider120_2.java similarity index 100% rename from bukkit-helper-120-2/src/main/java/org/dynmap/bukkit/helper/v120_2/AsyncChunkProvider120_2.java rename to bukkit-helper/adapters/bukkit-helper-120-2/src/main/java/org/dynmap/bukkit/helper/v120_2/AsyncChunkProvider120_2.java diff --git a/bukkit-helper-120-2/src/main/java/org/dynmap/bukkit/helper/v120_2/BukkitVersionHelperSpigot120_2.java b/bukkit-helper/adapters/bukkit-helper-120-2/src/main/java/org/dynmap/bukkit/helper/v120_2/BukkitVersionHelperSpigot120_2.java similarity index 100% rename from bukkit-helper-120-2/src/main/java/org/dynmap/bukkit/helper/v120_2/BukkitVersionHelperSpigot120_2.java rename to bukkit-helper/adapters/bukkit-helper-120-2/src/main/java/org/dynmap/bukkit/helper/v120_2/BukkitVersionHelperSpigot120_2.java diff --git a/bukkit-helper-120-2/src/main/java/org/dynmap/bukkit/helper/v120_2/MapChunkCache120_2.java b/bukkit-helper/adapters/bukkit-helper-120-2/src/main/java/org/dynmap/bukkit/helper/v120_2/MapChunkCache120_2.java similarity index 100% rename from bukkit-helper-120-2/src/main/java/org/dynmap/bukkit/helper/v120_2/MapChunkCache120_2.java rename to bukkit-helper/adapters/bukkit-helper-120-2/src/main/java/org/dynmap/bukkit/helper/v120_2/MapChunkCache120_2.java diff --git a/bukkit-helper-120-2/src/main/java/org/dynmap/bukkit/helper/v120_2/NBT.java b/bukkit-helper/adapters/bukkit-helper-120-2/src/main/java/org/dynmap/bukkit/helper/v120_2/NBT.java similarity index 100% rename from bukkit-helper-120-2/src/main/java/org/dynmap/bukkit/helper/v120_2/NBT.java rename to bukkit-helper/adapters/bukkit-helper-120-2/src/main/java/org/dynmap/bukkit/helper/v120_2/NBT.java diff --git a/bukkit-helper-120-4/.gitignore b/bukkit-helper/adapters/bukkit-helper-120-4/.gitignore similarity index 100% rename from bukkit-helper-120-4/.gitignore rename to bukkit-helper/adapters/bukkit-helper-120-4/.gitignore diff --git a/bukkit-helper-120-4/build.gradle b/bukkit-helper/adapters/bukkit-helper-120-4/build.gradle similarity index 100% rename from bukkit-helper-120-4/build.gradle rename to bukkit-helper/adapters/bukkit-helper-120-4/build.gradle diff --git a/bukkit-helper-120-4/src/main/java/org/dynmap/bukkit/helper/v120_4/AsyncChunkProvider120_4.java b/bukkit-helper/adapters/bukkit-helper-120-4/src/main/java/org/dynmap/bukkit/helper/v120_4/AsyncChunkProvider120_4.java similarity index 100% rename from bukkit-helper-120-4/src/main/java/org/dynmap/bukkit/helper/v120_4/AsyncChunkProvider120_4.java rename to bukkit-helper/adapters/bukkit-helper-120-4/src/main/java/org/dynmap/bukkit/helper/v120_4/AsyncChunkProvider120_4.java diff --git a/bukkit-helper-120-4/src/main/java/org/dynmap/bukkit/helper/v120_4/BukkitVersionHelperSpigot120_4.java b/bukkit-helper/adapters/bukkit-helper-120-4/src/main/java/org/dynmap/bukkit/helper/v120_4/BukkitVersionHelperSpigot120_4.java similarity index 100% rename from bukkit-helper-120-4/src/main/java/org/dynmap/bukkit/helper/v120_4/BukkitVersionHelperSpigot120_4.java rename to bukkit-helper/adapters/bukkit-helper-120-4/src/main/java/org/dynmap/bukkit/helper/v120_4/BukkitVersionHelperSpigot120_4.java diff --git a/bukkit-helper-120-4/src/main/java/org/dynmap/bukkit/helper/v120_4/MapChunkCache120_4.java b/bukkit-helper/adapters/bukkit-helper-120-4/src/main/java/org/dynmap/bukkit/helper/v120_4/MapChunkCache120_4.java similarity index 100% rename from bukkit-helper-120-4/src/main/java/org/dynmap/bukkit/helper/v120_4/MapChunkCache120_4.java rename to bukkit-helper/adapters/bukkit-helper-120-4/src/main/java/org/dynmap/bukkit/helper/v120_4/MapChunkCache120_4.java diff --git a/bukkit-helper-120-4/src/main/java/org/dynmap/bukkit/helper/v120_4/NBT.java b/bukkit-helper/adapters/bukkit-helper-120-4/src/main/java/org/dynmap/bukkit/helper/v120_4/NBT.java similarity index 100% rename from bukkit-helper-120-4/src/main/java/org/dynmap/bukkit/helper/v120_4/NBT.java rename to bukkit-helper/adapters/bukkit-helper-120-4/src/main/java/org/dynmap/bukkit/helper/v120_4/NBT.java diff --git a/bukkit-helper-120-5/.gitignore b/bukkit-helper/adapters/bukkit-helper-120-5/.gitignore similarity index 100% rename from bukkit-helper-120-5/.gitignore rename to bukkit-helper/adapters/bukkit-helper-120-5/.gitignore diff --git a/bukkit-helper-120-5/build.gradle b/bukkit-helper/adapters/bukkit-helper-120-5/build.gradle similarity index 100% rename from bukkit-helper-120-5/build.gradle rename to bukkit-helper/adapters/bukkit-helper-120-5/build.gradle diff --git a/bukkit-helper-120-5/src/main/java/org/dynmap/bukkit/helper/v120_5/AsyncChunkProvider120_5.java b/bukkit-helper/adapters/bukkit-helper-120-5/src/main/java/org/dynmap/bukkit/helper/v120_5/AsyncChunkProvider120_5.java similarity index 100% rename from bukkit-helper-120-5/src/main/java/org/dynmap/bukkit/helper/v120_5/AsyncChunkProvider120_5.java rename to bukkit-helper/adapters/bukkit-helper-120-5/src/main/java/org/dynmap/bukkit/helper/v120_5/AsyncChunkProvider120_5.java diff --git a/bukkit-helper-120-5/src/main/java/org/dynmap/bukkit/helper/v120_5/BukkitVersionHelperSpigot120_5.java b/bukkit-helper/adapters/bukkit-helper-120-5/src/main/java/org/dynmap/bukkit/helper/v120_5/BukkitVersionHelperSpigot120_5.java similarity index 100% rename from bukkit-helper-120-5/src/main/java/org/dynmap/bukkit/helper/v120_5/BukkitVersionHelperSpigot120_5.java rename to bukkit-helper/adapters/bukkit-helper-120-5/src/main/java/org/dynmap/bukkit/helper/v120_5/BukkitVersionHelperSpigot120_5.java diff --git a/bukkit-helper-120-5/src/main/java/org/dynmap/bukkit/helper/v120_5/MapChunkCache120_5.java b/bukkit-helper/adapters/bukkit-helper-120-5/src/main/java/org/dynmap/bukkit/helper/v120_5/MapChunkCache120_5.java similarity index 100% rename from bukkit-helper-120-5/src/main/java/org/dynmap/bukkit/helper/v120_5/MapChunkCache120_5.java rename to bukkit-helper/adapters/bukkit-helper-120-5/src/main/java/org/dynmap/bukkit/helper/v120_5/MapChunkCache120_5.java diff --git a/bukkit-helper-120-5/src/main/java/org/dynmap/bukkit/helper/v120_5/NBT.java b/bukkit-helper/adapters/bukkit-helper-120-5/src/main/java/org/dynmap/bukkit/helper/v120_5/NBT.java similarity index 100% rename from bukkit-helper-120-5/src/main/java/org/dynmap/bukkit/helper/v120_5/NBT.java rename to bukkit-helper/adapters/bukkit-helper-120-5/src/main/java/org/dynmap/bukkit/helper/v120_5/NBT.java diff --git a/bukkit-helper-120/.gitignore b/bukkit-helper/adapters/bukkit-helper-120/.gitignore similarity index 100% rename from bukkit-helper-120/.gitignore rename to bukkit-helper/adapters/bukkit-helper-120/.gitignore diff --git a/bukkit-helper-120/build.gradle b/bukkit-helper/adapters/bukkit-helper-120/build.gradle similarity index 100% rename from bukkit-helper-120/build.gradle rename to bukkit-helper/adapters/bukkit-helper-120/build.gradle diff --git a/bukkit-helper-120/src/main/java/org/dynmap/bukkit/helper/v120/AsyncChunkProvider120.java b/bukkit-helper/adapters/bukkit-helper-120/src/main/java/org/dynmap/bukkit/helper/v120/AsyncChunkProvider120.java similarity index 100% rename from bukkit-helper-120/src/main/java/org/dynmap/bukkit/helper/v120/AsyncChunkProvider120.java rename to bukkit-helper/adapters/bukkit-helper-120/src/main/java/org/dynmap/bukkit/helper/v120/AsyncChunkProvider120.java diff --git a/bukkit-helper-120/src/main/java/org/dynmap/bukkit/helper/v120/BukkitVersionHelperSpigot120.java b/bukkit-helper/adapters/bukkit-helper-120/src/main/java/org/dynmap/bukkit/helper/v120/BukkitVersionHelperSpigot120.java similarity index 100% rename from bukkit-helper-120/src/main/java/org/dynmap/bukkit/helper/v120/BukkitVersionHelperSpigot120.java rename to bukkit-helper/adapters/bukkit-helper-120/src/main/java/org/dynmap/bukkit/helper/v120/BukkitVersionHelperSpigot120.java diff --git a/bukkit-helper-120/src/main/java/org/dynmap/bukkit/helper/v120/MapChunkCache120.java b/bukkit-helper/adapters/bukkit-helper-120/src/main/java/org/dynmap/bukkit/helper/v120/MapChunkCache120.java similarity index 100% rename from bukkit-helper-120/src/main/java/org/dynmap/bukkit/helper/v120/MapChunkCache120.java rename to bukkit-helper/adapters/bukkit-helper-120/src/main/java/org/dynmap/bukkit/helper/v120/MapChunkCache120.java diff --git a/bukkit-helper-120/src/main/java/org/dynmap/bukkit/helper/v120/NBT.java b/bukkit-helper/adapters/bukkit-helper-120/src/main/java/org/dynmap/bukkit/helper/v120/NBT.java similarity index 100% rename from bukkit-helper-120/src/main/java/org/dynmap/bukkit/helper/v120/NBT.java rename to bukkit-helper/adapters/bukkit-helper-120/src/main/java/org/dynmap/bukkit/helper/v120/NBT.java diff --git a/bukkit-helper-121/build.gradle b/bukkit-helper/adapters/bukkit-helper-121/build.gradle similarity index 93% rename from bukkit-helper-121/build.gradle rename to bukkit-helper/adapters/bukkit-helper-121/build.gradle index 6d8ecf422..efe116a5f 100644 --- a/bukkit-helper-121/build.gradle +++ b/bukkit-helper/adapters/bukkit-helper-121/build.gradle @@ -12,6 +12,6 @@ dependencies { implementation project(':bukkit-helper') implementation project(':dynmap-api') implementation project(path: ':DynmapCore', configuration: 'shadow') - compileOnly group: 'org.spigotmc', name: 'spigot-api', version:'1.21-R0.1-SNAPSHOT' - compileOnly group: 'org.spigotmc', name: 'spigot', version:'1.21-R0.1-SNAPSHOT' + compileOnly group: 'org.spigotmc', name: 'spigot-api', version:'1.21.1-R0.1-SNAPSHOT' + compileOnly group: 'org.spigotmc', name: 'spigot', version:'1.21.1-R0.1-SNAPSHOT' } diff --git a/bukkit-helper-121/src/main/java/org/dynmap/bukkit/helper/v121/AsyncChunkProvider121.java b/bukkit-helper/adapters/bukkit-helper-121/src/main/java/org/dynmap/bukkit/helper/v121/AsyncChunkProvider121.java similarity index 100% rename from bukkit-helper-121/src/main/java/org/dynmap/bukkit/helper/v121/AsyncChunkProvider121.java rename to bukkit-helper/adapters/bukkit-helper-121/src/main/java/org/dynmap/bukkit/helper/v121/AsyncChunkProvider121.java diff --git a/bukkit-helper-121/src/main/java/org/dynmap/bukkit/helper/v121/BukkitVersionHelperSpigot121.java b/bukkit-helper/adapters/bukkit-helper-121/src/main/java/org/dynmap/bukkit/helper/v121/BukkitVersionHelperSpigot121.java similarity index 100% rename from bukkit-helper-121/src/main/java/org/dynmap/bukkit/helper/v121/BukkitVersionHelperSpigot121.java rename to bukkit-helper/adapters/bukkit-helper-121/src/main/java/org/dynmap/bukkit/helper/v121/BukkitVersionHelperSpigot121.java diff --git a/bukkit-helper-121/src/main/java/org/dynmap/bukkit/helper/v121/MapChunkCache121.java b/bukkit-helper/adapters/bukkit-helper-121/src/main/java/org/dynmap/bukkit/helper/v121/MapChunkCache121.java similarity index 100% rename from bukkit-helper-121/src/main/java/org/dynmap/bukkit/helper/v121/MapChunkCache121.java rename to bukkit-helper/adapters/bukkit-helper-121/src/main/java/org/dynmap/bukkit/helper/v121/MapChunkCache121.java diff --git a/bukkit-helper-121/src/main/java/org/dynmap/bukkit/helper/v121/NBT.java b/bukkit-helper/adapters/bukkit-helper-121/src/main/java/org/dynmap/bukkit/helper/v121/NBT.java similarity index 100% rename from bukkit-helper-121/src/main/java/org/dynmap/bukkit/helper/v121/NBT.java rename to bukkit-helper/adapters/bukkit-helper-121/src/main/java/org/dynmap/bukkit/helper/v121/NBT.java diff --git a/bukkit-helper/build.gradle b/bukkit-helper/build.gradle deleted file mode 100644 index 9263aef69..000000000 --- a/bukkit-helper/build.gradle +++ /dev/null @@ -1,18 +0,0 @@ -apply plugin: 'eclipse' - -eclipse { - project { - name = "Dynmap(Spigot-Common)" - } -} - -description = 'bukkit-helper' - -sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly. - -dependencies { - implementation project(':dynmap-api') - implementation project(path: ':DynmapCore', configuration: 'shadow') - compileOnly group: 'org.bukkit', name: 'bukkit', version:'1.10.2-R0.1-SNAPSHOT' - compileOnly group: 'com.google.code.gson', name: 'gson', version:'2.8.9' -} diff --git a/bukkit-helper/build.gradle.kts b/bukkit-helper/build.gradle.kts new file mode 100644 index 000000000..fde669e83 --- /dev/null +++ b/bukkit-helper/build.gradle.kts @@ -0,0 +1,23 @@ +plugins { + eclipse +} + +eclipse { + project { + name = "Dynmap(Spigot-Common)" + } +} + +description = "bukkit-helper" + +tasks.named("compileJava") { + sourceCompatibility = "1.8" + targetCompatibility = "1.8" +} + +dependencies { + implementation(project(":dynmap-api")) + implementation(project(":DynmapCore", configuration = "shadow")) + compileOnly("org.bukkit:bukkit:1.10.2-R0.1-SNAPSHOT") + compileOnly("com.google.code.gson:gson:2.8.9") +} diff --git a/dynmap-api/build.gradle b/dynmap-api/build.gradle deleted file mode 100644 index fe9231737..000000000 --- a/dynmap-api/build.gradle +++ /dev/null @@ -1,40 +0,0 @@ -apply plugin: 'eclipse' - -eclipse { - project { - name = "Dynmap(dynmap-api)" - } -} - -description = "dynmap-api" - -sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly. - -dependencies { - compileOnly group: 'org.bukkit', name: 'bukkit', version:'1.7.10-R0.1-SNAPSHOT' - compileOnly project(":DynmapCoreAPI") -} - -jar { - archiveClassifier = 'unshaded' -} - -shadowJar { - dependencies { - include(dependency(":DynmapCoreAPI")) - } - destinationDirectory = file '../target' - archiveClassifier = '' -} - -artifacts { - archives shadowJar -} - -publishing { - publications { - mavenJava(MavenPublication) { - from components.java - } - } -} diff --git a/dynmap-api/build.gradle.kts b/dynmap-api/build.gradle.kts new file mode 100644 index 000000000..0c622be7c --- /dev/null +++ b/dynmap-api/build.gradle.kts @@ -0,0 +1,37 @@ +import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar + +plugins { + eclipse +} + +eclipse { + project { + name = "Dynmap(dynmap-api)" + } +} + +description = "dynmap-api" + +tasks.named("compileJava") { + sourceCompatibility = "1.8" + targetCompatibility = "1.8" +} + +dependencies { + compileOnly("org.bukkit:bukkit:1.7.10-R0.1-SNAPSHOT") + compileOnly(project(":DynmapCoreAPI")) +} + +tasks.named("shadowJar") { + dependencies { + include(dependency(":DynmapCoreAPI")) + } + destinationDirectory.set(File("../target")) + archiveClassifier.set("") +} + +configure { + publications.withType() { + from(components["java"]) + } +} diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index d85eb23d1..000000000 --- a/settings.gradle +++ /dev/null @@ -1,100 +0,0 @@ -pluginManagement { - repositories { - gradlePluginPortal() - maven { url "https://papermc.io/repo/repository/maven-public/" } - maven { url "https://maven.fabricmc.net/" } - } -} - -rootProject.name = 'dynmap-common' - -include ':spigot' -include ':bukkit-helper-113-2' -include ':bukkit-helper-114-1' -include ':bukkit-helper-115' -include ':bukkit-helper-116' -include ':bukkit-helper-116-2' -include ':bukkit-helper-116-3' -include ':bukkit-helper-116-4' -include ':bukkit-helper-117' -include ':bukkit-helper-118' -include ':bukkit-helper-118-2' -include ':bukkit-helper-119' -include ':bukkit-helper-119-3' -include ':bukkit-helper-119-4' -include ':bukkit-helper-120' -include ':bukkit-helper-120-2' -include ':bukkit-helper-120-4' -include ':bukkit-helper-120-5' -include ':bukkit-helper-121' -include ':bukkit-helper' -include ':dynmap-api' -include ':DynmapCore' -include ':DynmapCoreAPI' -include ':fabric-1.21' -include ':fabric-1.20.6' -include ':fabric-1.20.4' -include ':fabric-1.20.2' -include ':fabric-1.20' -include ':fabric-1.19.4' -include ':fabric-1.18.2' -include ':fabric-1.17.1' -include ':fabric-1.16.4' -include ':fabric-1.15.2' -include ':fabric-1.14.4' -include ':forge-1.21' -include ':forge-1.20.6' -include ':forge-1.20.2' -include ':forge-1.20' -include ':forge-1.19.3' -include ':forge-1.18.2' -include ':forge-1.17.1' -include ':forge-1.16.5' -include ':forge-1.15.2' -include ':forge-1.14.4' - -project(':spigot').projectDir = "$rootDir/spigot" as File -project(':bukkit-helper-113-2').projectDir = "$rootDir/bukkit-helper-113-2" as File -project(':bukkit-helper-114-1').projectDir = "$rootDir/bukkit-helper-114-1" as File -project(':bukkit-helper-115').projectDir = "$rootDir/bukkit-helper-115" as File -project(':bukkit-helper-116').projectDir = "$rootDir/bukkit-helper-116" as File -project(':bukkit-helper-116-2').projectDir = "$rootDir/bukkit-helper-116-2" as File -project(':bukkit-helper-116-3').projectDir = "$rootDir/bukkit-helper-116-3" as File -project(':bukkit-helper-116-4').projectDir = "$rootDir/bukkit-helper-116-4" as File -project(':bukkit-helper-117').projectDir = "$rootDir/bukkit-helper-117" as File -project(':bukkit-helper-118').projectDir = "$rootDir/bukkit-helper-118" as File -project(':bukkit-helper-118-2').projectDir = "$rootDir/bukkit-helper-118-2" as File -project(':bukkit-helper-119').projectDir = "$rootDir/bukkit-helper-119" as File -project(':bukkit-helper-119-3').projectDir = "$rootDir/bukkit-helper-119-3" as File -project(':bukkit-helper-119-4').projectDir = "$rootDir/bukkit-helper-119-4" as File -project(':bukkit-helper-120').projectDir = "$rootDir/bukkit-helper-120" as File -project(':bukkit-helper-120-2').projectDir = "$rootDir/bukkit-helper-120-2" as File -project(':bukkit-helper-120-4').projectDir = "$rootDir/bukkit-helper-120-4" as File -project(':bukkit-helper-120-5').projectDir = "$rootDir/bukkit-helper-120-5" as File -project(':bukkit-helper-121').projectDir = "$rootDir/bukkit-helper-121" as File -project(':bukkit-helper').projectDir = "$rootDir/bukkit-helper" as File -project(':dynmap-api').projectDir = "$rootDir/dynmap-api" as File -project(':DynmapCore').projectDir = "$rootDir/DynmapCore" as File -project(':DynmapCoreAPI').projectDir = "$rootDir/DynmapCoreAPI" as File -project(':fabric-1.21').projectDir = "$rootDir/fabric-1.21" as File -project(':fabric-1.20.6').projectDir = "$rootDir/fabric-1.20.6" as File -project(':fabric-1.20.4').projectDir = "$rootDir/fabric-1.20.4" as File -project(':fabric-1.20.2').projectDir = "$rootDir/fabric-1.20.2" as File -project(':fabric-1.20').projectDir = "$rootDir/fabric-1.20" as File -project(':fabric-1.19.4').projectDir = "$rootDir/fabric-1.19.4" as File -project(':fabric-1.18.2').projectDir = "$rootDir/fabric-1.18.2" as File -project(':fabric-1.17.1').projectDir = "$rootDir/fabric-1.17.1" as File -project(':fabric-1.16.4').projectDir = "$rootDir/fabric-1.16.4" as File -project(':fabric-1.15.2').projectDir = "$rootDir/fabric-1.15.2" as File -project(':fabric-1.14.4').projectDir = "$rootDir/fabric-1.14.4" as File -project(':forge-1.21').projectDir = "$rootDir/forge-1.21" as File -project(':forge-1.20.6').projectDir = "$rootDir/forge-1.20.6" as File -project(':forge-1.20.2').projectDir = "$rootDir/forge-1.20.2" as File -project(':forge-1.20').projectDir = "$rootDir/forge-1.20" as File -project(':forge-1.19.3').projectDir = "$rootDir/forge-1.19.3" as File -project(':forge-1.18.2').projectDir = "$rootDir/forge-1.18.2" as File -project(':forge-1.17.1').projectDir = "$rootDir/forge-1.17.1" as File -project(':forge-1.16.5').projectDir = "$rootDir/forge-1.16.5" as File -project(':forge-1.15.2').projectDir = "$rootDir/forge-1.15.2" as File -project(':forge-1.14.4').projectDir = "$rootDir/forge-1.14.4" as File - diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 000000000..18b8cfac9 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,61 @@ +pluginManagement { + repositories { + gradlePluginPortal() + maven { url = uri("https://papermc.io/repo/repository/maven-public/") } + maven { url = uri("https://maven.fabricmc.net/") } + } +} + +rootProject.name = "dynmap-common" + +include(":spigot") + +listOf( + "113-2", + "114-1", + "115", + "116", + "116-2", + "116-3", + "116-4", + "117", + "118", + "118-2", + "119", + "119-3", + "119-4", + "120", + "120-2", + "120-4", + "120-5", + "121", + //"121-3" +).forEach { + include(":bukkit-helper:adapters:bukkit-helper-$it") +} + +include(":bukkit-helper") +include(":dynmap-api") +include (":DynmapCore") +include (":DynmapCoreAPI") +include (":fabric-1.21") +include (":fabric-1.20.6") +include (":fabric-1.20.4") +include (":fabric-1.20.2") +include (":fabric-1.20") +include (":fabric-1.19.4") +include (":fabric-1.18.2") +include (":fabric-1.17.1") +include (":fabric-1.16.4") +include (":fabric-1.15.2") +include (":fabric-1.14.4") +include (":forge-1.21") +include (":forge-1.20.6") +include (":forge-1.20.2") +include (":forge-1.20") +include (":forge-1.19.3") +include (":forge-1.18.2") +include (":forge-1.17.1") +include (":forge-1.16.5") +include (":forge-1.15.2") +include (":forge-1.14.4") diff --git a/spigot/build.gradle b/spigot/build.gradle deleted file mode 100644 index e918e2183..000000000 --- a/spigot/build.gradle +++ /dev/null @@ -1,148 +0,0 @@ - -description = 'dynmap' - -eclipse { - project { - name = "Dynmap(Spigot)" - } -} - -repositories { - maven { - url 'https://jitpack.io' - } - maven { - url 'https://repo.codemc.org/repository/maven-releases/' - } -} - -sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly. - -dependencies { - implementation('org.bukkit:bukkit:1.10.2-R0.1-SNAPSHOT') { transitive = false } - compileOnly('com.nijikokun.bukkit:Permissions:3.1.6') { transitive = false } - compileOnly('me.lucko.luckperms:luckperms-api:4.3') { transitive = false } - compileOnly('net.luckperms:api:5.0') { transitive = false } - compileOnly('com.github.MilkBowl:VaultAPI:1.7') { transitive = false } - compileOnly('net.skinsrestorer:skinsrestorer-api:14.2.+') { transitive = false } - implementation(project(":dynmap-api")) { transitive = false } - implementation(project(path: ":DynmapCore", configuration: "shadow")) { transitive = false } - compileOnly('ru.tehkode:PermissionsEx:1.19.1') { transitive = false } - compileOnly('de.bananaco:bPermissions:2.9.1') { transitive = false } - compileOnly('com.platymuus.bukkit.permissions:PermissionsBukkit:1.6') { transitive = false } - compileOnly('org.anjocaido:EssentialsGroupManager:2.10.1') { transitive = false } - implementation group: 'org.bstats', name: 'bstats-bukkit', version: '3.0.2' - compileOnly('com.googlecode.json-simple:json-simple:1.1.1') { transitive = false } - compileOnly('com.google.code.gson:gson:2.8.9') { transitive = false } - implementation(project(':bukkit-helper')) { - transitive = false - } - implementation(project(':bukkit-helper-113-2')) { - transitive = false - } - implementation(project(':bukkit-helper-114-1')) { - transitive = false - } - implementation(project(':bukkit-helper-115')) { - transitive = false - } - implementation(project(':bukkit-helper-116')) { - transitive = false - } - implementation(project(':bukkit-helper-116-2')) { - transitive = false - } - implementation(project(':bukkit-helper-116-3')) { - transitive = false - } - implementation(project(':bukkit-helper-116-4')) { - transitive = false - } - implementation(project(':bukkit-helper-117')) { - transitive = false - } - implementation(project(':bukkit-helper-118')) { - transitive = false - } - implementation(project(':bukkit-helper-118-2')) { - transitive = false - } - implementation(project(':bukkit-helper-119')) { - transitive = false - } - implementation(project(':bukkit-helper-119-3')) { - transitive = false - } - implementation(project(':bukkit-helper-119-4')) { - transitive = false - } - implementation(project(':bukkit-helper-120')) { - transitive = false - } - implementation(project(':bukkit-helper-120-2')) { - transitive = false - } - implementation(project(':bukkit-helper-120-4')) { - transitive = false - } - implementation(project(':bukkit-helper-120-5')) { - transitive = false - } - implementation(project(':bukkit-helper-121')) { - transitive = false - } -} - -processResources { - // replace stuff in mcmod.info, nothing else - filesMatching('plugin.yml') { - // replace version and mcversion - expand( - buildnumber: project.parent.ext.globals.buildNumber, - version: project.version - ) - } -} - -jar { - archiveClassifier = 'unshaded' -} - -shadowJar { - dependencies { - include(dependency('org.bstats::')) - include(dependency(':dynmap-api')) - include(dependency(":DynmapCore")) - include(dependency(':bukkit-helper')) - include(dependency(':bukkit-helper-113-2')) - include(dependency(':bukkit-helper-114-1')) - include(dependency(':bukkit-helper-115')) - include(dependency(':bukkit-helper-116')) - include(dependency(':bukkit-helper-116-2')) - include(dependency(':bukkit-helper-116-3')) - include(dependency(':bukkit-helper-116-4')) - include(dependency(':bukkit-helper-117')) - include(dependency(':bukkit-helper-118')) - include(dependency(':bukkit-helper-118-2')) - include(dependency(':bukkit-helper-119')) - include(dependency(':bukkit-helper-119-3')) - include(dependency(':bukkit-helper-119-4')) - include(dependency(':bukkit-helper-120')) - include(dependency(':bukkit-helper-120-2')) - include(dependency(':bukkit-helper-120-4')) - include(dependency(':bukkit-helper-120-5')) - include(dependency(':bukkit-helper-121')) - } - relocate('org.bstats', 'org.dynmap.bstats') - destinationDirectory = file '../target' - archiveBaseName = "Dynmap" - archiveClassifier = 'spigot' -} -shadowJar.doLast { - task -> - ant.checksum file: task.archivePath -} - -artifacts { - archives shadowJar -} diff --git a/spigot/build.gradle.kts b/spigot/build.gradle.kts new file mode 100644 index 000000000..aaea54615 --- /dev/null +++ b/spigot/build.gradle.kts @@ -0,0 +1,104 @@ +import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar +import io.papermc.paperweight.userdev.attribute.Obfuscation + +plugins { + id("com.gradleup.shadow") + eclipse +} + +eclipse { + project { + name = "Dynmap(Spigot)" + } +} + +description = "Dynmap plugin for bukkit based servers" + +var adapters = configurations.create("adapters") { + description = "Adapters to include in the JAR" + isCanBeConsumed = false + isCanBeResolved = true + isTransitive = false + shouldResolveConsistentlyWith(configurations["runtimeClasspath"]) + attributes { + attribute(Obfuscation.OBFUSCATION_ATTRIBUTE, objects.named(Obfuscation.OBFUSCATED)) + } +} + +repositories { + maven { + url = uri("https://jitpack.io") + } + maven { + url = uri("https://repo.codemc.org/repository/maven-releases/") + } + maven { url = uri ("https://papermc.io/repo/repository/maven-public/") } +} + +dependencies { + compileOnly("org.bukkit:bukkit:1.10.2-R0.1-SNAPSHOT") + compileOnly("com.nijikokun.bukkit:Permissions:3.1.6") { isTransitive = false } + compileOnly("me.lucko.luckperms:luckperms-api:4.3") { isTransitive = false } + compileOnly("net.luckperms:api:5.4") { isTransitive = false } + compileOnly("com.github.MilkBowl:VaultAPI:1.7") { isTransitive = false } + compileOnly("net.skinsrestorer:skinsrestorer-api:14.2.+") { isTransitive = false } + implementation(project(":dynmap-api")) { isTransitive = false } + implementation(project(":DynmapCore", configuration = "shadow")) { isTransitive = false } + compileOnly("ru.tehkode:PermissionsEx:1.19.1") { isTransitive = false } + compileOnly("de.bananaco:bPermissions:2.9.1") { isTransitive = false } + compileOnly("com.platymuus.bukkit.permissions:PermissionsBukkit:1.6") { isTransitive = false } + compileOnly("org.anjocaido:EssentialsGroupManager:2.10.1") { isTransitive = false } + implementation("org.bstats:bstats-bukkit:3.0.2") + compileOnly("com.googlecode.json-simple:json-simple:1.1.1") { isTransitive = false } + compileOnly("com.google.code.gson:gson:2.8.9") { isTransitive = false } + + implementation(project(":bukkit-helper")) + + project.project(":bukkit-helper:adapters").subprojects.forEach { + "adapters"(project(it.path)) + } +} + +tasks.named("processResources") { + val internalVersion = "${project.version}-${project.parent!!.ext["buildNumber"]}" + inputs.property("internalVersion", internalVersion) + filesMatching("plugin.yml") { + expand("internalVersion" to internalVersion) + } +} + +/* +jar { + classifier = 'unshaded' +}*/ + +tasks.named("shadowJar") { + configurations.add(adapters) + + dependencies { + include(dependency("org.bstats::")) + include(dependency(":dynmap-api")) + include(dependency(":DynmapCore")) + include(dependency(":bukkit-helper")) + + project.project(":bukkit-helper:adapters").subprojects.forEach { + include(dependency("${it.group}:${it.name}")) + } + } + relocate("org.bstats", "org.dynmap.bstats") +// destinationDir = file '../target' +// archiveName = "Dynmap-${parent.version}-spigot.jar" +// classifier = '' +} + +tasks.named("shadowJar") { + doLast { + ant.withGroovyBuilder { + "checksum"("file" to archiveFile.get().asFile) + } + } +} + +tasks.named("assemble").configure { + dependsOn("shadowJar") +} diff --git a/spigot/src/main/resources/plugin.yml b/spigot/src/main/resources/plugin.yml index 8efeee429..ec62f70b7 100644 --- a/spigot/src/main/resources/plugin.yml +++ b/spigot/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: dynmap main: org.dynmap.bukkit.DynmapPlugin -version: "${version}-${buildnumber}" +version: "${internalVersion}" api-version: 1.13 authors: [mikeprimm] website: "https://www.reddit.com/r/Dynmap/" From bad253532f7be2620f3efea0e80f2a75e22a5d70 Mon Sep 17 00:00:00 2001 From: Joo200 Date: Wed, 25 Dec 2024 22:08:02 +0100 Subject: [PATCH 2/3] Add support for bukkit 1.21.3 with paperweight --- .../bukkit-helper-121-3/build.gradle.kts | 39 ++ .../BukkitVersionHelperSpigot121_3.java | 445 ++++++++++++++++++ .../helper/v121_3/MapChunkCache121_3.java | 85 ++++ .../org/dynmap/bukkit/helper/v121_3/NBT.java | 126 +++++ settings.gradle.kts | 2 +- .../main/java/org/dynmap/bukkit/Helper.java | 3 + 6 files changed, 699 insertions(+), 1 deletion(-) create mode 100644 bukkit-helper/adapters/bukkit-helper-121-3/build.gradle.kts create mode 100644 bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/BukkitVersionHelperSpigot121_3.java create mode 100644 bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/MapChunkCache121_3.java create mode 100644 bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/NBT.java diff --git a/bukkit-helper/adapters/bukkit-helper-121-3/build.gradle.kts b/bukkit-helper/adapters/bukkit-helper-121-3/build.gradle.kts new file mode 100644 index 000000000..edd6211be --- /dev/null +++ b/bukkit-helper/adapters/bukkit-helper-121-3/build.gradle.kts @@ -0,0 +1,39 @@ +plugins { + id("io.papermc.paperweight.userdev") + eclipse +} + +eclipse { + project { + name = "Dynmap(Spigot-1.21)" + } +} + +description = "bukkit-helper-1.21.3" + +repositories { + mavenCentral() + maven { url = uri("https://papermc.io/repo/repository/maven-public/") } +} + +paperweight.reobfArtifactConfiguration = io.papermc.paperweight.userdev.ReobfArtifactConfiguration.REOBF_PRODUCTION + +tasks.named("compileJava") { + sourceCompatibility = "21" + targetCompatibility = "21" + options.release.set(21) +} + +dependencies { + implementation(project(":bukkit-helper")) + implementation(project(":dynmap-api")) + implementation(project(":DynmapCore", configuration = "shadow")) + + paperweight { + paperDevBundle("1.21.3-R0.1-SNAPSHOT") + } +} + +tasks.assemble { + dependsOn(tasks.reobfJar) +} diff --git a/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/BukkitVersionHelperSpigot121_3.java b/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/BukkitVersionHelperSpigot121_3.java new file mode 100644 index 000000000..ebbac5d83 --- /dev/null +++ b/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/BukkitVersionHelperSpigot121_3.java @@ -0,0 +1,445 @@ +package org.dynmap.bukkit.helper.v121_3; + +import net.minecraft.core.IdMapper; +import net.minecraft.core.Registry; +import net.minecraft.nbt.ByteArrayTag; +import net.minecraft.nbt.ByteTag; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.DoubleTag; +import net.minecraft.nbt.FloatTag; +import net.minecraft.nbt.IntArrayTag; +import net.minecraft.nbt.IntTag; +import net.minecraft.nbt.LongTag; +import net.minecraft.nbt.ShortTag; +import net.minecraft.nbt.StringTag; +import net.minecraft.nbt.Tag; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.MinecraftServer; +import net.minecraft.tags.BlockTags; +import net.minecraft.world.level.biome.Biome; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.chunk.status.ChunkStatus; +import net.minecraft.world.level.material.Fluid; +import org.bukkit.*; +import org.bukkit.block.data.BlockData; +import org.bukkit.craftbukkit.CraftChunk; +import org.bukkit.craftbukkit.CraftWorld; +import org.bukkit.craftbukkit.entity.CraftPlayer; +import org.bukkit.entity.Player; +import org.dynmap.DynmapChunk; +import org.dynmap.Log; +import org.dynmap.bukkit.helper.BukkitMaterial; +import org.dynmap.bukkit.helper.BukkitVersionHelper; +import org.dynmap.bukkit.helper.BukkitWorld; +import org.dynmap.bukkit.helper.BukkitVersionHelperGeneric.TexturesPayload; +import org.dynmap.renderer.DynmapBlockState; +import org.dynmap.utils.MapChunkCache; +import org.dynmap.utils.Polygon; + +import com.google.common.collect.Iterables; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonParseException; +import com.mojang.authlib.GameProfile; +import com.mojang.authlib.properties.Property; +import com.mojang.authlib.properties.PropertyMap; + +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; + +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Base64; +import java.util.Collection; +import java.util.HashMap; +import java.util.IdentityHashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + + +/** + * Helper for isolation of bukkit version specific issues + */ +public class BukkitVersionHelperSpigot121_3 extends BukkitVersionHelper { + + @Override + public boolean isUnsafeAsync() { + return true; + } + + /** + * Get block short name list + */ + @Override + public String[] getBlockNames() { + IdMapper bsids = Block.BLOCK_STATE_REGISTRY; + Block baseb = null; + Iterator iter = bsids.iterator(); + ArrayList names = new ArrayList(); + while (iter.hasNext()) { + BlockState bs = iter.next(); + Block b = bs.getBlock(); + // If this is new block vs last, it's the base block state + if (b != baseb) { + baseb = b; + continue; + } + ResourceLocation id = BuiltInRegistries.BLOCK.getKey(b); + String bn = id.toString(); + if (bn != null) { + names.add(bn); + Log.info("block=" + bn); + } + } + return names.toArray(new String[0]); + } + + private static Registry reg = null; + + private static Registry getBiomeReg() { + if (reg == null) { + reg = MinecraftServer.getServer().registryAccess().lookupOrThrow(Registries.BIOME); + } + return reg; + } + + private Object[] biomelist; + /** + * Get list of defined biomebase objects + */ + @Override + public Object[] getBiomeBaseList() { + if (biomelist == null) { + biomelist = new Biome[256]; + Iterator iter = getBiomeReg().iterator(); + while (iter.hasNext()) { + Biome b = iter.next(); + int bidx = getBiomeReg().getId(b); + if (bidx >= biomelist.length) { + biomelist = Arrays.copyOf(biomelist, bidx + biomelist.length); + } + biomelist[bidx] = b; + } + } + return biomelist; + } + + /** Get ID from biomebase */ + @Override + public int getBiomeBaseID(Object bb) { + return getBiomeReg().getId((Biome)bb); + } + + public static IdentityHashMap dataToState; + + /** + * Initialize block states (org.dynmap.blockstate.DynmapBlockState) + */ + @Override + public void initializeBlockStates() { + dataToState = new IdentityHashMap(); + HashMap lastBlockState = new HashMap(); + IdMapper bsids = Block.BLOCK_STATE_REGISTRY; + Block baseb = null; + Iterator iter = bsids.iterator(); + ArrayList names = new ArrayList(); + + // Loop through block data states + DynmapBlockState.Builder bld = new DynmapBlockState.Builder(); + while (iter.hasNext()) { + BlockState bd = iter.next(); + Block b = bd.getBlock(); + ResourceLocation id = BuiltInRegistries.BLOCK.getKey(b); + String bname = id.toString(); + DynmapBlockState lastbs = lastBlockState.get(bname); // See if we have seen this one + int idx = 0; + if (lastbs != null) { // Yes + idx = lastbs.getStateCount(); // Get number of states so far, since this is next + } + // Build state name + String sb = ""; + String fname = bd.toString(); + int off1 = fname.indexOf('['); + if (off1 >= 0) { + int off2 = fname.indexOf(']'); + sb = fname.substring(off1+1, off2); + } + int lightAtten = bd.getLightBlock(); + // Fill in base attributes + bld.setBaseState(lastbs).setStateIndex(idx).setBlockName(bname).setStateName(sb).setAttenuatesLight(lightAtten); + if (bd.getSoundType() != null) { bld.setMaterial(bd.getSoundType().toString()); } + if (bd.isSolid()) { bld.setSolid(); } + if (bd.isAir()) { bld.setAir(); } + if (bd.is(BlockTags.OVERWORLD_NATURAL_LOGS)) { bld.setLog(); } + if (bd.is(BlockTags.LEAVES)) { bld.setLeaves(); } + if ((!bd.getFluidState().isEmpty())) { // Test if fluid type for block is not empty + bld.setWaterlogged(); + } + DynmapBlockState dbs = bld.build(); // Build state + + dataToState.put(bd, dbs); + lastBlockState.put(bname, (lastbs == null) ? dbs : lastbs); + Log.verboseinfo("blk=" + bname + ", idx=" + idx + ", state=" + sb + ", waterlogged=" + dbs.isWaterlogged()); + } + } + /** + * Create chunk cache for given chunks of given world + * @param dw - world + * @param chunks - chunk list + * @return cache + */ + @Override + public MapChunkCache getChunkCache(BukkitWorld dw, List chunks) { + MapChunkCache121_3 c = new MapChunkCache121_3(gencache); + c.setChunks(dw, chunks); + return c; + } + + /** + * Get biome base water multiplier + */ + @Override + public int getBiomeBaseWaterMult(Object bb) { + Biome biome = (Biome) bb; + return biome.getWaterColor(); + } + + /** Get temperature from biomebase */ + @Override + public float getBiomeBaseTemperature(Object bb) { + return ((Biome)bb).getBaseTemperature(); + } + + /** Get humidity from biomebase */ + @Override + public float getBiomeBaseHumidity(Object bb) { + return ((Biome)bb).climateSettings.downfall(); + } + + @Override + public Polygon getWorldBorder(World world) { + Polygon p = null; + WorldBorder wb = world.getWorldBorder(); + if (wb != null) { + Location c = wb.getCenter(); + double size = wb.getSize(); + if ((size > 1) && (size < 1E7)) { + size = size / 2; + p = new Polygon(); + p.addVertex(c.getX()-size, c.getZ()-size); + p.addVertex(c.getX()+size, c.getZ()-size); + p.addVertex(c.getX()+size, c.getZ()+size); + p.addVertex(c.getX()-size, c.getZ()+size); + } + } + return p; + } + // Send title/subtitle to user + public void sendTitleText(Player p, String title, String subtitle, int fadeInTicks, int stayTicks, int fadeOutTIcks) { + if (p != null) { + p.sendTitle(title, subtitle, fadeInTicks, stayTicks, fadeOutTIcks); + } + } + + /** + * Get material map by block ID + */ + @Override + public BukkitMaterial[] getMaterialList() { + return new BukkitMaterial[4096]; // Not used + } + + @Override + public void unloadChunkNoSave(World w, org.bukkit.Chunk c, int cx, int cz) { + Log.severe("unloadChunkNoSave not implemented"); + } + + private String[] biomenames; + @Override + public String[] getBiomeNames() { + if (biomenames == null) { + biomenames = new String[256]; + Iterator iter = getBiomeReg().iterator(); + while (iter.hasNext()) { + Biome b = iter.next(); + int bidx = getBiomeReg().getId(b); + if (bidx >= biomenames.length) { + biomenames = Arrays.copyOf(biomenames, bidx + biomenames.length); + } + biomenames[bidx] = b.toString(); + } + } + return biomenames; + } + + @Override + public String getStateStringByCombinedId(int blkid, int meta) { + Log.severe("getStateStringByCombinedId not implemented"); + return null; + } + @Override + /** Get ID string from biomebase */ + public String getBiomeBaseIDString(Object bb) { + return getBiomeReg().getKey((Biome)bb).getPath(); + } + @Override + public String getBiomeBaseResourceLocsation(Object bb) { + return getBiomeReg().getKey((Biome)bb).toString(); + } + + @Override + public Object getUnloadQueue(World world) { + Log.warning("getUnloadQueue not implemented yet"); + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean isInUnloadQueue(Object unloadqueue, int x, int z) { + Log.warning("isInUnloadQueue not implemented yet"); + // TODO Auto-generated method stub + return false; + } + + @Override + public Object[] getBiomeBaseFromSnapshot(ChunkSnapshot css) { + Log.warning("getBiomeBaseFromSnapshot not implemented yet"); + // TODO Auto-generated method stub + return new Object[256]; + } + + @Override + public long getInhabitedTicks(Chunk c) { + return ((CraftChunk)c).getHandle(ChunkStatus.FULL).getInhabitedTime(); + } + + @Override + public Map getTileEntitiesForChunk(Chunk c) { + return ((CraftChunk)c).getHandle(ChunkStatus.FULL).blockEntities; + } + + @Override + public int getTileEntityX(Object te) { + BlockEntity tileent = (BlockEntity) te; + return tileent.getBlockPos().getX(); + } + + @Override + public int getTileEntityY(Object te) { + BlockEntity tileent = (BlockEntity) te; + return tileent.getBlockPos().getY(); + } + + @Override + public int getTileEntityZ(Object te) { + BlockEntity tileent = (BlockEntity) te; + return tileent.getBlockPos().getZ(); + } + + @Override + public Object readTileEntityNBT(Object te, World world) { + BlockEntity tileent = (BlockEntity) te; + if (tileent.getLevel() == null) { + return null; + } + return tileent.saveWithFullMetadata(((CraftWorld)world).getHandle().registryAccess()); + } + + @Override + public Object getFieldValue(Object nbt, String field) { + CompoundTag rec = (CompoundTag) nbt; + Tag val = rec.get(field); + if(val == null) return null; + if(val instanceof ByteTag tag) { + return tag.getAsByte(); + } + else if(val instanceof ShortTag tag) { + return tag.getAsShort(); + } + else if(val instanceof IntTag tag) { + return tag.getAsInt(); + } + else if(val instanceof LongTag tag) { + return tag.getAsLong(); + } + else if(val instanceof FloatTag tag) { + return tag.getAsFloat(); + } + else if(val instanceof DoubleTag tag) { + return tag.getAsDouble(); + } + else if(val instanceof ByteArrayTag tag) { + return tag.getAsByteArray(); + } + else if(val instanceof StringTag tag) { + return tag.getAsString(); + } + else if(val instanceof IntArrayTag tag) { + return tag.getAsIntArray(); + } + return null; + } + + @Override + public Player[] getOnlinePlayers() { + Collection p = Bukkit.getServer().getOnlinePlayers(); + return p.toArray(new Player[0]); + } + + @Override + public double getHealth(Player p) { + return p.getHealth(); + } + + private static final Gson gson = new GsonBuilder().create(); + + /** + * Get skin URL for player + * @param player + */ + @Override + public String getSkinURL(Player player) { + String url = null; + CraftPlayer cp = (CraftPlayer)player; + GameProfile profile = cp.getProfile(); + if (profile != null) { + PropertyMap pm = profile.getProperties(); + if (pm != null) { + Collection txt = pm.get("textures"); + Property textureProperty = Iterables.getFirst(pm.get("textures"), null); + if (textureProperty != null) { + String val = textureProperty.value(); + if (val != null) { + TexturesPayload result = null; + try { + String json = new String(Base64.getDecoder().decode(val), StandardCharsets.UTF_8); + result = gson.fromJson(json, TexturesPayload.class); + } catch (JsonParseException e) { + } catch (IllegalArgumentException x) { + Log.warning("Malformed response from skin URL check: " + val); + } + if ((result != null) && (result.textures != null) && (result.textures.containsKey("SKIN"))) { + url = result.textures.get("SKIN").url; + } + } + } + } + } + return url; + } + // Get minY for world + @Override + public int getWorldMinY(World w) { + CraftWorld cw = (CraftWorld) w; + return cw.getMinHeight(); + } + @Override + public boolean useGenericCache() { + return true; + } + +} diff --git a/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/MapChunkCache121_3.java b/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/MapChunkCache121_3.java new file mode 100644 index 000000000..f22d8be07 --- /dev/null +++ b/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/MapChunkCache121_3.java @@ -0,0 +1,85 @@ +package org.dynmap.bukkit.helper.v121_3; + +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.level.ChunkPos; +import net.minecraft.world.level.biome.Biome; +import net.minecraft.world.level.biome.BiomeSpecialEffects; +import net.minecraft.world.level.chunk.LevelChunk; +import net.minecraft.world.level.chunk.storage.SerializableChunkData; +import org.bukkit.World; +import org.bukkit.craftbukkit.CraftWorld; +import org.dynmap.DynmapChunk; +import org.dynmap.bukkit.helper.BukkitWorld; +import org.dynmap.common.BiomeMap; +import org.dynmap.common.chunk.GenericChunk; +import org.dynmap.common.chunk.GenericChunkCache; +import org.dynmap.common.chunk.GenericMapChunkCache; + +import java.util.List; +import java.util.Optional; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; +import java.util.function.Supplier; + +/** + * Container for managing chunks - dependent upon using chunk snapshots, since rendering is off server thread + */ +public class MapChunkCache121_3 extends GenericMapChunkCache { + private World w; + /** + * Construct empty cache + */ + public MapChunkCache121_3(GenericChunkCache cc) { + super(cc); + } + + // Load generic chunk from existing and already loaded chunk + protected GenericChunk getLoadedChunk(DynmapChunk chunk) { + CraftWorld cw = (CraftWorld) w; + if (!cw.isChunkLoaded(chunk.x, chunk.z)) return null; + LevelChunk c = cw.getHandle().getChunkIfLoaded(chunk.x, chunk.z); + if (c == null || !c.loaded) return null; // c.loaded + + SerializableChunkData chunkData = SerializableChunkData.copyOf(cw.getHandle(), c); + CompoundTag nbt = chunkData.write(); + return nbt != null ? parseChunkFromNBT(new NBT.NBTCompound(nbt)) : null; + } + + // Load generic chunk from unloaded chunk + @Override + protected Supplier loadChunkAsync(DynmapChunk chunk){ + CraftWorld cw = (CraftWorld) w; + CompletableFuture> future = cw.getHandle().getChunkSource().chunkMap.read(new ChunkPos(chunk.x, chunk.z)); + return () -> { + try { + Optional nbt = future.get(); + return nbt.map(n -> parseChunkFromNBT(new NBT.NBTCompound(n))).orElse(null); + } catch (InterruptedException e) { + return null; + } catch (ExecutionException e) { + throw new RuntimeException(e); + } + }; + } + + protected GenericChunk loadChunk(DynmapChunk chunk) { + return loadChunkAsync(chunk).get(); + } + + public void setChunks(BukkitWorld dw, List chunks) { + this.w = dw.getWorld(); + super.setChunks(dw, chunks); + } + + @Override + public int getFoliageColor(BiomeMap bm, int[] colormap, int x, int z) { + return bm.getBiomeObject().map(Biome::getSpecialEffects).flatMap(BiomeSpecialEffects::getFoliageColorOverride).orElse(colormap[bm.biomeLookup()]); + } + + @Override + public int getGrassColor(BiomeMap bm, int[] colormap, int x, int z) { + Optional effects = bm.getBiomeObject().map(Biome::getSpecialEffects); + return effects.map(biomeSpecialEffects -> biomeSpecialEffects.getGrassColorModifier() + .modifyColor(x, z, biomeSpecialEffects.getGrassColorOverride().orElse(colormap[bm.biomeLookup()]))).orElse(colormap[bm.biomeLookup()]); + } +} diff --git a/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/NBT.java b/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/NBT.java new file mode 100644 index 000000000..05dc79447 --- /dev/null +++ b/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/NBT.java @@ -0,0 +1,126 @@ +package org.dynmap.bukkit.helper.v121_3; + +import net.minecraft.nbt.ListTag; +import net.minecraft.util.SimpleBitStorage; +import net.minecraft.nbt.CompoundTag; +import org.dynmap.common.chunk.GenericBitStorage; +import org.dynmap.common.chunk.GenericNBTCompound; +import org.dynmap.common.chunk.GenericNBTList; + +import java.util.Set; + +public class NBT { + + public static class NBTCompound implements GenericNBTCompound { + private final CompoundTag obj; + public NBTCompound(CompoundTag t) { + this.obj = t; + } + @Override + public Set getAllKeys() { + return obj.getAllKeys(); + } + @Override + public boolean contains(String s) { + return obj.contains(s); + } + @Override + public boolean contains(String s, int i) { + return obj.contains(s, i); + } + @Override + public byte getByte(String s) { + return obj.getByte(s); + } + @Override + public short getShort(String s) { + return obj.getShort(s); + } + @Override + public int getInt(String s) { + return obj.getInt(s); + } + @Override + public long getLong(String s) { + return obj.getLong(s); + } + @Override + public float getFloat(String s) { + return obj.getFloat(s); + } + @Override + public double getDouble(String s) { + return obj.getDouble(s); + } + @Override + public String getString(String s) { + return obj.getString(s); + } + @Override + public byte[] getByteArray(String s) { + return obj.getByteArray(s); + } + @Override + public int[] getIntArray(String s) { + return obj.getIntArray(s); + } + @Override + public long[] getLongArray(String s) { + return obj.getLongArray(s); + } + @Override + public GenericNBTCompound getCompound(String s) { + return new NBTCompound(obj.getCompound(s)); + } + @Override + public GenericNBTList getList(String s, int i) { + return new NBTList(obj.getList(s, i)); + } + @Override + public boolean getBoolean(String s) { + return obj.getBoolean(s); + } + @Override + public String getAsString(String s) { + return obj.get(s).getAsString(); + } + @Override + public GenericBitStorage makeBitStorage(int bits, int count, long[] data) { + return new OurBitStorage(bits, count, data); + } + public String toString() { + return obj.toString(); + } + } + public static class NBTList implements GenericNBTList { + private final ListTag obj; + public NBTList(ListTag t) { + obj = t; + } + @Override + public int size() { + return obj.size(); + } + @Override + public String getString(int idx) { + return obj.getString(idx); + } + @Override + public GenericNBTCompound getCompound(int idx) { + return new NBTCompound(obj.getCompound(idx)); + } + public String toString() { + return obj.toString(); + } + } + public static class OurBitStorage implements GenericBitStorage { + private final SimpleBitStorage bs; + public OurBitStorage(int bits, int count, long[] data) { + bs = new SimpleBitStorage(bits, count, data); + } + @Override + public int get(int idx) { + return bs.get(idx); + } + } +} diff --git a/settings.gradle.kts b/settings.gradle.kts index 18b8cfac9..cd07f8057 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -29,7 +29,7 @@ listOf( "120-4", "120-5", "121", - //"121-3" + "121-3" ).forEach { include(":bukkit-helper:adapters:bukkit-helper-$it") } diff --git a/spigot/src/main/java/org/dynmap/bukkit/Helper.java b/spigot/src/main/java/org/dynmap/bukkit/Helper.java index cd1fad52b..44cd2abd3 100644 --- a/spigot/src/main/java/org/dynmap/bukkit/Helper.java +++ b/spigot/src/main/java/org/dynmap/bukkit/Helper.java @@ -40,6 +40,9 @@ else if(Bukkit.getServer().getClass().getName().contains("GlowServer")) { Log.info("Loading Glowstone support"); BukkitVersionHelper.helper = loadVersionHelper("org.dynmap.bukkit.helper.BukkitVersionHelperGlowstone"); } + else if (v.contains("(MC: 1.21.3)")) { + BukkitVersionHelper.helper = loadVersionHelper("org.dynmap.bukkit.helper.v121_3.BukkitVersionHelperSpigot121_3"); + } else if (v.contains("(MC: 1.21")) { BukkitVersionHelper.helper = loadVersionHelper("org.dynmap.bukkit.helper.v121.BukkitVersionHelperSpigot121"); } From 4b26d04bc1d1eab1937f39d09ec3b833f4568a92 Mon Sep 17 00:00:00 2001 From: Joo200 Date: Wed, 25 Dec 2024 22:22:40 +0100 Subject: [PATCH 3/3] squash: remove tabs, reformat --- .../BukkitVersionHelperSpigot121_3.java | 546 +++++++++--------- .../helper/v121_3/MapChunkCache121_3.java | 3 +- .../org/dynmap/bukkit/helper/v121_3/NBT.java | 253 ++++---- 3 files changed, 425 insertions(+), 377 deletions(-) diff --git a/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/BukkitVersionHelperSpigot121_3.java b/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/BukkitVersionHelperSpigot121_3.java index ebbac5d83..44764d190 100644 --- a/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/BukkitVersionHelperSpigot121_3.java +++ b/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/BukkitVersionHelperSpigot121_3.java @@ -71,69 +71,72 @@ public boolean isUnsafeAsync() { return true; } - /** + /** * Get block short name list */ @Override public String[] getBlockNames() { - IdMapper bsids = Block.BLOCK_STATE_REGISTRY; + IdMapper bsids = Block.BLOCK_STATE_REGISTRY; Block baseb = null; - Iterator iter = bsids.iterator(); - ArrayList names = new ArrayList(); - while (iter.hasNext()) { - BlockState bs = iter.next(); + Iterator iter = bsids.iterator(); + ArrayList names = new ArrayList(); + while (iter.hasNext()) { + BlockState bs = iter.next(); Block b = bs.getBlock(); - // If this is new block vs last, it's the base block state - if (b != baseb) { + // If this is new block vs last, it's the base block state + if (b != baseb) { baseb = b; continue; - } - ResourceLocation id = BuiltInRegistries.BLOCK.getKey(b); - String bn = id.toString(); + } + ResourceLocation id = BuiltInRegistries.BLOCK.getKey(b); + String bn = id.toString(); if (bn != null) { - names.add(bn); - Log.info("block=" + bn); + names.add(bn); + Log.info("block=" + bn); } - } + } return names.toArray(new String[0]); } private static Registry reg = null; private static Registry getBiomeReg() { - if (reg == null) { - reg = MinecraftServer.getServer().registryAccess().lookupOrThrow(Registries.BIOME); - } - return reg; + if (reg == null) { + reg = MinecraftServer.getServer().registryAccess().lookupOrThrow(Registries.BIOME); + } + return reg; } private Object[] biomelist; + /** * Get list of defined biomebase objects */ @Override public Object[] getBiomeBaseList() { - if (biomelist == null) { - biomelist = new Biome[256]; - Iterator iter = getBiomeReg().iterator(); - while (iter.hasNext()) { + if (biomelist == null) { + biomelist = new Biome[256]; + Iterator iter = getBiomeReg().iterator(); + while (iter.hasNext()) { Biome b = iter.next(); int bidx = getBiomeReg().getId(b); - if (bidx >= biomelist.length) { - biomelist = Arrays.copyOf(biomelist, bidx + biomelist.length); - } - biomelist[bidx] = b; - } + if (bidx >= biomelist.length) { + biomelist = Arrays.copyOf(biomelist, bidx + biomelist.length); + } + biomelist[bidx] = b; + } } return biomelist; } - /** Get ID from biomebase */ + /** + * Get ID from biomebase + */ @Override public int getBiomeBaseID(Object bb) { - return getBiomeReg().getId((Biome)bb); + return getBiomeReg().getId((Biome) bb); } - + public static IdentityHashMap dataToState; /** @@ -141,54 +144,66 @@ public int getBiomeBaseID(Object bb) { */ @Override public void initializeBlockStates() { - dataToState = new IdentityHashMap(); - HashMap lastBlockState = new HashMap(); - IdMapper bsids = Block.BLOCK_STATE_REGISTRY; + dataToState = new IdentityHashMap(); + HashMap lastBlockState = new HashMap(); + IdMapper bsids = Block.BLOCK_STATE_REGISTRY; Block baseb = null; - Iterator iter = bsids.iterator(); - ArrayList names = new ArrayList(); - - // Loop through block data states - DynmapBlockState.Builder bld = new DynmapBlockState.Builder(); - while (iter.hasNext()) { - BlockState bd = iter.next(); - Block b = bd.getBlock(); - ResourceLocation id = BuiltInRegistries.BLOCK.getKey(b); - String bname = id.toString(); - DynmapBlockState lastbs = lastBlockState.get(bname); // See if we have seen this one - int idx = 0; - if (lastbs != null) { // Yes - idx = lastbs.getStateCount(); // Get number of states so far, since this is next - } - // Build state name - String sb = ""; - String fname = bd.toString(); - int off1 = fname.indexOf('['); - if (off1 >= 0) { - int off2 = fname.indexOf(']'); - sb = fname.substring(off1+1, off2); - } + Iterator iter = bsids.iterator(); + ArrayList names = new ArrayList(); + + // Loop through block data states + DynmapBlockState.Builder bld = new DynmapBlockState.Builder(); + while (iter.hasNext()) { + BlockState bd = iter.next(); + Block b = bd.getBlock(); + ResourceLocation id = BuiltInRegistries.BLOCK.getKey(b); + String bname = id.toString(); + DynmapBlockState lastbs = lastBlockState.get(bname); // See if we have seen this one + int idx = 0; + if (lastbs != null) { // Yes + idx = lastbs.getStateCount(); // Get number of states so far, since this is next + } + // Build state name + String sb = ""; + String fname = bd.toString(); + int off1 = fname.indexOf('['); + if (off1 >= 0) { + int off2 = fname.indexOf(']'); + sb = fname.substring(off1 + 1, off2); + } int lightAtten = bd.getLightBlock(); // Fill in base attributes bld.setBaseState(lastbs).setStateIndex(idx).setBlockName(bname).setStateName(sb).setAttenuatesLight(lightAtten); - if (bd.getSoundType() != null) { bld.setMaterial(bd.getSoundType().toString()); } - if (bd.isSolid()) { bld.setSolid(); } - if (bd.isAir()) { bld.setAir(); } - if (bd.is(BlockTags.OVERWORLD_NATURAL_LOGS)) { bld.setLog(); } - if (bd.is(BlockTags.LEAVES)) { bld.setLeaves(); } - if ((!bd.getFluidState().isEmpty())) { // Test if fluid type for block is not empty - bld.setWaterlogged(); - } + if (bd.getSoundType() != null) { + bld.setMaterial(bd.getSoundType().toString()); + } + if (bd.isSolid()) { + bld.setSolid(); + } + if (bd.isAir()) { + bld.setAir(); + } + if (bd.is(BlockTags.OVERWORLD_NATURAL_LOGS)) { + bld.setLog(); + } + if (bd.is(BlockTags.LEAVES)) { + bld.setLeaves(); + } + if ((!bd.getFluidState().isEmpty())) { // Test if fluid type for block is not empty + bld.setWaterlogged(); + } DynmapBlockState dbs = bld.build(); // Build state - dataToState.put(bd, dbs); - lastBlockState.put(bname, (lastbs == null) ? dbs : lastbs); - Log.verboseinfo("blk=" + bname + ", idx=" + idx + ", state=" + sb + ", waterlogged=" + dbs.isWaterlogged()); - } + dataToState.put(bd, dbs); + lastBlockState.put(bname, (lastbs == null) ? dbs : lastbs); + Log.verboseinfo("blk=" + bname + ", idx=" + idx + ", state=" + sb + ", waterlogged=" + dbs.isWaterlogged()); + } } + /** * Create chunk cache for given chunks of given world - * @param dw - world + * + * @param dw - world * @param chunks - chunk list * @return cache */ @@ -198,248 +213,251 @@ public MapChunkCache getChunkCache(BukkitWorld dw, List chunks) { c.setChunks(dw, chunks); return c; } - - /** - * Get biome base water multiplier - */ + + /** + * Get biome base water multiplier + */ @Override - public int getBiomeBaseWaterMult(Object bb) { - Biome biome = (Biome) bb; - return biome.getWaterColor(); - } + public int getBiomeBaseWaterMult(Object bb) { + Biome biome = (Biome) bb; + return biome.getWaterColor(); + } - /** Get temperature from biomebase */ + /** + * Get temperature from biomebase + */ @Override public float getBiomeBaseTemperature(Object bb) { - return ((Biome)bb).getBaseTemperature(); + return ((Biome) bb).getBaseTemperature(); } - /** Get humidity from biomebase */ + /** + * Get humidity from biomebase + */ @Override public float getBiomeBaseHumidity(Object bb) { - return ((Biome)bb).climateSettings.downfall(); + return ((Biome) bb).climateSettings.downfall(); } - + @Override public Polygon getWorldBorder(World world) { Polygon p = null; WorldBorder wb = world.getWorldBorder(); if (wb != null) { - Location c = wb.getCenter(); - double size = wb.getSize(); - if ((size > 1) && (size < 1E7)) { - size = size / 2; - p = new Polygon(); - p.addVertex(c.getX()-size, c.getZ()-size); - p.addVertex(c.getX()+size, c.getZ()-size); - p.addVertex(c.getX()+size, c.getZ()+size); - p.addVertex(c.getX()-size, c.getZ()+size); - } + Location c = wb.getCenter(); + double size = wb.getSize(); + if ((size > 1) && (size < 1E7)) { + size = size / 2; + p = new Polygon(); + p.addVertex(c.getX() - size, c.getZ() - size); + p.addVertex(c.getX() + size, c.getZ() - size); + p.addVertex(c.getX() + size, c.getZ() + size); + p.addVertex(c.getX() - size, c.getZ() + size); + } } return p; } - // Send title/subtitle to user + + // Send title/subtitle to user public void sendTitleText(Player p, String title, String subtitle, int fadeInTicks, int stayTicks, int fadeOutTIcks) { - if (p != null) { - p.sendTitle(title, subtitle, fadeInTicks, stayTicks, fadeOutTIcks); - } + if (p != null) { + p.sendTitle(title, subtitle, fadeInTicks, stayTicks, fadeOutTIcks); + } } - + /** * Get material map by block ID */ @Override public BukkitMaterial[] getMaterialList() { - return new BukkitMaterial[4096]; // Not used - } - - @Override - public void unloadChunkNoSave(World w, org.bukkit.Chunk c, int cx, int cz) { - Log.severe("unloadChunkNoSave not implemented"); - } - - private String[] biomenames; - @Override - public String[] getBiomeNames() { - if (biomenames == null) { - biomenames = new String[256]; - Iterator iter = getBiomeReg().iterator(); - while (iter.hasNext()) { - Biome b = iter.next(); + return new BukkitMaterial[4096]; // Not used + } + + @Override + public void unloadChunkNoSave(World w, org.bukkit.Chunk c, int cx, int cz) { + Log.severe("unloadChunkNoSave not implemented"); + } + + private String[] biomenames; + + @Override + public String[] getBiomeNames() { + if (biomenames == null) { + biomenames = new String[256]; + Iterator iter = getBiomeReg().iterator(); + while (iter.hasNext()) { + Biome b = iter.next(); int bidx = getBiomeReg().getId(b); - if (bidx >= biomenames.length) { - biomenames = Arrays.copyOf(biomenames, bidx + biomenames.length); - } - biomenames[bidx] = b.toString(); - } + if (bidx >= biomenames.length) { + biomenames = Arrays.copyOf(biomenames, bidx + biomenames.length); + } + biomenames[bidx] = b.toString(); + } } return biomenames; - } - - @Override - public String getStateStringByCombinedId(int blkid, int meta) { - Log.severe("getStateStringByCombinedId not implemented"); - return null; - } - @Override + } + + @Override + public String getStateStringByCombinedId(int blkid, int meta) { + Log.severe("getStateStringByCombinedId not implemented"); + return null; + } + + @Override /** Get ID string from biomebase */ public String getBiomeBaseIDString(Object bb) { - return getBiomeReg().getKey((Biome)bb).getPath(); + return getBiomeReg().getKey((Biome) bb).getPath(); } - @Override + + @Override public String getBiomeBaseResourceLocsation(Object bb) { - return getBiomeReg().getKey((Biome)bb).toString(); - } - - @Override - public Object getUnloadQueue(World world) { - Log.warning("getUnloadQueue not implemented yet"); - // TODO Auto-generated method stub - return null; - } - - @Override - public boolean isInUnloadQueue(Object unloadqueue, int x, int z) { - Log.warning("isInUnloadQueue not implemented yet"); - // TODO Auto-generated method stub - return false; - } - - @Override - public Object[] getBiomeBaseFromSnapshot(ChunkSnapshot css) { - Log.warning("getBiomeBaseFromSnapshot not implemented yet"); - // TODO Auto-generated method stub - return new Object[256]; - } - - @Override - public long getInhabitedTicks(Chunk c) { - return ((CraftChunk)c).getHandle(ChunkStatus.FULL).getInhabitedTime(); - } - - @Override - public Map getTileEntitiesForChunk(Chunk c) { - return ((CraftChunk)c).getHandle(ChunkStatus.FULL).blockEntities; - } - - @Override - public int getTileEntityX(Object te) { - BlockEntity tileent = (BlockEntity) te; - return tileent.getBlockPos().getX(); - } - - @Override - public int getTileEntityY(Object te) { - BlockEntity tileent = (BlockEntity) te; - return tileent.getBlockPos().getY(); - } - - @Override - public int getTileEntityZ(Object te) { - BlockEntity tileent = (BlockEntity) te; - return tileent.getBlockPos().getZ(); - } - - @Override - public Object readTileEntityNBT(Object te, World world) { - BlockEntity tileent = (BlockEntity) te; - if (tileent.getLevel() == null) { - return null; - } - return tileent.saveWithFullMetadata(((CraftWorld)world).getHandle().registryAccess()); - } - - @Override - public Object getFieldValue(Object nbt, String field) { - CompoundTag rec = (CompoundTag) nbt; - Tag val = rec.get(field); - if(val == null) return null; - if(val instanceof ByteTag tag) { - return tag.getAsByte(); - } - else if(val instanceof ShortTag tag) { - return tag.getAsShort(); - } - else if(val instanceof IntTag tag) { - return tag.getAsInt(); - } - else if(val instanceof LongTag tag) { - return tag.getAsLong(); - } - else if(val instanceof FloatTag tag) { - return tag.getAsFloat(); - } - else if(val instanceof DoubleTag tag) { - return tag.getAsDouble(); - } - else if(val instanceof ByteArrayTag tag) { - return tag.getAsByteArray(); - } - else if(val instanceof StringTag tag) { - return tag.getAsString(); + return getBiomeReg().getKey((Biome) bb).toString(); + } + + @Override + public Object getUnloadQueue(World world) { + Log.warning("getUnloadQueue not implemented yet"); + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean isInUnloadQueue(Object unloadqueue, int x, int z) { + Log.warning("isInUnloadQueue not implemented yet"); + // TODO Auto-generated method stub + return false; + } + + @Override + public Object[] getBiomeBaseFromSnapshot(ChunkSnapshot css) { + Log.warning("getBiomeBaseFromSnapshot not implemented yet"); + // TODO Auto-generated method stub + return new Object[256]; + } + + @Override + public long getInhabitedTicks(Chunk c) { + return ((CraftChunk) c).getHandle(ChunkStatus.FULL).getInhabitedTime(); + } + + @Override + public Map getTileEntitiesForChunk(Chunk c) { + return ((CraftChunk) c).getHandle(ChunkStatus.FULL).blockEntities; + } + + @Override + public int getTileEntityX(Object te) { + BlockEntity tileent = (BlockEntity) te; + return tileent.getBlockPos().getX(); + } + + @Override + public int getTileEntityY(Object te) { + BlockEntity tileent = (BlockEntity) te; + return tileent.getBlockPos().getY(); + } + + @Override + public int getTileEntityZ(Object te) { + BlockEntity tileent = (BlockEntity) te; + return tileent.getBlockPos().getZ(); + } + + @Override + public Object readTileEntityNBT(Object te, World world) { + BlockEntity tileent = (BlockEntity) te; + if (tileent.getLevel() == null) { + return null; } - else if(val instanceof IntArrayTag tag) { - return tag.getAsIntArray(); + return tileent.saveWithFullMetadata(((CraftWorld) world).getHandle().registryAccess()); + } + + @Override + public Object getFieldValue(Object nbt, String field) { + CompoundTag rec = (CompoundTag) nbt; + Tag val = rec.get(field); + if (val == null) return null; + if (val instanceof ByteTag tag) { + return tag.getAsByte(); + } else if (val instanceof ShortTag tag) { + return tag.getAsShort(); + } else if (val instanceof IntTag tag) { + return tag.getAsInt(); + } else if (val instanceof LongTag tag) { + return tag.getAsLong(); + } else if (val instanceof FloatTag tag) { + return tag.getAsFloat(); + } else if (val instanceof DoubleTag tag) { + return tag.getAsDouble(); + } else if (val instanceof ByteArrayTag tag) { + return tag.getAsByteArray(); + } else if (val instanceof StringTag tag) { + return tag.getAsString(); + } else if (val instanceof IntArrayTag tag) { + return tag.getAsIntArray(); } return null; - } + } - @Override - public Player[] getOnlinePlayers() { + @Override + public Player[] getOnlinePlayers() { Collection p = Bukkit.getServer().getOnlinePlayers(); return p.toArray(new Player[0]); - } + } + + @Override + public double getHealth(Player p) { + return p.getHealth(); + } - @Override - public double getHealth(Player p) { - return p.getHealth(); - } - private static final Gson gson = new GsonBuilder().create(); /** * Get skin URL for player + * * @param player */ - @Override + @Override public String getSkinURL(Player player) { - String url = null; - CraftPlayer cp = (CraftPlayer)player; - GameProfile profile = cp.getProfile(); - if (profile != null) { - PropertyMap pm = profile.getProperties(); - if (pm != null) { - Collection txt = pm.get("textures"); - Property textureProperty = Iterables.getFirst(pm.get("textures"), null); - if (textureProperty != null) { - String val = textureProperty.value(); - if (val != null) { - TexturesPayload result = null; - try { + String url = null; + CraftPlayer cp = (CraftPlayer) player; + GameProfile profile = cp.getProfile(); + if (profile != null) { + PropertyMap pm = profile.getProperties(); + if (pm != null) { + Collection txt = pm.get("textures"); + Property textureProperty = Iterables.getFirst(pm.get("textures"), null); + if (textureProperty != null) { + String val = textureProperty.value(); + if (val != null) { + TexturesPayload result = null; + try { String json = new String(Base64.getDecoder().decode(val), StandardCharsets.UTF_8); - result = gson.fromJson(json, TexturesPayload.class); - } catch (JsonParseException e) { - } catch (IllegalArgumentException x) { - Log.warning("Malformed response from skin URL check: " + val); - } - if ((result != null) && (result.textures != null) && (result.textures.containsKey("SKIN"))) { - url = result.textures.get("SKIN").url; - } - } - } - } - } - return url; - } - // Get minY for world - @Override - public int getWorldMinY(World w) { - CraftWorld cw = (CraftWorld) w; - return cw.getMinHeight(); - } - @Override + result = gson.fromJson(json, TexturesPayload.class); + } catch (JsonParseException e) { + } catch (IllegalArgumentException x) { + Log.warning("Malformed response from skin URL check: " + val); + } + if ((result != null) && (result.textures != null) && (result.textures.containsKey("SKIN"))) { + url = result.textures.get("SKIN").url; + } + } + } + } + } + return url; + } + + // Get minY for world + @Override + public int getWorldMinY(World w) { + CraftWorld cw = (CraftWorld) w; + return cw.getMinHeight(); + } + + @Override public boolean useGenericCache() { - return true; + return true; } } diff --git a/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/MapChunkCache121_3.java b/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/MapChunkCache121_3.java index f22d8be07..41f22f506 100644 --- a/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/MapChunkCache121_3.java +++ b/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/MapChunkCache121_3.java @@ -26,6 +26,7 @@ */ public class MapChunkCache121_3 extends GenericMapChunkCache { private World w; + /** * Construct empty cache */ @@ -47,7 +48,7 @@ protected GenericChunk getLoadedChunk(DynmapChunk chunk) { // Load generic chunk from unloaded chunk @Override - protected Supplier loadChunkAsync(DynmapChunk chunk){ + protected Supplier loadChunkAsync(DynmapChunk chunk) { CraftWorld cw = (CraftWorld) w; CompletableFuture> future = cw.getHandle().getChunkSource().chunkMap.read(new ChunkPos(chunk.x, chunk.z)); return () -> { diff --git a/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/NBT.java b/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/NBT.java index 05dc79447..b25b9b4bf 100644 --- a/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/NBT.java +++ b/bukkit-helper/adapters/bukkit-helper-121-3/src/main/java/org/dynmap/bukkit/helper/v121_3/NBT.java @@ -11,116 +11,145 @@ public class NBT { - public static class NBTCompound implements GenericNBTCompound { - private final CompoundTag obj; - public NBTCompound(CompoundTag t) { - this.obj = t; - } - @Override - public Set getAllKeys() { - return obj.getAllKeys(); - } - @Override - public boolean contains(String s) { - return obj.contains(s); - } - @Override - public boolean contains(String s, int i) { - return obj.contains(s, i); - } - @Override - public byte getByte(String s) { - return obj.getByte(s); - } - @Override - public short getShort(String s) { - return obj.getShort(s); - } - @Override - public int getInt(String s) { - return obj.getInt(s); - } - @Override - public long getLong(String s) { - return obj.getLong(s); - } - @Override - public float getFloat(String s) { - return obj.getFloat(s); - } - @Override - public double getDouble(String s) { - return obj.getDouble(s); - } - @Override - public String getString(String s) { - return obj.getString(s); - } - @Override - public byte[] getByteArray(String s) { - return obj.getByteArray(s); - } - @Override - public int[] getIntArray(String s) { - return obj.getIntArray(s); - } - @Override - public long[] getLongArray(String s) { - return obj.getLongArray(s); - } - @Override - public GenericNBTCompound getCompound(String s) { - return new NBTCompound(obj.getCompound(s)); - } - @Override - public GenericNBTList getList(String s, int i) { - return new NBTList(obj.getList(s, i)); - } - @Override - public boolean getBoolean(String s) { - return obj.getBoolean(s); - } - @Override - public String getAsString(String s) { - return obj.get(s).getAsString(); - } - @Override - public GenericBitStorage makeBitStorage(int bits, int count, long[] data) { - return new OurBitStorage(bits, count, data); - } - public String toString() { - return obj.toString(); - } - } - public static class NBTList implements GenericNBTList { - private final ListTag obj; - public NBTList(ListTag t) { - obj = t; - } - @Override - public int size() { - return obj.size(); - } - @Override - public String getString(int idx) { - return obj.getString(idx); - } - @Override - public GenericNBTCompound getCompound(int idx) { - return new NBTCompound(obj.getCompound(idx)); - } - public String toString() { - return obj.toString(); - } - } - public static class OurBitStorage implements GenericBitStorage { - private final SimpleBitStorage bs; - public OurBitStorage(int bits, int count, long[] data) { - bs = new SimpleBitStorage(bits, count, data); - } - @Override - public int get(int idx) { - return bs.get(idx); - } - } + public static class NBTCompound implements GenericNBTCompound { + private final CompoundTag obj; + + public NBTCompound(CompoundTag t) { + this.obj = t; + } + + @Override + public Set getAllKeys() { + return obj.getAllKeys(); + } + + @Override + public boolean contains(String s) { + return obj.contains(s); + } + + @Override + public boolean contains(String s, int i) { + return obj.contains(s, i); + } + + @Override + public byte getByte(String s) { + return obj.getByte(s); + } + + @Override + public short getShort(String s) { + return obj.getShort(s); + } + + @Override + public int getInt(String s) { + return obj.getInt(s); + } + + @Override + public long getLong(String s) { + return obj.getLong(s); + } + + @Override + public float getFloat(String s) { + return obj.getFloat(s); + } + + @Override + public double getDouble(String s) { + return obj.getDouble(s); + } + + @Override + public String getString(String s) { + return obj.getString(s); + } + + @Override + public byte[] getByteArray(String s) { + return obj.getByteArray(s); + } + + @Override + public int[] getIntArray(String s) { + return obj.getIntArray(s); + } + + @Override + public long[] getLongArray(String s) { + return obj.getLongArray(s); + } + + @Override + public GenericNBTCompound getCompound(String s) { + return new NBTCompound(obj.getCompound(s)); + } + + @Override + public GenericNBTList getList(String s, int i) { + return new NBTList(obj.getList(s, i)); + } + + @Override + public boolean getBoolean(String s) { + return obj.getBoolean(s); + } + + @Override + public String getAsString(String s) { + return obj.get(s).getAsString(); + } + + @Override + public GenericBitStorage makeBitStorage(int bits, int count, long[] data) { + return new OurBitStorage(bits, count, data); + } + + public String toString() { + return obj.toString(); + } + } + + public static class NBTList implements GenericNBTList { + private final ListTag obj; + + public NBTList(ListTag t) { + obj = t; + } + + @Override + public int size() { + return obj.size(); + } + + @Override + public String getString(int idx) { + return obj.getString(idx); + } + + @Override + public GenericNBTCompound getCompound(int idx) { + return new NBTCompound(obj.getCompound(idx)); + } + + public String toString() { + return obj.toString(); + } + } + + public static class OurBitStorage implements GenericBitStorage { + private final SimpleBitStorage bs; + + public OurBitStorage(int bits, int count, long[] data) { + bs = new SimpleBitStorage(bits, count, data); + } + + @Override + public int get(int idx) { + return bs.get(idx); + } + } }