package me.gtacraft.plugins.jetpack;
import me.gtacraft.plugins.jetpack.listener.JetpackListener;
import me.gtacraft.plugins.jetpack.task.JetTask;
import me.gtacraft.plugins.jetpack.util.item.ItemData;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
/**
* Created by Connor on 7/11/14. Designed for the GTA-Jetpacks project.
*/
public class GTAJetpack extends JavaPlugin {
private static GTAJetpack instance;
public void onEnable() {
instance = this;
saveDefaultConfig();
for (String key : getConfig().getConfigurationSection("jetpacks").getKeys(false)) {
int tier = Integer.parseInt(key);
ItemData value = new ItemData(getConfig().getString("jetpacks."+key));
JetPackManager.assignJetpackAndTier(value.getStack(), tier);
}
new JetpackListener();
Runnable constant = new JetTask();
Bukkit.getScheduler().scheduleAsyncRepeatingTask(this, constant, 1l, 1l);
for (Player player : Bukkit.getOnlinePlayers()) {
JetTask.async_player_map.put(player.getName(), player);
}
}
public void onDisable() {
for (Player player : Bukkit.getOnlinePlayers()) {
JetTask.async_player_map.remove(player.getName());
}
saveDefaultConfig();
}
public static GTAJetpack getInstance() {
return instance;
}
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (!(sender.isOp())) {
sender.sendMessage(ChatColor.RED+"You do not have permission to use this command!");
return true;
}
if (args.length == 0) {
sender.sendMessage(ChatColor.RED+"Please specify a player to give a jetpack to!");
return true;
}
Player check = Bukkit.getPlayer(args[0]);
if (check == null) {
sender.sendMessage(ChatColor.RED+"No such player!");
return true;
}
try {
int pack = (args.length > 1 ? Integer.parseInt(args[1]) : 1);
boolean talk = (args.length > 2 && (args[2].equalsIgnoreCase("-v") || args[2].equalsIgnoreCase("-verbose")));
ItemStack give = JetPackManager.getPack(pack);
if (give == null) {
sender.sendMessage(ChatColor.RED+"There is no tier "+pack+" jetpack!");
return true;
}
check.getInventory().addItem(give);
if (talk)
check.sendMessage(ChatColor.translateAlternateColorCodes('&', "&a&l(!) &aYou were given a jetpack item!"));
sender.sendMessage(ChatColor.GREEN+"Jetpack successfully given to "+check.getName()+"!");
return true;
} catch (Exception err) {
sender.sendMessage(ChatColor.RED+"Please enter a valid number!");
err.printStackTrace();
}
return true;
}
}