コード例 #1
0
  @SuppressWarnings({"rawtypes", "unchecked"})
  private void openInventory(Player p, Location l) {
    Inventory inv = pl.getServer().createInventory(null, InventoryType.HOPPER, "Network Creator");

    inv.setItem(2, in2);

    ItemStack brea = new ItemStack(Material.ENDER_PORTAL_FRAME);
    ItemMeta im = brea.getItemMeta();
    im.setDisplayName(ChatColor.RESET + "Déassablage");
    List<String> lore = new ArrayList();
    lore.add(l.getBlockX() + "/" + l.getBlockY() + "/" + l.getBlockZ());
    im.setLore(lore);
    brea.setItemMeta(im);
    inv.setItem(4, brea);

    p.openInventory(inv);
  }
コード例 #2
0
  @SuppressWarnings({"unchecked", "rawtypes"})
  public NetworkCreatorListener(Startup pl) {
    this.pl = pl;
    this.pl.getServer().getPluginManager().registerEvents(this, this.pl);

    in2.setDurability((short) 15);
    ItemMeta im2 = in2.getItemMeta();
    im2.setDisplayName(ChatColor.RESET + "--->");
    List<String> lim2 = new ArrayList();
    lim2.add(ChatColor.RESET + "Create Card Network");
    im2.setLore(lim2);
    in2.setItemMeta(im2);

    ShapedRecipe craft = new ShapedRecipe(pl.nc);
    craft.shape(new String[] {"DID", "EDE", "SSS"});
    craft.setIngredient('D', Material.DIAMOND);
    craft.setIngredient('E', Material.ENDER_PEARL);
    craft.setIngredient('I', Material.IRON_INGOT);
    craft.setIngredient('S', Material.ENDER_STONE);
    pl.getServer().addRecipe(craft);
  }
コード例 #3
0
  @EventHandler
  public void onClickInventory(InventoryClickEvent ev) {
    if (ev.getInventory().getType() == InventoryType.HOPPER
        && ev.getInventory().getTitle().equalsIgnoreCase("Network Creator")) {
      if (ev.getCurrentItem() == null) {
        return;
      }
      if (ev.isShiftClick()) {
        ev.setCancelled(true);
        return;
      }
      if ((ev.getSlot() == 0 || ev.getSlot() == 1)
          && !CardNetworkListener.isModifier(ev.getCursor())
          && ev.getCursor().getType() != Material.AIR) {
        ev.setCancelled(true);
        return;
      }
      if (ev.getSlot() == 3
          && !pl.isCardNetwork(ev.getCursor())
          && ev.getCursor().getType() != Material.AIR) {
        ev.setCancelled(true);
        return;
      }

      Player p = (Player) ev.getWhoClicked();
      Inventory inv = ev.getInventory();

      if (ev.getCurrentItem().getType() == Material.ENDER_PORTAL_FRAME
          && ev.getCurrentItem().hasItemMeta()
          && ev.getCurrentItem().getItemMeta().hasDisplayName()
          && ev.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§rDéassablage")) {
        ev.setCancelled(true);

        List<String> lore = ev.getCurrentItem().getItemMeta().getLore();
        String[] cs = lore.get(0).split("/");

        Block b =
            new Location(
                    ev.getWhoClicked().getWorld(),
                    Integer.parseInt(cs[0]),
                    Integer.parseInt(cs[1]),
                    Integer.parseInt(cs[2]))
                .getBlock();

        b.setType(Material.AIR);
        pl.bs.remove(b);
        b.getWorld().dropItemNaturally(b.getLocation(), pl.nc);

        p.closeInventory();

        return;
      }

      if (ev.getSlot() == 2
          && ev.getCurrentItem().getType() == Material.STAINED_GLASS_PANE
          && ev.getCurrentItem().getDurability() == 15
          && ev.getCurrentItem().hasItemMeta()
          && ev.getCurrentItem().getItemMeta().hasDisplayName()
          && ev.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§r--->")) {
        ev.setCancelled(true);

        if (inv.getItem(0) == null && inv.getItem(1) == null && inv.getItem(3) == null) return;
        if (CardNetworkListener.whatNetwork(inv.getItem(3)) != null) return;

        ItemStack item;
        ItemStack m1 = inv.getItem(0);
        ItemStack m2 = inv.getItem(1);

        if (m1 != null || m2 != null) {
          item = inv.getItem(3);
          ItemMeta im = item.getItemMeta();
          List<String> lore = im.getLore();

          lore.add(" ");
          lore.add(ChatColor.GRAY + "Modifier :");

          if (m1 != null) {
            lore.add(ChatColor.GRAY + "- " + CardNetworkListener.whatModifier(m1));
            inv.setItem(0, new ItemStack(Material.AIR));
          }
          if (m2 != null && !m2.isSimilar(m1)) {
            lore.add(ChatColor.GRAY + "- " + CardNetworkListener.whatModifier(m2));
            inv.setItem(1, new ItemStack(Material.AIR));
          }

          im.setLore(lore);
          item.setItemMeta(im);

          inv.setItem(3, item);
        }

        p.playSound(p.getLocation(), Sound.WOOD_CLICK, 1, 1);

        Inventory icn = pl.getServer().createInventory(null, InventoryType.HOPPER, "NC");
        icn.setContents(inv.getContents());
        inv.clear();

        new ChatInventory(pl, p, null, ChatEtat.CREATE_NETWORK, icn);
        p.closeInventory();

        p.sendMessage(ChatColor.GRAY + "Entré le nom du réseau");

        return;
      }
    }
  }