diff --git a/src/net/server/PlayerStorage.java b/src/net/server/PlayerStorage.java index ba77848f2e..2db15fc0e2 100644 --- a/src/net/server/PlayerStorage.java +++ b/src/net/server/PlayerStorage.java @@ -84,7 +84,7 @@ public class PlayerStorage { public Collection getAllCharacters() { rlock.lock(); try { - return storage.values(); + return new ArrayList<>(storage.values()); } finally { rlock.unlock(); } diff --git a/src/net/server/world/World.java b/src/net/server/world/World.java index df5a70799f..3e73d53f47 100644 --- a/src/net/server/world/World.java +++ b/src/net/server/world/World.java @@ -293,7 +293,7 @@ public class World { } public void setExpRate(int exp) { - List list = new LinkedList<>(getPlayerStorage().getAllCharacters()); + Collection list = getPlayerStorage().getAllCharacters(); for(MapleCharacter chr : list) { if(!chr.isLoggedin()) continue; @@ -311,7 +311,7 @@ public class World { } public void setDropRate(int drop) { - List list = new LinkedList<>(getPlayerStorage().getAllCharacters()); + Collection list = getPlayerStorage().getAllCharacters(); for(MapleCharacter chr : list) { if(!chr.isLoggedin()) continue; @@ -337,8 +337,8 @@ public class World { } public void setMesoRate(int meso) { - List list = new LinkedList<>(getPlayerStorage().getAllCharacters()); - + Collection list = getPlayerStorage().getAllCharacters(); + for(MapleCharacter chr : list) { if(!chr.isLoggedin()) continue; chr.revertWorldRates();