You are not logged in.

  • Login
Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

Dear visitor, welcome to Nitrado.net Prepaid Gameserver Community-Support - Archiv. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

der_Atze98

User / Kunde

  • "der_Atze98" started this thread

Posts: 55

  • Send private message

1

Wednesday, April 9th 2014, 7:02pm

Deaktivieren das man ein bestimmstes item in Craftingtable oder Kiste legen kann

Hallo Liebe Community
Wollte mal fragen wie ich dafür sorgen kann, dass man ein item mit bestimmter ItemMeta nicht in eine Kiste oder in Craftingtable legen kann
und da ich jetzt ersteinmal selber kein plan habe wie ich das anstelle wollte ich euch mal fragen

epicbattlede

User / Kunde

Posts: 10

  • Send private message

2

Wednesday, April 9th 2014, 9:37pm

Um von einem Item die ItemMeta zu bekommen nutzt man
ItemStack stack = new ItemStack(1); // beispiel item
stack.getItemMeta().getDisplayName()

Damit man jetzt nur ein bestimmtes item reinlegen kann:
@EventHandler
public void onInvClick(InventoryMoveItemEvent)
InventoryType type = InventoryType.CHEST;

if(e.getItem().getItemMeta().getDisplayName().toString() == "abc")


(e.getDestination().getType() == type) // nicht getestet

BtoBastian

Moderator

  • "BtoBastian" is male

Posts: 3,612

Occupation: Softwareentwickler

  • Send private message

3

Wednesday, April 9th 2014, 10:21pm

if(e.getItem().getItemMeta().getDisplayName().toString() == "abc")

Ernsthaft?!?
Standard Standart eines Flamingos ist einbeinig.

epicbattlede

User / Kunde

Posts: 10

  • Send private message

4

Thursday, April 10th 2014, 3:58pm

es wäre schon wenn du auch schreibst wieso...
das toString() kann man auch weglassen...

NichtTobias

User / Kunde

  • "NichtTobias" is male

Posts: 228

Location: Nordrhein Westfalen

Occupation: Schüler

  • Send private message

5

Thursday, April 10th 2014, 4:06pm

Vielleicht, dass man Strings nicht mit '==' vergleicht?
Mit freundlichen Grüßen, NichtTobias


epicbattlede

User / Kunde

Posts: 10

  • Send private message

6

Thursday, April 10th 2014, 4:13pm

Ein kleiner Test:
public class main {


public static void main(String[] args) {
String abc = "abc";
if(abc == "abd"){
System.out.println("ja");
} else {
System.out.println("ne");
}

}
}
printet mir "ne" aus

public class main {

public static void main(String[] args) {
String abc = "abc";
if(abc == "abc"){
System.out.println("ja");
} else {
System.out.println("ne");
}
}
}
Das "ja"
also man kann strings vergleichen

Franzi564

User / Kunde

Posts: 763

Thanks: 15

  • Send private message

7

Thursday, April 10th 2014, 4:19pm

Ein kleiner Test:
public class main {


public static void main(String[] args) {
String abc = "abc";
if(abc == "abd"){
System.out.println("ja");
} else {
System.out.println("ne");
}

}
}
printet mir "ne" aus

public class main {

public static void main(String[] args) {
String abc = "abc";
if(abc == "abc"){
System.out.println("ja");
} else {
System.out.println("ne");
}
}
}
Das "ja"
also man kann strings vergleichen


Nein.
Dadurch, dass du beide Strings untereinander definierst, bekommt der zweite String keinen neuen Pointer.
Normal muss man Strings mit equals() vergleichen

epicbattlede

User / Kunde

Posts: 10

  • Send private message

8

Thursday, April 10th 2014, 4:28pm

Wie auch immer ich arbeite wie immer weiter mit "==" was bei mir läuft.
if(e.getItem().getItemMeta().getDisplayName().equals("abc"){
Hier steht auch nochmal das man equals benutzen sollte.
Ich werde das nächste plugin mal mit equals schreiben.

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net