Merge "personal/vuko/shells initial commit"
diff --git a/WORKSPACE b/WORKSPACE
index 5af740d..d3755c0 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -16,6 +16,19 @@
sha256 = "2ef429f5d7ce7111263289644d233707dba35e39696377ebab8b0bc701f7818e",
)
+# zlib
+
+http_archive(
+ name = "zlib",
+ build_file = "@com_google_protobuf//:third_party/zlib.BUILD",
+ sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1",
+ strip_prefix = "zlib-1.2.11",
+ urls = [
+ "https://mirror.bazel.build/zlib.net/zlib-1.2.11.tar.gz",
+ "https://zlib.net/zlib-1.2.11.tar.gz",
+ ],
+)
+
# subpar
git_repository(
@@ -29,9 +42,9 @@
http_archive(
name = "io_bazel_rules_docker",
- sha256 = "87fc6a2b128147a0a3039a2fd0b53cc1f2ed5adb8716f50756544a572999ae9a",
- strip_prefix = "rules_docker-0.8.1",
- urls = ["https://github.com/bazelbuild/rules_docker/archive/v0.8.1.tar.gz"],
+ sha256 = "dc97fccceacd4c6be14e800b2a00693d5e8d07f69ee187babfd04a80a9f8e250",
+ strip_prefix = "rules_docker-0.14.1",
+ urls = ["https://github.com/bazelbuild/rules_docker/releases/download/v0.14.1/rules_docker-v0.14.1.tar.gz"],
)
load("@io_bazel_rules_docker//toolchains/docker:toolchain.bzl", docker_toolchain_configure = "toolchain_configure")
@@ -97,22 +110,6 @@
pip_install()
-# stackb/rules_proto (for Python proto compilation)
-http_archive(
- name = "build_stack_rules_proto",
- urls = ["https://github.com/stackb/rules_proto/archive/b93b544f851fdcd3fc5c3d47aee3b7ca158a8841.tar.gz"],
- sha256 = "c62f0b442e82a6152fcd5b1c0b7c4028233a9e314078952b6b04253421d56d61",
- strip_prefix = "rules_proto-b93b544f851fdcd3fc5c3d47aee3b7ca158a8841",
-)
-
-load("@build_stack_rules_proto//python:deps.bzl", "python_grpc_compile")
-
-python_grpc_compile()
-
-load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
-
-grpc_deps()
-
# Docker base images
load("@io_bazel_rules_docker//container:container.bzl", "container_pull")
@@ -180,22 +177,24 @@
# Go rules
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+
http_archive(
name = "io_bazel_rules_go",
+ sha256 = "6a68e269802911fa419abb940c850734086869d7fe9bc8e12aaf60a09641c818",
urls = [
- "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.22.2/rules_go-v0.22.2.tar.gz",
- "https://github.com/bazelbuild/rules_go/releases/download/v0.22.2/rules_go-v0.22.2.tar.gz",
+ "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.23.0/rules_go-v0.23.0.tar.gz",
+ "https://github.com/bazelbuild/rules_go/releases/download/v0.23.0/rules_go-v0.23.0.tar.gz",
],
- sha256 = "142dd33e38b563605f0d20e89d9ef9eda0fc3cb539a14be1bdb1350de2eda659",
)
http_archive(
name = "bazel_gazelle",
+ sha256 = "bfd86b3cbe855d6c16c6fce60d76bd51f5c8dbc9cfcaef7a2bb5c1aafd0710e8",
urls = [
- "https://storage.googleapis.com/bazel-mirror/github.com/bazelbuild/bazel-gazelle/releases/download/v0.20.0/bazel-gazelle-v0.20.0.tar.gz",
- "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.20.0/bazel-gazelle-v0.20.0.tar.gz",
+ "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.21.0/bazel-gazelle-v0.21.0.tar.gz",
+ "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.21.0/bazel-gazelle-v0.21.0.tar.gz",
],
- sha256 = "d8c45ee70ec39a57e7a05e5027c32b1576cc7f16d9dd37135b0eddde45cf1b10",
)
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies", "go_repository")
@@ -206,14 +205,13 @@
importpath = "golang.org/x/net",
)
-# Invoke go_rules_dependencies depending on host platform.
-load("//tools:go_sdk.bzl", "gen_imports")
+load("@io_bazel_rules_go//go:deps.bzl", "go_rules_dependencies", "go_register_toolchains")
-gen_imports(name = "go_sdk_imports")
+go_rules_dependencies()
-load("@go_sdk_imports//:imports.bzl", "load_go_sdk")
+go_register_toolchains()
-load_go_sdk()
+load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
gazelle_dependencies()
@@ -232,63 +230,63 @@
gerrit_api()
-load("@com_googlesource_gerrit_bazlets//tools:maven_jar.bzl", "maven_jar", "GERRIT")
+load("@com_googlesource_gerrit_bazlets//tools:maven_jar.bzl", gerrit_maven_jar="maven_jar", GERRIT="GERRIT")
PROLOG_VERS = "1.4.3"
JACKSON_VER = "2.9.7"
-maven_jar(
+gerrit_maven_jar(
name = "scribe",
artifact = "org.scribe:scribe:1.3.7",
sha1 = "583921bed46635d9f529ef5f14f7c9e83367bc6e",
)
-maven_jar(
+gerrit_maven_jar(
name = "commons-codec",
artifact = "commons-codec:commons-codec:1.4",
sha1 = "4216af16d38465bbab0f3dff8efa14204f7a399a",
)
-maven_jar(
+gerrit_maven_jar(
name = "jackson-core",
artifact = "com.fasterxml.jackson.core:jackson-core:" + JACKSON_VER,
sha1 = "4b7f0e0dc527fab032e9800ed231080fdc3ac015",
)
-maven_jar(
+gerrit_maven_jar(
name = "jackson-databind",
artifact = "com.fasterxml.jackson.core:jackson-databind:" + JACKSON_VER,
sha1 = "e6faad47abd3179666e89068485a1b88a195ceb7",
)
-maven_jar(
+gerrit_maven_jar(
name = "jackson-annotations",
artifact = "com.fasterxml.jackson.core:jackson-annotations:" + JACKSON_VER,
sha1 = "4b838e5c4fc17ac02f3293e9a558bb781a51c46d",
)
-maven_jar(
+gerrit_maven_jar(
name = "jackson-dataformat-yaml",
artifact = "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:" + JACKSON_VER,
sha1 = "a428edc4bb34a2da98a50eb759c26941d4e85960",
)
-maven_jar(
+gerrit_maven_jar(
name = "snakeyaml",
artifact = "org.yaml:snakeyaml:1.23",
sha1 = "ec62d74fe50689c28c0ff5b35d3aebcaa8b5be68",
)
-maven_jar(
+gerrit_maven_jar(
name = "prolog-runtime",
artifact = "com.googlecode.prolog-cafe:prolog-runtime:" + PROLOG_VERS,
attach_source = False,
repository = GERRIT,
sha1 = "d5206556cbc76ffeab21313ffc47b586a1efbcbb",
)
-maven_jar(
+gerrit_maven_jar(
name = "prolog-compiler",
artifact = "com.googlecode.prolog-cafe:prolog-compiler:" + PROLOG_VERS,
attach_source = False,
repository = GERRIT,
sha1 = "f37032cf1dec3e064427745bc59da5a12757a3b2",
)
-maven_jar(
+gerrit_maven_jar(
name = "prolog-io",
artifact = "com.googlecode.prolog-cafe:prolog-io:" + PROLOG_VERS,
attach_source = False,
@@ -296,6 +294,55 @@
sha1 = "d02b2640b26f64036b6ba2b45e4acc79281cea17",
)
+# minecraft spigot/bukkit deps
+# this uses rules_jvm_external vs gerrit's maven_jar because we need SNAPSHOT support
+
+http_archive(
+ name = "io_grpc_grpc_java",
+ sha256 = "446ad7a2e85bbd05406dbf95232c7c49ed90de83b3b60cb2048b0c4c9f254d29",
+ strip_prefix = "grpc-java-1.29.0",
+ url = "https://github.com/grpc/grpc-java/archive/v1.29.0.zip",
+)
+
+RULES_JVM_EXTERNAL_TAG = "3.0"
+RULES_JVM_EXTERNAL_SHA = "62133c125bf4109dfd9d2af64830208356ce4ef8b165a6ef15bbff7460b35c3a"
+
+http_archive(
+ name = "rules_jvm_external",
+ strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG,
+ sha256 = RULES_JVM_EXTERNAL_SHA,
+ url = "https://github.com/bazelbuild/rules_jvm_external/archive/%s.zip" % RULES_JVM_EXTERNAL_TAG,
+)
+
+load("@rules_jvm_external//:defs.bzl", "maven_install")
+load("@io_grpc_grpc_java//:repositories.bzl", "IO_GRPC_GRPC_JAVA_ARTIFACTS")
+load("@io_grpc_grpc_java//:repositories.bzl", "IO_GRPC_GRPC_JAVA_OVERRIDE_TARGETS")
+
+maven_install(
+ artifacts = [
+ "org.spigotmc:spigot-api:1.15.2-R0.1-SNAPSHOT",
+ "io.grpc:grpc-netty-shaded:1.29.0",
+ "io.grpc:grpc-services:1.29.0",
+ ] + IO_GRPC_GRPC_JAVA_ARTIFACTS,
+ generate_compat_repositories = True,
+ override_targets = IO_GRPC_GRPC_JAVA_OVERRIDE_TARGETS,
+ repositories = [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots",
+ "https://oss.sonatype.org/content/repositories/snapshots",
+ "https://repo1.maven.org/maven2/",
+ ],
+ maven_install_json = "//third_party/java:maven_install.json",
+)
+
+load("@maven//:defs.bzl", "pinned_maven_install")
+pinned_maven_install()
+
+load("@maven//:compat.bzl", "compat_repositories")
+compat_repositories()
+
+load("@io_grpc_grpc_java//:repositories.bzl", "grpc_java_repositories")
+grpc_java_repositories()
+
# Gerrit OWNERS plugins external repositories
git_repository(
@@ -1316,42 +1363,6 @@
)
go_repository(
- name = "com_github_azure_go_autorest_autorest",
- importpath = "github.com/Azure/go-autorest/autorest",
- tag = "v0.9.0",
-)
-
-go_repository(
- name = "com_github_azure_go_autorest_autorest_adal",
- importpath = "github.com/Azure/go-autorest/autorest/adal",
- tag = "v0.5.0",
-)
-
-go_repository(
- name = "com_github_azure_go_autorest_autorest_date",
- importpath = "github.com/Azure/go-autorest/autorest/date",
- tag = "v0.1.0",
-)
-
-go_repository(
- name = "com_github_azure_go_autorest_autorest_mocks",
- importpath = "github.com/Azure/go-autorest/autorest/mocks",
- tag = "v0.2.0",
-)
-
-go_repository(
- name = "com_github_azure_go_autorest_logger",
- importpath = "github.com/Azure/go-autorest/logger",
- tag = "v0.1.0",
-)
-
-go_repository(
- name = "com_github_azure_go_autorest_tracing",
- importpath = "github.com/Azure/go-autorest/tracing",
- tag = "v0.5.0",
-)
-
-go_repository(
name = "com_github_bgentry_speakeasy",
importpath = "github.com/bgentry/speakeasy",
tag = "v0.1.0",
diff --git a/cluster/kube/cluster.jsonnet b/cluster/kube/cluster.jsonnet
index f781d1f..71537d6 100644
--- a/cluster/kube/cluster.jsonnet
+++ b/cluster/kube/cluster.jsonnet
@@ -494,7 +494,7 @@
},
# nuke@hackerspace.pl's personal storage.
- nukePersonalWaw3: kube.CephObjectStoreuser("nuke-personal") {
+ nukePersonalWaw3: kube.CephObjectStoreUser("nuke-personal") {
metadata+: {
namespace: "ceph-waw3",
},
diff --git a/personal/q3k/minecraft/Dockerfile-vanilla b/personal/q3k/minecraft/Dockerfile-vanilla
index 9ba7478..61852a5 100644
--- a/personal/q3k/minecraft/Dockerfile-vanilla
+++ b/personal/q3k/minecraft/Dockerfile-vanilla
@@ -37,6 +37,9 @@
rm -rf build ;\
mv spigot*.jar spigot.jar
+ADD worldedit-bukkit-7.1.0.jar .
+ADD worldguard-bukkit-7.0.2.jar .
+
RUN set -e -x ;\
VERSION=1.15.2 ;\
mkdir -p /home/minecraft/.minecraft/versions/${VERSION}/ ;\
diff --git a/personal/q3k/minecraft/LICENSE.thirdparty.txt b/personal/q3k/minecraft/LICENSE.thirdparty.txt
new file mode 100644
index 0000000..4444b16
--- /dev/null
+++ b/personal/q3k/minecraft/LICENSE.thirdparty.txt
@@ -0,0 +1,7 @@
+WorldEdit and WorldGuard are licensed under the terms of the GNU Lesser General
+Public License v3.
+
+Full license texts are available at:
+
+* WorldEdit: https://github.com/EngineHub/WorldEdit/blob/7.1.0/LICENSE.txt
+* WorldGuard: https://github.com/EngineHub/WorldGuard/blob/7.0.2/LICENSE.txt
diff --git a/personal/q3k/minecraft/plugin/BUILD b/personal/q3k/minecraft/plugin/BUILD
new file mode 100644
index 0000000..ac8e49f
--- /dev/null
+++ b/personal/q3k/minecraft/plugin/BUILD
@@ -0,0 +1,14 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
+
+go_library(
+ name = "go_default_library",
+ srcs = ["genpluginyml.go"],
+ importpath = "code.hackerspace.pl/personal/q3k/minecraft/plugins/genpluginyml",
+ visibility = ["//visibility:private"],
+)
+
+go_binary(
+ name = "genpluginyml",
+ embed = [":go_default_library"],
+ visibility = ["//visibility:public"],
+)
diff --git a/personal/q3k/minecraft/plugin/defs.bzl b/personal/q3k/minecraft/plugin/defs.bzl
new file mode 100644
index 0000000..898b057
--- /dev/null
+++ b/personal/q3k/minecraft/plugin/defs.bzl
@@ -0,0 +1,64 @@
+load("//bzl:rules.bzl", copy_binary="copy_go_binary")
+
+def _plugin_yml_gen_impl(ctx):
+ ctx.actions.run(
+ mnemonic = "PluginYmlGen",
+ progress_message = "Generating plugin.yml",
+
+ inputs = [ctx.info_file],
+ outputs = [ctx.outputs.out],
+ executable = ctx.executable._genpluginyml,
+ arguments = [
+ "-name", ctx.label.name,
+ "-author", ctx.attr.author,
+ "-main", ctx.attr.main,
+ "-version", ctx.attr.version,
+ "-status_file", ctx.info_file.path,
+ "-out_file", ctx.outputs.out.path,
+ ],
+ )
+
+plugin_yml_gen = rule(
+ implementation = _plugin_yml_gen_impl,
+ attrs = {
+ "main": attr.string(mandatory = True),
+ "version": attr.string(default = ""),
+ "author": attr.string(default = "bazel"),
+ "_genpluginyml": attr.label(
+ default = Label("//personal/q3k/minecraft/plugin:genpluginyml"),
+ cfg = "host",
+ executable = True,
+ allow_files = True,
+ ),
+ },
+ outputs = {
+ "out": "plugin.yml",
+ },
+)
+
+def bukkit_plugin(name, srcs, deps, main, author="", version=""):
+ ymlname = name + "-yml"
+ plugin_yml_gen(
+ name = ymlname,
+ author = author,
+ version = version,
+ main = main,
+ )
+
+ jarname = name + "-jar"
+ native.java_binary(
+ name = jarname,
+ create_executable = False,
+ srcs = srcs,
+ deps = deps,
+ classpath_resources = [":" + ymlname],
+ )
+
+ copy_binary(
+ name = name + ".jar",
+ src = ":" + jarname + "_deploy.jar",
+ )
+ native.alias(
+ name = name,
+ actual = ":" + name + ".jar",
+ )
diff --git a/personal/q3k/minecraft/plugin/example/BUILD b/personal/q3k/minecraft/plugin/example/BUILD
new file mode 100644
index 0000000..e3bc13a
--- /dev/null
+++ b/personal/q3k/minecraft/plugin/example/BUILD
@@ -0,0 +1,11 @@
+load("//personal/q3k/minecraft/plugin:defs.bzl", "bukkit_plugin")
+bukkit_plugin(
+ name = "example",
+ main = "hscloud.personal.q3k.minecraft.plugin.example.Main",
+ srcs = [
+ "Main.java"
+ ],
+ deps = [
+ "@maven//:org_spigotmc_spigot_api",
+ ],
+)
diff --git a/personal/q3k/minecraft/plugin/example/Main.java b/personal/q3k/minecraft/plugin/example/Main.java
new file mode 100644
index 0000000..a67ee78
--- /dev/null
+++ b/personal/q3k/minecraft/plugin/example/Main.java
@@ -0,0 +1,15 @@
+package hscloud.personal.q3k.minecraft.plugin.example;
+
+import org.bukkit.plugin.java.JavaPlugin;
+
+public class Main extends JavaPlugin {
+ @Override
+ public void onEnable() {
+ System.out.println("enabled");
+ }
+
+ @Override
+ public void onDisable() {
+ System.out.println("disabled");
+ }
+}
diff --git a/personal/q3k/minecraft/plugin/genpluginyml.go b/personal/q3k/minecraft/plugin/genpluginyml.go
new file mode 100644
index 0000000..1174f8f
--- /dev/null
+++ b/personal/q3k/minecraft/plugin/genpluginyml.go
@@ -0,0 +1,76 @@
+package main
+
+import (
+ "encoding/json"
+ "flag"
+ "fmt"
+ "io/ioutil"
+ "log"
+ "strings"
+)
+
+var (
+ flagName string
+ flagAuthor string
+ flagMain string
+ flagVersion string
+
+ flagStatusFile string
+ flagOutFile string
+)
+
+func main() {
+ flag.StringVar(&flagName, "name", "", "plugin name")
+ flag.StringVar(&flagAuthor, "author", "", "plugin author")
+ flag.StringVar(&flagMain, "main", "", "plugin main class")
+ flag.StringVar(&flagVersion, "version", "", "plugin version, if not given, workspace status will be used")
+ flag.StringVar(&flagStatusFile, "status_file", "", "path to workspace status file for version generation")
+ flag.StringVar(&flagOutFile, "out_file", "plugin.yml", "path to output plugin.yml")
+ flag.Parse()
+
+ if flagVersion == "" {
+ status, err := ioutil.ReadFile(flagStatusFile)
+ if err != nil {
+ log.Fatalf("ReadFile(%q): %v", flagStatusFile, err)
+ }
+
+ for _, line := range strings.Split(string(status), "\n") {
+ line = strings.TrimSpace(line)
+ parts := strings.Fields(line)
+ if len(parts) != 2 {
+ continue
+ }
+ if parts[0] == "STABLE_GIT_VERSION" {
+ flagVersion = fmt.Sprintf("hscloud-git-%s", parts[1])
+ }
+ }
+ }
+
+ if flagVersion == "" {
+ log.Fatalf("could not determine version from status")
+ }
+
+ // a yaml is a json, a json is a yaml
+ yml := struct {
+ Name string `json:"name"`
+ Version string `json:"version"`
+ Author string `json:"author"`
+ Main string `json:"main"`
+ APIVersion string `json:"api-version"`
+ }{
+ Name: flagName,
+ Version: flagVersion,
+ Author: flagAuthor,
+ Main: flagMain,
+ APIVersion: "1.15",
+ }
+
+ out, err := json.Marshal(&yml)
+ if err != nil {
+ log.Fatalf("marshal: %v", err)
+ }
+ err = ioutil.WriteFile(flagOutFile, out, 0644)
+ if err != nil {
+ log.Fatalf("WriteFile(%q): %v", out, err)
+ }
+}
diff --git a/personal/q3k/minecraft/plugin/hscloud/BUILD b/personal/q3k/minecraft/plugin/hscloud/BUILD
new file mode 100644
index 0000000..418c5c5
--- /dev/null
+++ b/personal/q3k/minecraft/plugin/hscloud/BUILD
@@ -0,0 +1,19 @@
+load("//personal/q3k/minecraft/plugin:defs.bzl", "bukkit_plugin")
+bukkit_plugin(
+ name = "hscloud",
+ main = "hscloud.personal.q3k.minecraft.plugin.hscloud.Main",
+ author = "q3k",
+ srcs = [
+ "Main.java",
+ "StateSynchronizer.java",
+ ],
+ deps = [
+ "//personal/q3k/minecraft/plugin/hscloud/proto:hscloud_java_grpc",
+ "//personal/q3k/minecraft/plugin/hscloud/proto:hscloud_java_proto",
+ "@maven//:org_spigotmc_spigot_api",
+ "@io_grpc_grpc_java//api",
+ "@io_grpc_grpc_java//stub",
+ "@maven//:io_grpc_grpc_netty_shaded",
+ "@maven//:io_grpc_grpc_services",
+ ],
+)
diff --git a/personal/q3k/minecraft/plugin/hscloud/Main.java b/personal/q3k/minecraft/plugin/hscloud/Main.java
new file mode 100644
index 0000000..242bbb1
--- /dev/null
+++ b/personal/q3k/minecraft/plugin/hscloud/Main.java
@@ -0,0 +1,108 @@
+package hscloud.personal.q3k.minecraft.plugin.hscloud;
+
+import java.io.IOException;
+import java.util.concurrent.TimeUnit;
+import java.util.ArrayList;
+import java.util.logging.Logger;
+
+import io.grpc.Server;
+import io.grpc.ServerBuilder;
+import io.grpc.protobuf.services.ProtoReflectionService;
+import io.grpc.stub.StreamObserver;
+import org.bukkit.Bukkit;
+import org.bukkit.World;
+import org.bukkit.entity.Player;
+import org.bukkit.plugin.java.JavaPlugin;
+import org.bukkit.plugin.java.JavaPlugin;
+import org.bukkit.scheduler.BukkitScheduler;
+
+import hscloud.personal.q3k.minecraft.plugin.hscloud.proto.IntrospectorGrpc;
+import hscloud.personal.q3k.minecraft.plugin.hscloud.proto.Proto;
+
+
+public class Main extends JavaPlugin {
+ private Server server_;
+ private static final Logger logger_ = Logger.getLogger(Main.class.getName());
+ private static final int port_ = 2137;
+
+ public StateSynchronizer synchronizer_;
+
+ public Main() {
+ synchronizer_ = new StateSynchronizer();
+ server_ = ServerBuilder
+ .forPort(port_)
+ .addService(new IntrospectorService(synchronizer_))
+ .addService(ProtoReflectionService.newInstance())
+ .build();
+ }
+
+ @Override
+ public void onEnable() {
+
+ BukkitScheduler scheduler = getServer().getScheduler();
+ scheduler.scheduleSyncRepeatingTask(this, new Runnable() {
+ @Override
+ public void run() {
+ ArrayList<StateSynchronizer.Player> players = new ArrayList<StateSynchronizer.Player>();
+ for (Player p : Bukkit.getOnlinePlayers()) {
+ StateSynchronizer.Player pp = new StateSynchronizer.Player(p.getPlayerListName(), p.getUniqueId().toString());
+ players.add(pp);
+ }
+ synchronizer_.setPlayers(players.toArray(new StateSynchronizer.Player[0]));
+
+ World world = Bukkit.getWorld("world");
+ if (world != null) {
+ synchronizer_.setTime(world.getTime());
+ }
+ }
+ }, 0, 20L);
+
+ try {
+ server_.start();
+ } catch (IOException e) {
+ logger_.severe("could not start gRPC");
+ e.printStackTrace(System.err);
+ return;
+ }
+ logger_.info("gRPC started, listening on " + port_);
+ }
+
+ @Override
+ public void onDisable() {
+ if (server_ != null) {
+ try {
+ server_.shutdown().awaitTermination(30, TimeUnit.SECONDS);
+ } catch (InterruptedException e) {
+ logger_.severe("could not stop gRPC");
+ e.printStackTrace(System.err);
+ }
+ }
+ server_ = null;
+ }
+
+ public static class IntrospectorService extends IntrospectorGrpc.IntrospectorImplBase {
+ private StateSynchronizer synchronizer_;
+
+ public IntrospectorService(StateSynchronizer synchronizer) {
+ synchronizer_ = synchronizer;
+ }
+
+ @Override
+ public void status(Proto.StatusRequest request, StreamObserver<Proto.StatusResponse> responseObserver) {
+ StateSynchronizer.Player[] players = synchronizer_.getPlayers();
+
+ Proto.StatusResponse.Builder builder = Proto.StatusResponse.newBuilder();
+ builder.setTime(synchronizer_.getTime());
+ for (StateSynchronizer.Player p : players) {
+ builder.addPlayers(Proto.Player.newBuilder()
+ .setUsername(p.getName())
+ .setUuid(p.getUUID())
+ .build());
+
+
+ }
+ responseObserver.onNext(builder.build());
+ responseObserver.onCompleted();
+ }
+ }
+}
diff --git a/personal/q3k/minecraft/plugin/hscloud/StateSynchronizer.java b/personal/q3k/minecraft/plugin/hscloud/StateSynchronizer.java
new file mode 100644
index 0000000..a10f5d5
--- /dev/null
+++ b/personal/q3k/minecraft/plugin/hscloud/StateSynchronizer.java
@@ -0,0 +1,49 @@
+package hscloud.personal.q3k.minecraft.plugin.hscloud;
+
+public class StateSynchronizer {
+ private Player[] players_;
+ private long time_;
+ private Object lock_ = new Object();
+
+ public void setPlayers(Player[] players) {
+ synchronized(lock_) {
+ players_ = players;
+ }
+ }
+
+ public void setTime(long time) {
+ synchronized(lock_) {
+ time_ = time;
+ }
+ }
+
+ public Player[] getPlayers() {
+ synchronized(lock_) {
+ return players_;
+ }
+ }
+
+ public long getTime() {
+ synchronized(lock_) {
+ return time_;
+ }
+ }
+
+ public static class Player {
+ private String name_;
+ private String uuid_;
+
+ public Player(String name, String uuid) {
+ name_ = name;
+ uuid_ = uuid;
+ }
+
+ public String getName() {
+ return name_;
+ }
+
+ public String getUUID() {
+ return uuid_;
+ }
+ }
+}
diff --git a/personal/q3k/minecraft/plugin/hscloud/proto/BUILD b/personal/q3k/minecraft/plugin/hscloud/proto/BUILD
new file mode 100644
index 0000000..139d994
--- /dev/null
+++ b/personal/q3k/minecraft/plugin/hscloud/proto/BUILD
@@ -0,0 +1,20 @@
+load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@io_grpc_grpc_java//:java_grpc_library.bzl", "java_grpc_library")
+
+proto_library(
+ name = "hscloud_proto",
+ srcs = ["hscloud.proto"],
+)
+
+java_proto_library(
+ name = "hscloud_java_proto",
+ deps = [":hscloud_proto"],
+ visibility = ["//visibility:public"],
+)
+
+java_grpc_library(
+ name = "hscloud_java_grpc",
+ srcs = [":hscloud_proto"],
+ deps = [":hscloud_java_proto"],
+ visibility = ["//visibility:public"],
+)
diff --git a/personal/q3k/minecraft/plugin/hscloud/proto/hscloud.proto b/personal/q3k/minecraft/plugin/hscloud/proto/hscloud.proto
new file mode 100644
index 0000000..05b8da7
--- /dev/null
+++ b/personal/q3k/minecraft/plugin/hscloud/proto/hscloud.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+package hscloud.personal.q3k.minecraft.plugin.hscloud;
+option java_package = "hscloud.personal.q3k.minecraft.plugin.hscloud.proto";
+option java_outer_classname = "Proto";
+
+service Introspector {
+ rpc Status(StatusRequest) returns (StatusResponse);
+}
+
+message StatusRequest {
+}
+
+message StatusResponse {
+ repeated Player players = 1;
+ int64 time = 2;
+}
+
+message Player {
+ string username = 1;
+ string uuid = 2;
+}
diff --git a/personal/q3k/minecraft/prod.jsonnet b/personal/q3k/minecraft/prod.jsonnet
index a662cce..491a28a 100644
--- a/personal/q3k/minecraft/prod.jsonnet
+++ b/personal/q3k/minecraft/prod.jsonnet
@@ -1,9 +1,10 @@
local kube = import "../../../kube/kube.libsonnet";
+local defaultWorldguardConfig = import "worldguard.libsonnet";
{
local minecraft = self,
versions:: {
- "spigot-1.15.2": "registry.k0.hswaw.net/q3k/minecraft:spigot-1.15.2-r2",
+ "spigot-1.15.2": "registry.k0.hswaw.net/q3k/minecraft:spigot-1.15.2-r3",
},
server(name, version):: {
local server = self,
@@ -65,11 +66,17 @@
"enable-rcon": false,
},
+ worldguardConfig:: defaultWorldguardConfig,
+
startsh:: |||
#!/usr/bin/env bash
cd /home/minecraft/world
cp /home/minecraft/config/server.properties .
cp /home/minecraft/spigot.jar .
+ mkdir -p plugins/WorldGuard
+ cp /home/minecraft/worldedit-*.jar plugins
+ cp /home/minecraft/worldguard-*.jar plugins
+ cp /home/minecraft/config/worldguard_config.yaml plugins/WorldGuard/config.yml
echo "eula=true" > eula.txt
bash /home/minecraft/config/overviewer.sh &
@@ -93,6 +100,8 @@
data: {
local properties = std.join("\n", ["%s=%s" % [k, std.toString(server.properties[k])] for k in std.objectFields(server.properties)]),
"server.properties": std.base64(properties),
+ local worldguardConfig = std.manifestYamlDoc(server.worldguardConfig),
+ "worldguard_config.yaml": std.base64(worldguardConfig),
"start.sh": std.base64(server.startsh),
"overviewer.sh": std.base64(server.overviewersh),
},
@@ -132,6 +141,7 @@
},
ports_: {
minecraft: { containerPort: 25565 },
+ grpc: { containerPort: 2137 },
},
resources: {
requests: {
@@ -169,6 +179,7 @@
ports: [
{ name: "minecraft", port: 25565, targetPort: 25565, protocol: "TCP" },
{ name: "web", port: 80, targetPort: 8080, protocol: "TCP" },
+ { name: "grpc", port: 2137, targetPort: 2137, protocol: "TCP" },
],
type: "LoadBalancer",
externalTrafficPolicy: "Local",
@@ -182,6 +193,12 @@
survival: minecraft.server("q3k-survival", "spigot-1.15.2") {
properties+: {
motd: "wypierdol z polski kropka pe el",
+ "enforce-whitelist": true,
+ },
+ worldguardConfig+: {
+ mobs+: {
+ "block-creeper-block-damage": true,
+ },
},
},
},
diff --git a/personal/q3k/minecraft/worldedit-bukkit-7.1.0.jar b/personal/q3k/minecraft/worldedit-bukkit-7.1.0.jar
new file mode 100644
index 0000000..2f3a1e1
--- /dev/null
+++ b/personal/q3k/minecraft/worldedit-bukkit-7.1.0.jar
Binary files differ
diff --git a/personal/q3k/minecraft/worldguard-bukkit-7.0.2.jar b/personal/q3k/minecraft/worldguard-bukkit-7.0.2.jar
new file mode 100644
index 0000000..1bcc848
--- /dev/null
+++ b/personal/q3k/minecraft/worldguard-bukkit-7.0.2.jar
Binary files differ
diff --git a/personal/q3k/minecraft/worldguard.libsonnet b/personal/q3k/minecraft/worldguard.libsonnet
new file mode 100644
index 0000000..0755fcb
--- /dev/null
+++ b/personal/q3k/minecraft/worldguard.libsonnet
@@ -0,0 +1,190 @@
+{
+ regions: {
+ "uuid-migration": {
+ "perform-on-next-start": false,
+ "keep-names-that-lack-uuids": true,
+ },
+ "use-creature-spawn-event": true,
+ sql: {
+ use: false,
+ dsn: "jdbc:mysql://localhost/worldguard",
+ username: "worldguard",
+ password: "worldguard",
+ "table-prefix": "",
+ },
+ "use-paper-entity-origin": false,
+ enable: true,
+ "invincibility-removes-mobs": false,
+ "cancel-chat-without-recipients": true,
+ "nether-portal-protection": false,
+ "fake-player-build-override": true,
+ "explosion-flags-block-entity-damage": true,
+ "high-frequency-flags": false,
+ "protect-against-liquid-flow": false,
+ wand: "minecraft:leather",
+ "max-claim-volume": 30000,
+ "claim-only-inside-existing-regions": false,
+ "location-flags-only-inside-regions": false,
+ "max-region-count-per-player": {
+ default: 7,
+ },
+ },
+ "auto-invincible": false,
+ "auto-invincible-group": false,
+ "auto-no-drowning-group": false,
+ "use-player-move-event": true,
+ "use-player-teleports": true,
+ "use-particle-effects": true,
+ security: {
+ "deop-everyone-on-join": false,
+ "block-in-game-op-command": false,
+ "host-keys-allow-forge-clients": false,
+ },
+ "host-keys": {},
+ "summary-on-start": true,
+ "op-permissions": true,
+ "build-permission-nodes": {
+ enable: false,
+ "deny-message": "&eSorry, but you are not permitted to do that here.",
+ },
+ "event-handling": {
+ "block-entity-spawns-with-untraceable-cause": false,
+ "interaction-whitelist": [],
+ "emit-block-use-at-feet": [],
+ "ignore-hopper-item-move-events": false,
+ },
+ protection: {
+ "item-durability": true,
+ "remove-infinite-stacks": false,
+ "disable-xp-orb-drops": false,
+ "disable-obsidian-generators": false,
+ },
+ gameplay: {
+ "block-potions": [],
+ "block-potions-overly-reliably": false,
+ "disable-conduit-effects": false,
+ },
+ simulation: {
+ sponge: {
+ enable: false,
+ radius: 3,
+ redstone: false,
+ },
+ },
+ default: {
+ "pumpkin-scuba": false,
+ "disable-health-regain": false,
+ },
+ physics: {
+ "no-physics-gravel": false,
+ "no-physics-sand": false,
+ "vine-like-rope-ladders": false,
+ "allow-portal-anywhere": false,
+ "disable-water-damage-blocks": [],
+ },
+ ignition: {
+ "block-tnt": false,
+ "block-tnt-block-damage": false,
+ "block-lighter": false,
+ },
+ fire: {
+ "disable-lava-fire-spread": false,
+ "disable-all-fire-spread": false,
+ "disable-fire-spread-blocks": [],
+ "lava-spread-blocks": [],
+ },
+ mobs: {
+ "block-creeper-explosions": false,
+ "block-creeper-block-damage": false,
+ "block-wither-explosions": false,
+ "block-wither-block-damage": false,
+ "block-wither-skull-explosions": false,
+ "block-wither-skull-block-damage": false,
+ "block-enderdragon-block-damage": false,
+ "block-enderdragon-portal-creation": false,
+ "block-fireball-explosions": false,
+ "block-fireball-block-damage": false,
+ "anti-wolf-dumbness": false,
+ "allow-tamed-spawns": true,
+ "disable-enderman-griefing": false,
+ "disable-snowman-trails": false,
+ "block-painting-destroy": false,
+ "block-item-frame-destroy": false,
+ "block-armor-stand-destroy": false,
+ "block-plugin-spawning": true,
+ "block-above-ground-slimes": false,
+ "block-other-explosions": false,
+ "block-zombie-door-destruction": false,
+ "block-creature-spawn": [],
+ },
+ "player-damage": {
+ "disable-fall-damage": false,
+ "disable-lava-damage": false,
+ "disable-fire-damage": false,
+ "disable-lightning-damage": false,
+ "disable-drowning-damage": false,
+ "disable-suffocation-damage": false,
+ "disable-contact-damage": false,
+ "teleport-on-suffocation": false,
+ "disable-void-damage": false,
+ "teleport-on-void-falling": false,
+ "reset-fall-on-void-teleport": false,
+ "disable-explosion-damage": false,
+ "disable-mob-damage": false,
+ "disable-death-messages": false,
+ },
+ "chest-protection": {
+ enable: false,
+ "disable-off-check": false,
+ },
+ crops: {
+ "disable-creature-trampling": false,
+ "disable-player-trampling": false,
+ },
+ weather: {
+ "prevent-lightning-strike-blocks": [],
+ "disable-lightning-strike-fire": false,
+ "disable-thunderstorm": false,
+ "disable-weather": false,
+ "disable-pig-zombification": false,
+ "disable-villager-witchification": false,
+ "disable-powered-creepers": false,
+ "always-raining": false,
+ "always-thundering": false,
+ },
+ dynamics: {
+ "disable-mushroom-spread": false,
+ "disable-ice-melting": false,
+ "disable-snow-melting": false,
+ "disable-snow-formation": false,
+ "disable-ice-formation": false,
+ "disable-leaf-decay": false,
+ "disable-grass-growth": false,
+ "disable-mycelium-spread": false,
+ "disable-vine-growth": false,
+ "disable-crop-growth": false,
+ "disable-soil-dehydration": false,
+ "snow-fall-blocks": [],
+ },
+ blacklist: {
+ "use-as-whitelist": false,
+ logging: {
+ console: {
+ enable: true,
+ },
+ database: {
+ enable: false,
+ dsn: "jdbc:mysql://localhost:3306/minecraft",
+ user: "root",
+ pass: "",
+ table: "blacklist_events",
+ },
+ file: {
+ enable: false,
+ path: "worldguard/logs/%Y-%m-%d.log",
+ "open-files": 10,
+ },
+ },
+ },
+ "custom-metrics-charts": true,
+}
diff --git a/third_party/java/BUILD b/third_party/java/BUILD
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/third_party/java/BUILD
diff --git a/third_party/java/maven_install.json b/third_party/java/maven_install.json
new file mode 100644
index 0000000..cc4555c
--- /dev/null
+++ b/third_party/java/maven_install.json
@@ -0,0 +1,1211 @@
+{
+ "dependency_tree": {
+ "conflict_resolution": {},
+ "dependencies": [
+ {
+ "coord": "com.fasterxml.jackson.core:jackson-core:2.10.1",
+ "file": "v1/https/repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.10.1/jackson-core-2.10.1.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.10.1/jackson-core-2.10.1.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/fasterxml/jackson/core/jackson-core/2.10.1/jackson-core-2.10.1.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/fasterxml/jackson/core/jackson-core/2.10.1/jackson-core-2.10.1.jar",
+ "https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.10.1/jackson-core-2.10.1.jar"
+ ],
+ "sha256": "79bffbdcd349f69a5ac252e2b4096131704386af4fa14d95395ea9a0e423cf33"
+ },
+ {
+ "coord": "com.google.android:annotations:4.1.1.4",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar",
+ "https://repo1.maven.org/maven2/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar"
+ ],
+ "sha256": "ba734e1e84c09d615af6a09d33034b4f0442f8772dec120efb376d86a565ae15"
+ },
+ {
+ "coord": "com.google.api.grpc:proto-google-common-protos:1.17.0",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/1.17.0/proto-google-common-protos-1.17.0.jar",
+ "directDependencies": [
+ "com.google.protobuf:protobuf-java:3.11.0"
+ ],
+ "dependencies": [
+ "com.google.protobuf:protobuf-java:3.11.0"
+ ],
+ "url": "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/1.17.0/proto-google-common-protos-1.17.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/api/grpc/proto-google-common-protos/1.17.0/proto-google-common-protos-1.17.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/api/grpc/proto-google-common-protos/1.17.0/proto-google-common-protos-1.17.0.jar",
+ "https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/1.17.0/proto-google-common-protos-1.17.0.jar"
+ ],
+ "sha256": "ad25472c73ee470606fb500b376ae5a97973d5406c2f5c3b7d07fb25b4648b65"
+ },
+ {
+ "coord": "com.google.auth:google-auth-library-credentials:0.20.0",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/0.20.0/google-auth-library-credentials-0.20.0.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/0.20.0/google-auth-library-credentials-0.20.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/auth/google-auth-library-credentials/0.20.0/google-auth-library-credentials-0.20.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/auth/google-auth-library-credentials/0.20.0/google-auth-library-credentials-0.20.0.jar",
+ "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/0.20.0/google-auth-library-credentials-0.20.0.jar"
+ ],
+ "sha256": "8a415273a5dae5c8f9080134e53b9592dc171ca5d13127488c910177c5903bd6"
+ },
+ {
+ "coord": "com.google.auth:google-auth-library-oauth2-http:0.20.0",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/0.20.0/google-auth-library-oauth2-http-0.20.0.jar",
+ "directDependencies": [
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "com.google.auto.value:auto-value-annotations:1.7",
+ "com.google.auth:google-auth-library-credentials:0.20.0",
+ "com.google.http-client:google-http-client-jackson2:1.34.0",
+ "com.google.http-client:google-http-client:1.34.0",
+ "com.google.guava:guava:28.2-android"
+ ],
+ "dependencies": [
+ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
+ "org.apache.httpcomponents:httpclient:4.5.10",
+ "com.google.j2objc:j2objc-annotations:1.3",
+ "commons-logging:commons-logging:1.2",
+ "io.opencensus:opencensus-contrib-http-util:0.24.0",
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "com.google.auto.value:auto-value-annotations:1.7",
+ "com.google.auth:google-auth-library-credentials:0.20.0",
+ "io.grpc:grpc-context:1.29.0",
+ "commons-codec:commons-codec:1.11",
+ "io.opencensus:opencensus-api:0.24.0",
+ "com.google.http-client:google-http-client-jackson2:1.34.0",
+ "com.google.errorprone:error_prone_annotations:2.3.4",
+ "com.fasterxml.jackson.core:jackson-core:2.10.1",
+ "com.google.http-client:google-http-client:1.34.0",
+ "com.google.guava:failureaccess:1.0.1",
+ "org.apache.httpcomponents:httpcore:4.4.12",
+ "com.google.guava:guava:28.2-android",
+ "org.checkerframework:checker-compat-qual:2.5.5"
+ ],
+ "url": "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/0.20.0/google-auth-library-oauth2-http-0.20.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/auth/google-auth-library-oauth2-http/0.20.0/google-auth-library-oauth2-http-0.20.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/auth/google-auth-library-oauth2-http/0.20.0/google-auth-library-oauth2-http-0.20.0.jar",
+ "https://repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/0.20.0/google-auth-library-oauth2-http-0.20.0.jar"
+ ],
+ "sha256": "43e96e8c07285c2887042eda4e35ca96522ef361f6c1843f469039d9ccdc8f8a"
+ },
+ {
+ "coord": "com.google.auto.value:auto-value-annotations:1.7",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.7/auto-value-annotations-1.7.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.7/auto-value-annotations-1.7.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/auto/value/auto-value-annotations/1.7/auto-value-annotations-1.7.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/auto/value/auto-value-annotations/1.7/auto-value-annotations-1.7.jar",
+ "https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.7/auto-value-annotations-1.7.jar"
+ ],
+ "sha256": "b134bab5082e9f49f2b45802573c78e0726e059b645323645da03e328e501f86"
+ },
+ {
+ "coord": "com.google.code.findbugs:jsr305:3.0.2",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar",
+ "https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"
+ ],
+ "sha256": "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7"
+ },
+ {
+ "coord": "com.google.code.gson:gson:2.8.6",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/code/gson/gson/2.8.6/gson-2.8.6.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.6/gson-2.8.6.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/code/gson/gson/2.8.6/gson-2.8.6.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/code/gson/gson/2.8.6/gson-2.8.6.jar",
+ "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.6/gson-2.8.6.jar"
+ ],
+ "sha256": "c8fb4839054d280b3033f800d1f5a97de2f028eb8ba2eb458ad287e536f3f25f"
+ },
+ {
+ "coord": "com.google.errorprone:error_prone_annotations:2.3.4",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar",
+ "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar"
+ ],
+ "sha256": "baf7d6ea97ce606c53e11b6854ba5f2ce7ef5c24dddf0afa18d1260bd25b002c"
+ },
+ {
+ "coord": "com.google.guava:failureaccess:1.0.1",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar",
+ "https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar"
+ ],
+ "sha256": "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26"
+ },
+ {
+ "coord": "com.google.guava:guava:28.2-android",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/guava/guava/28.2-android/guava-28.2-android.jar",
+ "directDependencies": [
+ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
+ "com.google.j2objc:j2objc-annotations:1.3",
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "com.google.errorprone:error_prone_annotations:2.3.4",
+ "com.google.guava:failureaccess:1.0.1",
+ "org.checkerframework:checker-compat-qual:2.5.5"
+ ],
+ "dependencies": [
+ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
+ "com.google.j2objc:j2objc-annotations:1.3",
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "com.google.errorprone:error_prone_annotations:2.3.4",
+ "com.google.guava:failureaccess:1.0.1",
+ "org.checkerframework:checker-compat-qual:2.5.5"
+ ],
+ "url": "https://repo1.maven.org/maven2/com/google/guava/guava/28.2-android/guava-28.2-android.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/guava/guava/28.2-android/guava-28.2-android.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/guava/guava/28.2-android/guava-28.2-android.jar",
+ "https://repo1.maven.org/maven2/com/google/guava/guava/28.2-android/guava-28.2-android.jar"
+ ],
+ "sha256": "1faf214c94723ab9fbadfedd9af88ddc325faf669e68eab04688c3afcf59c037"
+ },
+ {
+ "coord": "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar",
+ "https://repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar"
+ ],
+ "sha256": "b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99"
+ },
+ {
+ "coord": "com.google.http-client:google-http-client-jackson2:1.34.0",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson2/1.34.0/google-http-client-jackson2-1.34.0.jar",
+ "directDependencies": [
+ "com.fasterxml.jackson.core:jackson-core:2.10.1",
+ "com.google.http-client:google-http-client:1.34.0"
+ ],
+ "dependencies": [
+ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
+ "org.apache.httpcomponents:httpclient:4.5.10",
+ "com.google.j2objc:j2objc-annotations:1.3",
+ "commons-logging:commons-logging:1.2",
+ "io.opencensus:opencensus-contrib-http-util:0.24.0",
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "io.grpc:grpc-context:1.29.0",
+ "commons-codec:commons-codec:1.11",
+ "io.opencensus:opencensus-api:0.24.0",
+ "com.google.errorprone:error_prone_annotations:2.3.4",
+ "com.fasterxml.jackson.core:jackson-core:2.10.1",
+ "com.google.http-client:google-http-client:1.34.0",
+ "com.google.guava:failureaccess:1.0.1",
+ "org.apache.httpcomponents:httpcore:4.4.12",
+ "com.google.guava:guava:28.2-android",
+ "org.checkerframework:checker-compat-qual:2.5.5"
+ ],
+ "url": "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson2/1.34.0/google-http-client-jackson2-1.34.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/http-client/google-http-client-jackson2/1.34.0/google-http-client-jackson2-1.34.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/http-client/google-http-client-jackson2/1.34.0/google-http-client-jackson2-1.34.0.jar",
+ "https://repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson2/1.34.0/google-http-client-jackson2-1.34.0.jar"
+ ],
+ "sha256": "c6c2d55048c880f0a26d3e01eb4f1c686284501397793ff6fc8239e0fd368dcc"
+ },
+ {
+ "coord": "com.google.http-client:google-http-client:1.34.0",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/http-client/google-http-client/1.34.0/google-http-client-1.34.0.jar",
+ "directDependencies": [
+ "org.apache.httpcomponents:httpclient:4.5.10",
+ "com.google.j2objc:j2objc-annotations:1.3",
+ "io.opencensus:opencensus-contrib-http-util:0.24.0",
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "io.opencensus:opencensus-api:0.24.0",
+ "org.apache.httpcomponents:httpcore:4.4.12",
+ "com.google.guava:guava:28.2-android"
+ ],
+ "dependencies": [
+ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
+ "org.apache.httpcomponents:httpclient:4.5.10",
+ "com.google.j2objc:j2objc-annotations:1.3",
+ "commons-logging:commons-logging:1.2",
+ "io.opencensus:opencensus-contrib-http-util:0.24.0",
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "io.grpc:grpc-context:1.29.0",
+ "commons-codec:commons-codec:1.11",
+ "io.opencensus:opencensus-api:0.24.0",
+ "com.google.errorprone:error_prone_annotations:2.3.4",
+ "com.google.guava:failureaccess:1.0.1",
+ "org.apache.httpcomponents:httpcore:4.4.12",
+ "com.google.guava:guava:28.2-android",
+ "org.checkerframework:checker-compat-qual:2.5.5"
+ ],
+ "url": "https://repo1.maven.org/maven2/com/google/http-client/google-http-client/1.34.0/google-http-client-1.34.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/http-client/google-http-client/1.34.0/google-http-client-1.34.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/http-client/google-http-client/1.34.0/google-http-client-1.34.0.jar",
+ "https://repo1.maven.org/maven2/com/google/http-client/google-http-client/1.34.0/google-http-client-1.34.0.jar"
+ ],
+ "sha256": "376abdc782970145c673446c119bbb158641bca1b311d6098adc238c58be5ed7"
+ },
+ {
+ "coord": "com.google.j2objc:j2objc-annotations:1.3",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar",
+ "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar"
+ ],
+ "sha256": "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b"
+ },
+ {
+ "coord": "com.google.protobuf:protobuf-java-util:3.11.0",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util/3.11.0/protobuf-java-util-3.11.0.jar",
+ "directDependencies": [
+ "com.google.code.gson:gson:2.8.6",
+ "com.google.protobuf:protobuf-java:3.11.0"
+ ],
+ "dependencies": [
+ "com.google.protobuf:protobuf-java:3.11.0",
+ "com.google.code.gson:gson:2.8.6"
+ ],
+ "exclusions": [
+ "com.google.guava:guava",
+ "com.google.errorprone:error_prone_annotations"
+ ],
+ "url": "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util/3.11.0/protobuf-java-util-3.11.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/protobuf/protobuf-java-util/3.11.0/protobuf-java-util-3.11.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/protobuf/protobuf-java-util/3.11.0/protobuf-java-util-3.11.0.jar",
+ "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util/3.11.0/protobuf-java-util-3.11.0.jar"
+ ],
+ "sha256": "54b4cb99ec9196f24d04a47f98416274e34aee16ebb860d5655c6c5a069705e5"
+ },
+ {
+ "coord": "com.google.protobuf:protobuf-java:3.11.0",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.11.0/protobuf-java-3.11.0.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.11.0/protobuf-java-3.11.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/protobuf/protobuf-java/3.11.0/protobuf-java-3.11.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/protobuf/protobuf-java/3.11.0/protobuf-java-3.11.0.jar",
+ "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.11.0/protobuf-java-3.11.0.jar"
+ ],
+ "sha256": "123d8b260cfdbb91a208931c2d3ea0988c6942f4f4d9303b008f005ef3a4124c"
+ },
+ {
+ "coord": "com.google.protobuf:protobuf-java:3.11.0",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.11.0/protobuf-java-3.11.0.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "exclusions": [
+ "com.google.guava:guava",
+ "com.google.errorprone:error_prone_annotations"
+ ],
+ "url": "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.11.0/protobuf-java-3.11.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/protobuf/protobuf-java/3.11.0/protobuf-java-3.11.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/protobuf/protobuf-java/3.11.0/protobuf-java-3.11.0.jar",
+ "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.11.0/protobuf-java-3.11.0.jar"
+ ],
+ "sha256": "123d8b260cfdbb91a208931c2d3ea0988c6942f4f4d9303b008f005ef3a4124c"
+ },
+ {
+ "coord": "com.google.truth:truth:1.0.1",
+ "file": "v1/https/repo1.maven.org/maven2/com/google/truth/truth/1.0.1/truth-1.0.1.jar",
+ "directDependencies": [
+ "com.google.auto.value:auto-value-annotations:1.7",
+ "junit:junit:4.12",
+ "com.google.errorprone:error_prone_annotations:2.3.4",
+ "com.googlecode.java-diff-utils:diffutils:1.3.0",
+ "com.google.guava:guava:28.2-android",
+ "org.checkerframework:checker-compat-qual:2.5.5"
+ ],
+ "dependencies": [
+ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
+ "com.google.j2objc:j2objc-annotations:1.3",
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "com.google.auto.value:auto-value-annotations:1.7",
+ "junit:junit:4.12",
+ "org.hamcrest:hamcrest-core:1.3",
+ "com.google.errorprone:error_prone_annotations:2.3.4",
+ "com.googlecode.java-diff-utils:diffutils:1.3.0",
+ "com.google.guava:failureaccess:1.0.1",
+ "com.google.guava:guava:28.2-android",
+ "org.checkerframework:checker-compat-qual:2.5.5"
+ ],
+ "url": "https://repo1.maven.org/maven2/com/google/truth/truth/1.0.1/truth-1.0.1.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/google/truth/truth/1.0.1/truth-1.0.1.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/google/truth/truth/1.0.1/truth-1.0.1.jar",
+ "https://repo1.maven.org/maven2/com/google/truth/truth/1.0.1/truth-1.0.1.jar"
+ ],
+ "sha256": "1ccf4334e7a94cf00a20a619b5462b53acf3274e00b70498bf5b28a3bc1be9b1"
+ },
+ {
+ "coord": "com.googlecode.java-diff-utils:diffutils:1.3.0",
+ "file": "v1/https/repo1.maven.org/maven2/com/googlecode/java-diff-utils/diffutils/1.3.0/diffutils-1.3.0.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/com/googlecode/java-diff-utils/diffutils/1.3.0/diffutils-1.3.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/googlecode/java-diff-utils/diffutils/1.3.0/diffutils-1.3.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/googlecode/java-diff-utils/diffutils/1.3.0/diffutils-1.3.0.jar",
+ "https://repo1.maven.org/maven2/com/googlecode/java-diff-utils/diffutils/1.3.0/diffutils-1.3.0.jar"
+ ],
+ "sha256": "61ba4dc49adca95243beaa0569adc2a23aedb5292ae78aa01186fa782ebdc5c2"
+ },
+ {
+ "coord": "com.squareup.okhttp:okhttp:2.7.4",
+ "file": "v1/https/repo1.maven.org/maven2/com/squareup/okhttp/okhttp/2.7.4/okhttp-2.7.4.jar",
+ "directDependencies": [
+ "com.squareup.okio:okio:1.13.0"
+ ],
+ "dependencies": [
+ "com.squareup.okio:okio:1.13.0"
+ ],
+ "url": "https://repo1.maven.org/maven2/com/squareup/okhttp/okhttp/2.7.4/okhttp-2.7.4.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/squareup/okhttp/okhttp/2.7.4/okhttp-2.7.4.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/squareup/okhttp/okhttp/2.7.4/okhttp-2.7.4.jar",
+ "https://repo1.maven.org/maven2/com/squareup/okhttp/okhttp/2.7.4/okhttp-2.7.4.jar"
+ ],
+ "sha256": "c88be9af1509d5aeec9394a818c0fa08e26fad9d64ba134e6f977e0bb20cb114"
+ },
+ {
+ "coord": "com.squareup.okio:okio:1.13.0",
+ "file": "v1/https/repo1.maven.org/maven2/com/squareup/okio/okio/1.13.0/okio-1.13.0.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/com/squareup/okio/okio/1.13.0/okio-1.13.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/com/squareup/okio/okio/1.13.0/okio-1.13.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/com/squareup/okio/okio/1.13.0/okio-1.13.0.jar",
+ "https://repo1.maven.org/maven2/com/squareup/okio/okio/1.13.0/okio-1.13.0.jar"
+ ],
+ "sha256": "734269c3ebc5090e3b23566db558f421f0b4027277c79ad5d176b8ec168bb850"
+ },
+ {
+ "coord": "commons-codec:commons-codec:1.11",
+ "file": "v1/https/repo1.maven.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/commons-codec/commons-codec/1.11/commons-codec-1.11.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/commons-codec/commons-codec/1.11/commons-codec-1.11.jar",
+ "https://repo1.maven.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.jar"
+ ],
+ "sha256": "e599d5318e97aa48f42136a2927e6dfa4e8881dff0e6c8e3109ddbbff51d7b7d"
+ },
+ {
+ "coord": "commons-lang:commons-lang:2.6",
+ "file": "v1/https/repo1.maven.org/maven2/commons-lang/commons-lang/2.6/commons-lang-2.6.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/commons-lang/commons-lang/2.6/commons-lang-2.6.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/commons-lang/commons-lang/2.6/commons-lang-2.6.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/commons-lang/commons-lang/2.6/commons-lang-2.6.jar",
+ "https://repo1.maven.org/maven2/commons-lang/commons-lang/2.6/commons-lang-2.6.jar"
+ ],
+ "sha256": "50f11b09f877c294d56f24463f47d28f929cf5044f648661c0f0cfbae9a2f49c"
+ },
+ {
+ "coord": "commons-logging:commons-logging:1.2",
+ "file": "v1/https/repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/commons-logging/commons-logging/1.2/commons-logging-1.2.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/commons-logging/commons-logging/1.2/commons-logging-1.2.jar",
+ "https://repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar"
+ ],
+ "sha256": "daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636"
+ },
+ {
+ "coord": "io.grpc:grpc-api:1.29.0",
+ "file": "v1/https/repo1.maven.org/maven2/io/grpc/grpc-api/1.29.0/grpc-api-1.29.0.jar",
+ "directDependencies": [
+ "org.codehaus.mojo:animal-sniffer-annotations:1.18",
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "io.grpc:grpc-context:1.29.0",
+ "com.google.errorprone:error_prone_annotations:2.3.4",
+ "com.google.guava:guava:28.2-android"
+ ],
+ "dependencies": [
+ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
+ "org.codehaus.mojo:animal-sniffer-annotations:1.18",
+ "com.google.j2objc:j2objc-annotations:1.3",
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "io.grpc:grpc-context:1.29.0",
+ "com.google.errorprone:error_prone_annotations:2.3.4",
+ "com.google.guava:failureaccess:1.0.1",
+ "com.google.guava:guava:28.2-android",
+ "org.checkerframework:checker-compat-qual:2.5.5"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/grpc/grpc-api/1.29.0/grpc-api-1.29.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/grpc/grpc-api/1.29.0/grpc-api-1.29.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/grpc/grpc-api/1.29.0/grpc-api-1.29.0.jar",
+ "https://repo1.maven.org/maven2/io/grpc/grpc-api/1.29.0/grpc-api-1.29.0.jar"
+ ],
+ "sha256": "4837824acdd8d576d7d31a862e7391c38a1824cd2224daa68999377fdff9ae3f"
+ },
+ {
+ "coord": "io.grpc:grpc-context:1.29.0",
+ "file": "v1/https/repo1.maven.org/maven2/io/grpc/grpc-context/1.29.0/grpc-context-1.29.0.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/io/grpc/grpc-context/1.29.0/grpc-context-1.29.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/grpc/grpc-context/1.29.0/grpc-context-1.29.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/grpc/grpc-context/1.29.0/grpc-context-1.29.0.jar",
+ "https://repo1.maven.org/maven2/io/grpc/grpc-context/1.29.0/grpc-context-1.29.0.jar"
+ ],
+ "sha256": "41426f8fa5b5ff6e8cf5d6a7a6e7b1175350bc8c8e11f352e0622e00f99c4a02"
+ },
+ {
+ "coord": "io.grpc:grpc-core:1.29.0",
+ "file": "v1/https/repo1.maven.org/maven2/io/grpc/grpc-core/1.29.0/grpc-core-1.29.0.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/io/grpc/grpc-core/1.29.0/grpc-core-1.29.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/grpc/grpc-core/1.29.0/grpc-core-1.29.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/grpc/grpc-core/1.29.0/grpc-core-1.29.0.jar",
+ "https://repo1.maven.org/maven2/io/grpc/grpc-core/1.29.0/grpc-core-1.29.0.jar"
+ ],
+ "sha256": "d45e3ba310cf6a5d8170bcc500507977505614583c341d03c7d91658e49cf028"
+ },
+ {
+ "coord": "io.grpc:grpc-netty-shaded:1.29.0",
+ "file": "v1/https/repo1.maven.org/maven2/io/grpc/grpc-netty-shaded/1.29.0/grpc-netty-shaded-1.29.0.jar",
+ "directDependencies": [
+ "io.grpc:grpc-core:1.29.0"
+ ],
+ "dependencies": [
+ "io.grpc:grpc-core:1.29.0"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/grpc/grpc-netty-shaded/1.29.0/grpc-netty-shaded-1.29.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/grpc/grpc-netty-shaded/1.29.0/grpc-netty-shaded-1.29.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/grpc/grpc-netty-shaded/1.29.0/grpc-netty-shaded-1.29.0.jar",
+ "https://repo1.maven.org/maven2/io/grpc/grpc-netty-shaded/1.29.0/grpc-netty-shaded-1.29.0.jar"
+ ],
+ "sha256": "1e557a2f4b4a1332bb79e7f7354a031491f24e0e45aa493f0d48b555916cf049"
+ },
+ {
+ "coord": "io.grpc:grpc-protobuf-lite:1.29.0",
+ "file": "v1/https/repo1.maven.org/maven2/io/grpc/grpc-protobuf-lite/1.29.0/grpc-protobuf-lite-1.29.0.jar",
+ "directDependencies": [
+ "com.google.guava:guava:28.2-android",
+ "io.grpc:grpc-api:1.29.0"
+ ],
+ "dependencies": [
+ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
+ "org.codehaus.mojo:animal-sniffer-annotations:1.18",
+ "com.google.j2objc:j2objc-annotations:1.3",
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "io.grpc:grpc-context:1.29.0",
+ "io.grpc:grpc-api:1.29.0",
+ "com.google.errorprone:error_prone_annotations:2.3.4",
+ "com.google.guava:failureaccess:1.0.1",
+ "com.google.guava:guava:28.2-android",
+ "org.checkerframework:checker-compat-qual:2.5.5"
+ ],
+ "exclusions": [
+ "com.google.protobuf:protobuf-javalite"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/grpc/grpc-protobuf-lite/1.29.0/grpc-protobuf-lite-1.29.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/grpc/grpc-protobuf-lite/1.29.0/grpc-protobuf-lite-1.29.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/grpc/grpc-protobuf-lite/1.29.0/grpc-protobuf-lite-1.29.0.jar",
+ "https://repo1.maven.org/maven2/io/grpc/grpc-protobuf-lite/1.29.0/grpc-protobuf-lite-1.29.0.jar"
+ ],
+ "sha256": "ae4bbcd9bf7ad4856660807d8cba7ef4ff428f0b615bf663ba308d9a76bcab3c"
+ },
+ {
+ "coord": "io.grpc:grpc-protobuf:1.29.0",
+ "file": "v1/https/repo1.maven.org/maven2/io/grpc/grpc-protobuf/1.29.0/grpc-protobuf-1.29.0.jar",
+ "directDependencies": [
+ "com.google.api.grpc:proto-google-common-protos:1.17.0",
+ "com.google.protobuf:protobuf-java:3.11.0",
+ "io.grpc:grpc-api:1.29.0",
+ "io.grpc:grpc-protobuf-lite:1.29.0",
+ "com.google.guava:guava:28.2-android"
+ ],
+ "dependencies": [
+ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
+ "org.codehaus.mojo:animal-sniffer-annotations:1.18",
+ "com.google.api.grpc:proto-google-common-protos:1.17.0",
+ "com.google.j2objc:j2objc-annotations:1.3",
+ "com.google.protobuf:protobuf-java:3.11.0",
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "io.grpc:grpc-context:1.29.0",
+ "io.grpc:grpc-api:1.29.0",
+ "com.google.errorprone:error_prone_annotations:2.3.4",
+ "io.grpc:grpc-protobuf-lite:1.29.0",
+ "com.google.guava:failureaccess:1.0.1",
+ "com.google.guava:guava:28.2-android",
+ "org.checkerframework:checker-compat-qual:2.5.5"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/grpc/grpc-protobuf/1.29.0/grpc-protobuf-1.29.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/grpc/grpc-protobuf/1.29.0/grpc-protobuf-1.29.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/grpc/grpc-protobuf/1.29.0/grpc-protobuf-1.29.0.jar",
+ "https://repo1.maven.org/maven2/io/grpc/grpc-protobuf/1.29.0/grpc-protobuf-1.29.0.jar"
+ ],
+ "sha256": "ee8cef64c7e10dd373aabd3a4b2ec4878e6d5b3ba43cbf55f3876ddaa79266ea"
+ },
+ {
+ "coord": "io.grpc:grpc-services:1.29.0",
+ "file": "v1/https/repo1.maven.org/maven2/io/grpc/grpc-services/1.29.0/grpc-services-1.29.0.jar",
+ "directDependencies": [
+ "com.google.protobuf:protobuf-java-util:3.11.0",
+ "io.grpc:grpc-core:1.29.0",
+ "io.grpc:grpc-protobuf:1.29.0",
+ "io.grpc:grpc-stub:1.29.0"
+ ],
+ "dependencies": [
+ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
+ "org.codehaus.mojo:animal-sniffer-annotations:1.18",
+ "com.google.api.grpc:proto-google-common-protos:1.17.0",
+ "com.google.j2objc:j2objc-annotations:1.3",
+ "com.google.protobuf:protobuf-java:3.11.0",
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "io.grpc:grpc-core:1.29.0",
+ "com.google.protobuf:protobuf-java-util:3.11.0",
+ "io.grpc:grpc-context:1.29.0",
+ "com.google.code.gson:gson:2.8.6",
+ "io.grpc:grpc-api:1.29.0",
+ "com.google.errorprone:error_prone_annotations:2.3.4",
+ "io.grpc:grpc-protobuf-lite:1.29.0",
+ "com.google.guava:failureaccess:1.0.1",
+ "io.grpc:grpc-stub:1.29.0",
+ "io.grpc:grpc-protobuf:1.29.0",
+ "com.google.guava:guava:28.2-android",
+ "org.checkerframework:checker-compat-qual:2.5.5"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/grpc/grpc-services/1.29.0/grpc-services-1.29.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/grpc/grpc-services/1.29.0/grpc-services-1.29.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/grpc/grpc-services/1.29.0/grpc-services-1.29.0.jar",
+ "https://repo1.maven.org/maven2/io/grpc/grpc-services/1.29.0/grpc-services-1.29.0.jar"
+ ],
+ "sha256": "6bea2f0ec35d3071a12fccc640ca7450f1cd2ce66574456e8deec21f79464681"
+ },
+ {
+ "coord": "io.grpc:grpc-stub:1.29.0",
+ "file": "v1/https/repo1.maven.org/maven2/io/grpc/grpc-stub/1.29.0/grpc-stub-1.29.0.jar",
+ "directDependencies": [
+ "io.grpc:grpc-api:1.29.0"
+ ],
+ "dependencies": [
+ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
+ "org.codehaus.mojo:animal-sniffer-annotations:1.18",
+ "com.google.j2objc:j2objc-annotations:1.3",
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "io.grpc:grpc-context:1.29.0",
+ "io.grpc:grpc-api:1.29.0",
+ "com.google.errorprone:error_prone_annotations:2.3.4",
+ "com.google.guava:failureaccess:1.0.1",
+ "com.google.guava:guava:28.2-android",
+ "org.checkerframework:checker-compat-qual:2.5.5"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/grpc/grpc-stub/1.29.0/grpc-stub-1.29.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/grpc/grpc-stub/1.29.0/grpc-stub-1.29.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/grpc/grpc-stub/1.29.0/grpc-stub-1.29.0.jar",
+ "https://repo1.maven.org/maven2/io/grpc/grpc-stub/1.29.0/grpc-stub-1.29.0.jar"
+ ],
+ "sha256": "65b01e451013d6c9f2de1392abf47190a397cbbd7f5a45e3cc9df509671a0cf8"
+ },
+ {
+ "coord": "io.netty:netty-buffer:4.1.48.Final",
+ "file": "v1/https/repo1.maven.org/maven2/io/netty/netty-buffer/4.1.48.Final/netty-buffer-4.1.48.Final.jar",
+ "directDependencies": [
+ "io.netty:netty-common:4.1.48.Final"
+ ],
+ "dependencies": [
+ "io.netty:netty-common:4.1.48.Final"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/netty/netty-buffer/4.1.48.Final/netty-buffer-4.1.48.Final.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/netty/netty-buffer/4.1.48.Final/netty-buffer-4.1.48.Final.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/netty/netty-buffer/4.1.48.Final/netty-buffer-4.1.48.Final.jar",
+ "https://repo1.maven.org/maven2/io/netty/netty-buffer/4.1.48.Final/netty-buffer-4.1.48.Final.jar"
+ ],
+ "sha256": "7efc8f98224c703ef09a409e5ddffbe14f5b4b6f527d3836c1647b4d9eff8cec"
+ },
+ {
+ "coord": "io.netty:netty-codec-http2:4.1.48.Final",
+ "file": "v1/https/repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.48.Final/netty-codec-http2-4.1.48.Final.jar",
+ "directDependencies": [
+ "io.netty:netty-transport:4.1.48.Final",
+ "io.netty:netty-codec-http:4.1.48.Final",
+ "io.netty:netty-buffer:4.1.48.Final",
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-handler:4.1.48.Final",
+ "io.netty:netty-codec:4.1.48.Final"
+ ],
+ "dependencies": [
+ "io.netty:netty-transport:4.1.48.Final",
+ "io.netty:netty-codec-http:4.1.48.Final",
+ "io.netty:netty-buffer:4.1.48.Final",
+ "io.netty:netty-resolver:4.1.48.Final",
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-handler:4.1.48.Final",
+ "io.netty:netty-codec:4.1.48.Final"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.48.Final/netty-codec-http2-4.1.48.Final.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/netty/netty-codec-http2/4.1.48.Final/netty-codec-http2-4.1.48.Final.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/netty/netty-codec-http2/4.1.48.Final/netty-codec-http2-4.1.48.Final.jar",
+ "https://repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.48.Final/netty-codec-http2-4.1.48.Final.jar"
+ ],
+ "sha256": "359548f53cf8697ebdfa13a4700f1b9a5585573c64f2d3ed135a3197ebd51579"
+ },
+ {
+ "coord": "io.netty:netty-codec-http:4.1.48.Final",
+ "file": "v1/https/repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.48.Final/netty-codec-http-4.1.48.Final.jar",
+ "directDependencies": [
+ "io.netty:netty-transport:4.1.48.Final",
+ "io.netty:netty-buffer:4.1.48.Final",
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-handler:4.1.48.Final",
+ "io.netty:netty-codec:4.1.48.Final"
+ ],
+ "dependencies": [
+ "io.netty:netty-transport:4.1.48.Final",
+ "io.netty:netty-buffer:4.1.48.Final",
+ "io.netty:netty-resolver:4.1.48.Final",
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-handler:4.1.48.Final",
+ "io.netty:netty-codec:4.1.48.Final"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.48.Final/netty-codec-http-4.1.48.Final.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/netty/netty-codec-http/4.1.48.Final/netty-codec-http-4.1.48.Final.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/netty/netty-codec-http/4.1.48.Final/netty-codec-http-4.1.48.Final.jar",
+ "https://repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.48.Final/netty-codec-http-4.1.48.Final.jar"
+ ],
+ "sha256": "aa4b18070e7fc105f0c94a077605687bec48091274c8acc121116692c335edd0"
+ },
+ {
+ "coord": "io.netty:netty-codec-socks:4.1.48.Final",
+ "file": "v1/https/repo1.maven.org/maven2/io/netty/netty-codec-socks/4.1.48.Final/netty-codec-socks-4.1.48.Final.jar",
+ "directDependencies": [
+ "io.netty:netty-buffer:4.1.48.Final",
+ "io.netty:netty-codec:4.1.48.Final",
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-transport:4.1.48.Final"
+ ],
+ "dependencies": [
+ "io.netty:netty-transport:4.1.48.Final",
+ "io.netty:netty-buffer:4.1.48.Final",
+ "io.netty:netty-resolver:4.1.48.Final",
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-codec:4.1.48.Final"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/netty/netty-codec-socks/4.1.48.Final/netty-codec-socks-4.1.48.Final.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/netty/netty-codec-socks/4.1.48.Final/netty-codec-socks-4.1.48.Final.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/netty/netty-codec-socks/4.1.48.Final/netty-codec-socks-4.1.48.Final.jar",
+ "https://repo1.maven.org/maven2/io/netty/netty-codec-socks/4.1.48.Final/netty-codec-socks-4.1.48.Final.jar"
+ ],
+ "sha256": "d0dd35f9ac6892a03bb0d38ea32e683993c4308a02de5756bb5a23ecb929f917"
+ },
+ {
+ "coord": "io.netty:netty-codec:4.1.48.Final",
+ "file": "v1/https/repo1.maven.org/maven2/io/netty/netty-codec/4.1.48.Final/netty-codec-4.1.48.Final.jar",
+ "directDependencies": [
+ "io.netty:netty-buffer:4.1.48.Final",
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-transport:4.1.48.Final"
+ ],
+ "dependencies": [
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-resolver:4.1.48.Final",
+ "io.netty:netty-transport:4.1.48.Final",
+ "io.netty:netty-buffer:4.1.48.Final"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/netty/netty-codec/4.1.48.Final/netty-codec-4.1.48.Final.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/netty/netty-codec/4.1.48.Final/netty-codec-4.1.48.Final.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/netty/netty-codec/4.1.48.Final/netty-codec-4.1.48.Final.jar",
+ "https://repo1.maven.org/maven2/io/netty/netty-codec/4.1.48.Final/netty-codec-4.1.48.Final.jar"
+ ],
+ "sha256": "81b4c316163a591b4f74fd2dc23a3ea45359cb817d0a9c4fc7f37dc9edfdbea8"
+ },
+ {
+ "coord": "io.netty:netty-common:4.1.48.Final",
+ "file": "v1/https/repo1.maven.org/maven2/io/netty/netty-common/4.1.48.Final/netty-common-4.1.48.Final.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/io/netty/netty-common/4.1.48.Final/netty-common-4.1.48.Final.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/netty/netty-common/4.1.48.Final/netty-common-4.1.48.Final.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/netty/netty-common/4.1.48.Final/netty-common-4.1.48.Final.jar",
+ "https://repo1.maven.org/maven2/io/netty/netty-common/4.1.48.Final/netty-common-4.1.48.Final.jar"
+ ],
+ "sha256": "e44a2369566fd1fa8a0f30b12e2801de8fb405b9d1fa3894a58b6262065a9916"
+ },
+ {
+ "coord": "io.netty:netty-handler-proxy:4.1.48.Final",
+ "file": "v1/https/repo1.maven.org/maven2/io/netty/netty-handler-proxy/4.1.48.Final/netty-handler-proxy-4.1.48.Final.jar",
+ "directDependencies": [
+ "io.netty:netty-transport:4.1.48.Final",
+ "io.netty:netty-codec-http:4.1.48.Final",
+ "io.netty:netty-codec-socks:4.1.48.Final",
+ "io.netty:netty-buffer:4.1.48.Final",
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-codec:4.1.48.Final"
+ ],
+ "dependencies": [
+ "io.netty:netty-transport:4.1.48.Final",
+ "io.netty:netty-codec-http:4.1.48.Final",
+ "io.netty:netty-codec-socks:4.1.48.Final",
+ "io.netty:netty-buffer:4.1.48.Final",
+ "io.netty:netty-resolver:4.1.48.Final",
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-handler:4.1.48.Final",
+ "io.netty:netty-codec:4.1.48.Final"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/netty/netty-handler-proxy/4.1.48.Final/netty-handler-proxy-4.1.48.Final.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/netty/netty-handler-proxy/4.1.48.Final/netty-handler-proxy-4.1.48.Final.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/netty/netty-handler-proxy/4.1.48.Final/netty-handler-proxy-4.1.48.Final.jar",
+ "https://repo1.maven.org/maven2/io/netty/netty-handler-proxy/4.1.48.Final/netty-handler-proxy-4.1.48.Final.jar"
+ ],
+ "sha256": "f784f331bdb05834390c132d1534724e5371c1a19c7a62217e5f192963a9a92c"
+ },
+ {
+ "coord": "io.netty:netty-handler:4.1.48.Final",
+ "file": "v1/https/repo1.maven.org/maven2/io/netty/netty-handler/4.1.48.Final/netty-handler-4.1.48.Final.jar",
+ "directDependencies": [
+ "io.netty:netty-transport:4.1.48.Final",
+ "io.netty:netty-buffer:4.1.48.Final",
+ "io.netty:netty-resolver:4.1.48.Final",
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-codec:4.1.48.Final"
+ ],
+ "dependencies": [
+ "io.netty:netty-transport:4.1.48.Final",
+ "io.netty:netty-buffer:4.1.48.Final",
+ "io.netty:netty-resolver:4.1.48.Final",
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-codec:4.1.48.Final"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/netty/netty-handler/4.1.48.Final/netty-handler-4.1.48.Final.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/netty/netty-handler/4.1.48.Final/netty-handler-4.1.48.Final.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/netty/netty-handler/4.1.48.Final/netty-handler-4.1.48.Final.jar",
+ "https://repo1.maven.org/maven2/io/netty/netty-handler/4.1.48.Final/netty-handler-4.1.48.Final.jar"
+ ],
+ "sha256": "757f83c7891ad2ebad209f02d8dbca0121e03f7062c2d4ec9d00eba1a0d403d5"
+ },
+ {
+ "coord": "io.netty:netty-resolver:4.1.48.Final",
+ "file": "v1/https/repo1.maven.org/maven2/io/netty/netty-resolver/4.1.48.Final/netty-resolver-4.1.48.Final.jar",
+ "directDependencies": [
+ "io.netty:netty-common:4.1.48.Final"
+ ],
+ "dependencies": [
+ "io.netty:netty-common:4.1.48.Final"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.48.Final/netty-resolver-4.1.48.Final.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/netty/netty-resolver/4.1.48.Final/netty-resolver-4.1.48.Final.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/netty/netty-resolver/4.1.48.Final/netty-resolver-4.1.48.Final.jar",
+ "https://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.48.Final/netty-resolver-4.1.48.Final.jar"
+ ],
+ "sha256": "fb125914398ebef821def3dbb1642f9f360f39d182f00149ef3db845ebf06ad2"
+ },
+ {
+ "coord": "io.netty:netty-tcnative-boringssl-static:2.0.30.Final",
+ "file": "v1/https/repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static/2.0.30.Final/netty-tcnative-boringssl-static-2.0.30.Final.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static/2.0.30.Final/netty-tcnative-boringssl-static-2.0.30.Final.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/netty/netty-tcnative-boringssl-static/2.0.30.Final/netty-tcnative-boringssl-static-2.0.30.Final.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/netty/netty-tcnative-boringssl-static/2.0.30.Final/netty-tcnative-boringssl-static-2.0.30.Final.jar",
+ "https://repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static/2.0.30.Final/netty-tcnative-boringssl-static-2.0.30.Final.jar"
+ ],
+ "sha256": "61934ca753be47973fe427d1f483a1b2fbcaf56eefc71519bf35fddb036ee111"
+ },
+ {
+ "coord": "io.netty:netty-transport-native-epoll:jar:linux-x86_64:4.1.48.Final",
+ "file": "v1/https/repo1.maven.org/maven2/io/netty/netty-transport-native-epoll/4.1.48.Final/netty-transport-native-epoll-4.1.48.Final-linux-x86_64.jar",
+ "directDependencies": [
+ "io.netty:netty-buffer:4.1.48.Final",
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-transport:4.1.48.Final",
+ "io.netty:netty-transport-native-unix-common:4.1.48.Final"
+ ],
+ "dependencies": [
+ "io.netty:netty-transport:4.1.48.Final",
+ "io.netty:netty-buffer:4.1.48.Final",
+ "io.netty:netty-resolver:4.1.48.Final",
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-transport-native-unix-common:4.1.48.Final"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/netty/netty-transport-native-epoll/4.1.48.Final/netty-transport-native-epoll-4.1.48.Final-linux-x86_64.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/netty/netty-transport-native-epoll/4.1.48.Final/netty-transport-native-epoll-4.1.48.Final-linux-x86_64.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/netty/netty-transport-native-epoll/4.1.48.Final/netty-transport-native-epoll-4.1.48.Final-linux-x86_64.jar",
+ "https://repo1.maven.org/maven2/io/netty/netty-transport-native-epoll/4.1.48.Final/netty-transport-native-epoll-4.1.48.Final-linux-x86_64.jar"
+ ],
+ "sha256": "7436ecfb442b299af6ecff7ae6a8d3f00fb56e081d20e82b467dad2e6ee8848f"
+ },
+ {
+ "coord": "io.netty:netty-transport-native-unix-common:4.1.48.Final",
+ "file": "v1/https/repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.48.Final/netty-transport-native-unix-common-4.1.48.Final.jar",
+ "directDependencies": [
+ "io.netty:netty-buffer:4.1.48.Final",
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-transport:4.1.48.Final"
+ ],
+ "dependencies": [
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-resolver:4.1.48.Final",
+ "io.netty:netty-transport:4.1.48.Final",
+ "io.netty:netty-buffer:4.1.48.Final"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.48.Final/netty-transport-native-unix-common-4.1.48.Final.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/netty/netty-transport-native-unix-common/4.1.48.Final/netty-transport-native-unix-common-4.1.48.Final.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/netty/netty-transport-native-unix-common/4.1.48.Final/netty-transport-native-unix-common-4.1.48.Final.jar",
+ "https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.48.Final/netty-transport-native-unix-common-4.1.48.Final.jar"
+ ],
+ "sha256": "c4142429437845d966babba5eddce47203e1f256209e455019d2538ebec58b95"
+ },
+ {
+ "coord": "io.netty:netty-transport:4.1.48.Final",
+ "file": "v1/https/repo1.maven.org/maven2/io/netty/netty-transport/4.1.48.Final/netty-transport-4.1.48.Final.jar",
+ "directDependencies": [
+ "io.netty:netty-buffer:4.1.48.Final",
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-resolver:4.1.48.Final"
+ ],
+ "dependencies": [
+ "io.netty:netty-common:4.1.48.Final",
+ "io.netty:netty-resolver:4.1.48.Final",
+ "io.netty:netty-buffer:4.1.48.Final"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/netty/netty-transport/4.1.48.Final/netty-transport-4.1.48.Final.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/netty/netty-transport/4.1.48.Final/netty-transport-4.1.48.Final.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/netty/netty-transport/4.1.48.Final/netty-transport-4.1.48.Final.jar",
+ "https://repo1.maven.org/maven2/io/netty/netty-transport/4.1.48.Final/netty-transport-4.1.48.Final.jar"
+ ],
+ "sha256": "6b4ba9e09a8e060bad2540845491b5fa1ca73614d157860e657f4027c91e72fd"
+ },
+ {
+ "coord": "io.opencensus:opencensus-api:0.24.0",
+ "file": "v1/https/repo1.maven.org/maven2/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar",
+ "directDependencies": [
+ "io.grpc:grpc-context:1.29.0"
+ ],
+ "dependencies": [
+ "io.grpc:grpc-context:1.29.0"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar",
+ "https://repo1.maven.org/maven2/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar"
+ ],
+ "sha256": "f561b1cc2673844288e596ddf5bb6596868a8472fd2cb8993953fc5c034b2352"
+ },
+ {
+ "coord": "io.opencensus:opencensus-contrib-grpc-metrics:0.24.0",
+ "file": "v1/https/repo1.maven.org/maven2/io/opencensus/opencensus-contrib-grpc-metrics/0.24.0/opencensus-contrib-grpc-metrics-0.24.0.jar",
+ "directDependencies": [
+ "com.google.guava:guava:28.2-android",
+ "io.opencensus:opencensus-api:0.24.0"
+ ],
+ "dependencies": [
+ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
+ "com.google.j2objc:j2objc-annotations:1.3",
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "io.grpc:grpc-context:1.29.0",
+ "io.opencensus:opencensus-api:0.24.0",
+ "com.google.errorprone:error_prone_annotations:2.3.4",
+ "com.google.guava:failureaccess:1.0.1",
+ "com.google.guava:guava:28.2-android",
+ "org.checkerframework:checker-compat-qual:2.5.5"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-grpc-metrics/0.24.0/opencensus-contrib-grpc-metrics-0.24.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/opencensus/opencensus-contrib-grpc-metrics/0.24.0/opencensus-contrib-grpc-metrics-0.24.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/opencensus/opencensus-contrib-grpc-metrics/0.24.0/opencensus-contrib-grpc-metrics-0.24.0.jar",
+ "https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-grpc-metrics/0.24.0/opencensus-contrib-grpc-metrics-0.24.0.jar"
+ ],
+ "sha256": "875582e093f11950ad3f4a50b5fee33a008023f7d1e47820a1bef05d23b9ed42"
+ },
+ {
+ "coord": "io.opencensus:opencensus-contrib-http-util:0.24.0",
+ "file": "v1/https/repo1.maven.org/maven2/io/opencensus/opencensus-contrib-http-util/0.24.0/opencensus-contrib-http-util-0.24.0.jar",
+ "directDependencies": [
+ "com.google.guava:guava:28.2-android",
+ "io.opencensus:opencensus-api:0.24.0"
+ ],
+ "dependencies": [
+ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
+ "com.google.j2objc:j2objc-annotations:1.3",
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "io.grpc:grpc-context:1.29.0",
+ "io.opencensus:opencensus-api:0.24.0",
+ "com.google.errorprone:error_prone_annotations:2.3.4",
+ "com.google.guava:failureaccess:1.0.1",
+ "com.google.guava:guava:28.2-android",
+ "org.checkerframework:checker-compat-qual:2.5.5"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-http-util/0.24.0/opencensus-contrib-http-util-0.24.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/opencensus/opencensus-contrib-http-util/0.24.0/opencensus-contrib-http-util-0.24.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/opencensus/opencensus-contrib-http-util/0.24.0/opencensus-contrib-http-util-0.24.0.jar",
+ "https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-http-util/0.24.0/opencensus-contrib-http-util-0.24.0.jar"
+ ],
+ "sha256": "7155273bbb1ed3d477ea33cf19d7bbc0b285ff395f43b29ae576722cf247000f"
+ },
+ {
+ "coord": "io.perfmark:perfmark-api:0.19.0",
+ "file": "v1/https/repo1.maven.org/maven2/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0.jar",
+ "directDependencies": [
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "com.google.errorprone:error_prone_annotations:2.3.4"
+ ],
+ "dependencies": [
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "com.google.errorprone:error_prone_annotations:2.3.4"
+ ],
+ "url": "https://repo1.maven.org/maven2/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0.jar",
+ "https://repo1.maven.org/maven2/io/perfmark/perfmark-api/0.19.0/perfmark-api-0.19.0.jar"
+ ],
+ "sha256": "b734ba2149712409a44eabdb799f64768578fee0defe1418bb108fe32ea43e1a"
+ },
+ {
+ "coord": "javax.annotation:javax.annotation-api:1.2",
+ "file": "v1/https/repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar",
+ "https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar"
+ ],
+ "sha256": "5909b396ca3a2be10d0eea32c74ef78d816e1b4ead21de1d78de1f890d033e04"
+ },
+ {
+ "coord": "junit:junit:4.12",
+ "file": "v1/https/repo1.maven.org/maven2/junit/junit/4.12/junit-4.12.jar",
+ "directDependencies": [
+ "org.hamcrest:hamcrest-core:1.3"
+ ],
+ "dependencies": [
+ "org.hamcrest:hamcrest-core:1.3"
+ ],
+ "url": "https://repo1.maven.org/maven2/junit/junit/4.12/junit-4.12.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/junit/junit/4.12/junit-4.12.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/junit/junit/4.12/junit-4.12.jar",
+ "https://repo1.maven.org/maven2/junit/junit/4.12/junit-4.12.jar"
+ ],
+ "sha256": "59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a"
+ },
+ {
+ "coord": "net.md-5:bungeecord-chat:jar:1.15-SNAPSHOT",
+ "file": "v1/https/oss.sonatype.org/content/repositories/snapshots/net/md-5/bungeecord-chat/1.15-SNAPSHOT/bungeecord-chat-1.15-20200509.234557-72.jar",
+ "directDependencies": [
+ "com.google.code.gson:gson:2.8.6",
+ "com.google.guava:guava:28.2-android"
+ ],
+ "dependencies": [
+ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
+ "com.google.j2objc:j2objc-annotations:1.3",
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "com.google.code.gson:gson:2.8.6",
+ "com.google.errorprone:error_prone_annotations:2.3.4",
+ "com.google.guava:failureaccess:1.0.1",
+ "com.google.guava:guava:28.2-android",
+ "org.checkerframework:checker-compat-qual:2.5.5"
+ ],
+ "url": "https://oss.sonatype.org/content/repositories/snapshots/net/md-5/bungeecord-chat/1.15-SNAPSHOT/bungeecord-chat-1.15-20200509.234557-72.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/net/md-5/bungeecord-chat/1.15-SNAPSHOT/bungeecord-chat-1.15-20200509.234557-72.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/net/md-5/bungeecord-chat/1.15-SNAPSHOT/bungeecord-chat-1.15-20200509.234557-72.jar",
+ "https://repo1.maven.org/maven2/net/md-5/bungeecord-chat/1.15-SNAPSHOT/bungeecord-chat-1.15-20200509.234557-72.jar"
+ ],
+ "sha256": "fd727533e2629f5383feebe28c33ac168c9d210115c832970d9b4338579ac720"
+ },
+ {
+ "coord": "org.apache.commons:commons-lang3:3.5",
+ "file": "v1/https/repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar",
+ "https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar"
+ ],
+ "sha256": "8ac96fc686512d777fca85e144f196cd7cfe0c0aec23127229497d1a38ff651c"
+ },
+ {
+ "coord": "org.apache.httpcomponents:httpclient:4.5.10",
+ "file": "v1/https/repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar",
+ "directDependencies": [
+ "commons-codec:commons-codec:1.11",
+ "commons-logging:commons-logging:1.2",
+ "org.apache.httpcomponents:httpcore:4.4.12"
+ ],
+ "dependencies": [
+ "commons-logging:commons-logging:1.2",
+ "commons-codec:commons-codec:1.11",
+ "org.apache.httpcomponents:httpcore:4.4.12"
+ ],
+ "url": "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar",
+ "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar"
+ ],
+ "sha256": "38b9f16f504928e4db736a433b9cd10968d9ec8d6f5d0e61a64889a689172134"
+ },
+ {
+ "coord": "org.apache.httpcomponents:httpcore:4.4.12",
+ "file": "v1/https/repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.12/httpcore-4.4.12.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.12/httpcore-4.4.12.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/apache/httpcomponents/httpcore/4.4.12/httpcore-4.4.12.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/org/apache/httpcomponents/httpcore/4.4.12/httpcore-4.4.12.jar",
+ "https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.12/httpcore-4.4.12.jar"
+ ],
+ "sha256": "ab765334beabf0ea024484a5e90a7c40e8160b145f22d199e11e27f68d57da08"
+ },
+ {
+ "coord": "org.checkerframework:checker-compat-qual:2.5.5",
+ "file": "v1/https/repo1.maven.org/maven2/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar",
+ "https://repo1.maven.org/maven2/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar"
+ ],
+ "sha256": "11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a"
+ },
+ {
+ "coord": "org.codehaus.mojo:animal-sniffer-annotations:1.18",
+ "file": "v1/https/repo1.maven.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18.jar",
+ "https://repo1.maven.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18.jar"
+ ],
+ "sha256": "47f05852b48ee9baefef80fa3d8cea60efa4753c0013121dd7fe5eef2e5c729d"
+ },
+ {
+ "coord": "org.hamcrest:hamcrest-core:1.3",
+ "file": "v1/https/repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar",
+ "https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"
+ ],
+ "sha256": "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9"
+ },
+ {
+ "coord": "org.spigotmc:spigot-api:1.15.2-R0.1-SNAPSHOT",
+ "file": "v1/https/hub.spigotmc.org/nexus/content/repositories/snapshots/org/spigotmc/spigot-api/1.15.2-R0.1-SNAPSHOT/spigot-api-1.15.2-R0.1-20200509.094510-108.jar",
+ "directDependencies": [
+ "commons-lang:commons-lang:2.6",
+ "org.yaml:snakeyaml:1.25",
+ "com.google.code.gson:gson:2.8.6",
+ "net.md-5:bungeecord-chat:jar:1.15-SNAPSHOT",
+ "com.google.guava:guava:28.2-android"
+ ],
+ "dependencies": [
+ "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava",
+ "com.google.j2objc:j2objc-annotations:1.3",
+ "com.google.code.findbugs:jsr305:3.0.2",
+ "commons-lang:commons-lang:2.6",
+ "org.yaml:snakeyaml:1.25",
+ "com.google.code.gson:gson:2.8.6",
+ "com.google.errorprone:error_prone_annotations:2.3.4",
+ "com.google.guava:failureaccess:1.0.1",
+ "net.md-5:bungeecord-chat:jar:1.15-SNAPSHOT",
+ "com.google.guava:guava:28.2-android",
+ "org.checkerframework:checker-compat-qual:2.5.5"
+ ],
+ "url": "https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/spigotmc/spigot-api/1.15.2-R0.1-SNAPSHOT/spigot-api-1.15.2-R0.1-20200509.094510-108.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/spigotmc/spigot-api/1.15.2-R0.1-SNAPSHOT/spigot-api-1.15.2-R0.1-20200509.094510-108.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/org/spigotmc/spigot-api/1.15.2-R0.1-SNAPSHOT/spigot-api-1.15.2-R0.1-20200509.094510-108.jar",
+ "https://repo1.maven.org/maven2/org/spigotmc/spigot-api/1.15.2-R0.1-SNAPSHOT/spigot-api-1.15.2-R0.1-20200509.094510-108.jar"
+ ],
+ "sha256": "243c81927517f29ff2bf51303beba6470cb92ae15f82fadd0d8ba86c5715e5f8"
+ },
+ {
+ "coord": "org.yaml:snakeyaml:1.25",
+ "file": "v1/https/repo1.maven.org/maven2/org/yaml/snakeyaml/1.25/snakeyaml-1.25.jar",
+ "directDependencies": [],
+ "dependencies": [],
+ "url": "https://repo1.maven.org/maven2/org/yaml/snakeyaml/1.25/snakeyaml-1.25.jar",
+ "mirror_urls": [
+ "https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/yaml/snakeyaml/1.25/snakeyaml-1.25.jar",
+ "https://oss.sonatype.org/content/repositories/snapshots/org/yaml/snakeyaml/1.25/snakeyaml-1.25.jar",
+ "https://repo1.maven.org/maven2/org/yaml/snakeyaml/1.25/snakeyaml-1.25.jar"
+ ],
+ "sha256": "b50ef33187e7dc922b26dbe4dd0fdb3a9cf349e75a08b95269901548eee546eb"
+ }
+ ],
+ "version": "0.1.0",
+ "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": 392476608
+ }
+}