Make file provider accept plugin to get correct resource file
This commit is contained in:
parent
26d18e2552
commit
632993678e
5 changed files with 7 additions and 18 deletions
|
|
@ -31,6 +31,6 @@ public class B1_7_3Registrar implements VersionedServiceRegistrar {
|
||||||
factory.register(ConfigurationProvider.class, "b1_7_3", Configuration::new);
|
factory.register(ConfigurationProvider.class, "b1_7_3", Configuration::new);
|
||||||
factory.register(TextColorProvider.class, "b1_7_3", TextColor::new);
|
factory.register(TextColorProvider.class, "b1_7_3", TextColor::new);
|
||||||
factory.register(LoggerProvider.class, "b1_7_3", Logger::new);
|
factory.register(LoggerProvider.class, "b1_7_3", Logger::new);
|
||||||
factory.register(FileProvider.class, "b1_7_3", () -> new File(plugin));
|
factory.register(FileProvider.class, "b1_7_3", File::new);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,21 +8,15 @@ import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
|
||||||
public class File implements FileProvider {
|
public class File implements FileProvider {
|
||||||
private final JavaPlugin plugin;
|
|
||||||
|
|
||||||
public File(JavaPlugin plugin) {
|
|
||||||
this.plugin = plugin;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void saveResource(String resourcePath, boolean replace) throws IOException {
|
public void saveResource(String resourcePath, boolean replace, JavaPlugin plugin) throws IOException {
|
||||||
java.io.File file = new java.io.File(plugin.getDataFolder(), resourcePath);
|
java.io.File file = new java.io.File(plugin.getDataFolder(), resourcePath);
|
||||||
|
|
||||||
if (!file.exists() || replace) {
|
if (!file.exists() || replace) {
|
||||||
|
|
||||||
file.getParentFile().mkdirs();
|
file.getParentFile().mkdirs();
|
||||||
|
|
||||||
InputStream in = this.getClass().getResourceAsStream("/" + resourcePath);
|
InputStream in = plugin.getClass().getResourceAsStream("/" + resourcePath);
|
||||||
|
|
||||||
if (in == null) {
|
if (in == null) {
|
||||||
throw new IllegalArgumentException("Resource not found: " + resourcePath);
|
throw new IllegalArgumentException("Resource not found: " + resourcePath);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package org.adrianvictor.lib.file.provider;
|
package org.adrianvictor.lib.file.provider;
|
||||||
|
|
||||||
import org.adrianvictor.lib.Main;
|
import org.adrianvictor.lib.Main;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
|
@ -9,5 +10,5 @@ public interface FileProvider {
|
||||||
return Main.getServiceFactory().getService(FileProvider.class);
|
return Main.getServiceFactory().getService(FileProvider.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
void saveResource(String resourcePath, boolean replace) throws IOException;
|
void saveResource(String resourcePath, boolean replace, JavaPlugin plugin) throws IOException;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,6 @@ public class R1_21Registrar implements VersionedServiceRegistrar {
|
||||||
factory.register(ConfigurationProvider.class, "r1_1", Configuration::new);
|
factory.register(ConfigurationProvider.class, "r1_1", Configuration::new);
|
||||||
factory.register(TextColorProvider.class, "r1_16_5", TextColor::new);
|
factory.register(TextColorProvider.class, "r1_16_5", TextColor::new);
|
||||||
factory.register(LoggerProvider.class, "r1_21", Logger::new);
|
factory.register(LoggerProvider.class, "r1_21", Logger::new);
|
||||||
factory.register(FileProvider.class, "r1_3", () -> new File(plugin));
|
factory.register(FileProvider.class, "r1_21", File::new);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,14 +4,8 @@ import org.adrianvictor.lib.file.provider.FileProvider;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
public class File implements FileProvider {
|
public class File implements FileProvider {
|
||||||
private final JavaPlugin plugin;
|
|
||||||
|
|
||||||
public File(JavaPlugin plugin) {
|
|
||||||
this.plugin = plugin;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void saveResource(String resourcePath, boolean replace) {
|
public void saveResource(String resourcePath, boolean replace, JavaPlugin plugin) {
|
||||||
plugin.saveResource(resourcePath, replace);
|
plugin.saveResource(resourcePath, replace);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue