Merge pull request #85 from dquist/dquist/secondary-constructor

Add secondary plugin constructors to support MockBukkit testing
This commit is contained in:
AngrySoundTech
2023-11-14 08:16:33 -05:00
committed by GitHub
2 changed files with 26 additions and 1 deletions

View File

@@ -19,13 +19,25 @@ import org.bukkit.event.HandlerList;
import org.bukkit.event.Listener;
import org.bukkit.event.server.PluginDisableEvent;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.plugin.java.JavaPluginLoader;
import org.jetbrains.annotations.Contract;
public abstract class ACivMod extends JavaPlugin {
private final Set<Class<? extends ConfigurationSerializable>> configClasses = new HashSet<>(0);
/** Primary constructor used by the real server */
protected ACivMod() {
super();
}
/** Secondary constructor used for testing */
protected ACivMod(JavaPluginLoader loader, PluginDescriptionFile description, File dataFolder, File file) {
super(loader, description, dataFolder, file);
}
@Override
public void onEnable() {
// Self disable when a hard dependency is disabled

View File

@@ -1,9 +1,12 @@
package vg.civcraft.mc.civmodcore;
import java.io.File;
import java.sql.SQLException;
import org.bukkit.Bukkit;
import org.bukkit.configuration.serialization.ConfigurationSerialization;
import org.bukkit.entity.HumanEntity;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.java.JavaPluginLoader;
import org.ipvp.canvas.MenuFunctionListener;
import vg.civcraft.mc.civmodcore.chat.dialog.DialogManager;
import vg.civcraft.mc.civmodcore.commands.CommandManager;
@@ -31,7 +34,17 @@ import vg.civcraft.mc.civmodcore.world.locations.global.CMCWorldDAO;
import vg.civcraft.mc.civmodcore.world.locations.global.WorldIDManager;
import vg.civcraft.mc.civmodcore.world.operations.ChunkOperationManager;
public final class CivModCorePlugin extends ACivMod {
public class CivModCorePlugin extends ACivMod {
/** Primary constructor used by the real server */
public CivModCorePlugin() {
super();
}
/** Secondary constructor used for testing */
protected CivModCorePlugin(JavaPluginLoader loader, PluginDescriptionFile description, File dataFolder, File file) {
super(loader, description, dataFolder, file);
}
private static CivModCorePlugin instance;