Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.leomelki.il;
- import java.io.File;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map.Entry;
- import java.util.UUID;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.ConfigurationSection;
- import org.bukkit.enchantments.Enchantment;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.inventory.InventoryType;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.java.JavaPlugin;
- public class ZeWills extends JavaPlugin implements Listener {
- public void onEnable() {
- Bukkit.getServer().getPluginManager().registerEvents(this, this);
- File f = new File(getDataFolder(), "config.yml");
- if (!f.exists()) {
- try {
- getConfig().options().copyDefaults(false);
- getConfig().createSection("players");
- saveDefaultConfig();
- saveConfig();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- public void onDisabled()
- {
- for (Entry<UUID, Inventory> entry : banque.entrySet()) {
- if (!getConfig().contains("players." + entry.getKey())) {
- getConfig().createSection("players." + entry.getKey());
- }
- char c = 'a';
- for (org.bukkit.inventory.ItemStack is : entry.getValue()) {
- if (is != null) {
- saveItem(getConfig().createSection("players." + entry.getKey() + "." + c++), is);
- }
- }
- saveConfig();
- }
- }
- public HashMap<UUID, Inventory> banque = new HashMap<UUID, Inventory>();
- @EventHandler
- public void onJoin(PlayerJoinEvent e) {
- Player p = e.getPlayer();
- Inventory inv = Bukkit.getServer().createInventory(p,
- InventoryType.CHEST);
- if (!getConfig().contains("players."+p.getUniqueId())) {
- getConfig().createSection("players." + p.getUniqueId());
- saveConfig();
- banque.put(p.getUniqueId(), inv);
- p.sendMessage(ChatColor.GOLD+"Votre compte en banque a été créer ! Tapez /banque pour stocker vos items !");
- } else {
- for (String Item : getConfig().getConfigurationSection("players." + p.getUniqueId()).getKeys(false)) {
- inv.addItem(loadItem(getConfig().getConfigurationSection("players." + p.getUniqueId() + "." + Item)));
- banque.put(p.getUniqueId(), inv);
- }
- }
- }
- @EventHandler
- public void onQuit(PlayerQuitEvent e) {
- Player p = e.getPlayer();
- if (!getConfig().contains("players." + p.getUniqueId()))
- ;
- {
- getConfig().createSection("players." + p.getUniqueId());
- }
- char c = 'a';
- for (org.bukkit.inventory.ItemStack is : banque.get(p.getUniqueId())) {
- if (is != null) {
- saveItem(getConfig().createSection("players."+p.getUniqueId()+"."+c++), is);
- }
- }
- saveConfig();
- }
- @SuppressWarnings("deprecation")
- private void saveItem(ConfigurationSection section, ItemStack is) {
- section.set("type", is.getType().name());
- section.set("qt", is.getAmount());
- if(is.hasItemMeta()){
- ItemMeta im = is.getItemMeta();
- if(im.hasDisplayName()){
- section.set("dname", im.getDisplayName());
- }
- if(im.hasLore()){
- section.set("lore", im.getLore());
- }
- if(im.hasEnchants()){
- section.set("ench.name", im.getEnchants().keySet().toArray());
- section.set("ench.lvl", im.getEnchants().values().toArray());
- }
- section.set("data", is.getData().getData());
- section.set("dura", is.getDurability());
- }
- section.set("qt", is.getAmount());
- }
- @SuppressWarnings("deprecation")
- private ItemStack loadItem(ConfigurationSection section) {
- ItemStack is = new ItemStack(Material.valueOf(section.getString("type")), section.getInt("qt"));
- if(section.contains("dname") || section.contains("lore") || section.contains("ench")){
- ItemMeta im = is.getItemMeta();
- if(section.contains("dname")){
- im.setDisplayName(section.getString("dname"));
- }
- if(section.contains("lore")){
- im.setLore(section.getStringList("lore"));
- }
- if(section.contains("ench")){
- HashMap<Enchantment, Integer> ench = new HashMap<Enchantment, Integer>();
- List<String> enc = section.getStringList("ench.name");
- List<String> lvl = section.getStringList("ench.lvl");
- int i = 0;
- while(i != ench.size()){
- ench.put(Enchantment.getByName(enc.get(i)), Integer.valueOf(lvl.get(i)));
- i++;
- }
- }
- is.getData().setData((byte) section.getDouble("data"));
- is.setDurability((short) section.getDouble("dura"));
- is.setItemMeta(im);
- }
- return is;
- }
- public boolean onCommand(CommandSender sender, Command cmd, String label,
- String[] args) {
- Player p = (Player) sender;
- if (cmd.getName().equalsIgnoreCase("banque")) {
- try {
- p.openInventory(banque.get(p.getUniqueId()));
- } catch (NullPointerException err) {
- Inventory inv = Bukkit.getServer().createInventory(p,
- InventoryType.CHEST);
- for (String Item : getConfig().getConfigurationSection(
- "players." + p.getUniqueId()).getKeys(false)) {
- inv.addItem(loadItem(getConfig().getConfigurationSection(
- "players." + p.getUniqueId() + "." + Item)));
- banque.put(p.getUniqueId(), inv);
- p.openInventory(banque.get(p.getUniqueId()));
- }
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement