• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Waffen mit Enchantments verwenden, aber wie?!

Freebuilding

Redstoneengineer
Registriert
2 Oktober 2012
Beiträge
44
Diamanten
0
Guten Tag, wie verwende ich Waffen mit Enchantments?
Bei meinem folgendem Code funktioniert es nur bei der ersten Enchanteten Waffe, aber danach erhalte ich nicht die nächste o_O

Code:
  ItemStack w5 = new ItemStack(Material.WOOD_AXE);
    w5.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, 1);
    w5.addUnsafeEnchantment(Enchantment.DURABILITY, 1);
    if (e.getEntity().getKiller().getInventory().contains(w5)) {
      e.getEntity().getKiller().getInventory().clear();
      e.getEntity().getKiller().playSound(e.getEntity().getKiller().getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);
    }

    ItemStack w4 = new ItemStack(Material.DIAMOND_SWORD);
    w4.addUnsafeEnchantment(Enchantment.DURABILITY, 1);
    if (e.getEntity().getKiller().getInventory().contains(w4)) {
      e.getEntity().getKiller().getInventory().clear();
      e.getEntity().getKiller().playSound(e.getEntity().getKiller().getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);
      e.getEntity().getKiller().setHealth(20.0D);
      e.getEntity().getKiller().sendMessage("§3[GunGame] §6Du hast Stufe §9I §6erreicht !");
      e.getEntity().getKiller().sendMessage("§3[GunGame] §9Du wurdest deswegen §2geheilt §9!");
      e.getEntity().getKiller().getInventory().addItem(new ItemStack(w5)); 
      }

Ich würde mich sehr über Antworten freuen!

LG freebuilding
 

Benutzer

Kuhfänger
Registriert
1 November 2012
Beiträge
56
Diamanten
0
Hey,

Du solltes in der ersten If-Schleife dem Spieler die Waffe hinzufügen so wie du es auch in der zweiten If-Schleife machst.
Code:
if (e.getEntity().getKiller().getInventory().contains(w5)) {
      e.getEntity().getKiller().getInventory().clear();
      e.getEntity().getKiller().playSound(e.getEntity().getKiller().getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);
      e.getEntity().getKiller().getInventory().addItem(XY);

    }
 
Zuletzt bearbeitet:

Freebuilding

Redstoneengineer
Registriert
2 Oktober 2012
Beiträge
44
Diamanten
0
Geht nicht? :eek:

