From 3ec589424979afbf78eb2eeee55b5444a746021c Mon Sep 17 00:00:00 2001 From: GJ Date: Mon, 26 Mar 2012 09:06:48 -0400 Subject: [PATCH] Generic cleanup. --- .../gmail/nossr50/datatypes/AbilityType.java | 2 +- .../com/gmail/nossr50/datatypes/HUDmmo.java | 622 ++++++++++-------- .../nossr50/listeners/mcPlayerListener.java | 2 +- .../com/gmail/nossr50/spout/SpoutStuff.java | 2 +- 4 files changed, 358 insertions(+), 270 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/datatypes/AbilityType.java b/src/main/java/com/gmail/nossr50/datatypes/AbilityType.java index 5c7073e5f..29b0167d9 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/AbilityType.java +++ b/src/main/java/com/gmail/nossr50/datatypes/AbilityType.java @@ -288,4 +288,4 @@ public enum AbilityType { return false; } } -} \ No newline at end of file +} diff --git a/src/main/java/com/gmail/nossr50/datatypes/HUDmmo.java b/src/main/java/com/gmail/nossr50/datatypes/HUDmmo.java index f8df2c160..6cecf2b73 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/HUDmmo.java +++ b/src/main/java/com/gmail/nossr50/datatypes/HUDmmo.java @@ -16,285 +16,364 @@ import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.config.LoadProperties; import com.gmail.nossr50.spout.SpoutStuff; -public class HUDmmo -{ - int center_x = 427/2; - int center_y = 240/2; - - String playerName = null; - Widget xpbar = null; - GenericGradient xpfill = null; - GenericGradient xpbg = null; - GenericGradient xpicon_bg = null; - GenericGradient xpicon_border = null; - GenericTexture xpicon = null; - mcMMO plugin = (mcMMO) Bukkit.getServer().getPluginManager().getPlugin("mcMMO"); - - public HUDmmo(Player player) - { - playerName = player.getName(); - initializeHUD(player); - } - - public void initializeHUD(Player player) - { - //PlayerProfile PP = Users.getProfile(player); - HUDType type = Users.getProfile(player).getHUDType(); - - //if(LoadProperties.partybar && PP.getPartyHUD()) - //mmoHelper.initialize(SpoutManager.getPlayer(player), plugin); //PARTY HUD - - switch(type) - { - case RETRO: - { - initializeXpBarDisplayRetro(SpoutManager.getPlayer(player)); - break; - } - case STANDARD: - { - initializeXpBarDisplayStandard(SpoutManager.getPlayer(player)); - break; - } - case SMALL: - { - initializeXpBarDisplaySmall(SpoutManager.getPlayer(player)); - break; - } - case DISABLED: - { - //Do nothing.. :) - } - } - } - - public void updateXpBarDisplay(HUDType type, Player player) - { - switch(type) - { - case RETRO: - { - updateXpBarRetro(player, Users.getProfile(player)); - break; - } - case STANDARD: - { - updateXpBarStandard(player, Users.getProfile(player)); - break; - } - case SMALL: - { - updateXpBarStandard(player, Users.getProfile(player)); - break; - } - case DISABLED: - { - //Do nothing.. :) - } - } - } - - public void resetHUD() - { - SpoutPlayer sPlayer = SpoutStuff.getSpoutPlayer(playerName); - //PlayerProfile PP = Users.getProfile(sPlayer); - if(sPlayer != null) - { - sPlayer.getMainScreen().removeWidgets(plugin); - - //Reset the objects - xpbar = null; - xpfill = null; - xpbg = null; - xpicon = null; - - //if(LoadProperties.partybar && PP.getPartyHUD()) - //mmoHelper.initialize(sPlayer, plugin); - - sPlayer.getMainScreen().setDirty(true); - } - } - - private void initializeXpBarDisplayRetro(SpoutPlayer sPlayer) - { - Color border = new Color((float)LoadProperties.xpborder_r, (float)LoadProperties.xpborder_g, (float)LoadProperties.xpborder_b, 1f); - Color green = new Color(0, 1f, 0, 1f); - Color background = new Color((float)LoadProperties.xpbackground_r, (float)LoadProperties.xpbackground_g, (float)LoadProperties.xpbackground_b, 1f); - Color darkbg = new Color(0.2f, 0.2f, 0.2f, 1f); - - xpicon = new GenericTexture(); - xpbar = new GenericGradient(); - xpfill = new GenericGradient(); - xpbg = new GenericGradient(); - - xpicon_bg = new GenericGradient(); - xpicon_border = new GenericGradient(); - - xpicon_bg.setBottomColor(darkbg).setTopColor(darkbg).setWidth(4).setHeight(4).setPriority(RenderPriority.High).setX(142).setY(10).setDirty(true); - xpicon_border.setBottomColor(border).setTopColor(border).setWidth(6).setHeight(6).setPriority(RenderPriority.Highest).setX(141).setY(9).setDirty(true); - - xpicon.setWidth(6).setHeight(6).setX(141).setY(9).setPriority(RenderPriority.Normal).setDirty(true); - xpicon.setUrl("Icon_r.png"); - - xpbar.setWidth(128).setHeight(4).setX(149).setY(10); - ((GenericGradient) xpbar).setBottomColor(border).setTopColor(border).setPriority(RenderPriority.Highest).setDirty(true); - - xpfill.setWidth(0).setHeight(2).setX(150).setY(11); - xpfill.setBottomColor(green).setTopColor(green).setPriority(RenderPriority.Lowest).setDirty(true); - - xpbg.setWidth(126).setHeight(2).setX(150).setY(11); - xpbg.setBottomColor(background).setTopColor(background).setPriority(RenderPriority.Low).setDirty(true); - - if(LoadProperties.xpbar) - { - sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpbar); - sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpfill); - sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpbg); - if(LoadProperties.xpicon) - { - sPlayer.getMainScreen().attachWidget(plugin, (GenericTexture)xpicon); - sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpicon_bg); - } - sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpicon_border); - } - - sPlayer.getMainScreen().setDirty(true); - } - - private void initializeXpBarDisplayStandard(SpoutPlayer sPlayer) - { - //Setup xp bar - xpbar = new GenericTexture(); - - if(LoadProperties.xpbar && LoadProperties.xpicon) - { - xpicon = new GenericTexture(); - - xpicon.setUrl("Icon.png"); - - xpicon.setHeight(16).setWidth(32).setX(LoadProperties.xpicon_x).setY(LoadProperties.xpicon_y); - - xpicon.setDirty(true); - - sPlayer.getMainScreen().attachWidget(plugin, xpicon); - } - - if(LoadProperties.xpbar) - { - ((GenericTexture)xpbar).setUrl("xpbar_inc000.png"); - xpbar.setX(LoadProperties.xpbar_x).setY(LoadProperties.xpbar_y).setHeight(8).setWidth(256); - - sPlayer.getMainScreen().attachWidget(plugin, xpbar); - } - sPlayer.getMainScreen().setDirty(true); - } - - private void initializeXpBarDisplaySmall(SpoutPlayer sPlayer) - { - //Setup xp bar - xpbar = new GenericTexture(); - - if(LoadProperties.xpbar && LoadProperties.xpicon) - { - xpicon = new GenericTexture(); - - xpicon.setUrl("Icon.png"); - - xpicon.setHeight(8).setWidth(16).setX(center_x-(8+64)).setY(LoadProperties.xpicon_y+2); - - xpicon.setDirty(true); - - sPlayer.getMainScreen().attachWidget(plugin, xpicon); - } - - if(LoadProperties.xpbar) - { - ((GenericTexture)xpbar).setUrl("xpbar_inc000.png"); - xpbar.setX(center_x-64).setY(LoadProperties.xpbar_y).setHeight(4).setWidth(128); - - sPlayer.getMainScreen().attachWidget(plugin, xpbar); - } - - sPlayer.getMainScreen().setDirty(true); - } - - private void updateXpBarStandard(Player player, PlayerProfile PP) - { - if(!LoadProperties.xpbar) - return; - - SkillType theType = null; - - if(PP.getXpBarLocked()) - theType=PP.getSkillLock(); - else - theType=PP.getLastGained(); - - if(theType == null) - return; - - ((GenericTexture) xpicon).setUrl(m.getCapitalized(theType.toString())+".png"); - xpicon.setDirty(true); +public class HUDmmo { + private int center_x = 427/2; +// private int center_y = 240/2; //Any reason we can't just delete this? + + private String playerName = null; + + private Widget xpbar = null; + private GenericGradient xpfill = null; + private GenericGradient xpbg = null; + private GenericGradient xpicon_bg = null; + private GenericGradient xpicon_border = null; + private GenericTexture xpicon = null; + + private mcMMO plugin = (mcMMO) Bukkit.getServer().getPluginManager().getPlugin("mcMMO"); + + public HUDmmo(Player player) { + playerName = player.getName(); + initializeHUD(player); + } + + /** + * Initialize the HUD. + * + * @param player Player whose HUD to initialize + */ + public void initializeHUD(Player player) { +// PlayerProfile PP = Users.getProfile(player); + HUDType type = Users.getProfile(player).getHUDType(); + SpoutPlayer sPlayer = SpoutManager.getPlayer(player); + +// if (LoadProperties.partybar && PP.getPartyHUD()) { +// mmoHelper.initialize(sPlayer, plugin); //PARTY HUD +// } + + switch (type) { + case RETRO: + initializeXpBarDisplayRetro(sPlayer); + break; + + case STANDARD: + initializeXpBarDisplayStandard(sPlayer); + break; + + case SMALL: + initializeXpBarDisplaySmall(sPlayer); + break; + + case DISABLED: + break; + + default: + break; + } + } + + /** + * Update the XP bar. + * + * @param type Type of XP bar + * @param player Player whose XP bar to update + */ + public void updateXpBarDisplay(HUDType type, Player player) { + PlayerProfile PP = Users.getProfile(player); + + switch (type) { + case RETRO: + updateXpBarRetro(player, PP); + break; + + case STANDARD: + updateXpBarStandard(player, PP); + break; + + case SMALL: + updateXpBarStandard(player, PP); + break; + + case DISABLED: + break; + + default: + break; + } + } + + /** + * Reset a player's HUD. + */ + public void resetHUD() { + SpoutPlayer sPlayer = SpoutStuff.getSpoutPlayer(playerName); +// PlayerProfile PP = Users.getProfile(sPlayer); + + if (sPlayer != null) { + sPlayer.getMainScreen().removeWidgets(plugin); + + //Reset the objects + xpbar = null; + xpfill = null; + xpbg = null; + xpicon = null; + +// if (LoadProperties.partybar && PP.getPartyHUD()) { +// mmoHelper.initialize(sPlayer, plugin); +// } + + sPlayer.getMainScreen().setDirty(true); + } + } + + /** + * Initialize Retro XP bar. + * + * @param sPlayer Player to initialize XP bar for + */ + private void initializeXpBarDisplayRetro(SpoutPlayer sPlayer) { + Color border = new Color((float) LoadProperties.xpborder_r, (float) LoadProperties.xpborder_g, (float) LoadProperties.xpborder_b, 1f); + Color green = new Color(0f, 1f, 0f, 1f); + Color background = new Color((float) LoadProperties.xpbackground_r, (float) LoadProperties.xpbackground_g, (float) LoadProperties.xpbackground_b, 1f); + Color darkbg = new Color(0.2f, 0.2f, 0.2f, 1f); + + xpicon = new GenericTexture(); + xpbar = new GenericGradient(); + xpfill = new GenericGradient(); + xpbg = new GenericGradient(); + + xpicon_bg = new GenericGradient(); + xpicon_border = new GenericGradient(); + + xpicon_bg.setBottomColor(darkbg); + xpicon_bg.setTopColor(darkbg); + xpicon_bg.setWidth(4); + xpicon_bg.setHeight(4); + xpicon_bg.setPriority(RenderPriority.High); + xpicon_bg.setX(142); + xpicon_bg.setY(10); + xpicon_bg.setDirty(true); + + xpicon_border.setBottomColor(border); + xpicon_border.setTopColor(border); + xpicon_border.setWidth(6); + xpicon_border.setHeight(6); + xpicon_border.setPriority(RenderPriority.Highest); + xpicon_border.setX(141); + xpicon_border.setY(9); + xpicon_border.setDirty(true); + + xpicon.setWidth(6); + xpicon.setHeight(6); + xpicon.setX(141); + xpicon.setY(9); + xpicon.setPriority(RenderPriority.Normal); + xpicon.setDirty(true); + xpicon.setUrl("Icon_r.png"); + + xpbar.setWidth(128); + xpbar.setHeight(4); + xpbar.setX(149); + xpbar.setY(10); + ((GenericGradient) xpbar).setBottomColor(border); + ((GenericGradient) xpbar).setTopColor(border); + xpbar.setPriority(RenderPriority.Highest); + xpbar.setDirty(true); + + xpfill.setWidth(0); + xpfill.setHeight(2); + xpfill.setX(150); + xpfill.setY(11); + xpfill.setBottomColor(green); + xpfill.setTopColor(green); + xpfill.setPriority(RenderPriority.Lowest); + xpfill.setDirty(true); + + xpbg.setWidth(126); + xpbg.setHeight(2); + xpbg.setX(150); + xpbg.setY(11); + xpbg.setBottomColor(background); + xpbg.setTopColor(background); + xpbg.setPriority(RenderPriority.Low); + xpbg.setDirty(true); + + if (LoadProperties.xpbar) { + sPlayer.getMainScreen().attachWidget(plugin, xpbar); + sPlayer.getMainScreen().attachWidget(plugin, xpfill); + sPlayer.getMainScreen().attachWidget(plugin, xpbg); + + if (LoadProperties.xpicon) { + sPlayer.getMainScreen().attachWidget(plugin, xpicon); + sPlayer.getMainScreen().attachWidget(plugin, xpicon_bg); + sPlayer.getMainScreen().attachWidget(plugin, xpicon_border); + } + } + + sPlayer.getMainScreen().setDirty(true); + } + + /** + * Initialize Standard XP bar. + * + * @param sPlayer Player to initialize XP bar for + */ + private void initializeXpBarDisplayStandard(SpoutPlayer sPlayer) { + if (LoadProperties.xpbar) { + xpbar = new GenericTexture(); + + ((GenericTexture) xpbar).setUrl("xpbar_inc000.png"); + + xpbar.setX(LoadProperties.xpbar_x); + xpbar.setY(LoadProperties.xpbar_y); + xpbar.setHeight(8); + xpbar.setWidth(256); + + sPlayer.getMainScreen().attachWidget(plugin, xpbar); + + if (LoadProperties.xpicon) { + xpicon = new GenericTexture(); + + xpicon.setUrl("Icon.png"); + xpicon.setHeight(16); + xpicon.setWidth(32); + xpicon.setX(LoadProperties.xpicon_x); + xpicon.setY(LoadProperties.xpicon_y); + xpicon.setDirty(true); + + sPlayer.getMainScreen().attachWidget(plugin, xpicon); + } + } + + sPlayer.getMainScreen().setDirty(true); + } + + /** + * Initialize Small XP bar. + * + * @param sPlayer Player to initialize XP bar for + */ + private void initializeXpBarDisplaySmall(SpoutPlayer sPlayer) { + if (LoadProperties.xpbar) { + xpbar = new GenericTexture(); + + ((GenericTexture)xpbar).setUrl("xpbar_inc000.png"); + xpbar.setX(center_x - 64); + xpbar.setY(LoadProperties.xpbar_y); + xpbar.setHeight(4); + xpbar.setWidth(128); + + sPlayer.getMainScreen().attachWidget(plugin, xpbar); + + if (LoadProperties.xpicon) { + xpicon = new GenericTexture(); + + xpicon.setUrl("Icon.png"); + xpicon.setHeight(8); + xpicon.setWidth(16); + xpicon.setX(center_x - (8 + 64)); + xpicon.setY(LoadProperties.xpicon_y + 2); + xpicon.setDirty(true); + + sPlayer.getMainScreen().attachWidget(plugin, xpicon); + } + } + + sPlayer.getMainScreen().setDirty(true); + } + + /** + * Update XP bar for Standard & Small styles. + * + * @param player Player whose XP bar to update + * @param PP Profile of the given player + */ + private void updateXpBarStandard(Player player, PlayerProfile PP) { + if (!LoadProperties.xpbar) { + return; + } + + SkillType theType = getType(PP); + + if (theType == null) { //Can this ever actually BE null? + return; + } + + ((GenericTexture) xpicon).setUrl(m.getCapitalized(theType.toString()) + ".png"); + xpicon.setDirty(true); + + ((GenericTexture) xpbar).setUrl(getUrlBar(getXpInc(PP.getSkillXpLevel(theType), PP.getXpToLevel(theType), HUDType.STANDARD))); + xpbar.setDirty(true); + + SpoutManager.getPlayer(player).getMainScreen().setDirty(true); + } + + /** + * Update XP bar for Retro styles. + * + * @param player Player whose XP bar to update + * @param PP Profile of the given player + */ + private void updateXpBarRetro(Player player, PlayerProfile PP) { + if (!LoadProperties.xpbar) { + return; + } + + SkillType theType = getType(PP); + + if (theType == null) { //Can this ever actually BE null? + return; + } + + Color color = getRetroColor(theType); + + xpicon.setUrl(m.getCapitalized(theType.toString()) + "_r.png"); + + xpfill.setBottomColor(color); + xpfill.setTopColor(color); + xpfill.setWidth(getXpInc(PP.getSkillXpLevel(theType), PP.getXpToLevel(theType), HUDType.RETRO)); + xpfill.setDirty(true); + + SpoutManager.getPlayer(player).getMainScreen().setDirty(true); + } - ((GenericTexture) xpbar).setUrl(getUrlBar(getXpInc(PP.getSkillXpLevel(theType), PP.getXpToLevel(theType), HUDType.STANDARD))); - xpbar.setDirty(true); - - SpoutManager.getPlayer(player).getMainScreen().setDirty(true); - } - - private void updateXpBarRetro(Player player, PlayerProfile PP) - { - if(!LoadProperties.xpbar) - return; - SkillType theType = null; - - if(PP.getXpBarLocked() && PP.getSkillLock() != null) - theType=PP.getSkillLock(); - else - theType=PP.getLastGained(); - - if(theType == null) - return; - - Color color = getRetroColor(theType); - - if(xpicon != null && theType != null) - xpicon.setUrl(m.getCapitalized(theType.toString())+"_r.png"); - - if(theType != null) - xpfill.setBottomColor(color).setTopColor(color).setWidth(getXpInc(PP.getSkillXpLevel(theType), PP.getXpToLevel(theType), HUDType.RETRO)).setDirty(true); - else - System.out.println("theType was null!"); - - SpoutManager.getPlayer(player).getMainScreen().setDirty(true); - } - private static Color getRetroColor(SkillType type) { switch (type) { case ACROBATICS: return new Color((float) LoadProperties.acrobatics_r, (float) LoadProperties.acrobatics_g, (float) LoadProperties.acrobatics_b, 1f); + case ARCHERY: - return new Color((float) LoadProperties.archery_r, (float)LoadProperties.archery_g, (float)LoadProperties.archery_b, 1f); + return new Color((float) LoadProperties.archery_r, (float) LoadProperties.archery_g, (float) LoadProperties.archery_b, 1f); + case AXES: - return new Color((float) LoadProperties.axes_r, (float)LoadProperties.axes_g, (float)LoadProperties.axes_b, 1f); + return new Color((float) LoadProperties.axes_r, (float) LoadProperties.axes_g, (float) LoadProperties.axes_b, 1f); + case EXCAVATION: - return new Color((float)LoadProperties.excavation_r, (float)LoadProperties.excavation_g, (float)LoadProperties.excavation_b, 1f); + return new Color((float) LoadProperties.excavation_r, (float) LoadProperties.excavation_g, (float) LoadProperties.excavation_b, 1f); + case HERBALISM: - return new Color((float)LoadProperties.herbalism_r, (float)LoadProperties.herbalism_g, (float)LoadProperties.herbalism_b, 1f); + return new Color((float) LoadProperties.herbalism_r, (float) LoadProperties.herbalism_g, (float) LoadProperties.herbalism_b, 1f); + case MINING: - return new Color((float)LoadProperties.mining_r, (float)LoadProperties.mining_g, (float)LoadProperties.mining_b, 1f); + return new Color((float) LoadProperties.mining_r, (float) LoadProperties.mining_g, (float) LoadProperties.mining_b, 1f); + case REPAIR: - return new Color((float)LoadProperties.repair_r, (float)LoadProperties.repair_g, (float)LoadProperties.repair_b, 1f); + return new Color((float) LoadProperties.repair_r, (float) LoadProperties.repair_g, (float) LoadProperties.repair_b, 1f); + case SWORDS: - return new Color((float)LoadProperties.swords_r, (float)LoadProperties.swords_g, (float)LoadProperties.swords_b, 1f); + return new Color((float) LoadProperties.swords_r, (float) LoadProperties.swords_g, (float) LoadProperties.swords_b, 1f); + case TAMING: - return new Color((float)LoadProperties.taming_r, (float)LoadProperties.taming_g, (float)LoadProperties.taming_b, 1f); + return new Color((float) LoadProperties.taming_r, (float) LoadProperties.taming_g, (float) LoadProperties.taming_b, 1f); + case UNARMED: - return new Color((float)LoadProperties.unarmed_r, (float)LoadProperties.unarmed_g, (float)LoadProperties.unarmed_b, 1f); + return new Color((float) LoadProperties.unarmed_r, (float) LoadProperties.unarmed_g, (float) LoadProperties.unarmed_b, 1f); + case WOODCUTTING: - return new Color((float)LoadProperties.woodcutting_r, (float)LoadProperties.woodcutting_g, (float)LoadProperties.woodcutting_b, 1f); + return new Color((float) LoadProperties.woodcutting_r, (float) LoadProperties.woodcutting_g, (float) LoadProperties.woodcutting_b, 1f); + case FISHING: - return new Color((float)LoadProperties.fishing_r, (float)LoadProperties.fishing_g, (float)LoadProperties.fishing_b, 1f); + return new Color((float) LoadProperties.fishing_r, (float) LoadProperties.fishing_g, (float) LoadProperties.fishing_b, 1f); + default: return new Color(0.3f, 0.3f, 0.75f, 1f); } @@ -305,13 +384,13 @@ public class HUDmmo switch (num.length) { case 1: - return "xpbar_inc00"+number+".png"; + return "xpbar_inc00" + number + ".png"; case 2: - return "xpbar_inc0"+number+".png"; + return "xpbar_inc0" + number + ".png"; default: - return "xpbar_inc"+number+".png"; + return "xpbar_inc" + number + ".png"; } } @@ -334,4 +413,13 @@ public class HUDmmo return (int) (percentage / inc); } -} \ No newline at end of file + + private static SkillType getType(PlayerProfile PP) { + if (PP.getXpBarLocked()) { + return PP.getSkillLock(); + } + else { + return PP.getLastGained(); + } + } +} diff --git a/src/main/java/com/gmail/nossr50/listeners/mcPlayerListener.java b/src/main/java/com/gmail/nossr50/listeners/mcPlayerListener.java index b84104f31..6e7e53f30 100644 --- a/src/main/java/com/gmail/nossr50/listeners/mcPlayerListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/mcPlayerListener.java @@ -140,7 +140,7 @@ public class mcPlayerListener implements Listener { /* GARBAGE COLLECTION */ //Remove Spout Stuff - if(LoadProperties.spoutEnabled && SpoutStuff.playerHUDs.containsKey(player)) { + if (LoadProperties.spoutEnabled && SpoutStuff.playerHUDs.containsKey(player)) { SpoutStuff.playerHUDs.remove(player); } diff --git a/src/main/java/com/gmail/nossr50/spout/SpoutStuff.java b/src/main/java/com/gmail/nossr50/spout/SpoutStuff.java index 10f8e868b..f20d6a103 100644 --- a/src/main/java/com/gmail/nossr50/spout/SpoutStuff.java +++ b/src/main/java/com/gmail/nossr50/spout/SpoutStuff.java @@ -581,6 +581,6 @@ public class SpoutStuff { * @param player The player whose bar to update */ public static void updateXpBar(Player player) { - playerHUDs.get(player).updateXpBarDisplay(Users.getProfile(player).getHUDType(), player); + playerHUDs.get(player).updateXpBarDisplay(Users.getProfile(player).getHUDType(), player); //Is there a reason we can't just do HUDmmo.updateXpBarDisplay? } }