1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-19 19:25:48 +00:00

Added a startup warning for when CS-CoreLib is still installed

This commit is contained in:
TheBusyBiscuit 2021-06-06 11:49:44 +02:00
parent 23c79c293a
commit cc23211504
3 changed files with 74 additions and 20 deletions

View File

@ -29,6 +29,7 @@
#### Additions
* Added "4 Charcoal -> 1 Coal" recipe to the Compressor
* Added a startup warning for when CS-CoreLib is still installed
* (API) Added WeaponUseHandler
#### Changes

View File

@ -88,8 +88,8 @@ import io.github.thebusybiscuit.slimefun4.implementation.listeners.SeismicAxeLis
import io.github.thebusybiscuit.slimefun4.implementation.listeners.SlimefunBootsListener;
import io.github.thebusybiscuit.slimefun4.implementation.listeners.SlimefunBowListener;
import io.github.thebusybiscuit.slimefun4.implementation.listeners.SlimefunGuideListener;
import io.github.thebusybiscuit.slimefun4.implementation.listeners.SlimefunItemHitListener;
import io.github.thebusybiscuit.slimefun4.implementation.listeners.SlimefunItemConsumeListener;
import io.github.thebusybiscuit.slimefun4.implementation.listeners.SlimefunItemHitListener;
import io.github.thebusybiscuit.slimefun4.implementation.listeners.SlimefunItemInteractListener;
import io.github.thebusybiscuit.slimefun4.implementation.listeners.SoulboundListener;
import io.github.thebusybiscuit.slimefun4.implementation.listeners.TalismanListener;
@ -255,17 +255,26 @@ public final class SlimefunPlugin extends JavaPlugin implements SlimefunAddon {
PaperLib.suggestPaper(this);
}
// Check if CS-CoreLib is installed (it is no longer needed)
if (getServer().getPluginManager().getPlugin("CS-CoreLib") != null) {
StartupWarnings.discourageCSCoreLib(getLogger());
}
// If the server has no "data-storage" folder, it's _probably_ a new install. So mark it for metrics.
isNewlyInstalled = !new File("data-storage/Slimefun").exists();
// Creating all necessary Folders
getLogger().log(Level.INFO, "Creating directories...");
createDirectories();
// Load various config settings into our cache
registry.load(this, config);
// Set up localization
getLogger().log(Level.INFO, "Loading language files...");
local = new LocalizationService(this, config.getString("options.chat-prefix"), config.getString("options.language"));
String chatPrefix = config.getString("options.chat-prefix");
String serverDefaultLanguage = config.getString("options.language");
local = new LocalizationService(this, chatPrefix, serverDefaultLanguage);
int networkSize = config.getInt("networks.max-size");
@ -473,15 +482,7 @@ public final class SlimefunPlugin extends JavaPlugin implements SlimefunAddon {
try {
// First check if they still use the unsupported CraftBukkit software.
if (!PaperLib.isSpigot() && Bukkit.getName().equals("CraftBukkit")) {
getLogger().log(Level.SEVERE, "###############################################");
getLogger().log(Level.SEVERE, "### Slimefun was not installed correctly!");
getLogger().log(Level.SEVERE, "### CraftBukkit is no longer supported!");
getLogger().log(Level.SEVERE, "###");
getLogger().log(Level.SEVERE, "### Slimefun requires you to use Spigot, Paper or");
getLogger().log(Level.SEVERE, "### any supported fork of Spigot or Paper.");
getLogger().log(Level.SEVERE, "### (We recommend Paper)");
getLogger().log(Level.SEVERE, "###############################################");
StartupWarnings.invalidServerSoftware(getLogger());
return true;
}
@ -498,14 +499,7 @@ public final class SlimefunPlugin extends JavaPlugin implements SlimefunAddon {
}
// Looks like you are using an unsupported Minecraft Version
getLogger().log(Level.SEVERE, "#############################################");
getLogger().log(Level.SEVERE, "### Slimefun was not installed correctly!");
getLogger().log(Level.SEVERE, "### You are using the wrong version of Minecraft!");
getLogger().log(Level.SEVERE, "###");
getLogger().log(Level.SEVERE, "### You are using Minecraft 1.{0}.x", version);
getLogger().log(Level.SEVERE, "### but Slimefun {0} requires you to be using", getDescription().getVersion());
getLogger().log(Level.SEVERE, "### Minecraft {0}", String.join(" / ", getSupportedVersions()));
getLogger().log(Level.SEVERE, "#############################################");
StartupWarnings.invalidMinecraftVersion(getLogger(), version, getDescription().getVersion());
return true;
} else {
getLogger().log(Level.WARNING, "We could not determine the version of Minecraft you were using? ({0})", Bukkit.getVersion());
@ -538,7 +532,7 @@ public final class SlimefunPlugin extends JavaPlugin implements SlimefunAddon {
*
* @return A {@link Collection} of all compatible minecraft versions as strings
*/
private @Nonnull Collection<String> getSupportedVersions() {
static final @Nonnull Collection<String> getSupportedVersions() {
List<String> list = new ArrayList<>();
for (MinecraftVersion version : MinecraftVersion.values()) {

View File

@ -0,0 +1,59 @@
package io.github.thebusybiscuit.slimefun4.implementation;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.ParametersAreNonnullByDefault;
/**
* This class stores some startup warnings we occasionally need to print.
* If you setup your server the recommended way, you are never going to see
* any of these messages.
*
* @author TheBusyBiscuit
*
*/
final class StartupWarnings {
private static final String BORDER = "****************************************************";
private static final String PREFIX = "* ";
private StartupWarnings() {}
@ParametersAreNonnullByDefault
static void discourageCSCoreLib(Logger logger) {
logger.log(Level.WARNING, BORDER);
logger.log(Level.WARNING, PREFIX + "It looks like you are still using CS-CoreLib.");
logger.log(Level.WARNING, PREFIX);
logger.log(Level.WARNING, PREFIX + "Slimefun no longer requires CS-CoreLib to be");
logger.log(Level.WARNING, PREFIX + "installed as of January 30th 2021. It is safe");
logger.log(Level.WARNING, PREFIX + "to remove and we recommend you to uninstall");
logger.log(Level.WARNING, PREFIX + "CS-CoreLib from your server immediately.");
logger.log(Level.WARNING, BORDER);
}
@ParametersAreNonnullByDefault
static void invalidMinecraftVersion(Logger logger, int majorVersion, String slimefunVersion) {
logger.log(Level.SEVERE, BORDER);
logger.log(Level.SEVERE, PREFIX + "Slimefun was not installed correctly!");
logger.log(Level.SEVERE, PREFIX + "You are using the wrong version of Minecraft!");
logger.log(Level.SEVERE, PREFIX);
logger.log(Level.SEVERE, PREFIX + "You are using Minecraft 1.{0}.x", majorVersion);
logger.log(Level.SEVERE, PREFIX + "but Slimefun {0} requires you to be using", slimefunVersion);
logger.log(Level.SEVERE, PREFIX + "Minecraft {0}", String.join(" / ", SlimefunPlugin.getSupportedVersions()));
logger.log(Level.SEVERE, BORDER);
}
@ParametersAreNonnullByDefault
static void invalidServerSoftware(Logger logger) {
logger.log(Level.SEVERE, BORDER);
logger.log(Level.SEVERE, PREFIX + "Slimefun was not installed correctly!");
logger.log(Level.SEVERE, PREFIX + "CraftBukkit is no longer supported!");
logger.log(Level.SEVERE, PREFIX);
logger.log(Level.SEVERE, PREFIX + "Slimefun requires you to use Spigot, Paper or");
logger.log(Level.SEVERE, PREFIX + "any supported fork of Spigot or Paper.");
logger.log(Level.SEVERE, PREFIX + "(We recommend Paper)");
logger.log(Level.SEVERE, BORDER);
}
}