Skip to content
Snippets Groups Projects
Commit f9967be4 authored by Zandor Smith's avatar Zandor Smith :computer:
Browse files

+ Main files.

parent 6ed4cfe2
No related branches found
No related tags found
No related merge requests found
pom.xml 0 → 100644
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.zandor300</groupId>
<artifactId>UltimateKits</artifactId>
<version>1.8-1.0.0</version>
<name>UltimateKits</name>
<repositories>
<repository>
<id>MavenPi</id>
<url>http://play.zsinfo.nl/maven</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<type>jar</type>
<version>1.8-R0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>craftbukkit</artifactId>
<type>jar</type>
<version>1.8-R0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.zandor300</groupId>
<artifactId>ZSUtilities</artifactId>
<type>jar</type>
<version>1.8-1.0.4.3</version>
</dependency>
</dependencies>
<build>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ftp</artifactId>
<version>1.0-alpha-6</version>
</extension>
</extensions>
</build>
<distributionManagement>
<repository>
<id>MavenPi-FTP</id>
<url>ftp://192.168.1.18/var/www/maven</url>
</repository>
</distributionManagement>
</project>
\ No newline at end of file
package com.zandor300.ultimatekits;
import com.zandor300.ultimatekits.enums.Kit;
import com.zandor300.ultimatekits.inventories.KitMenu;
import com.zandor300.zsutilities.utilities.Chat;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.mcstats.Metrics;
import java.io.IOException;
import java.util.Map;
/**
* Created by Zandor on 3/23/15.
*/
public class UltimateKits extends JavaPlugin {
private static Chat chat = new Chat("UltimateKits", ChatColor.DARK_PURPLE);
private static UltimateKits plugin;
public static Chat getChat() {
return chat;
}
public static UltimateKits getPlugin() {
return plugin;
}
@Override
public void onEnable() {
chat.sendConsoleMessage("Setting things up!");
plugin = this;
PluginManager pm = Bukkit.getPluginManager();
chat.sendConsoleMessage("Starting metrics...");
try {
new Metrics(this).start();
chat.sendConsoleMessage("Submitted stats to MCStats.org.");
} catch (IOException e) {
chat.sendConsoleMessage("Couldn't submit stats to MCStats.org...");
}
chat.sendConsoleMessage("Registering events...");
pm.registerEvents(new KitMenu(), this);
chat.sendConsoleMessage("Registered events.");
chat.sendConsoleMessage("Starting timers...");
Bukkit.getScheduler().runTaskTimerAsynchronously(this, new Runnable() {
@Override
public void run() {
for(Kit kit : Kit.getAllKits())
for (Map.Entry<String, Integer> entry : kit.getPlayerCooldown().entrySet()) {
if (entry.getValue() <= 0)
kit.getPlayerCooldown().remove(entry.getKey());
else
kit.getPlayerCooldown().put(entry.getKey(), entry.getValue() - 1);
}
}
}, 20l, 20l);
chat.sendConsoleMessage("Started timers.");
chat.sendConsoleMessage("Everything is setup!");
chat.sendConsoleMessage("Enabled.");
}
}
package com.zandor300.ultimatekits.commands;
import com.zandor300.ultimatekits.UltimateKits;
import com.zandor300.zsutilities.commandsystem.Command;
import org.bukkit.command.CommandSender;
/**
* Created by Zandor on 3/23/15.
*/
public class UltimateKitsCommand extends Command {
public UltimateKitsCommand() {
super("ultimatekits", "Show info.");
}
@Override
public void execute(CommandSender sender, String[] args) {
UltimateKits.getChat().sendMessage(sender, "UltimateKits 1.0.0 by Zandor300");
}
}
package com.zandor300.ultimatekits.enums;
import org.bukkit.Material;
/**
* Created by Zandor on 3/23/15.
*/
public class ArmorSet {
private final Material helmet;
private final Material chestplate;
private final Material leggings;
private final Material boots;
public ArmorSet(Material helmet, Material chestplate, Material leggings, Material boots) {
this.helmet = helmet;
this.chestplate = chestplate;
this.leggings = leggings;
this.boots = boots;
}
public Material getHelmet() {
return helmet;
}
public Material getChestplate() {
return chestplate;
}
public Material getLeggings() {
return leggings;
}
public Material getBoots() {
return boots;
}
}
package com.zandor300.ultimatekits.enums;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
/**
* Created by Zandor on 3/23/15.
*/
public class Kit {
private static ArrayList<Kit> allKits = new ArrayList<Kit>();
private final HashMap<String, Integer> playerCooldown = new HashMap<String, Integer>();
private final String name;
private final HashMap<Material, Integer> items;
private final ArmorSet armor;
private final int cooldown;
public Kit(String name, HashMap<Material, Integer> items, ArmorSet armor, int cooldown) {
this.name = name;
this.items = items;
this.armor = armor;
this.cooldown = cooldown;
allKits.add(this);
}
public static ArrayList<Kit> getAllKits() {
return allKits;
}
public HashMap<String, Integer> getPlayerCooldown() {
return playerCooldown;
}
public static Kit getKit(String name) {
for (Kit kit : allKits)
if (kit.getName().equalsIgnoreCase(name))
return kit;
return null;
}
public int getCooldown(Player player) {
return playerCooldown.get(player.getName());
}
public String getName() {
return name;
}
public HashMap<Material, Integer> getItems() {
return items;
}
public ArmorSet getArmor() {
return armor;
}
public void giveKit(Player player) {
playerCooldown.put(player.getName(), cooldown);
PlayerInventory inventory = player.getInventory();
int i = 0;
for (Map.Entry<Material, Integer> entry : items.entrySet()) {
for (int a = 0; a < entry.getValue(); a++)
inventory.setItem(i, new ItemStack(entry.getKey(), a));
i++;
}
inventory.setHelmet(new ItemStack(armor.getHelmet()));
inventory.setChestplate(new ItemStack(armor.getChestplate()));
inventory.setLeggings(new ItemStack(armor.getLeggings()));
inventory.setBoots(new ItemStack(armor.getBoots()));
}
}
package com.zandor300.ultimatekits.inventories;
import com.zandor300.ultimatekits.UltimateKits;
import com.zandor300.ultimatekits.enums.Kit;
import com.zandor300.zsutilities.inventorysystem.Inventory;
import com.zandor300.zsutilities.inventorysystem.Item;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.scheduler.BukkitTask;
import java.util.HashMap;
/**
* Created by Zandor on 3/23/15.
*/
public class KitMenu implements Listener {
private static HashMap<String, BukkitTask> playerTask = new HashMap<String, BukkitTask>();
public static void open(final Player player) {
final Inventory inventory = new Inventory(ChatColor.DARK_PURPLE + "UltimateKits", 54);
playerTask.put(player.getName(), Bukkit.getScheduler().runTaskTimer(UltimateKits.getPlugin(), new Runnable() {
@Override
public void run() {
int i = 0;
for(Kit kit : Kit.getAllKits()) {
if(kit.getPlayerCooldown().containsKey(player.getName())) {
Item item = new Item(Material.STAINED_GLASS_PANE, 1, ChatColor.RED + kit.getName(), (byte) 14);
item.setLore("",
ChatColor.GREEN + "Cooldown will expire in " +
kit.getPlayerCooldown().get(player.getName()) + "seconds");
inventory.setItem(i, item);
} else {
Item item = new Item(Material.STAINED_GLASS_PANE, 1, ChatColor.GREEN + kit.getName(), (byte) 13);
inventory.setItem(i, item);
}
i++;
}
}
}, 0l, 20l));
}
@EventHandler
public void onInventoryClose(InventoryCloseEvent event) {
if (!event.getInventory().getName().equalsIgnoreCase(ChatColor.DARK_PURPLE + "UltimateKits"))
return;
BukkitTask task = playerTask.get(event.getPlayer().getName());
if (task != null) {
task.cancel();
playerTask.remove(event.getPlayer().getName());
}
}
}
name: UltimateKits
main: com.zandor300.ultimatekits.UltimateKits
version: 1.0.0
author: Zandor300
depend: [ZSUtilities]
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment