[UTIL] ItemCreator

Hier könnt ihr anderen Leuten helfen, indem ihr Anleitungen oder praktische Codesegmente zur Verfügung stellt.

[UTIL] ItemCreator

Beitragvon Tymmie » Sa 19. Nov 2016, 23:34

Hallo!
Das ist mein erster Post in diesem Forum. Trotzdem habe ich mich entschieden, eine simple, aber dennoch nützliche Methode zu coden und sie hier zu posten. Wie gesagt, die Methode ist kein Hexenwerk, jedoch könnten sie dem ein oder anderen helfen! Diese Methode könnt ihr euch natürlich selbst in euer Eclipse einfügen. In euern eigenen Videos dürft ihr sie auch benutzen, wobei hier währe ich ziehmlich dankbar, wenn ihr meinen Youtube Kanal einfach angebt(Tymmie/https://www.youtube.com/channel/UCdXLgemoo9rtHiEc0XqN2kw).

Soo aber jetzt zum Code:

createItem:
Code: Alles auswählen
  1.    public static ItemStack createItem(Material mat, int subid, String displayname, String lore1, boolean Glowing) {
  2.       
  3.       ItemStack item = new ItemStack(mat, 1, (short) subid);
  4.       ItemMeta meta = item.getItemMeta();
  5.       ArrayList lore = new ArrayList<>();
  6.       lore.add(lore1);
  7.       if(Glowing == true) {
  8.          meta.addEnchant(Enchantment.DURABILITY, 0, false);
  9.       }
  10.       if(lore1 != null) {
  11.          meta.setLore(lore);
  12.       }
  13.       meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
  14.       meta.addItemFlags(ItemFlag.HIDE_DESTROYS);
  15.       meta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
  16.       meta.addItemFlags(ItemFlag.HIDE_PLACED_ON);
  17.       meta.addItemFlags(ItemFlag.HIDE_POTION_EFFECTS);
  18.       meta.addItemFlags(ItemFlag.HIDE_UNBREAKABLE);
  19.       meta.setDisplayName(displayname);
  20.       
  21.       item.setItemMeta(meta);
  22.       
  23.       lore.remove(lore1);
  24.       return item;
  25.       
  26.    }


Ich denke mal, viel brauche ich nicht zu dieser Methode sagen. Es werden hier einfach Strings, ints, booleans und Materials übergeben. Für die kompletten Anfänger erklär ich es trozdem nochmal:
Ihr fügt einfach die Methode im Codefeld in eure Utils Klasse ein. Ab sofort könnt ihr so darauf zugreifen: [NameDerKlasse].createItem
Dann werdet ihr quasi dazu gezwungen ein Material, einen Int, einen String, noch ein String, und ein boolean anzugeben. Schlussendlich könnte das dann so aussehen:
Code: Alles auswählen
  1.       p.getInventory().setItem(1, Items.createItem(Material.BLAZE_ROD, 0, "§6Spieler verstecken/anzeigen", "§7Versteckt/Zeigt Spieler an!", false));


In diesem Beispiel erstellt ihr ein Item mit dem Material Blazerod, der SubID 0, dem DisplayName "§6Spieler verstecken/anzeigen", der Lore "§7Versteckt/Zeigt Spieler an!" und das false steht für aus, d.h das Item glitzert nicht.
Die SubID ist nützlich für z.B. farbiges Glas.
Lässt man die Lore bei "null" wird keine angezeigt.


Bei fragen ruhig schreiben.


Ich hoffe es hat ein Paar von euch weitergeholfen!

LG Tymmie
Benutzeravatar
Tymmie
 
Beiträge: 3
Registriert: Sa 19. Nov 2016, 23:13
Wohnort: Matrix

Re: [UTIL] ItemCreator

Beitragvon lukaszocktttt » Di 22. Nov 2016, 14:45

Gut erklärt, aber hier ein paar Verbesserungsvorschläge ich würde keinen String als lore übergeben sondern eher eine List<String> oder von mir auf auch ein String...
Den String... dann mit Arrays.asList(lore1); adden oder direkt die List.
static muss man das ganze auch nicht machen, Das könnte man mit einer Instance besser lösen.

Und noch ein Tipp, nicht jeder benutzt Eclipse, ich finde Intellij IDEA oder NetBeans besser.
Benutzeravatar
lukaszocktttt
 
Beiträge: 13
Registriert: So 24. Jul 2016, 10:59

Re: [UTIL] ItemCreator

Beitragvon Tymmie » Sa 26. Nov 2016, 13:26

Ja ich benutze Eclipse und habe noch nie was von anderen Programmen gehört.

Ich habe das bewusst nicht mit der List<String> gemacht, da es mich aufgeregt eine extra Liste immer zu erstellen. So muss ich nur den String angeben und der wird automatisch zur Lore hinzugefügt. Meines Achtens nach ist das so üebrsichtlicher.
Benutzeravatar
Tymmie
 
Beiträge: 3
Registriert: Sa 19. Nov 2016, 23:13
Wohnort: Matrix

Re: [UTIL] ItemCreator

Beitragvon DevToLearn » Sa 26. Nov 2016, 17:53

Aber da ist wieder das Problem, dass man dem Item nur auf eine Zeile die gewünschte Lore setzen kann. Genau aus diesem Grund, werden List<String> benutzt!
Benutzeravatar
DevToLearn
 
Beiträge: 15
Registriert: So 13. Mär 2016, 10:20

Re: [UTIL] ItemCreator

Beitragvon Tymmie » Sa 10. Dez 2016, 17:24

Naja ich glaube es geht auch mit \n
Benutzeravatar
Tymmie
 
Beiträge: 3
Registriert: Sa 19. Nov 2016, 23:13
Wohnort: Matrix


Zurück zu Anleitungen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste

cron