diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c5f3f6b --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.configuration.updateBuildConfiguration": "interactive" +} \ No newline at end of file diff --git a/bin/main/config.yml b/bin/main/config.yml index 6f98179..76ec51b 100644 --- a/bin/main/config.yml +++ b/bin/main/config.yml @@ -1 +1,5 @@ -# A journey of 1,000 lines starts with a single char \ No newline at end of file +# The amount of money to give out to online players +amountToGive: 0.25 + +# Give every seconds +duration: 60 \ No newline at end of file diff --git a/bin/main/dev/zontreck/amp/AutoMoneyPlugin$1.class b/bin/main/dev/zontreck/amp/AutoMoneyPlugin$1.class new file mode 100644 index 0000000..63f01c7 Binary files /dev/null and b/bin/main/dev/zontreck/amp/AutoMoneyPlugin$1.class differ diff --git a/bin/main/dev/zontreck/amp/AutoMoneyPlugin.class b/bin/main/dev/zontreck/amp/AutoMoneyPlugin.class index 01e32c8..e376b31 100644 Binary files a/bin/main/dev/zontreck/amp/AutoMoneyPlugin.class and b/bin/main/dev/zontreck/amp/AutoMoneyPlugin.class differ diff --git a/bin/main/dev/zontreck/amp/Configuration.class b/bin/main/dev/zontreck/amp/Configuration.class new file mode 100644 index 0000000..625093d Binary files /dev/null and b/bin/main/dev/zontreck/amp/Configuration.class differ diff --git a/src/main/java/dev/zontreck/amp/AutoMoneyPlugin.java b/src/main/java/dev/zontreck/amp/AutoMoneyPlugin.java index eb973a9..4794fe1 100644 --- a/src/main/java/dev/zontreck/amp/AutoMoneyPlugin.java +++ b/src/main/java/dev/zontreck/amp/AutoMoneyPlugin.java @@ -1,6 +1,11 @@ package dev.zontreck.amp; import io.papermc.lib.PaperLib; +import net.milkbowl.vault.economy.Economy; + +import java.util.Timer; + +import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.java.JavaPlugin; @@ -10,11 +15,66 @@ import org.bukkit.plugin.java.JavaPlugin; * @author Copyright (c) zontreck. Licensed under the GPLv3. */ public class AutoMoneyPlugin extends JavaPlugin { + Timer task = new Timer(); + Economy economy = null; @Override public void onEnable() { PaperLib.suggestPaper(this); saveDefaultConfig(); + reloadConfig(); + + // Apply configuration + Configuration.g_dPaymentAmount = getConfig().getDouble("amountToGive", 0.25); + Configuration.g_iPaymentInterval = getConfig().getInt("duration", 60); + + // Setup the economy + if (!setupEconomy()) { + getLogger().severe("No economy plugin found. Disabling plugin."); + getServer().getPluginManager().disablePlugin(this); + return; + } + + // Schedule the task + reschedule(); + } + + + /** + * Sets up the vault economy. + * + * @return True if the economy was set up, false otherwise. + */ + private boolean setupEconomy() { + RegisteredServiceProvider economyProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.economy.Economy.class); + if (economyProvider != null) { + economy = economyProvider.getProvider(); + } + + return economy != null; + } + + public void reschedule() { + task.scheduleAtFixedRate(new java.util.TimerTask() { + @Override + public void run() { + if(Configuration.PaymentEnabled()) { + // Pay all online players + getServer().getOnlinePlayers().forEach(player -> { + //player.sendMessage("You have been paid " + Configuration.g_dPaymentAmount + " for being online."); + //player.giveExp((int) Configuration.g_dPaymentAmount); + + }); + } + } + }, 0L, Configuration.g_iPaymentInterval * 1000L); + } + + @Override + public void onDisable() { + // Stop the timer task. Save configuration + saveConfig(); + task.cancel(); } } diff --git a/src/main/java/dev/zontreck/amp/Configuration.java b/src/main/java/dev/zontreck/amp/Configuration.java new file mode 100644 index 0000000..194c22e --- /dev/null +++ b/src/main/java/dev/zontreck/amp/Configuration.java @@ -0,0 +1,10 @@ +package dev.zontreck.amp; + +public class Configuration { + public static double g_dPaymentAmount = 0.0; + public static int g_iPaymentInterval = 0; + + public static boolean PaymentEnabled() { + return g_iPaymentInterval > 0; + } +} diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 6f98179..76ec51b 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1 +1,5 @@ -# A journey of 1,000 lines starts with a single char \ No newline at end of file +# The amount of money to give out to online players +amountToGive: 0.25 + +# Give every seconds +duration: 60 \ No newline at end of file