79 lines
3.0 KiB
Java
79 lines
3.0 KiB
Java
package net.seanomik.tamablefoxes;
|
|
|
|
import net.seanomik.tamablefoxes.versions.NMSInterface;
|
|
import net.seanomik.tamablefoxes.versions.version_1_14_R1.NMSInterface_1_14_R1;
|
|
import net.seanomik.tamablefoxes.versions.version_1_15_R1.NMSInterface_1_15_R1;
|
|
import net.seanomik.tamablefoxes.versions.version_1_16_R1.NMSInterface_1_16_R1;
|
|
import net.seanomik.tamablefoxes.versions.version_1_16_R2.NMSInterface_1_16_R2;
|
|
import net.seanomik.tamablefoxes.io.LanguageConfig;
|
|
import org.bukkit.*;
|
|
import org.bukkit.event.Listener;
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
|
|
// @TODO:
|
|
|
|
/* @CHANGELOG (1.7-SNAPSHOT):
|
|
* Update to Minecraft 1.16.1.
|
|
* This jar file will also work with Minecraft 1.14.X, 1.15.X, and 1.16.X.
|
|
* Due to merging 1.14 support with all other versions, I also fixed SEVERAL issues that the versions for 1.14 had.
|
|
* Foxes now sleep with their owner once again.
|
|
*/
|
|
public final class TamableFoxes extends JavaPlugin implements Listener {
|
|
private static TamableFoxes plugin;
|
|
|
|
private boolean versionSupported = true;
|
|
|
|
public NMSInterface nmsInterface;
|
|
|
|
@Override
|
|
public void onLoad() {
|
|
plugin = this;
|
|
|
|
LanguageConfig.getConfig().saveDefault();
|
|
|
|
String version = Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3];
|
|
if (version.equals("v1_14_R1")) {
|
|
nmsInterface = new NMSInterface_1_14_R1();
|
|
} else if (version.equals("v1_15_R1")) {
|
|
nmsInterface = new NMSInterface_1_15_R1();
|
|
} else if (version.equals("v1_16_R1")) {
|
|
nmsInterface = new NMSInterface_1_16_R1();
|
|
} else if (version.equals("v1_16_R2")) {
|
|
nmsInterface = new NMSInterface_1_16_R2();
|
|
} else {
|
|
Bukkit.getServer().getConsoleSender().sendMessage(Utils.getPrefix() + ChatColor.RED + LanguageConfig.getUnsupportedMCVersionRegister());
|
|
versionSupported = false;
|
|
return;
|
|
}
|
|
|
|
// Display starting message
|
|
Bukkit.getServer().getConsoleSender().sendMessage(Utils.getPrefix() + ChatColor.YELLOW + LanguageConfig.getMCVersionLoading(version));
|
|
nmsInterface.registerCustomFoxEntity();
|
|
}
|
|
|
|
@Override
|
|
public void onEnable() {
|
|
if (!versionSupported) {
|
|
Bukkit.getServer().getConsoleSender().sendMessage(Utils.getPrefix() + ChatColor.RED + LanguageConfig.getUnsupportedMCVersionDisable());
|
|
getServer().getPluginManager().disablePlugin(this);
|
|
return;
|
|
}
|
|
|
|
getServer().getPluginManager().registerEvents(this, this);
|
|
this.getCommand("spawntamablefox").setExecutor(new CommandSpawnTamableFox(this));
|
|
|
|
this.saveDefaultConfig();
|
|
getConfig().options().copyDefaults(true);
|
|
saveConfig();
|
|
}
|
|
|
|
@Override
|
|
public void onDisable() {
|
|
getServer().getConsoleSender().sendMessage(Utils.getPrefix() + ChatColor.YELLOW + LanguageConfig.getSavingFoxMessage());
|
|
}
|
|
|
|
public static TamableFoxes getPlugin() {
|
|
return plugin;
|
|
}
|
|
}
|