Geht nicht :(
Mein jetztiger Code:
Code:
ItemStack o3 = new ItemStack(Material.WOOD_SWORD);
    o3.addEnchantment(Enchantment.DAMAGE_ALL, 1);
    ItemStack o = new ItemStack(Material.STONE_AXE);
    o.addEnchantment(Enchantment.DAMAGE_ALL, 1);
    if(e.getEntity().getKiller().getInventory().contains(o)) {
    	e.getEntity().getKiller().getInventory().clear();
    	e.getEntity().getKiller().setHealth((double)(20));
    	e.getEntity().getKiller().playSound(e.getEntity().getKiller().getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);
    	e.getEntity().getKiller().getInventory().addItem(o3);
  }
    if(e.getEntity().getKiller().getInventory().contains(Material.DIAMOND_SWORD)) {
    	e.getEntity().getKiller().getInventory().clear();
    	e.getEntity().getKiller().setHealth((double)(20));
    	e.getEntity().getKiller().playSound(e.getEntity().getKiller().getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);
    	e.getEntity().getKiller().getInventory().addItem(o);
  }

#EDIT: Ich erhalte immer eine Steinaxt mit Schärfe 1 obwohl ich ja am Ende anstatt dieser ein Holzschwert mit Schärfe 1 bekommen sollte. Woran liegt das?
 
Zuletzt bearbeitet:

Benutzer

Kuhfänger
Registriert
1 November 2012
Beiträge
56
Diamanten
0
Code:
            //Das eine Item
            ItemStack Item1 = new ItemStack(Material.STONE_SWORD);
            Item1.getItemMeta().setDisplayName("Item1");
            
            //Das andere Item
            ItemStack Item2 = new ItemStack(Material.STONE_SWORD);
            Item2.getItemMeta().setDisplayName("Item2");
            
            if(p.getInventory().contains(Item1)) {
            	//Im Inventar des Spielers befindet sich das "Item1"
            	p.getInventory().clear();//Inventar löschen
            	p.getInventory().addItem(Item2);//Item2 hinzufügen
            }
            else if(p.getInventory().contains(Item2)) {
            	//Im Inventar des Spielers befindet sich das "Item2"
            	p.getInventory().clear();//Inventar löschen
            	p.getInventory().addItem(Item1);//Item1 hinzufügen
            }

Also wenn du dies so machst sollte das Item des Spieler immer hin und her wechseln.
 

Freebuilding

Redstoneengineer
Registriert
2 Oktober 2012
Beiträge
44
Diamanten
0
Hä?

Also, es geht aber es ist irgendwie so, dass Enchantete Items nicht entfernt werden hab ich das Gefühl, kann das sein?
Mein jetziger Code:
Code:
    //Item o
    ItemStack o = new ItemStack(Material.STONE_AXE);
    o.addEnchantment(Enchantment.DAMAGE_ALL, 1);
    o.getItemMeta().setDisplayName("o");
    //Item o2
    ItemStack o2 = new ItemStack(Material.WOOD_SWORD);
    o2.addEnchantment(Enchantment.DAMAGE_ALL, 1);
    o2.getItemMeta().setDisplayName("o2");
    if(e.getEntity().getKiller().getInventory().contains(Material.GOLD_AXE)) {
    	e.getEntity().getKiller().getInventory().clear();
    	e.getEntity().getKiller().setHealth((double)(20));
    	e.getEntity().getKiller().playSound(e.getEntity().getKiller().getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);
    	e.getEntity().getKiller().getInventory().addItem(new ItemStack(Material.WOOD_SWORD));
    }
    else if(e.getEntity().getKiller().getInventory().contains(Material.WOOD_SWORD)) {
    	e.getEntity().getKiller().getInventory().clear();
    	e.getEntity().getKiller().setHealth((double)(20));
    	e.getEntity().getKiller().playSound(e.getEntity().getKiller().getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);
    	e.getEntity().getKiller().getInventory().addItem(new ItemStack(Material.STONE_SWORD));
  }
    
    else if(e.getEntity().getKiller().getInventory().contains(Material.STONE_SWORD)) {
    	e.getEntity().getKiller().getInventory().clear();
    	e.getEntity().getKiller().setHealth((double)(20));
    	e.getEntity().getKiller().playSound(e.getEntity().getKiller().getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);
    	e.getEntity().getKiller().getInventory().addItem(new ItemStack(Material.IRON_SWORD));
  }
    else if(e.getEntity().getKiller().getInventory().contains(Material.IRON_SWORD)) {
        	e.getEntity().getKiller().getInventory().clear();
        	e.getEntity().getKiller().setHealth((double)(20));
        	e.getEntity().getKiller().playSound(e.getEntity().getKiller().getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);
        	e.getEntity().getKiller().getInventory().addItem(new ItemStack(Material.DIAMOND_SWORD));
    }
    else if(e.getEntity().getKiller().getInventory().contains(Material.DIAMOND_SWORD)) {
        	e.getEntity().getKiller().getInventory().clear();
        	e.getEntity().getKiller().setHealth((double)(20));
        	e.getEntity().getKiller().playSound(e.getEntity().getKiller().getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);
        	e.getEntity().getKiller().getInventory().addItem(o);
    }
    else if(e.getEntity().getKiller().getInventory().contains(o)) {
	e.getEntity().getKiller().getInventory().clear();
	e.getEntity().getKiller().setHealth((double)(20));
	e.getEntity().getKiller().playSound(e.getEntity().getKiller().getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);
	e.getEntity().getKiller().getInventory().addItem(o2);
    	}
     }  
  }
Edit: Ich bekomme als letztes die verzauberte Steinaxt obwohl ich das verzauberte Steinschwert bekommen sollte.
 

Benutzer

Kuhfänger
Registriert
1 November 2012
Beiträge
56
Diamanten
0
Also wenn du
Code:
p.getInventory().clear();
machst sollte ja das genze Inventar gelöscht werden. Du könntest aber zur Sicherheit das Inventar auch noch updaten.
Code:
p.getInventory().update();
Oder du löschst nicht das ganze Inventar sondern entfernst einfach nur das gewünschte Item.
 
Oben