Bukkit Collection in ItemStack convertieren

03/31/2014 18:06 LuisKillergurke#1
Hey Leute,

Ich scheitere zur zeit an einem neuen Bukkitplugin...
Das ziel ist, das wenn man einen Block abschlägt welcher in
der config.yml steht, das man diesen dann
bekommt und das BlockBreakEvent gecancelt wird.

Dies funktioniert auch schon, man bekommt nun jedoch den normalen
block. Ich möchte jedoch die Drops haben.

Das geht ja mit
Code:
Collection<ItemStack> drops = e.getBlock().getDrops(e.getPlayer().getItemInHand());
Nun muss ich aber
  1. die Drops der Collection in ItemStacks convertieren
  2. Die ItemMeta des Blockes bekommen und dem Item hinzufügen, da bukkit ja leider nur LOG und LOG_2 kennt:mad:

Und daran scheitere ich momentan.
Ich hoffe meine Erklärung ist halbwegs ausführlich und hilfreich,
hoffentlich könnt ihr mir weiterhelfen :D,


mit freundlichen Grüßen,
LuisKillergurke
03/31/2014 18:33 ComputerBaer#2
Eine Collection ist soetwas wie eine Liste, da können mehr als ein ItemStack drin sein.

Du solltest dir eine foreach-Schleife nehmen und dem Spieler jeden ItemStack einzeln geben.

Sollte ungefähr so aussehen, wenn ich grade in der falschen Sprache bin tut es mir leid.
Code:
for(ItemStack item : drops) {
  // item dem Spieler geben.
}
Für mehr Informationen zu Collections kannst du dir das ansehen: [Only registered and activated users can see links. Click Here To Register...]
04/01/2014 15:25 LuisKillergurke#3
Danke!
Jetzt geht endlich alles, die Schleife nimmt sogar die Metadaten mit sodass ich immer das richtige Holz/Brett und so bekomme!
Vielen vielen Danke,

mit freundlichen Grüßen,
Luiskillergurke