Sie sind nicht angemeldet.

  • 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