Paste #111094: Unnamed Java Paste

Date: 2023/06/13 13:57:31 UTC-07:00
Type: Java

View Raw Paste Download This Paste
Copy Link


package fr.lightmute;

import java.util.ArrayList;
import net.milkbowl.vault.economy.Economy;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.OfflinePlayer;
import org.bukkit.Sound;
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.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryView;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.RegisteredServiceProvider;

public class Inventaire implements Listener {
  private ArrayList<String> materiel = new ArrayList<>();
  
  public static Economy economy = null;
  
  private boolean setupEconomy() {
    RegisteredServiceProvider<Economy> economyProvider = Bukkit.getServer().getServicesManager().getRegistration(Economy.class);
    if (economyProvider != null)
      economy = (Economy)economyProvider.getProvider(); 
    return (economy != null);
  }
  
  public ConfigTaxi config() {
    ConfigTaxi config = new ConfigTaxi("config.yml", StelyTaxi.instance);
    if (config.isNull("Slots.Possible")) {
      config.set("Slots.Possible", "9,27,54");
      config.saveConfig();
    } 
    if (config.isNull("Slots.Inventaire")) {
      config.set("Slots.Inventaire", Integer.valueOf(27));
      config.saveConfig();
    } 
    if (config.isNull("Perm.bypass")) {
      config.set("Perm.bypass", "stelytaxi.bypass");
      config.saveConfig();
    } 
    if (config.isNull("Perm.money.byspass")) {
      config.set("Perm.money.byspass", "stelytaxi.bypass.money");
      config.saveConfig();
    } 
    if (config.isNull("Prefix")) {
      config.set("Prefix", "&7[&5StelyTaxi&7] ");
      config.saveConfig();
    } 
    if (config.isNull("PlayerNoMoney")) {
      config.set("PlayerNoMoney", "&cVous n'avez pas assez de money !");
      config.saveConfig();
    } 
    if (config.isNull("Inventaire.Name")) {
      config.set("Inventaire.Name", "Taxi");
      config.saveConfig();
    } 
    if (config.isNull("Item.Vide.Materiel")) {
      config.set("Item.Vide.Materiel", Material.BLUE_STAINED_GLASS_PANE.toString());
      config.saveConfig();
    } 
    if (config.isNull("Item.Vide.Name")) {
      config.set("Item.Vide.Name", " ");
      config.saveConfig();
    } 
    int slotinv = config.getInt("Slots.Inventaire");
    for (int i = 0; i < slotinv; i++) {
      if (!config.isNull("Items")) {
        this.materiel = (ArrayList<String>)config.getStringList("Items");
        if (!((String)this.materiel.get(i)).equals("AIR")) {
          if (config.isNull("ItemsName." + (String)this.materiel.get(i) + ".Name")) {
            config.set("ItemsName." + (String)this.materiel.get(i) + ".Name", "&dNEW");
            config.saveConfig();
          } 
          if (config.isNull("ItemsName." + (String)this.materiel.get(i) + ".WorldName")) {
            config.set("ItemsName." + (String)this.materiel.get(i) + ".WorldName", "spawn");
            config.saveConfig();
          } 
          if (config.isNull("ItemsName." + (String)this.materiel.get(i) + ".X")) {
            config.set("ItemsName." + (String)this.materiel.get(i) + ".X", Integer.valueOf(0));
            config.saveConfig();
          } 
          if (config.isNull("ItemsName." + (String)this.materiel.get(i) + ".Y")) {
            config.set("ItemsName." + (String)this.materiel.get(i) + ".Y", Integer.valueOf(0));
            config.saveConfig();
          } 
          if (config.isNull("ItemsName." + (String)this.materiel.get(i) + ".Z")) {
            config.set("ItemsName." + (String)this.materiel.get(i) + ".Z", Integer.valueOf(0));
            config.saveConfig();
          } 
          if (config.isNull("ItemsName." + (String)this.materiel.get(i) + ".Pitch")) {
            config.set("ItemsName." + (String)this.materiel.get(i) + ".Pitch", Integer.valueOf(0));
            config.saveConfig();
          } 
          if (config.isNull("ItemsName." + (String)this.materiel.get(i) + ".Yaw")) {
            config.set("ItemsName." + (String)this.materiel.get(i) + ".Yaw", Integer.valueOf(0));
            config.saveConfig();
          } 
          if (config.isNull("ItemsName." + (String)this.materiel.get(i) + ".ManuelLoc")) {
            config.set("ItemsName." + (String)this.materiel.get(i) + ".ManuelLoc", Boolean.valueOf(false));
            config.saveConfig();
          } 
          if (config.isNull("ItemsName." + (String)this.materiel.get(i) + ".Prix")) {
            config.set("ItemsName." + (String)this.materiel.get(i) + ".Prix", Integer.valueOf(50));
            config.saveConfig();
          } 
          if (config.isNull("ItemsName." + (String)this.materiel.get(i) + ".LorePrix")) {
            config.set("ItemsName." + (String)this.materiel.get(i) + ".LorePrix", "&aPrix: %prix%");
            config.saveConfig();
          } 
          if (config.isNull("ItemsName." + (String)this.materiel.get(i) + ".Enable")) {
            config.set("ItemsName." + (String)this.materiel.get(i) + ".Enable", Boolean.valueOf(true));
            config.saveConfig();
          } 
          if (config.isNull("ItemsName." + (String)this.materiel.get(i) + ".Enchant")) {
            config.set("ItemsName." + (String)this.materiel.get(i) + ".Enchant", Boolean.valueOf(true));
            config.saveConfig();
          } 
          if (config.isNull("ItemsName." + (String)this.materiel.get(i) + ".MessageNotEnable")) {
            config.set("ItemsName." + (String)this.materiel.get(i) + ".MessageNotEnable", "&6Cette test dcause travaux !");
            config.saveConfig();
          } 
          if (config.isNull("ItemsName." + (String)this.materiel.get(i) + ".Lore")) {
            config.set("ItemsName." + (String)this.materiel.get(i) + ".Lore", Boolean.valueOf(true));
            config.saveConfig();
          } 
          ArrayList<String> lores = new ArrayList<>();
          lores.add("ligne 1");
          lores.add("ligne 2");
          if (config.isNull("ItemsName." + (String)this.materiel.get(i) + ".Lores")) {
            config.set("ItemsName." + (String)this.materiel.get(i) + ".Lores", lores);
            config.saveConfig();
          } 
        } 
      } else {
        this.materiel.add("AIR");
        if (config.isNull("ItemsName." + (String)this.materiel.get(i) + ".Name")) {
          config.set("ItemsName." + (String)this.materiel.get(i) + ".Name", "&dNEW");
          config.saveConfig();
        } 
      } 
    } 
    if (config.isNull("Items")) {
      config.set("Items", this.materiel);
      config.saveConfig();
    } 
    return config;
  }
  
