10
10
import com .blank038 .servermarket .internal .cache .other .SaleLog ;
11
11
import com .blank038 .servermarket .internal .cache .player .PlayerCache ;
12
12
import com .blank038 .servermarket .internal .cache .sale .SaleCache ;
13
- import org .bukkit .Bukkit ;
14
13
import org .bukkit .configuration .ConfigurationSection ;
15
14
import org .bukkit .configuration .file .FileConfiguration ;
16
15
import org .bukkit .configuration .file .YamlConfiguration ;
@@ -32,10 +31,6 @@ public class YamlStorageHandlerImpl extends AbstractStorageHandler {
32
31
private static final Map <String , MarketCache > MARKET_STORAGE_DATA_MAP = new HashMap <>();
33
32
private static final Map <String , ConfigurationSection > LOG_SECTION_MAP = new HashMap <>();
34
33
35
- /*
36
- * self methods
37
- */
38
-
39
34
40
35
private void saveResults () {
41
36
File resultFile = new File (this .pluign .getDataFolder (), "results.yml" );
@@ -50,8 +45,7 @@ private void saveResults() {
50
45
}
51
46
}
52
47
53
-
54
- /*
48
+ /**
55
49
* AbstractStorageHandler methods
56
50
*/
57
51
private void saveLogs () {
@@ -210,13 +204,9 @@ public void removeTimeOutItem() {
210
204
if (marketConfigData == null ) {
211
205
return ;
212
206
}
213
- // 开始计算
214
- Iterator <Map .Entry <String , SaleCache >> iterator = v .getSales ().entrySet ().iterator ();
215
- while (iterator .hasNext ()) {
216
- Map .Entry <String , SaleCache > entry = iterator .next ();
207
+ for (Map .Entry <String , SaleCache > entry : v .getSales ().entrySet ()) {
217
208
int second = (int ) ((System .currentTimeMillis () - entry .getValue ().getPostTime ()) / 1000L );
218
- if (second >= marketConfigData .getEffectiveTime ()) {
219
- iterator .remove ();
209
+ if (second >= marketConfigData .getEffectiveTime () && this .removeSaleItem (k , entry .getValue ().getSaleUUID ()).isPresent ()) {
220
210
UUID uuid = UUID .fromString (entry .getValue ().getOwnerUUID ());
221
211
ServerMarket .getStorageHandler ().addItemToStore (uuid , entry .getValue ().getSaleItem (), "timeout" );
222
212
}
@@ -227,9 +217,7 @@ public void removeTimeOutItem() {
227
217
@ Override
228
218
public void saveAll () {
229
219
this .saveAllPlayerData ();
230
- for (Map .Entry <String , MarketCache > entry : MARKET_STORAGE_DATA_MAP .entrySet ()) {
231
- this .save (entry .getKey (), entry .getValue ().getSales ());
232
- }
220
+ MARKET_STORAGE_DATA_MAP .forEach ((k , v ) -> this .save (k , v .getSales ()));
233
221
this .saveResults ();
234
222
}
235
223
@@ -248,7 +236,7 @@ public void savePlayerData(PlayerCache playerCache, boolean removeCache) {
248
236
ServerMarket .getInstance ().getLogger ().log (Level .WARNING , e , () -> "cannot save player data: " + playerCache .getOwnerUniqueId ().toString ());
249
237
}
250
238
if (removeCache ) {
251
- PLAYER_DATA_MAP . remove (playerCache .getOwnerUniqueId ());
239
+ this . removePlyerData (playerCache .getOwnerUniqueId ());
252
240
}
253
241
}
254
242
0 commit comments