You are not logged in.

  • Login

[Bukkit-Plugin] Virtueller Shop

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.

sombig

User / Kunde

  • "sombig" is male
  • "sombig" started this thread

Posts: 230

Location: Sachsen

Occupation: Schüler

  • Send private message

1

Sunday, June 14th 2015, 2:23am

Virtueller Shop

Hallo.

Ich möchte so einen Shop wie auf rewinside.tv machen (Bedwars). Ich kriegs bloß nicht hin.
Ich klicke auf einen sandstone der 1 Bronze kostet:

PHP Source code

1
2
3
4
5
6
7
8
            ItemStack br = new ItemStack(Material.CLAY_BRICK);
            ItemMeta brm br.getItemMeta();
            brm.setDisplayName("§cBronze");
            br.setItemMeta(brm);
            
            if(p.getInventory().contains(br)) {
                p.getInventory().remove(br1);
            }


remove(br..

wird als Fehler angezeigt. Kann jmd helfen?
also in Eclipse. Ich möcte halt eine bestimmte Anzahl entfernen & hinzufügen

This post has been edited 1 times, last edit by "sombig" (Jun 14th 2015, 2:57am)


Gebauer_01

User / Kunde

Posts: 2,304

  • Send private message

2

Sunday, June 14th 2015, 10:58am

Hol dir den ersten ItemStack, der Broze ist. Falls die Anzahl 1 ist, entfernst du ihn ganz. Wenn die Anzahl größer ist, ziehst du eins ab. Aber die Methode, die du benutzen willst, gibt es nicht.

sombig

User / Kunde

  • "sombig" is male
  • "sombig" started this thread

Posts: 230

Location: Sachsen

Occupation: Schüler

  • Send private message

3

Sunday, June 14th 2015, 1:44pm

Hol dir den ersten ItemStack, der Broze ist. Falls die Anzahl 1 ist, entfernst du ihn ganz. Wenn die Anzahl größer ist, ziehst du eins ab. Aber die Methode, die du benutzen willst, gibt es nicht.



Wie?

Ich hab das jetzt so:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
		ItemStack item = new ItemStack(Material.CLAY_BRICK);
		ItemMeta meta = item.getItemMeta();
		meta.setDisplayName("§cBronze");
		item.setItemMeta(meta);
		
		if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§a2 Blöcke")) {
			if(p.getInventory().contains(item)) {
				p.sendMessage("Du hast Bronze");
			} else {
				p.sendMessage("Du hast kein Bronze");
				}
			}

wenn ich aber Bronze im inventar habe, bekomm ich die meldung "Du hast kein Bronze", wenn ich aber nur 1x Bronze im Inventar habe kommt "Du hast Bronze". Also er prüft ob ich nur 1x Bronze im Inv hab. Ich will aber prüfen ob ich generell Bronze im Inventar habe..

HILfe xD

Anno35

User / Kunde

Posts: 1,223

Thanks: 3

  • Send private message

4

Sunday, June 14th 2015, 2:23pm

Iteriere durch die Inventory Contents, dann prüfe mit ItemStack.isSimilar(ItemAusInventar) ob es so ähnlich ist wie das von dir erstellte. die isSimilar() Methode ignoriert die Anzahl des Items.

sombig

User / Kunde

  • "sombig" is male
  • "sombig" started this thread

Posts: 230

Location: Sachsen

Occupation: Schüler

  • Send private message

5

Sunday, June 14th 2015, 2:40pm


Iteriere durch die Inventory Contents, dann prüfe mit ItemStack.isSimilar(ItemAusInventar) ob es so ähnlich ist wie das von dir erstellte. die isSimilar() Methode ignoriert die Anzahl des Items.



versteh ich irgendwie nicht. kannst du mir es mal vorgeben?

Lukky776

User / Kunde

Posts: 61

  • Send private message

6

Sunday, June 14th 2015, 2:58pm

containsAtLeast(ItemStack item, int amount):

Checks if the inventory contains ItemStacks matching the given
ItemStack whose amounts sum to at least the minimum amount specified.

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