Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.PumpMelon.Referal;
- import java.io.File;
- import java.util.HashMap;
- import java.util.logging.Logger;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.ConfigurationSection;
- import org.bukkit.configuration.file.YamlConfiguration;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.plugin.RegisteredServiceProvider;
- import org.bukkit.plugin.java.JavaPlugin;
- import net.milkbowl.vault.economy.Economy;
- import net.milkbowl.vault.economy.EconomyResponse;
- public class Referal extends JavaPlugin implements Listener{
- public static Economy econ = null;
- public Logger log = Logger.getLogger("myLogger");
- YamlConfiguration config;
- ConfigurationSection config_tags;
- public static HashMap<String, Integer> referrals = new HashMap<String, Integer>();
- // loading a config
- public void loadConfig(){
- if(!(new File(getDataFolder(), "config.yml").exists())){
- saveDefaultConfig();
- this.config.set("econ-rewards.", true);
- this.config.set("sender-amount.", 50);
- this.config.set("reciever-amount.", 20);
- }
- this.config.getConfigurationSection("refers").getKeys(true);
- for(String p : this.config_tags.getKeys(false)){
- referrals.put(p, this.config_tags.getInt(p));
- }
- }
- public void onEnable(){
- config = (YamlConfiguration) getConfig();
- for(Player p : Bukkit.getServer().getOnlinePlayers()){
- if(!config.contains(p.getName().toLowerCase())){
- config.createSection("refers." + p.getPlayer().getName().toLowerCase());
- saveConfig();
- }
- }
- Bukkit.getPluginManager().registerEvents(this, this);
- if (!setupEconomy() ) {
- log.severe(String.format("[%s] - Disabled due to no Vault dependency found!", getDescription().getName()));
- getServer().getPluginManager().disablePlugin(this);
- return;
- }
- loadConfig();
- this.saveConfig();
- }
- public void onDisable(){
- this.saveConfig();
- }
- private boolean setupEconomy() {
- if (getServer().getPluginManager().getPlugin("Vault") == null) {
- return false;
- }
- RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
- if (rsp == null) {
- return false;
- }
- econ = rsp.getProvider();
- return econ != null;
- }
- public String prefix = "§8[§cReferralsPlus§8]§7 ";
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if(!(sender instanceof Player)){
- sender.sendMessage(prefix + "You must be a player! ");
- return true;
- }
- // This command adds +1 referral to the target player
- if(cmd.getName().equalsIgnoreCase("refer") && sender.hasPermission("refer.use")){
- if(!sender.hasPermission("refer.use")){
- sender.sendMessage(prefix + "I'm sorry, but you do not have permission to do this!");
- return true;
- }
- if(args.length == 0){
- sender.sendMessage(" ");
- sender.sendMessage(prefix + "Referrals v1.2 was developed by PumpMelon");
- sender.sendMessage(prefix + "/refer <player> ");
- sender.sendMessage(prefix + "/refersee <player>");
- if(sender.hasPermission("refer.admin")){
- sender.sendMessage(prefix + "/referload");
- sender.sendMessage(prefix + "/referbypass <player>");
- return true;
- }
- sender.sendMessage(" ");
- return true;
- }
- else if(args.length > 1){
- sender.sendMessage(prefix + "Too many arguements! /refer to check usage.");
- return true;
- }
- else if(args.length == 1){
- @SuppressWarnings("deprecation")
- Player player = Bukkit.getPlayer(args[0]);
- // Checks if they already have referred someone
- if(config.getString("never." + sender.getName().toLowerCase()) != null){
- sender.sendMessage(prefix + "You have already referred someone!");
- return true;
- }
- // Checks if they try to refer themselves
- if(player.getName() == sender.getName()){
- sender.sendMessage(prefix + "You cannot refer yourself!");
- return true;
- }
- //Checks if target is null
- else if(player.getName() == null){
- sender.sendMessage(prefix + "That player is offline or not a player!");
- return true;
- }
- String neverpath = "never." + sender.getName().toLowerCase();
- String path = "refers." + player.getName().toLowerCase();
- if(config.getString(path) != null){
- int refers = config.getInt(path);
- config.set("refers." + player.getName().toLowerCase(), refers + 1);
- saveConfig();
- }
- sender.sendMessage(prefix + "You have sent a referal for " + player.getDisplayName());
- this.config.set("never." + sender.getName().toLowerCase(), neverpath);
- saveConfig();
- Player p = (Player) sender;
- String econpath = "econ-rewards." + true;
- if(config.getBoolean(econpath) == true){
- EconomyResponse r = econ.depositPlayer(player, config.getInt("reciever-amount"));
- EconomyResponse r2 = econ.depositPlayer(p, config.getInt("sender-amount"));
- if(r.transactionSuccess()){
- player.sendMessage(prefix + sender.getName() + " referred you, therefore you get " + ChatColor.GREEN + "$" + config.getInt("reciever-amount"));
- }
- if(r2.transactionSuccess()){
- sender.sendMessage(prefix + "You referred " + player.getName() + " earning you " + ChatColor.GREEN + "$" + config.getInt("sender-amount"));
- }
- }
- if(config.getBoolean(econpath) != true){
- player.sendMessage(prefix + sender.getName() + " referred you!");
- sender.sendMessage(prefix + "You have successfully referred " + player.getName());
- }
- return true;
- }
- }
- // Refer bypass command
- if(cmd.getName().equalsIgnoreCase("referbypass") && sender.hasPermission("refer.bypass")){
- @SuppressWarnings("deprecation")
- Player target = Bukkit.getPlayer(args[0]);
- String neverpath = "never." + target.getName().toLowerCase();
- if(config.contains(neverpath)){
- config.set(neverpath, null);
- reloadConfig();
- saveConfig();
- sender.sendMessage(prefix + target.getName() + " may now send another referral!");
- return false;
- }
- else if(args.length < 0 || args.length > 0){
- sender.sendMessage(prefix + "Incorrect arguements! Please see /refer for usage.");
- return true;
- }
- else if(target.getName() == null){
- sender.sendMessage(prefix + "That player is offline or not a player!");
- return true;
- }
- else if(!config.contains(neverpath)){
- sender.sendMessage(prefix + target + " has never referred someone before!");
- return true;
- }
- }
- // this command checks to see how many referrals target player has
- if(cmd.getName().equalsIgnoreCase("refersee")&& sender.hasPermission("refer.see")){
- if(!sender.hasPermission("refer.see")){
- sender.sendMessage(prefix + "I'm sorry, but you do not have permission to do this!");
- }
- if(args.length > 1 || args.length < 1){
- sender.sendMessage(prefix + "Incorrect arguements! Please do /refer to see the menu.");
- return true;
- }
- if(args.length == 1){
- @SuppressWarnings("deprecation")
- Player player = Bukkit.getPlayer(args[0]);
- if(player == null){
- sender.sendMessage(prefix + "The player, " + args[0] + "is offline or not a player!");
- return true;
- }
- if(!config.contains("refers." + player.getName().toLowerCase())){
- }
- int total = config.getInt("refers." + player.getName().toLowerCase());
- sender.sendMessage(prefix + player.getDisplayName() + " §7has " + "§c" + total + "§7 referrals!");
- return true;
- }
- }
- if(cmd.getName().equalsIgnoreCase("referload")&& sender.hasPermission("refer.admin")){
- if(!sender.hasPermission("refer.admin")){
- sender.sendMessage(prefix + "I'm sorry, but you do not have permission to do this!");
- }
- this.reloadConfig();
- saveConfig();
- sender.sendMessage(prefix + "Referrals v1.0 has been reloaded!");
- }
- return false;
- }
- @EventHandler
- public void onPlayerJoin(PlayerJoinEvent e){
- // Adds player to config
- if(!config.contains(e.getPlayer().getName().toLowerCase())){
- config.createSection("refers." + e.getPlayer().getName().toLowerCase());
- saveConfig();
- }
- }
- }
Add Comment
Please, Sign In to add comment