mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-04 00:45:57 +00:00
Enforce NMS bindings
This commit is contained in:
parent
2a92d76276
commit
1e55074cfa
@ -63,6 +63,11 @@ public class TerraBukkitPlugin extends JavaPlugin {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!Initializer.init(platform)) {
|
||||||
|
Bukkit.getPluginManager().disablePlugin(this);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
platform.getEventManager().callEvent(new PlatformInitializationEvent());
|
platform.getEventManager().callEvent(new PlatformInitializationEvent());
|
||||||
|
|
||||||
|
|
||||||
@ -84,8 +89,6 @@ public class TerraBukkitPlugin extends JavaPlugin {
|
|||||||
|
|
||||||
Bukkit.getPluginManager().registerEvents(new CommonListener(), this); // Register master event listener
|
Bukkit.getPluginManager().registerEvents(new CommonListener(), this); // Register master event listener
|
||||||
PaperUtil.checkPaper(this);
|
PaperUtil.checkPaper(this);
|
||||||
|
|
||||||
Initializer.init(platform);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.dfsek.terra.bukkit.nms;
|
package com.dfsek.terra.bukkit.nms;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
@ -11,7 +12,7 @@ public interface Initializer {
|
|||||||
String NMS = Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3];
|
String NMS = Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3];
|
||||||
String TERRA_PACKAGE = Initializer.class.getPackageName();
|
String TERRA_PACKAGE = Initializer.class.getPackageName();
|
||||||
|
|
||||||
static void init(PlatformImpl platform) {
|
static boolean init(PlatformImpl platform) {
|
||||||
Logger logger = LoggerFactory.getLogger(Initializer.class);
|
Logger logger = LoggerFactory.getLogger(Initializer.class);
|
||||||
try {
|
try {
|
||||||
Class<?> initializerClass = Class.forName(TERRA_PACKAGE + "." + NMS + ".NMSInitializer");
|
Class<?> initializerClass = Class.forName(TERRA_PACKAGE + "." + NMS + ".NMSInitializer");
|
||||||
@ -24,6 +25,13 @@ public interface Initializer {
|
|||||||
} catch(ClassNotFoundException e) {
|
} catch(ClassNotFoundException e) {
|
||||||
logger.error("NMS bindings for version {} do not exist. Support for this version is limited.", NMS);
|
logger.error("NMS bindings for version {} do not exist. Support for this version is limited.", NMS);
|
||||||
logger.error("This is usually due to running Terra on an unsupported Minecraft version.");
|
logger.error("This is usually due to running Terra on an unsupported Minecraft version.");
|
||||||
|
String bypassKey = "IKnowThereAreNoNMSBindingsFor" + NMS + "ButIWillProceedAnyway";
|
||||||
|
if(System.getProperty(bypassKey) == null) {
|
||||||
|
logger.error("Because of this **TERRA HAS BEEN DISABLED**.");
|
||||||
|
logger.error("Do not come ask us why it is not working.");
|
||||||
|
logger.error("If you wish to proceed anyways, you can add the JVM System Property \"{}\" to enable the plugin.", bypassKey);
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
logger.error("");
|
logger.error("");
|
||||||
logger.error("");
|
logger.error("");
|
||||||
for(int i = 0; i < 20; i++) {
|
for(int i = 0; i < 20; i++) {
|
||||||
@ -33,8 +41,12 @@ public interface Initializer {
|
|||||||
logger.error("");
|
logger.error("");
|
||||||
logger.error("NMS bindings for version {} do not exist. Support for this version is limited.", NMS);
|
logger.error("NMS bindings for version {} do not exist. Support for this version is limited.", NMS);
|
||||||
logger.error("This is usually due to running Terra on an unsupported Minecraft version.");
|
logger.error("This is usually due to running Terra on an unsupported Minecraft version.");
|
||||||
|
logger.error("We will not give you any support for issues that may arise.");
|
||||||
|
logger.error("Since you enabled the \"{}\" flag, we won't disable Terra. But be warned.", bypassKey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void initialize(PlatformImpl plugin);
|
void initialize(PlatformImpl plugin);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user