- Added warning mode

- ignoreUnstable Changed to ignoreBootMode
This commit is contained in:
RePixelatedMC
2023-12-16 13:45:21 +01:00
parent 1809d4a53f
commit 7ce219a6a8
7 changed files with 136 additions and 53 deletions
+33 -5
View File
@@ -95,7 +95,7 @@ import java.net.URL;
import java.util.Date; import java.util.Date;
import java.util.Map; import java.util.Map;
import static com.volmit.iris.core.safeguard.IrisSafeguard.unstablemode; import static com.volmit.iris.core.safeguard.IrisSafeguard.*;
import static com.volmit.iris.core.safeguard.ServerBootSFG.passedserversoftware; import static com.volmit.iris.core.safeguard.ServerBootSFG.passedserversoftware;
import static com.volmit.iris.util.misc.getHardware.getCPUModel; import static com.volmit.iris.util.misc.getHardware.getCPUModel;
import static com.volmit.iris.util.misc.getHardware.getCPUThreads; import static com.volmit.iris.util.misc.getHardware.getCPUThreads;
@@ -592,9 +592,11 @@ public class Iris extends VolmitPlugin implements Listener {
if (unstablemode) { if (unstablemode) {
return C.BOLD + "" + C.DARK_GRAY + "[" + C.BOLD + "" + C.RED + "Iris" + C.BOLD + C.DARK_GRAY + "]" + C.RESET + "" + C.GRAY + ": "; return C.BOLD + "" + C.DARK_GRAY + "[" + C.BOLD + "" + C.RED + "Iris" + C.BOLD + C.DARK_GRAY + "]" + C.RESET + "" + C.GRAY + ": ";
} }
else { if (warningmode) {
return C.BOLD + "" + C.DARK_GRAY + "[" + C.BOLD + "" + C.IRIS + "Iris" + C.BOLD + C.DARK_GRAY + "]" + C.RESET + "" + C.GRAY + ": "; return C.BOLD + "" + C.DARK_GRAY + "[" + C.BOLD + "" + C.GOLD + "Iris" + C.BOLD + C.DARK_GRAY + "]" + C.RESET + "" + C.GRAY + ": ";
} }
return C.BOLD + "" + C.DARK_GRAY + "[" + C.BOLD + "" + C.IRIS + "Iris" + C.BOLD + C.DARK_GRAY + "]" + C.RESET + "" + C.GRAY + ": ";
} }
private boolean setupChecks() { private boolean setupChecks() {
@@ -741,6 +743,9 @@ public class Iris extends VolmitPlugin implements Listener {
if (unstablemode) { if (unstablemode) {
info = new String[]{"", "", "", "", "", padd2 + C.RED + " Iris", padd2 + C.GRAY + " by " + C.DARK_RED + "Volmit Software", padd2 + C.GRAY + " v" + C.RED + getDescription().getVersion()}; info = new String[]{"", "", "", "", "", padd2 + C.RED + " Iris", padd2 + C.GRAY + " by " + C.DARK_RED + "Volmit Software", padd2 + C.GRAY + " v" + C.RED + getDescription().getVersion()};
} }
if (warningmode) {
info = new String[]{"", "", "", "", "", padd2 + C.GOLD + " Iris", padd2 + C.GRAY + " by " + C.GOLD + "Volmit Software", padd2 + C.GRAY + " v" + C.GOLD + getDescription().getVersion()};
}
String[] splashstable = { String[] splashstable = {
padd + C.GRAY + " @@@@@@@@@@@@@@" + C.DARK_GRAY + "@@@", padd + C.GRAY + " @@@@@@@@@@@@@@" + C.DARK_GRAY + "@@@",
@@ -769,8 +774,27 @@ public class Iris extends VolmitPlugin implements Listener {
padd + C.GRAY + "" + C.RED + " '(((())))' " + C.DARK_GRAY + "&&&&&&&&" + C.GRAY + "&&&&&&&@@", padd + C.GRAY + "" + C.RED + " '(((())))' " + C.DARK_GRAY + "&&&&&&&&" + C.GRAY + "&&&&&&&@@",
padd + C.GRAY + " " + C.DARK_GRAY + "@@@" + C.GRAY + "@@@@@@@@@@@@@@" padd + C.GRAY + " " + C.DARK_GRAY + "@@@" + C.GRAY + "@@@@@@@@@@@@@@"
}; };
String[] splash = unstablemode ? splashunstable : splashstable; // Choose the appropriate splash array based on unstablemode String[] splashwarning = {
padd + C.GRAY + " @@@@@@@@@@@@@@" + C.DARK_GRAY + "@@@",
padd + C.GRAY + " @@&&&&&&&&&" + C.DARK_GRAY + "&&&&&&" + C.GOLD + " .(((()))). ",
padd + C.GRAY + "@@@&&&&&&&&" + C.DARK_GRAY + "&&&&&" + C.GOLD + " .((((((())))))). ",
padd + C.GRAY + "@@@&&&&&" + C.DARK_GRAY + "&&&&&&&" + C.GOLD + " ((((((((())))))))) " + C.GRAY + " @",
padd + C.GRAY + "@@@&&&&" + C.DARK_GRAY + "@@@@@&" + C.GOLD + " ((((((((-))))))))) " + C.GRAY + " @@",
padd + C.GRAY + "@@@&&" + C.GOLD + " ((((((({ })))))))) " + C.GRAY + " &&@@@",
padd + C.GRAY + "@@" + C.GOLD + " ((((((((-))))))))) " + C.DARK_GRAY + "&@@@@@" + C.GRAY + "&&&&@@@",
padd + C.GRAY + "@" + C.GOLD + " ((((((((())))))))) " + C.DARK_GRAY + "&&&&&" + C.GRAY + "&&&&&&&@@@",
padd + C.GRAY + "" + C.GOLD + " '((((((()))))))' " + C.DARK_GRAY + "&&&&&" + C.GRAY + "&&&&&&&&@@@",
padd + C.GRAY + "" + C.GOLD + " '(((())))' " + C.DARK_GRAY + "&&&&&&&&" + C.GRAY + "&&&&&&&@@",
padd + C.GRAY + " " + C.DARK_GRAY + "@@@" + C.GRAY + "@@@@@@@@@@@@@@"
};
String[] splash;
if (unstablemode) {
splash = splashunstable;
} else if (warningmode) {
splash = splashwarning;
} else {
splash = splashstable;
}
OperatingSystemMXBean osBean = ManagementFactory.getOperatingSystemMXBean(); OperatingSystemMXBean osBean = ManagementFactory.getOperatingSystemMXBean();
String osArch = osBean.getArch(); String osArch = osBean.getArch();
String osName = osBean.getName(); String osName = osBean.getName();
@@ -788,6 +812,9 @@ public class Iris extends VolmitPlugin implements Listener {
Iris.info("Server OS: " + osName + " (" + osArch + ")"); Iris.info("Server OS: " + osName + " (" + osArch + ")");
try { try {
if (warningmode){
Iris.info("Server Cpu: " + C.GOLD + getCPUModel());
} else {
if(unstablemode){ if(unstablemode){
Iris.info("Server Cpu: " + C.DARK_RED + getCPUModel()); Iris.info("Server Cpu: " + C.DARK_RED + getCPUModel());
} else { } else {
@@ -801,6 +828,7 @@ public class Iris extends VolmitPlugin implements Listener {
Iris.info("Server Cpu: " + C.GRAY + getCPUModel()); Iris.info("Server Cpu: " + C.GRAY + getCPUModel());
} }
} }
}
} catch (Exception e){ } catch (Exception e){
Iris.info("Server Cpu: " + C.DARK_RED + "Failed"); Iris.info("Server Cpu: " + C.DARK_RED + "Failed");
} }
@@ -148,7 +148,7 @@ public class IrisSettings {
@Data @Data
public static class IrisSettingsGeneral { public static class IrisSettingsGeneral {
public boolean bootUnstable = false; public boolean ignoreBootMode = false;
public boolean useIntegratedChunkHandler = false; public boolean useIntegratedChunkHandler = false;
public boolean commandSounds = true; public boolean commandSounds = true;
public boolean debug = false; public boolean debug = false;
@@ -23,40 +23,29 @@ import com.volmit.iris.core.IrisSettings;
import com.volmit.iris.core.service.StudioSVC; import com.volmit.iris.core.service.StudioSVC;
import com.volmit.iris.core.tools.IrisBenchmarking; import com.volmit.iris.core.tools.IrisBenchmarking;
import com.volmit.iris.core.tools.IrisToolbelt; import com.volmit.iris.core.tools.IrisToolbelt;
import com.volmit.iris.engine.framework.Engine;
import com.volmit.iris.engine.object.IrisDimension; import com.volmit.iris.engine.object.IrisDimension;
import com.volmit.iris.engine.platform.PlatformChunkGenerator;
import com.volmit.iris.core.safeguard.UtilsSFG; import com.volmit.iris.core.safeguard.UtilsSFG;
import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.decree.DecreeContext;
import com.volmit.iris.util.decree.DecreeExecutor; import com.volmit.iris.util.decree.DecreeExecutor;
import com.volmit.iris.util.decree.DecreeOrigin; import com.volmit.iris.util.decree.DecreeOrigin;
import com.volmit.iris.util.decree.annotations.Decree; import com.volmit.iris.util.decree.annotations.Decree;
import com.volmit.iris.util.decree.annotations.Param; import com.volmit.iris.util.decree.annotations.Param;
import com.volmit.iris.util.decree.specialhandlers.NullablePlayerHandler; import com.volmit.iris.util.decree.specialhandlers.NullablePlayerHandler;
import com.volmit.iris.util.format.C; import com.volmit.iris.util.format.C;
import com.volmit.iris.util.format.Form;
import com.volmit.iris.util.parallel.BurstExecutor;
import com.volmit.iris.util.parallel.MultiBurst;
import com.volmit.iris.util.plugin.VolmitSender; import com.volmit.iris.util.plugin.VolmitSender;
import com.volmit.iris.util.scheduling.J; import com.volmit.iris.util.scheduling.J;
import com.volmit.iris.util.scheduling.jobs.QueueJob;
import lombok.Getter; import lombok.Getter;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Chunk;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitRunnable;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import static com.volmit.iris.core.service.EditSVC.deletingWorld; import static com.volmit.iris.core.service.EditSVC.deletingWorld;
import static com.volmit.iris.core.tools.IrisBenchmarking.inProgress; import static com.volmit.iris.core.tools.IrisBenchmarking.inProgress;
import static com.volmit.iris.core.safeguard.IrisSafeguard.unstablemode; import static com.volmit.iris.core.safeguard.IrisSafeguard.unstablemode;
import static com.volmit.iris.core.safeguard.ServerBootSFG.incompatiblePlugins; import static com.volmit.iris.core.safeguard.ServerBootSFG.incompatibilities;
@Decree(name = "iris", aliases = {"ir", "irs"}, description = "Basic Command") @Decree(name = "iris", aliases = {"ir", "irs"}, description = "Basic Command")
public class CommandIris implements DecreeExecutor { public class CommandIris implements DecreeExecutor {
@@ -85,7 +74,7 @@ public class CommandIris implements DecreeExecutor {
long seed long seed
) { ) {
if(sender() instanceof Player) { if(sender() instanceof Player) {
if (incompatiblePlugins.get("Multiverse-Core")) { if (incompatibilities.get("Multiverse-Core")) {
sender().sendMessage(C.RED + "Your server has an incompatibility that may corrupt all worlds on the server if not handled properly."); sender().sendMessage(C.RED + "Your server has an incompatibility that may corrupt all worlds on the server if not handled properly.");
sender().sendMessage(C.RED + "it is strongly advised for you to take action. see log for full detail"); sender().sendMessage(C.RED + "it is strongly advised for you to take action. see log for full detail");
sender().sendMessage(C.RED + "----------------------------------------------------------------"); sender().sendMessage(C.RED + "----------------------------------------------------------------");
@@ -93,7 +82,7 @@ public class CommandIris implements DecreeExecutor {
sender().sendMessage(C.RED + UtilsSFG.MSGIncompatibleWarnings()); sender().sendMessage(C.RED + UtilsSFG.MSGIncompatibleWarnings());
sender().sendMessage(C.RED + "----------------------------------------------------------------"); sender().sendMessage(C.RED + "----------------------------------------------------------------");
} }
if (unstablemode && !incompatiblePlugins.get("Multiverse-Core")) { if (unstablemode && !incompatibilities.get("Multiverse-Core")) {
sender().sendMessage(C.RED + "Your server is experiencing an incompatibility with the Iris plugin."); sender().sendMessage(C.RED + "Your server is experiencing an incompatibility with the Iris plugin.");
sender().sendMessage(C.RED + "Please rectify this problem to avoid further complications."); sender().sendMessage(C.RED + "Please rectify this problem to avoid further complications.");
sender().sendMessage(C.RED + "----------------------------------------------------------------"); sender().sendMessage(C.RED + "----------------------------------------------------------------");
@@ -4,6 +4,7 @@ import com.volmit.iris.Iris;
public class IrisSafeguard { public class IrisSafeguard {
public static boolean unstablemode = false; public static boolean unstablemode = false;
public static boolean warningmode = false;
public static boolean stablemode = false; public static boolean stablemode = false;
public static void IrisSafeguardSystem() { public static void IrisSafeguardSystem() {
Iris.info("Enabled Iris SafeGuard"); Iris.info("Enabled Iris SafeGuard");
@@ -4,12 +4,17 @@ import com.volmit.iris.Iris;
import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.IrisSettings;
import com.volmit.iris.util.format.C; import com.volmit.iris.util.format.C;
public class UnstableModeSFG { public class ModesSFG {
public static void selectMode(){ public static void selectMode(){
if (IrisSafeguard.unstablemode) { if (IrisSafeguard.unstablemode) {
Iris.safeguard(C.DARK_RED + "Iris is running in Unstable Mode"); Iris.safeguard(C.DARK_RED + "Iris is running in Unstable Mode");
unstable(); unstable();
} else { }
if (IrisSafeguard.warningmode) {
Iris.safeguard(C.GOLD + "Iris is running in Warning Mode");
warning();
}
if (IrisSafeguard.stablemode) {
stable(); stable();
} }
} }
@@ -38,10 +43,10 @@ public class UnstableModeSFG {
Iris.info(C.DARK_RED + "ATTENTION: " + C.RED + "While running Iris in unstable mode, you won't be eligible for support."); Iris.info(C.DARK_RED + "ATTENTION: " + C.RED + "While running Iris in unstable mode, you won't be eligible for support.");
Iris.info(C.DARK_RED + "CAUSE: " + C.RED + UtilsSFG.MSGIncompatibleWarnings()); Iris.info(C.DARK_RED + "CAUSE: " + C.RED + UtilsSFG.MSGIncompatibleWarnings());
if (IrisSettings.get().getGeneral().bootUnstable) { if (IrisSettings.get().getGeneral().ignoreBootMode) {
Iris.info(C.DARK_RED + "Boot Unstable is set to true, continuing with the startup process."); Iris.info(C.DARK_RED + "Boot Unstable is set to true, continuing with the startup process.");
} else { } else {
Iris.info(C.DARK_RED + "Go to plugins/iris/settings.json and set ignoreUnstable to true if you wish to proceed."); Iris.info(C.DARK_RED + "Go to plugins/iris/settings.json and set ignoreBootMode to true if you wish to proceed.");
while (true) { while (true) {
try { try {
Thread.sleep(1000); Thread.sleep(1000);
@@ -53,4 +58,23 @@ public class UnstableModeSFG {
Iris.info(""); Iris.info("");
} }
} }
public static void warning() {
UtilsSFG.printIncompatibleWarnings();
if (IrisSafeguard.warningmode) {
Iris.info("");
Iris.info(C.DARK_GRAY + "--==<" + C.GOLD + " IMPORTANT " + C.DARK_GRAY + ">==--");
Iris.info(C.GOLD + "Iris is running in warning mode which may cause the following issues:");
Iris.info(C.YELLOW + "- Data Loss");
Iris.info(C.YELLOW + "- Errors");
Iris.info(C.YELLOW + "- Broken worlds");
Iris.info(C.YELLOW + "- Unexpected behavior.");
Iris.info(C.YELLOW + "- And perhaps further complications.");
Iris.info(C.GOLD + "ATTENTION: " + C.YELLOW + "While running Iris in unstable mode, you won't be eligible for support.");
Iris.info(C.GOLD + "CAUSE: " + C.YELLOW + UtilsSFG.MSGIncompatibleWarnings());
Iris.info("");
}
}
} }
@@ -6,17 +6,17 @@ import com.volmit.iris.core.nms.v1X.NMSBinding1X;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.plugin.Plugin; import org.bukkit.plugin.Plugin;
import javax.tools.ToolProvider; import java.io.File;
import java.util.*; import java.util.*;
import static com.volmit.iris.Iris.getJavaVersion; import static com.volmit.iris.Iris.getJavaVersion;
import static com.volmit.iris.Iris.instance; import static com.volmit.iris.Iris.instance;
import static com.volmit.iris.core.safeguard.IrisSafeguard.stablemode; import static com.volmit.iris.core.safeguard.IrisSafeguard.*;
import static com.volmit.iris.core.safeguard.IrisSafeguard.unstablemode;
public class ServerBootSFG { public class ServerBootSFG {
public static final Map<String, Boolean> incompatiblePlugins = new HashMap<>(); public static final Map<String, Boolean> incompatibilities = new HashMap<>();
public static boolean isJDK17 = true; public static boolean isJDK17 = true;
public static boolean isJRE = false;
public static boolean unsuportedversion = false; public static boolean unsuportedversion = false;
protected static boolean safeguardPassed; protected static boolean safeguardPassed;
public static boolean passedserversoftware = true; public static boolean passedserversoftware = true;
@@ -24,31 +24,31 @@ public class ServerBootSFG {
protected static byte severityLow; protected static byte severityLow;
protected static byte severityMedium; protected static byte severityMedium;
protected static byte severityHigh; protected static byte severityHigh;
public static String allIncompatiblePlugins; public static String allIncompatibilities;
public static void BootCheck() { public static void BootCheck() {
Iris.info("Checking for possible conflicts.."); Iris.info("Checking for possible conflicts..");
org.bukkit.plugin.PluginManager pluginManager = Bukkit.getPluginManager(); org.bukkit.plugin.PluginManager pluginManager = Bukkit.getPluginManager();
Plugin[] plugins = pluginManager.getPlugins(); Plugin[] plugins = pluginManager.getPlugins();
incompatiblePlugins.clear(); incompatibilities.clear();
incompatiblePlugins.put("Multiverse-Core", false); incompatibilities.put("Multiverse-Core", false);
incompatiblePlugins.put("Dynmap", false); incompatibilities.put("Dynmap", false);
incompatiblePlugins.put("TerraformGenerator", false); incompatibilities.put("TerraformGenerator", false);
incompatiblePlugins.put("Stratos", false); incompatibilities.put("Stratos", false);
String pluginName; String pluginName;
for (Plugin plugin : plugins) { for (Plugin plugin : plugins) {
pluginName = plugin.getName(); pluginName = plugin.getName();
Boolean flag = incompatiblePlugins.get(pluginName); Boolean flag = incompatibilities.get(pluginName);
if (flag != null && !flag) { if (flag != null && !flag) {
severityHigh++; severityHigh++;
incompatiblePlugins.put(pluginName, true); incompatibilities.put(pluginName, true);
} }
} }
StringJoiner joiner = new StringJoiner(", "); StringJoiner joiner = new StringJoiner(", ");
for (Map.Entry<String, Boolean> entry : incompatiblePlugins.entrySet()) { for (Map.Entry<String, Boolean> entry : incompatibilities.entrySet()) {
if (entry.getValue()) { if (entry.getValue()) {
joiner.add(entry.getKey()); joiner.add(entry.getKey());
} }
@@ -64,19 +64,25 @@ public class ServerBootSFG {
joiner.add("Server Software"); joiner.add("Server Software");
severityHigh++; severityHigh++;
} }
if (INMS.get() instanceof NMSBinding1X) { if (INMS.get() instanceof NMSBinding1X) {
unsuportedversion = true; unsuportedversion = true;
joiner.add("Unsupported Minecraft Version"); joiner.add("Unsupported Minecraft Version");
severityHigh++; severityHigh++;
} }
boolean jdk = System.getProperty("java.compiler") != null; if(getJavaVersion() != 17) {
if(getJavaVersion() != 17 || !jdk) {
isJDK17 = false; isJDK17 = false;
joiner.add("Unsupported Java version");
severityMedium++;
}
if(!isJDK()) {
isJRE = true;
joiner.add("Unsupported JDK");
severityMedium++; severityMedium++;
} }
allIncompatiblePlugins = joiner.toString(); allIncompatibilities = joiner.toString();
safeguardPassed = (severityHigh == 0 && severityMedium == 0 && severityLow == 0); safeguardPassed = (severityHigh == 0 && severityMedium == 0 && severityLow == 0);
count = severityHigh + severityMedium + severityLow; count = severityHigh + severityMedium + severityLow;
@@ -85,8 +91,38 @@ public class ServerBootSFG {
Iris.safeguard("Stable mode has been activated."); Iris.safeguard("Stable mode has been activated.");
} }
if(!safeguardPassed){ if(!safeguardPassed){
unstablemode = true; if (severityMedium >= 1 && severityHigh == 0) {
Iris.safeguard("Unstable mode has been activated."); warningmode = true;
Iris.safeguard("Warning mode has been activated.");
}
if (severityHigh >= 1) {
unstablemode = true;
Iris.safeguard("Unstable mode has been activated.");
}
} }
} }
public static boolean isJDK() {
String path = System.getProperty("sun.boot.library.path");
if(path != null) {
String javacPath = "";
if(path.endsWith(File.separator + "bin")) {
javacPath = path;
} else {
int libIndex = path.lastIndexOf(File.separator + "lib");
if (libIndex > 0) {
javacPath = path.substring(0, libIndex) + File.separator + "bin";
}
}
if (checkJavac(javacPath))
return true;
}
path = System.getProperty("java.home");
return path != null && checkJavac(path + File.separator + "bin");
}
private static boolean checkJavac(String path) {
return !path.isEmpty() && (new File(path, "javac").exists() || new File(path, "javac.exe").exists());
}
} }
@@ -5,7 +5,7 @@ import com.volmit.iris.util.format.C;
public class UtilsSFG { public class UtilsSFG {
public static void splash(){ public static void splash(){
UnstableModeSFG.selectMode(); ModesSFG.selectMode();
} }
public static void printIncompatibleWarnings(){ public static void printIncompatibleWarnings(){
@@ -14,19 +14,24 @@ public class UtilsSFG {
if (ServerBootSFG.safeguardPassed) { if (ServerBootSFG.safeguardPassed) {
Iris.safeguard(C.BLUE + "0 Conflicts found"); Iris.safeguard(C.BLUE + "0 Conflicts found");
} else { } else {
Iris.safeguard(C.DARK_RED + "" + ServerBootSFG.count + " Conflicts found"); if (IrisSafeguard.unstablemode) {
Iris.safeguard(C.DARK_RED + "" + ServerBootSFG.count + " Conflicts found");
}
if (IrisSafeguard.warningmode) {
Iris.safeguard(C.YELLOW + "" + ServerBootSFG.count + " Conflicts found");
}
if (ServerBootSFG.incompatiblePlugins.get("Multiverse-Core")) { if (ServerBootSFG.incompatibilities.get("Multiverse-Core")) {
Iris.safeguard(C.RED + "Multiverse"); Iris.safeguard(C.RED + "Multiverse");
Iris.safeguard(C.RED + "- The plugin Multiverse is not compatible with the server."); Iris.safeguard(C.RED + "- The plugin Multiverse is not compatible with the server.");
Iris.safeguard(C.RED + "- If you want to have a world manager, consider using PhantomWorlds or MyWorlds instead."); Iris.safeguard(C.RED + "- If you want to have a world manager, consider using PhantomWorlds or MyWorlds instead.");
} }
if (ServerBootSFG.incompatiblePlugins.get("Dynmap")) { if (ServerBootSFG.incompatibilities.get("Dynmap")) {
Iris.safeguard(C.RED + "Dynmap"); Iris.safeguard(C.RED + "Dynmap");
Iris.safeguard(C.RED + "- The plugin Dynmap is not compatible with the server."); Iris.safeguard(C.RED + "- The plugin Dynmap is not compatible with the server.");
Iris.safeguard(C.RED + "- If you want to have a map plugin like Dynmap, consider Bluemap."); Iris.safeguard(C.RED + "- If you want to have a map plugin like Dynmap, consider Bluemap.");
} }
if (ServerBootSFG.incompatiblePlugins.get("TerraformGenerator") || ServerBootSFG.incompatiblePlugins.get("Stratos")) { if (ServerBootSFG.incompatibilities.get("TerraformGenerator") || ServerBootSFG.incompatibilities.get("Stratos")) {
Iris.safeguard(C.YELLOW + "Terraform Generator / Stratos"); Iris.safeguard(C.YELLOW + "Terraform Generator / Stratos");
Iris.safeguard(C.YELLOW + "- Iris is not compatible with other worldgen plugins."); Iris.safeguard(C.YELLOW + "- Iris is not compatible with other worldgen plugins.");
} }
@@ -39,17 +44,17 @@ public class UtilsSFG {
Iris.safeguard(C.RED + "- Please consider using Paper or Purpur instead."); Iris.safeguard(C.RED + "- Please consider using Paper or Purpur instead.");
} }
if (!ServerBootSFG.isJDK17) { if (!ServerBootSFG.isJDK17) {
Iris.safeguard(C.YELLOW + "Unsupported Server JDK"); Iris.safeguard(C.YELLOW + "Unsupported java version");
if (Iris.getJavaVersion() == 17) {
Iris.safeguard(C.YELLOW + "- Please consider using JDK 17 Instead of JRE " + Iris.getJavaVersion());
} else {
Iris.safeguard(C.YELLOW + "- Please consider using JDK 17 Instead of JDK " + Iris.getJavaVersion()); Iris.safeguard(C.YELLOW + "- Please consider using JDK 17 Instead of JDK " + Iris.getJavaVersion());
} }
if (!ServerBootSFG.isJRE) {
Iris.safeguard(C.YELLOW + "Unsupported Server JDK");
Iris.safeguard(C.YELLOW + "- Please consider using JDK 17 Instead of JRE " + Iris.getJavaVersion());
} }
} }
} }
public static String MSGIncompatibleWarnings() { public static String MSGIncompatibleWarnings() {
return ServerBootSFG.allIncompatiblePlugins; return ServerBootSFG.allIncompatibilities;
} }
} }