Seite 4 von 4

Re: Eigene Villager-Trades erstellen

BeitragVerfasst: Fr 25. Jul 2014, 12:03
von b4cteria
Also ich habe auch mit dieser API meine Trades erstellt, die sind wie auf GommeHD und dort klappt alles:
Code: Alles auswählen
  1. if(e.getCurrentItem().getItemMeta().getDisplayName().contains("Armor")){
  2.          
  3.           ItemStack Bronze = new ItemStack(Material.CLAY_BRICK, 1);
  4.          ItemMeta Blöckemeta = Bronze.getItemMeta();
  5.          Blöckemeta.setDisplayName(ChatColor.RED + "Bronze");
  6.          Bronze.setItemMeta(Blöckemeta);
  7.          
  8.          ItemStack Helm = new ItemStack(Material.LEATHER_HELMET, 1);
  9.          Helm.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
  10.          Helm.addEnchantment(Enchantment.DURABILITY, 1);
  11.          LeatherArmorMeta Helmemeta = (LeatherArmorMeta) Helm.getItemMeta();
  12.          if(MainClass.blue.contains(p.getName())){
  13.          Helmemeta.setColor(Color.BLUE);
  14.          }
  15.          if(MainClass.red.contains(p.getName())){
  16.             Helmemeta.setColor(Color.RED);
  17.             }
  18.          Helmemeta.setDisplayName(ChatColor.AQUA +   "" + ChatColor.ITALIC + "Leatherhelmet");
  19.          Helm.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
  20.          Helm.addEnchantment(Enchantment.DURABILITY, 1);
  21.          Helm.setItemMeta(Helmemeta);
  22.          
  23.          
  24.          
  25.          ItemStack Hose = new ItemStack(Material.LEATHER_LEGGINGS, 1);
  26.          Hose.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
  27.          Hose.addEnchantment(Enchantment.DURABILITY, 1);
  28.          LeatherArmorMeta Hosemeta = (LeatherArmorMeta) Hose.getItemMeta();
  29.          if(MainClass.blue.contains(p.getName())){
  30.             Hosemeta.setColor(Color.BLUE);
  31.          }
  32.          if(MainClass.red.contains(p.getName())){
  33.             Hosemeta.setColor(Color.RED);
  34.             }
  35.          Hosemeta.setDisplayName(ChatColor.AQUA +   "" + ChatColor.ITALIC + "Leatherleggins");
  36.          Hose.setItemMeta(Hosemeta);
  37.          
  38.          
  39.          
  40.          ItemStack Schuhe = new ItemStack(Material.LEATHER_BOOTS, 1);
  41.          Schuhe.addUnsafeEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
  42.          Schuhe.addUnsafeEnchantment(Enchantment.DURABILITY, 1);
  43.          LeatherArmorMeta Schuhemeta = (LeatherArmorMeta) Schuhe.getItemMeta();
  44.          if(MainClass.blue.contains(p.getName())){
  45.             Schuhemeta.setColor(Color.BLUE);
  46.          }
  47.          if(MainClass.red.contains(p.getName())){
  48.             Schuhemeta.setColor(Color.RED);
  49.             }
  50.          Schuhemeta.setDisplayName(ChatColor.AQUA +  "" + ChatColor.ITALIC +  "Leatherboots");
  51.          Schuhe.setItemMeta(Schuhemeta);
  52.          
  53.          
  54.          
  55.          ItemStack Silver = new ItemStack(Material.IRON_INGOT, 1);
  56.          ItemMeta Silvermeta = Silver.getItemMeta();
  57.          Silvermeta.setDisplayName(ChatColor.GRAY + "Silver");
  58.          Silver.setItemMeta(Silvermeta);
  59.          
  60.          ItemStack Silver1 = new ItemStack(Material.IRON_INGOT, 3);
  61.          ItemMeta Silver1meta = Silver1.getItemMeta();
  62.          Silver1meta.setDisplayName(ChatColor.GRAY + "Silver");
  63.          Silver1.setItemMeta(Silver1meta);
  64.          
  65.          ItemStack Silver2 = new ItemStack(Material.IRON_INGOT, 7);
  66.          ItemMeta Silver2meta = Silver2.getItemMeta();
  67.          Silver2meta.setDisplayName(ChatColor.GRAY + "Silver");
  68.          Silver2.setItemMeta(Silver2meta);
  69.       
  70.          
  71.          ItemStack Kette1 = new ItemStack(Material.CHAINMAIL_CHESTPLATE, 1);
  72.          Kette1.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
  73.          Kette1.addEnchantment(Enchantment.DURABILITY, 1);
  74.          ItemMeta Kette1meta = Kette1.getItemMeta();
  75.          Kette1meta.setDisplayName(ChatColor.AQUA +  "" + ChatColor.ITALIC + "ChainChestplate Lvl.1");
  76.          Kette1.setItemMeta(Kette1meta);
  77.          
  78.          
  79.          ItemStack Kette2 = new ItemStack(Material.CHAINMAIL_CHESTPLATE, 1);
  80.          Kette2.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
  81.          Kette2.addEnchantment(Enchantment.DURABILITY, 1);
  82.          ItemMeta Kette2meta = Kette2.getItemMeta();
  83.          Kette2meta.setDisplayName(ChatColor.AQUA +  "" + ChatColor.ITALIC + "ChainChestplate Lvl.2");
  84.          Kette2.setItemMeta(Kette2meta);
  85.          
  86.          
  87.          ItemStack Kette3 = new ItemStack(Material.CHAINMAIL_CHESTPLATE, 1);
  88.          Kette3.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 3);
  89.          Kette3.addEnchantment(Enchantment.DURABILITY, 1);
  90.          ItemMeta Kette3meta = Kette3.getItemMeta();
  91.          Kette3meta.setDisplayName(ChatColor.AQUA +  "" + ChatColor.ITALIC + "ChainChestplate Lvl.3");
  92.          Kette3.setItemMeta(Kette3meta);
  93.          
  94.          
  95.       //Inventar erzeugen
  96.       Merchant inv = new Merchant();
  97.       inv.setTitle("Armor");
  98.       
  99.       //Item hinzufügen (2 Dirt -> 1 Grass)
  100.       inv.addOffer(new MerchantOffer(new ItemStack(Bronze), new ItemStack(Helm)));
  101.       inv.addOffer(new MerchantOffer(new ItemStack(Bronze), new ItemStack(Hose)));
  102.       inv.addOffer(new MerchantOffer(new ItemStack(Bronze), new ItemStack(Schuhe)));
  103.       inv.addOffer(new MerchantOffer(new ItemStack(Silver), new ItemStack(Kette1)));
  104.       inv.addOffer(new MerchantOffer(new ItemStack(Silver1), new ItemStack(Kette2)));
  105.       inv.addOffer(new MerchantOffer(new ItemStack(Silver2), new ItemStack(Kette3)));
  106.       //Inventar öffnen
  107.       inv.setCustomer(p);
  108.       inv.openTrading(p);
  109.       
  110.    }

Re: Eigene Villager-Trades erstellen

BeitragVerfasst: Sa 2. Aug 2014, 23:07
von Summerfeeling
Hey @laklaklak,
dieses Problem hatte ich auch, hier mal der Forenlink dazu.

Re: Eigene Villager-Trades erstellen

BeitragVerfasst: So 13. Sep 2015, 00:13
von comniemeer
Ich möchte in unserem Plugin einen Villagermerchant aus einem Inventar durch Klicken auf ein Item heraus öffnen.
Dann wird das Villager-Inventar geöffnet und der Mauszeiger zurück in die Mitte des Bildschirms "geschickt".
Das liegt daran, dass das vorherige Inventar geschlossen wurde, bevor das neue geöffnet wird.
Man darf also das Inventar des Spielers nicht schließen (bspw. mit player.closeInventory()), dann bleibt der Cursor genau an derselben Stelle wie in dem vorherigen Inventar.

Wie kann ich das also mit der Lib von Howaner anstellen?

Danke im Voraus!
-comniemeer / Martin