Essentia plugin
Basic plugin with some essential utilities and commands.
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
plugins {
|
||||
`maven-publish`
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compileOnly("com.alttd:Comet-API:1.20.4-R0.1-SNAPSHOT")
|
||||
}
|
||||
|
||||
tasks {
|
||||
jar {
|
||||
archiveFileName.set("${rootProject.name}-${project.name}.jar")
|
||||
}
|
||||
}
|
||||
|
||||
publishing {
|
||||
publications {
|
||||
create<MavenPublication>("mavenJava") {
|
||||
from(components["java"])
|
||||
}
|
||||
}
|
||||
|
||||
repositories{
|
||||
maven {
|
||||
name = "maven"
|
||||
url = uri("https://repo.destro.xyz/snapshots")
|
||||
credentials(PasswordCredentials::class)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.alttd.essentia;
|
||||
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
|
||||
public interface EssentiaAPI {
|
||||
|
||||
static EssentiaAPI get() {
|
||||
return Provider.instance;
|
||||
}
|
||||
|
||||
final class Provider {
|
||||
private static EssentiaAPI instance = null;
|
||||
|
||||
@ApiStatus.Internal
|
||||
static void register(EssentiaAPI instance) {
|
||||
if (Provider.instance != null)
|
||||
throw new UnsupportedOperationException("Cannot redefine singleton");
|
||||
|
||||
Provider.instance = instance;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user