From 7a40761e006892857986a97117655b8c6e5ea5ed Mon Sep 17 00:00:00 2001 From: Pascal Koenig Date: Mon, 19 Sep 2011 00:33:03 +0200 Subject: [PATCH] Re-added the item ids in user_stats and added "name" and "description" tags to achievements_list. --- build.xml | 1 + src/de/sockenklaus/XmlStats/XmlStats.java | 8 ++---- .../XmlStats/XmlWorkers/AchievementsList.java | 8 ++++++ .../XmlStats/XmlWorkers/UserStats.java | 27 ++++++++++++++++--- 4 files changed, 34 insertions(+), 10 deletions(-) diff --git a/build.xml b/build.xml index c0a1822..8115933 100644 --- a/build.xml +++ b/build.xml @@ -36,6 +36,7 @@ + diff --git a/src/de/sockenklaus/XmlStats/XmlStats.java b/src/de/sockenklaus/XmlStats/XmlStats.java index 8484df1..5a4cbe1 100644 --- a/src/de/sockenklaus/XmlStats/XmlStats.java +++ b/src/de/sockenklaus/XmlStats/XmlStats.java @@ -49,17 +49,13 @@ public class XmlStats extends JavaPlugin { if(this.enabled && webserverTemp.isRunning()){ this.enabled = false; - XmlStatsRegistry.flush(); - LogDebug("Registry flushed."); - webserverTemp.stop(); LogDebug("Webserver stopped."); + XmlStatsRegistry.flush(); getServer().getScheduler().cancelTasks(this); - LogDebug("XmlStats killed."); - } - LogInfo("Plugin Disabled"); + LogInfo("XmlStats Disabled"); } /* (non-Javadoc) diff --git a/src/de/sockenklaus/XmlStats/XmlWorkers/AchievementsList.java b/src/de/sockenklaus/XmlStats/XmlWorkers/AchievementsList.java index 940e8f7..0b305cc 100644 --- a/src/de/sockenklaus/XmlStats/XmlWorkers/AchievementsList.java +++ b/src/de/sockenklaus/XmlStats/XmlWorkers/AchievementsList.java @@ -54,6 +54,14 @@ public class AchievementsList extends XmlWorker { private Element getAchievement(AchievementListData data){ Element elem_ach = this.doc.createElement("achievement"); elem_ach.setAttribute("enabled", data.isEnabled()?"true":"false"); + + Element elem_achname = this.doc.createElement("name"); + elem_achname.setTextContent(data.getName()); + elem_ach.appendChild(elem_achname); + + Element elem_achdesc = this.doc.createElement("description"); + elem_achdesc.setTextContent(data.getDescription()); + elem_ach.appendChild(elem_achdesc); Element elem_category = this.doc.createElement("category"); elem_category.setTextContent(data.getCategory()); diff --git a/src/de/sockenklaus/XmlStats/XmlWorkers/UserStats.java b/src/de/sockenklaus/XmlStats/XmlWorkers/UserStats.java index 2eeca59..4d88264 100644 --- a/src/de/sockenklaus/XmlStats/XmlWorkers/UserStats.java +++ b/src/de/sockenklaus/XmlStats/XmlWorkers/UserStats.java @@ -14,12 +14,15 @@ */ package de.sockenklaus.XmlStats.XmlWorkers; +import java.io.File; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.List; import org.w3c.dom.Element; +import com.nidefawl.Stats.ItemResolver.hModItemResolver; import com.nidefawl.Stats.datasource.Category; import com.nidefawl.Stats.datasource.PlayerStat; @@ -33,12 +36,16 @@ public class UserStats extends XmlWorker { /** The stats ds. */ private UserstatsDS statsDS; + private hModItemResolver itemResolver; + private String[] resolveCats; /** * Instantiates a new xml worker userstats. */ public UserStats(){ this.statsDS = new UserstatsDS(); + itemResolver = new hModItemResolver(new File(statsDS.getDataFolder(),"items.txt")); + resolveCats = new String[]{"blockdestroy", "blockcreate", "itemdrop", "itempickup"}; } /* (non-Javadoc) @@ -77,8 +84,14 @@ public class UserStats extends XmlWorker { elem_cat.appendChild(elem_items); elem_cats.appendChild(elem_cat); - for(String valName : cat.stats.keySet()){ - elem_items.appendChild(getItemElem(valName, cat.get(valName))); + for(String valName : cat.stats.keySet()){ + Element elem_item = getItemElem(valName, cat.get(valName)); + + if(Arrays.asList(resolveCats).contains(catName)){ + elem_item.setAttribute("id", String.valueOf(itemResolver.getItem(valName))); + } + + elem_items.appendChild(elem_item); } } return elem_player; @@ -105,7 +118,13 @@ public class UserStats extends XmlWorker { elem_cats.appendChild(elem_cat); for(String entryName : addedStats.get(catName).keySet()){ - elem_items.appendChild(getItemElem(entryName, addedStats.get(catName).get(entryName))); + Element elem_item = this.getItemElem(entryName, addedStats.get(catName).get(entryName)); + + if(Arrays.asList(resolveCats).contains(catName)){ + elem_item.setAttribute("id", String.valueOf(itemResolver.getItem(entryName))); + } + + elem_items.appendChild(elem_item); } elem_cat.appendChild(elem_items); } @@ -122,7 +141,7 @@ public class UserStats extends XmlWorker { */ private Element getItemElem(String key, int value){ Element elem_item = this.doc.createElement("item"); - + elem_item.appendChild(getTextElem("name", key)); elem_item.appendChild(getTextElem("value", String.valueOf(value)));