mirror of
https://github.com/Multiverse/Multiverse-Core.git
synced 2025-02-27 09:51:31 +01:00
Remove PluginDataFolder.
This commit is contained in:
parent
8e7e0ef566
commit
23693835ca
@ -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.");
|
||||
|
@ -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) {
|
||||
|
@ -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());
|
||||
}
|
||||
}
|
@ -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))
|
||||
|
Loading…
Reference in New Issue
Block a user