Add amount of missing blocks to message when using inventory.

This commit is contained in:
Wizjany 2012-12-28 19:26:57 -05:00
parent 79802bd4b9
commit e09a0c64ad
2 changed files with 13 additions and 7 deletions

View File

@ -124,7 +124,7 @@ public class EditSession {
/**
* List of missing blocks;
*/
private Set<Integer> missingBlocks = new HashSet<Integer>();
private Map<Integer, Integer> missingBlocks = new HashMap<Integer, Integer>();
/**
* Mask to cover operations.
@ -208,7 +208,11 @@ public class EditSession {
} catch (UnplaceableBlockException e) {
return false;
} catch (BlockBagException e) {
missingBlocks.add(type);
if (!missingBlocks.containsKey(type)) {
missingBlocks.put(type, 1);
} else {
missingBlocks.put(type, missingBlocks.get(type) + 1);
}
return false;
}
}
@ -606,9 +610,9 @@ public class EditSession {
*
* @return
*/
public Set<Integer> popMissingBlocks() {
Set<Integer> missingBlocks = this.missingBlocks;
this.missingBlocks = new HashSet<Integer>();
public Map<Integer, Integer> popMissingBlocks() {
Map<Integer, Integer> missingBlocks = this.missingBlocks;
this.missingBlocks = new HashMap<Integer, Integer>();
return missingBlocks;
}

View File

@ -1079,7 +1079,7 @@ public class WorldEdit {
blockBag.flushChanges();
}
Set<Integer> missingBlocks = editSession.popMissingBlocks();
Map<Integer, Integer> missingBlocks = editSession.popMissingBlocks();
if (missingBlocks.size() > 0) {
StringBuilder str = new StringBuilder();
@ -1087,13 +1087,15 @@ public class WorldEdit {
int size = missingBlocks.size();
int i = 0;
for (Integer id : missingBlocks) {
for (Integer id : missingBlocks.keySet()) {
BlockType type = BlockType.fromID(id);
str.append(type != null
? type.getName() + " (" + id + ")"
: id.toString());
str.append(" [Amt: " + missingBlocks.get(id) + "]");
++i;
if (i != size) {