  private ItemStack ItemVide() {
    ItemStack item = new ItemStack(Material.valueOf(config().getString("Item.Vide.Materiel")));
    ItemMeta meta = item.getItemMeta();
    meta.setDisplayName(config().getString("Item.Vide.Name").replace("&", "));
    meta.addItemFlags(new ItemFlag[] { ItemFlag.HIDE_ATTRIBUTES });
    meta.addItemFlags(new ItemFlag[] { ItemFlag.HIDE_DESTROYS });
    meta.addItemFlags(new ItemFlag[] { ItemFlag.HIDE_ENCHANTS });
    meta.addItemFlags(new ItemFlag[] { ItemFlag.HIDE_PLACED_ON });
    meta.addItemFlags(new ItemFlag[] { ItemFlag.HIDE_POTION_EFFECTS });
    meta.addItemFlags(new ItemFlag[] { ItemFlag.HIDE_UNBREAKABLE });
    item.setItemMeta(meta);
    return item;
  }
  
  private ItemStack Item(Material mat) {
    ItemStack item = new ItemStack(mat);
    ItemMeta meta = item.getItemMeta();
    meta.setDisplayName(config().getString("ItemsName." + mat.toString() + ".Name").replace("&", "));
    ArrayList<String> lore = new ArrayList<>();
    lore.add(config().getString("ItemsName." + mat + ".LorePrix").replace("&", ").replace("%prix%", config().getDouble("ItemsName." + mat.toString() + ".Prix").toString()));
    if (config().getBoolean("ItemsName." + mat + ".Lore"))
      for (String str : config().getStringList("ItemsName." + mat + ".Lores"))
        lore.add(str.replace("&", "));  
    if (!config().getBoolean("ItemsName." + mat + ".Enable"))
      lore.add(config().getString("ItemsName." + mat + ".MessageNotEnable").replace("&", ")); 
    if (config().getBoolean("ItemsName." + mat + ".Enchant"))
      meta.addEnchant(Enchantment.DURABILITY, 3, true); 
    meta.setLore(lore);
    meta.addItemFlags(new ItemFlag[] { ItemFlag.HIDE_ATTRIBUTES });
    meta.addItemFlags(new ItemFlag[] { ItemFlag.HIDE_DESTROYS });
    meta.addItemFlags(new ItemFlag[] { ItemFlag.HIDE_ENCHANTS });
    meta.addItemFlags(new ItemFlag[] { ItemFlag.HIDE_PLACED_ON });
    meta.addItemFlags(new ItemFlag[] { ItemFlag.HIDE_POTION_EFFECTS });
    meta.addItemFlags(new ItemFlag[] { ItemFlag.HIDE_UNBREAKABLE });
    item.setItemMeta(meta);
    return item;
  }
  
  public Inventory openinventaire() {
    int slotinv = config().getInt("Slots.Inventaire");
    Inventory inv = Bukkit.createInventory(null, slotinv, config().getString("Inventaire.Name").replace("&", "));
    for (int i = 0; i < slotinv; i++) {
      if (((String)config().getStringList("Items").get(i)).equals("AIR")) {
        inv.setItem(i, ItemVide());
      } else {
        inv.setItem(i, Item(Material.valueOf(config().getStringList("Items").get(i))));
      } 
    } 
    return inv;
  }
  
  @EventHandler
  private void clickinv(InventoryClickEvent e) {
    Player player = (Player)e.getWhoClicked();
    InventoryView ivv = e.getView();
    if (e.getSlotType() != InventoryType.SlotType.OUTSIDE && e.getCurrentItem() != null && !e.getCurrentItem().getType().equals(Material.AIR) && 
      ivv.getTitle().equals(config().getString("Inventaire.Name").replace("&", "))) {
      e.setCancelled(true);
      if (this.materiel.contains(e.getCurrentItem().getType().toString()))
        if (config().getBoolean("ItemsName." + e.getCurrentItem().getType() + ".Enable")) {
          if (setupEconomy()) {
            double balance = economy.getBalance(e.getWhoClicked().getName());
            if (balance < config().getDouble("ItemsName." + e.getCurrentItem().getType() + ".Prix").doubleValue()) {
              player.sendMessage(String.valueOf(config().getString("Prefix").replace("&", ")) + config().getString("PlayerNoMoney").replace("&", "));
              player.closeInventory();
              player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_NO, 1.0F, 1.0F);
            } else {
              Location loc;
              economy.withdrawPlayer((OfflinePlayer)player, config().getDouble("ItemsName." + e.getCurrentItem().getType() + ".Prix").doubleValue());
              if (config().getBoolean("ItemsName." + e.getCurrentItem().getType() + ".ManuelLoc")) {
                loc = new Location(Bukkit.getWorld(config().getString("ItemsName." + e.getCurrentItem().getType() + ".WorldName")), config().getDouble("ItemsName." + e.getCurrentItem().getType() + ".X").doubleValue(), config().getDouble("ItemsName." + e.getCurrentItem().getType() + ".Y").doubleValue(), config().getDouble("ItemsName." + e.getCurrentItem().getType() + ".Z").doubleValue(), config().getFloat("ItemsName." + e.getCurrentItem().getType() + ".Yaw"), config().getFloat("ItemsName." + e.getCurrentItem().getType() + ".Pitch"));
              } else {
                Location locspawn = Bukkit.getWorld(config().getString("ItemsName." + e.getCurrentItem().getType() + ".WorldName")).getSpawnLocation();
                loc = new Location(Bukkit.getWorld(config().getString("ItemsName." + e.getCurrentItem().getType() + ".WorldName")), locspawn.getBlockX(), locspawn.getBlockY(), locspawn.getBlockZ(), locspawn.getYaw(), locspawn.getPitch());
              } 
              player.teleport(loc);
            } 
          } 
        } else if (!config().getBoolean("ItemsName." + e.getCurrentItem().getType() + ".Enable") && player.hasPermission("stelytaxi.bypass")) {
          if (setupEconomy())
            if (!player.hasPermission("stelytaxi.bypass.money") || !player.isOp()) {
              double balance = economy.getBalance(e.getWhoClicked().getName());
              if (balance < config().getDouble("ItemsName." + e.getCurrentItem().getType() + ".Prix").doubleValue()) {
                player.sendMessage(String.valueOf(config().getString("Prefix").replace("&", ")) + config().getString("PlayerNoMoney").replace("&", "));
                player.closeInventory();
                player.playSound(player.getLocation(), Sound.ENTITY_VILLAGER_NO, 1.0F, 1.0F);
              } else {
                Location loc;
                economy.withdrawPlayer((OfflinePlayer)player, config().getDouble("ItemsName." + e.getCurrentItem().getType() + ".Prix").doubleValue());
                if (config().getBoolean("ItemsName." + e.getCurrentItem().getType() + ".ManuelLoc")) {
                  loc = new Location(Bukkit.getWorld(config().getString("ItemsName." + e.getCurrentItem().getType() + ".WorldName")), config().getDouble("ItemsName." + e.getCurrentItem().getType() + ".X").doubleValue(), config().getDouble("ItemsName." + e.getCurrentItem().getType() + ".Y").doubleValue(), config().getDouble("ItemsName." + e.getCurrentItem().getType() + ".Z").doubleValue(), config().getFloat("ItemsName." + e.getCurrentItem().getType() + ".Yaw"), config().getFloat("ItemsName." + e.getCurrentItem().getType() + ".Pitch"));
                } else {
                  Location locspawn = Bukkit.getWorld(config().getString("ItemsName." + e.getCurrentItem().getType() + ".WorldName")).getSpawnLocation();
                  loc = new Location(Bukkit.getWorld(config().getString("ItemsName." + e.getCurrentItem().getType() + ".WorldName")), locspawn.getBlockX(), locspawn.getBlockY(), locspawn.getBlockZ(), locspawn.getYaw(), locspawn.getPitch());
                } 
                player.teleport(loc);
              } 
            } else {
              Location loc;
              if (config().getBoolean("ItemsName." + e.getCurrentItem().getType() + ".ManuelLoc")) {
                loc = new Location(Bukkit.getWorld(config().getString("ItemsName." + e.getCurrentItem().getType() + ".WorldName")), config().getDouble("ItemsName." + e.getCurrentItem().getType() + ".X").doubleValue(), config().getDouble("ItemsName." + e.getCurrentItem().getType() + ".Y").doubleValue(), config().getDouble("ItemsName." + e.getCurrentItem().getType() + ".Z").doubleValue(), config().getFloat("ItemsName." + e.getCurrentItem().getType() + ".Yaw"), config().getFloat("ItemsName." + e.getCurrentItem().getType() + ".Pitch"));
              } else {
                Location locspawn = Bukkit.getWorld(config().getString("ItemsName." + e.getCurrentItem().getType() + ".WorldName")).getSpawnLocation();
                loc = new Location(Bukkit.getWorld(config().getString("ItemsName." + e.getCurrentItem().getType() + ".WorldName")), locspawn.getBlockX(), locspawn.getBlockY(), locspawn.getBlockZ(), locspawn.getYaw(), locspawn.getPitch());
              } 
              player.teleport(loc);
            }  
        } else {
          player.sendMessage(String.valueOf(config().getString("Prefix").replace("&", ")) + config().getString("ItemsName." + e.getCurrentItem().getType() + ".MessageNotEnable").replace("&", "));
          player.closeInventory();
        }  
    } 
  }
}

Highlighting for 'Other' types handled by Highlight.JS, which was released under the BSD 3-Clause License.