Sie sind nicht angemeldet.

  • Anmelden

Lieber Besucher, herzlich willkommen bei: Nitrado.net Prepaid Gameserver Community-Support. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Sebi_Zocer

User / Kunde

  • »Sebi_Zocer« ist männlich
  • »Sebi_Zocer« ist der Autor dieses Themas

Beiträge: 216

Wohnort: Privat

Beruf: Privat

  • Nachricht senden

1

Donnerstag, 8. November 2018, 19:34

Amount von Items im Inventar wird nicht geändert

Hi leude,
wenn ich ein Inv schließe, soll man die Items, die man ins Inv gelegt hat, zurückbekommen. Das will aber nicht so ganz. Der Amount vom Item wird IM CODE gesetzt, aber in Minecraft nur selten wirklich gesetzt.

Code:

Spoiler Spoiler

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
	public void addItem(ItemStack is){
		int amount = is.getAmount();
		for(int i1 = 0; i1 < 36; i1++){
			sendMessage("" + i1);
			ItemStack iss = p.getInventory().getItem(i1);
			if(iss != null){
				if(iss.getType().equals(is.getType()) && iss.getDurability() == is.getDurability()){
					sendMessage("same §6" + i1);
					if(iss.getAmount() < iss.getMaxStackSize()){
						int puffer = iss.getMaxStackSize() - iss.getAmount();
						if(puffer >= amount){
							sendMessage("filled at §6" + (i1+1) + "§7: started at §6" + iss.getAmount() + " §7added §6" + amount + " §7and is finally §6" + (iss.getAmount()+amount));
							p.getInventory().getItem(i1).setAmount(iss.getAmount() + amount);
							p.updateInventory();
							return;
						} else {
							p.getInventory().getItem(i1).setAmount(iss.getMaxStackSize());
							amount = amount - puffer;
						}
					}
				}
			} else {
				is.setAmount(amount);
				p.getInventory().addItem(is);
				p.updateInventory();
				return;
			}
		}
		
		if(amount > 0){
			is.setAmount(amount);
			p.getWorld().dropItem(p.getLocation(), is);
		}
		p.updateInventory();
	}


Ich hab mal über nen Command den Amount von nem Item neu gesetzt und da hat es geklappt. BTW. werden die Debug-Messages aus dem Code auch ausgegeben und sind auch richtig so, aber Minecraft zeigt es nicht.

Ich würde mich über Hilfe freuen.

Edit: Ich habe es nun gelöst, indem ich 1 Tick später

Java-Quelltext

1
p.updateInventory();
genutzt habe. Bescheuert, aber egal :miffy:

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Sebi_Zocer« (8. November 2018, 19:46) aus folgendem Grund: Fehler behoben