Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>me.plytki</groupId>
<artifactId>VirtualRealty</artifactId>
<version>1.5.0</version>
<version>1.6.0</version>
<packaging>jar</packaging>

<name>VirtualRealty</name>
Expand Down
79 changes: 63 additions & 16 deletions src/main/java/me/plytki/virtualrealty/VirtualRealty.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@

import me.plytki.virtualrealty.commands.PlotCommand;
import me.plytki.virtualrealty.commands.VirtualRealtyCommand;
import me.plytki.virtualrealty.configs.MessagesConfiguration;
import me.plytki.virtualrealty.configs.PluginConfiguration;
import me.plytki.virtualrealty.configs.SizesConfiguration;
import me.plytki.virtualrealty.enums.PlotSize;
import me.plytki.virtualrealty.exceptions.MaterialMatchException;
import me.plytki.virtualrealty.listeners.PlotListener;
import me.plytki.virtualrealty.listeners.PlotProtectionListener;
import me.plytki.virtualrealty.listeners.WorldListener;
import me.plytki.virtualrealty.listeners.plot.BorderListener;
import me.plytki.virtualrealty.listeners.plot.PlotListener;
import me.plytki.virtualrealty.listeners.plot.ProtectionListener;
import me.plytki.virtualrealty.listeners.world.WorldListener;
import me.plytki.virtualrealty.managers.PlotManager;
import me.plytki.virtualrealty.objects.Plot;
import me.plytki.virtualrealty.sql.SQL;
Expand Down Expand Up @@ -38,6 +40,9 @@

public final class VirtualRealty extends JavaPlugin {

public final Locale locale = Locale.getDefault();
public final List<Locale> availableLocales = new ArrayList<>(Arrays.asList(new Locale("en", "GB"), new Locale("es", "ES"), new Locale("pl", "PL")));

//CORE
private static VirtualRealty instance;
public static final String PREFIX = "§a§lVR §8§l» §7";
Expand All @@ -50,10 +55,13 @@ public final class VirtualRealty extends JavaPlugin {
public static File plotsSchemaFolder;
public PluginConfiguration pluginConfiguration;
public SizesConfiguration sizesConfiguration;
public MessagesConfiguration messagesConfiguration;
private final File pluginConfigurationFile = new File(this.getDataFolder(), "config.yml");
private final File sizesConfigurationFile = new File(this.getDataFolder(), "sizes.yml");
private final File languagesDirectory = new File(this.getDataFolder(), "messages");

//DYNMAP API
public static boolean isDynmapPresent = false;
public static DynmapAPI dapi = null;
public static MarkerSet markerset = null;
public static MarkerIcon markerIcon = null;
Expand Down Expand Up @@ -85,14 +93,8 @@ public void onEnable() {
plotsFolder.mkdirs();
plotsSchemaFolder = new File(plotsFolder.getAbsolutePath(), "primary-terrain");
plotsSchemaFolder.mkdirs();
try {
ConfigurationFactory configFactory = new ConfigurationFactory();
pluginConfiguration = configFactory.createPluginConfiguration(pluginConfigurationFile);
sizesConfiguration = configFactory.createSizesConfiguration(sizesConfigurationFile);
} catch (Exception exception) {
exception.printStackTrace();
return;
}
spawnLocales();
reloadConfigs();
registerMetrics();
loadSizesConfiguration();
connectToDatabase();
Expand All @@ -104,7 +106,7 @@ public void onEnable() {
registerListeners();
registerTasks();
checkForOldSchemas();
debug("Server Version: " + this.getServer().getBukkitVersion() + " | " + this.getServer().getVersion());
debug("Server version: " + this.getServer().getBukkitVersion() + " | " + this.getServer().getVersion());
}

@Override
Expand All @@ -119,6 +121,39 @@ public static void debug(String debugMessage) {
VirtualRealty.getInstance().getLogger().warning("DEBUG-MODE > " + debugMessage);
}

public void spawnLocales() {
for (Locale availableLocale : availableLocales) {
if (availableLocale.toString().equalsIgnoreCase("en_GB")) {
File messagesConfigurationFile = new File(languagesDirectory, "messages_en_GB.yml");
ConfigurationFactory configFactory = new ConfigurationFactory();
configFactory.createMessagesConfiguration(messagesConfigurationFile);
} else {
File languageConfigurationFile = new File(languagesDirectory, "messages_" + availableLocale + ".yml");
if (!languageConfigurationFile.exists()) {
saveResource("messages_" + availableLocale + ".yml", true);
File file = new File(this.getDataFolder(), "messages_" + availableLocale + ".yml");
try {
FileUtils.moveFile(file, languageConfigurationFile);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}

public void reloadConfigs() {
try {
ConfigurationFactory configFactory = new ConfigurationFactory();
pluginConfiguration = configFactory.createPluginConfiguration(pluginConfigurationFile);
File messagesConfigurationFile = new File(languagesDirectory, "messages_" + pluginConfiguration.locale + ".yml");
sizesConfiguration = configFactory.createSizesConfiguration(sizesConfigurationFile);
messagesConfiguration = configFactory.createMessagesConfiguration(messagesConfigurationFile);
} catch (Exception exception) {
exception.printStackTrace();
}
}

public static void checkForOldSchemas() {
for (Plot plot : PlotManager.plots) {
File f = new File(VirtualRealty.plotsSchemaFolder, "plot" + plot.getID() + ".schem");
Expand All @@ -136,6 +171,9 @@ public void registerDynmap() {
@Override
public void run() {
Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("dynmap");
if (plugin != null) {
isDynmapPresent = true;
}
if (plugin != null && plugin.isEnabled()) {
dapi = (DynmapAPI) plugin;
if (dapi.markerAPIInitialized()) {
Expand Down Expand Up @@ -178,9 +216,10 @@ private void registerCommands() {
}

private void registerListeners() {
getServer().getPluginManager().registerEvents(new PlotListener(), this);
getServer().getPluginManager().registerEvents(new PlotProtectionListener(), this);
getServer().getPluginManager().registerEvents(new WorldListener(), this);
new BorderListener(this).registerEvents();
new PlotListener(this).registerEvents();
new ProtectionListener(this).registerEvents();
new WorldListener(this).registerEvents();
debug("Registered listeners");
}

Expand All @@ -191,7 +230,7 @@ private void registerTasks() {

private void registerMetrics() {
Metrics metrics = new Metrics(this, 12578);
metrics.addCustomChart(new SimplePie("used_database", () -> this.getConfig().getString("data-storage")));
metrics.addCustomChart(new SimplePie("used_database", () -> pluginConfiguration.dataModel.name()));
metrics.addCustomChart(new AdvancedPie("created_plots", new Callable<Map<String, Integer>>() {
@Override
public Map<String, Integer> call() throws Exception {
Expand Down Expand Up @@ -303,6 +342,10 @@ public static File getSizesConfigurationFile() {
return VirtualRealty.getInstance().sizesConfigurationFile;
}

public static MessagesConfiguration getMessages() {
return getInstance().messagesConfiguration;
}

public boolean checkLegacyVersions() {
setPostVersions();
for (String postVersion : postVersions) {
Expand All @@ -313,6 +356,10 @@ public boolean checkLegacyVersions() {
return false;
}

public static Locale getLocale() {
return getInstance().locale;
}

public void setPostVersions() {
postVersions.add("1.17");
postVersions.add("1.16");
Expand Down
Loading