@@ -60,7 +60,7 @@ public class MiningLevel {
60
60
/**
61
61
* The items a player will be able to claim with the claim command, when he has leveled up to this MiningLevel.
62
62
*/
63
- private ArrayList <ItemStack > rewards = new ArrayList <>();
63
+ private ArrayList <Reward > rewards = new ArrayList <>();
64
64
65
65
/**
66
66
* Initializes the MiningLevels.
@@ -86,23 +86,30 @@ public String getName() {
86
86
* @return An Array of ItemStacks.
87
87
*/
88
88
public ItemStack [] getRewards () {
89
- return rewards .toArray (new ItemStack [0 ]);
89
+ ArrayList <ItemStack > items = new ArrayList <>();
90
+ for (Reward reward : rewards ) {
91
+ items .add (reward .getItemStack ());
92
+ }
93
+ return items .toArray (new ItemStack [0 ]);
90
94
}
91
95
92
96
/**
93
97
* Adds an ItemStack as a reward.
94
98
* @param item The ItemStack to add.
95
99
*/
96
100
public void addReward (ItemStack item ) {
97
- rewards .add (item );
101
+ rewards .add (new Reward ( item ) );
98
102
}
99
103
100
104
/**
101
105
* Sets the rewards.
102
106
* @param rewards The new rewards.
103
107
*/
104
108
public void setRewards (ArrayList <ItemStack > rewards ) {
105
- this .rewards = rewards ;
109
+ this .rewards = new ArrayList <>();
110
+ for (ItemStack item : rewards ) {
111
+ this .rewards .add (new Reward (item ));
112
+ }
106
113
}
107
114
108
115
/**
@@ -249,7 +256,7 @@ public void levelUp(MiningPlayer miningPlayer) {
249
256
if (nextLevel .rewards != null && nextLevel .rewards .size () > 0 ) {
250
257
player .sendMessage ("" );
251
258
sendMessage (player , REWARDS_LIST , ChatColor .WHITE );
252
- for (ItemStack reward : nextLevel .rewards ) {
259
+ for (Reward reward : nextLevel .rewards ) {
253
260
player .sendMessage (ChatColor .WHITE + " " + ChatColor .YELLOW + getName (reward ) + ChatColor .WHITE + ": " + ChatColor .GREEN + reward .getAmount ());
254
261
}
255
262
miningPlayer .addRewards (nextLevel .getRewards ());
@@ -328,7 +335,8 @@ public static MiningLevel get(int ordinal) {
328
335
/**
329
336
* Returns the material name or the displayName of an item.
330
337
*/
331
- public static String getName (ItemStack itemStack ) {
338
+ public static String getName (Reward reward ) {
339
+ ItemStack itemStack = reward .getItemStack ();
332
340
if (itemStack .getType ().name ().equals ("AIR" )) {
333
341
return "AIR" ;
334
342
}
0 commit comments