Hey, know you haven't touched on this mod in a long time, but do you think you could add the ability to detect when other skill mods are installed and add displays for them as well? Like how the Experience Bars by spacechase0 does?
Can i change the location of the updates? My Experience Bar mod is located at the bottom left of my screen and I have a minimap in the top left so the updates appear by my map and its weird
Well, got some good news :) Now you can change the placement of the ui with the config file. To place it at the bottom I would recommend you setting the Y to -20 or any other negative number as negatives is the amount of pixels from the bottom of the screen
Hey, I love the fact that I can move it now. Since ExpBars can be moved/hidden by pressing Shift + X/X at anytime on the game window, and I happen to move or hide it often, I edited your code. 1) I added support for spacechase0's "Generic Mod Config Menu" mod (because EXP bars uses it too and it was the simplest way to line up the 2 mods with having to quit the game every time just to edit a json file'), and 2) When I press X, the updates text will hide along with the bars and when I press Shift + X, the text will move along with the bars so that I don't have to ever navigate to the config.json file just to edit it!
I use the GMCM to align the 2 mods for the first time
@TaryTrayTwins412 If you want to, you may create a pull request on github. I'll review it and merge. That should be convenient in case I'll release a new version and you will have to merge it locally with my changes. Thanks for the info about GMCM, didn't know that was a thing. Will take a look
I'm about to try and make that one. I'm make a pull request if I succeed
EDIT: ok, a test version is easy enough to make. Simply replace the textToSkill.Value.draw(Game1.spriteBatch, new Vector2(offsetX, offsetY + textToSkill.Key * EXP_BARS_INTERVAL));in TextRenderer.Render with textToSkill.Value.draw(Game1.spriteBatch, Game1.player.getLocalPosition(Game1.viewport) + new Vector2(0, -120)); with 120 being a good value to get the number above my head on my qhd monitor. but now the real work would start: getting the height and width of the player and the number that we will draw and aligning them independent of screen resolution. And I can't be bothered to do that right now so for anyone who wants to try go ahead!
Oh bless, this is the exact mod I've been waiting for, for so long! I just started playing when the 1.5 update went live, and I still don't quite understand what gives you experience and for which skill. This will help a lot!
Not to knock this current mod, but you can also go and download UI Info Suite (unofficial update here). The original mod can be found here. It's very nicely done and it can "Display experience point gains" and "Display a dynamic experience bar that changes based on your current tool or location" which will help you see when you get experience. It can also do a whole bunch of other useful things (like show your luck for the day or when the travelling merchant is here or whose birthday it is ...) and each option can be toggled off.
18 comments
Since ExpBars can be moved/hidden by pressing Shift + X/X at anytime on the game window, and I happen to move or hide it often, I edited your code. 1) I added support for spacechase0's "Generic Mod Config Menu" mod (because EXP bars uses it too and it was the simplest way to line up the 2 mods with having to quit the game every time just to edit a json file'), and 2) When I press X, the updates text will hide along with the bars and when I press Shift + X, the text will move along with the bars so that I don't have to ever navigate to the config.json file just to edit it!
I use the GMCM to align the 2 mods for the first time
It would be nice if there was also an alternate setting to make the exp numbers floaters over the head of the character.
EDIT: ok, a test version is easy enough to make. Simply replace the
textToSkill.Value.draw(Game1.spriteBatch, new Vector2(offsetX, offsetY + textToSkill.Key * EXP_BARS_INTERVAL));
in TextRenderer.Render withtextToSkill.Value.draw(Game1.spriteBatch, Game1.player.getLocalPosition(Game1.viewport) + new Vector2(0, -120));
with 120 being a good value to get the number above my head on my qhd monitor. but now the real work would start: getting the height and width of the player and the number that we will draw and aligning them independent of screen resolution. And I can't be bothered to do that right now so for anyone who wants to try go ahead!The original mod can be found here.
It's very nicely done and it can "Display experience point gains" and "Display a dynamic experience bar that changes based on your current tool or location" which will help you see when you get experience. It can also do a whole bunch of other useful things (like show your luck for the day or when the travelling merchant is here or whose birthday it is ...) and each option can be toggled off.