Remove PluginDataFolder.

This commit is contained in:
Jeremy Wood 2023-03-08 13:19:31 -05:00
parent 8e7e0ef566
commit 23693835ca
No known key found for this signature in database
GPG Key ID: C5BAD04C77B91B4B
4 changed files with 7 additions and 44 deletions

View File

@ -8,15 +8,16 @@
package com.onarandombox.MultiverseCore.anchor;
import com.dumptruckman.minecraft.util.Logging;
import com.onarandombox.MultiverseCore.MultiverseCore;
import com.onarandombox.MultiverseCore.api.LocationManipulation;
import com.onarandombox.MultiverseCore.config.MVCoreConfigProvider;
import com.onarandombox.MultiverseCore.inject.wrapper.PluginDataFolder;
import jakarta.inject.Inject;
import org.bukkit.Location;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import org.jvnet.hk2.annotations.Service;
import java.io.File;
@ -35,17 +36,17 @@ public class AnchorManager {
private Map<String, Location> anchors;
private FileConfiguration anchorConfig;
private final PluginDataFolder dataFolder;
private final Plugin plugin;
private final LocationManipulation locationManipulation;
private final MVCoreConfigProvider configProvider;
@Inject
public AnchorManager(
PluginDataFolder dataFolder,
MultiverseCore plugin,
LocationManipulation locationManipulation,
MVCoreConfigProvider configProvider
) {
this.dataFolder = dataFolder;
this.plugin = plugin;
this.locationManipulation = locationManipulation;
this.configProvider = configProvider;
@ -57,7 +58,7 @@ public class AnchorManager {
*/
public void loadAnchors() {
this.anchors = new HashMap<String, Location>();
this.anchorConfig = YamlConfiguration.loadConfiguration(new File(this.dataFolder, "anchors.yml"));
this.anchorConfig = YamlConfiguration.loadConfiguration(new File(this.plugin.getDataFolder(), "anchors.yml"));
this.ensureConfigIsPrepared();
ConfigurationSection anchorsSection = this.anchorConfig.getConfigurationSection("anchors");
Set<String> anchorKeys = anchorsSection.getKeys(false);
@ -86,7 +87,7 @@ public class AnchorManager {
*/
public boolean saveAnchors() {
try {
this.anchorConfig.save(new File(this.dataFolder, "anchors.yml"));
this.anchorConfig.save(new File(this.plugin.getDataFolder(), "anchors.yml"));
return true;
} catch (IOException e) {
Logging.severe("Failed to save anchors.yml. Please check your file permissions.");

View File

@ -1,6 +1,5 @@
package com.onarandombox.MultiverseCore.inject.binder;
import com.onarandombox.MultiverseCore.inject.wrapper.PluginDataFolder;
import org.bukkit.plugin.Plugin;
import org.glassfish.hk2.utilities.binding.AbstractBinder;
import org.glassfish.hk2.utilities.binding.ScopedBindingBuilder;
@ -32,7 +31,6 @@ public abstract class PluginBinder<T extends Plugin> extends AbstractBinder {
var bindingBuilder = bindPlugin(getPlugin());
bindingBuilder.to(Plugin.class);
bind(plugin.getLogger()).to(Logger.class);
bind(PluginDataFolder.from(plugin)).to(PluginDataFolder.class);
}
private ScopedBindingBuilder<T> bindPlugin(T plugin) {

View File

@ -1,25 +0,0 @@
package com.onarandombox.MultiverseCore.inject.wrapper;
import org.bukkit.plugin.Plugin;
import java.io.File;
/**
* An extension of {@link File} that represents the data folder of a plugin.
*/
public class PluginDataFolder extends File {
/**
* Creates a new {@link PluginDataFolder} from the given plugin.
*
* @param plugin The plugin.
* @return The plugin data folder.
*/
public static PluginDataFolder from(Plugin plugin) {
return new PluginDataFolder(plugin.getDataFolder());
}
private PluginDataFolder(File dataFolder) {
super(dataFolder.getParentFile(), dataFolder.getName());
}
}

View File

@ -13,7 +13,6 @@ import com.onarandombox.MultiverseCore.commandtools.MVCommandManager
import com.onarandombox.MultiverseCore.commandtools.MultiverseCommand
import com.onarandombox.MultiverseCore.config.MVCoreConfigProvider
import com.onarandombox.MultiverseCore.economy.MVEconomist
import com.onarandombox.MultiverseCore.inject.wrapper.PluginDataFolder
import com.onarandombox.MultiverseCore.listeners.MVChatListener
import com.onarandombox.MultiverseCore.listeners.MVEntityListener
import com.onarandombox.MultiverseCore.listeners.MVPlayerListener
@ -68,16 +67,6 @@ class InjectionTest : TestWithMockBukkit() {
assertNotNull(multiverseCore.getService(Logger::class.java));
}
@Test
fun `PluginDataFolder is available as a service`() {
assertNotNull(multiverseCore.getService(PluginDataFolder::class.java));
}
@Test
fun `File is not available as a service`() {
assertNull(multiverseCore.getService(File::class.java))
}
@Test
fun `AnchorManager is available as a service`() {
assertNotNull(multiverseCore.getService(AnchorManager::class.java))