From 2597c12183de1ce784d5bf000a931d2dd0f5ab5a Mon Sep 17 00:00:00 2001 From: Pascal Koenig Date: Tue, 4 Oct 2011 10:37:17 +0200 Subject: [PATCH] Fixed a bug in fetchAllPlayers(). --- .../XmlStats/Datasource/Datasource.java | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/de/sockenklaus/XmlStats/Datasource/Datasource.java b/src/de/sockenklaus/XmlStats/Datasource/Datasource.java index 05d26c7..1866108 100644 --- a/src/de/sockenklaus/XmlStats/Datasource/Datasource.java +++ b/src/de/sockenklaus/XmlStats/Datasource/Datasource.java @@ -18,6 +18,10 @@ import java.io.File; import java.util.ArrayList; import java.util.List; +import org.bukkit.World; + +import de.sockenklaus.XmlStats.XmlStats; +import de.sockenklaus.XmlStats.XmlStatsRegistry; import de.sockenklaus.XmlStats.Exceptions.XmlStatsException; // TODO: Auto-generated Javadoc @@ -32,19 +36,25 @@ public abstract class Datasource { * @return the array list */ public static ArrayList fetchAllPlayers(){ - File[] files = new File("world/players").listFiles(); + XmlStats xmlstats = (XmlStats)XmlStatsRegistry.get("xmlstats"); + List worlds = xmlstats.getServer().getWorlds(); ArrayList result = new ArrayList(); - for (int i = 0; i < files.length; i++){ - int whereDot = files[i].getName().lastIndexOf('.'); + for(World world : worlds){ + File[] files = new File(world.getName()+"/players").listFiles(); - if (0 < whereDot && whereDot <= files[i].getName().length() - 2){ - String playerName = files[i].getName().substring(0, whereDot); + for (File file : files){ + int whereDot = file.getName().lastIndexOf('.'); - result.add(playerName); + if (0 < whereDot && whereDot <= file.getName().length() - 2){ + String playerName = file.getName().substring(0, whereDot); + + if(!result.contains(playerName)) result.add(playerName); + } } } + return result; }