diff --git a/Core/nbactions.xml b/Core/nbactions.xml
new file mode 100644
index 00000000..e4344a79
--- /dev/null
+++ b/Core/nbactions.xml
@@ -0,0 +1,13 @@
+
+
+
+ build
+
+ *
+
+
+ install
+ -X
+
+
+
diff --git a/Core/pom.xml b/Core/pom.xml
index a650c14c..deb73f5f 100644
--- a/Core/pom.xml
+++ b/Core/pom.xml
@@ -14,6 +14,7 @@
jar
+ src/main/java
clean install
SongodaCore-${project.version}
@@ -27,14 +28,25 @@
+ org.apache.maven.plugins
maven-assembly-plugin
3.1.1
+ false
- ${project.basedir}/../assembly.xml
+ ../assembly.xml
SongodaCore-${project.version}
+
+
+ make-assembly
+ package
+
+ single
+
+
+
@@ -66,6 +78,76 @@
jar
compile
+
+ ${project.groupId}
+ SongodaCore-NMS-v1_8_R2
+ ${project.version}
+ jar
+ compile
+
+
+ ${project.groupId}
+ SongodaCore-NMS-v1_8_R3
+ ${project.version}
+ jar
+ compile
+
+
+ ${project.groupId}
+ SongodaCore-NMS-v1_9_R1
+ ${project.version}
+ jar
+ compile
+
+
+ ${project.groupId}
+ SongodaCore-NMS-v1_9_R2
+ ${project.version}
+ jar
+ compile
+
+
+ ${project.groupId}
+ SongodaCore-NMS-v1_10_R1
+ ${project.version}
+ jar
+ compile
+
+
+ ${project.groupId}
+ SongodaCore-NMS-v1_11_R1
+ ${project.version}
+ jar
+ compile
+
+
+ ${project.groupId}
+ SongodaCore-NMS-v1_12_R1
+ ${project.version}
+ jar
+ compile
+
+
+ ${project.groupId}
+ SongodaCore-NMS-v1_13_R1
+ ${project.version}
+ jar
+ compile
+
+
+ ${project.groupId}
+ SongodaCore-NMS-v1_13_R2
+ ${project.version}
+ jar
+ compile
+
+
+ ${project.groupId}
+ SongodaCore-NMS-v1_14_R1
+ ${project.version}
+ jar
+ compile
+
com.gmail.filoghost.holographicdisplays
diff --git a/NMS/NMS-API/src/com/songoda/core/nms/NmsManager.java b/NMS/NMS-API/src/com/songoda/core/nms/NmsManager.java
index 61febb77..2f7114db 100644
--- a/NMS/NMS-API/src/com/songoda/core/nms/NmsManager.java
+++ b/NMS/NMS-API/src/com/songoda/core/nms/NmsManager.java
@@ -1,5 +1,30 @@
package com.songoda.core.nms;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.bukkit.Bukkit;
+
public class NmsManager {
-
+
+ private final static CoreNMS nms = _getNMS();
+ private final static String serverPackagePath = Bukkit.getServer().getClass().getPackage().getName();
+ private final static String serverPackageVersion = serverPackagePath.substring(serverPackagePath.lastIndexOf('.') + 1);
+
+ private static CoreNMS _getNMS() {
+ CoreNMS result = null;
+ try {
+ result = (CoreNMS) Class.forName("com.songoda.core.nms" + serverPackageVersion + "NMS").newInstance();
+ } catch (Exception ex) {
+ Logger.getLogger(NmsManager.class.getName()).log(Level.SEVERE, "Failed to load NMS for this server version", ex);
+ }
+ return result;
+ }
+
+ public static CoreNMS getNMS() {
+ return nms;
+ }
+
+ public static boolean hasNMS() {
+ return nms != null;
+ }
}
diff --git a/NMS/NMS-v1_8_R3/src/com/songoda/core/nms/v1_8_R1/NMS.java b/NMS/NMS-v1_8_R3/src/com/songoda/core/nms/v1_8_R3/NMS.java
similarity index 65%
rename from NMS/NMS-v1_8_R3/src/com/songoda/core/nms/v1_8_R1/NMS.java
rename to NMS/NMS-v1_8_R3/src/com/songoda/core/nms/v1_8_R3/NMS.java
index d45b05c8..61972920 100644
--- a/NMS/NMS-v1_8_R3/src/com/songoda/core/nms/v1_8_R1/NMS.java
+++ b/NMS/NMS-v1_8_R3/src/com/songoda/core/nms/v1_8_R3/NMS.java
@@ -1,4 +1,4 @@
-package com.songoda.core.nms.v1_8_R1;
+package com.songoda.core.nms.v1_8_R3;
import com.songoda.core.nms.CoreNMS;
diff --git a/assembly.xml b/assembly.xml
new file mode 100644
index 00000000..0028b5d6
--- /dev/null
+++ b/assembly.xml
@@ -0,0 +1,20 @@
+
+ dist
+
+ jar
+
+ false
+
+
+
+ true
+ false
+
+ ${project.groupId}:*
+
+
+
+
\ No newline at end of file