9
9
import org .bukkit .command .CommandSender ;
10
10
import org .bukkit .entity .Player ;
11
11
import org .bukkit .inventory .ItemStack ;
12
+ import org .bukkit .inventory .meta .ItemMeta ;
12
13
import org .bukkit .inventory .meta .Repairable ;
13
14
14
15
import static cat .nyaa .nyaautils .repair .RepairInstance .RepairStat .REPAIRABLE ;
@@ -72,6 +73,18 @@ public void repairInfo(CommandSender sender, Arguments args) {
72
73
}
73
74
}
74
75
76
+ private void increaseReapirCount (ItemStack item , int x ) {
77
+ if (x == 0 ) return ;
78
+ ItemMeta meta = item .getItemMeta ();
79
+ if (meta instanceof Repairable ) {
80
+ Repairable r = (Repairable ) meta ;
81
+ int count = r .getRepairCost () + x ;
82
+ if (count < 0 ) count = 0 ;
83
+ r .setRepairCost (count );
84
+ item .setItemMeta (meta );
85
+ }
86
+ }
87
+
75
88
@ SubCommand (value = "hand" , permission = "nu.repair" )
76
89
public void repairHand (CommandSender sender , Arguments args ) {
77
90
ItemStack item = getItemInHand (sender );
@@ -97,6 +110,7 @@ public void repairHand(CommandSender sender, Arguments args) {
97
110
dur -= info .durRecovered ;
98
111
if (dur < 0 ) dur = 0 ;
99
112
item .setDurability ((short ) dur );
113
+ increaseReapirCount (item , 1 );
100
114
p .getInventory ().setItemInMainHand (item );
101
115
int count = material .getAmount ();
102
116
if (count <= 1 ) {
@@ -137,6 +151,7 @@ public void repairFull(CommandSender sender, Arguments args) {
137
151
dur -= info .durRecovered *repairAmount ;
138
152
if (dur < 0 ) dur = 0 ;
139
153
item .setDurability ((short ) dur );
154
+ increaseReapirCount (item , 1 );
140
155
p .getInventory ().setItemInMainHand (item );
141
156
int count = material .getAmount () - repairAmount ;
142
157
if (count <= 0 ) {
0 commit comments