#Extra Info

301 messages · Page 1 of 1 (latest)

violet folio
#

Adds useful missing information to handbook and for block tooltips.

(Handbook) Trader goods info, including stock amount, buy and sell prices
(Handbook) Trader icons who buy/sell a block/item
(Handbook) Info about what blocks an animal prefers to eat
(Handbook) Info about what animals eat this block
(Handbook) Burn times for pit kiln fuels (pi...

dark plank
#

Have you considered adding torch burn time, or time left until torch burns out?

dark plank
#

Honestly other than that, it's perfect. (I imagine growth times are a whole can of worms)

fleet cloak
#

Does this show when animals will be born/hatch?

violet folio
ebon skiff
#

Does this mod work on net7?

fleet cloak
#

So far it seems too

violet folio
#

Latest is net7 only

ebon skiff
#

Cool

fleet cloak
#

I noticed with TLs it says it gives the same TL location even after using it

violet folio
#

The same location as where TL is located?

#

May be a vanilla bug

fleet cloak
#

Yes

#

At least gives the same number twice

sonic ivy
#

you should format your strings @violet folio. quite often I'm seeing floating point precision issues slip through to the user interface.

#

Things like this

public static string Seconds(double seconds) => Lang.Get("{0} seconds", seconds);
public static string Seconds(float seconds) => Lang.Get("{0} seconds", seconds);

just need to be changed to something like:

public static string Seconds(double seconds) => Lang.Get("{0} seconds", seconds.ToString("0"));
public static string Seconds(float seconds) => Lang.Get("{0} seconds", seconds.ToString("0"));

or even this (if the Lang.Get() isn't needed):

public static string Seconds(double seconds) => $"{seconds:0} seconds";
public static string Seconds(float seconds) => $"{seconds:0} seconds";
sonic ivy
#

1.5.0, but i checked your code and you're not formatting your floating point numbers

violet folio
#

and Seconds is no longer used

violet folio
sonic ivy
#

but it also converts 0.999999999999 to 0.

#

you're using the data as strings, so the best option is to format the strings and not the dataset

violet folio
sonic ivy
#

ok ¯_(ツ)_/¯

violet folio
sonic ivy
#

i dont know. i currently use 1.5.0. i'm just giving you a protip about floating point numbers and how to separate format from the dataset and still ensure the user sees the correct info without too much overhead

#

since the dataset is floating point numbers, the problem is very likely still there in 1.5.3. it's not a rounding issue, its a "this is how bits work in a pc" issue

violet folio
#

1.999 separates into 1 and 0.999, where 0.999 is used for minutes

sonic ivy
#

i can show you some neat tricks for hours and minutes, if you want ^_^

sonic ivy
violet folio
sonic ivy
#

the raw data you're working with

#

hours? seconds? milliseconds?

violet folio
#

Hours

#

Those hours are double and float

sonic ivy
#

you could use simple math

float dataset = 1.999F;
int hours = (int)(dataset % 1);
int minutes = (int)((dataset - hours) * 60);

or you can use a library

float dataset = 1.999F;
TimeSpan time = TimeSpan.FromHours(dataset);
string output = $"{time.TotalHours} hours {time.Minutes} minutes {time.Seconds} seconds";
violet folio
#

Lang.Get is used for getting translation

#

{0} hours for example has plural translation support

sonic ivy
#

yeah, i wasn't sure how that worked since i didn't see any entries in the lang files

violet folio
sonic ivy
#

that's neat. i didnt know the placeholders ({0}) could be part of the key like that ^_^

#

the more you know

violet folio
sonic ivy
#

ok, that's even neater

lime aurora
#

Noticed today that hot copper plates don't format their name well. Didn't get a screenshot but the header name was something like <font color=(some things)> copper plate </font> Doesn't do it for cold plates. Really handy mod though, thank you!

lime aurora
#

ah I caught it again on these tin ingots.

sonic ivy
#

you're still rounding instead of formatting, dana :3

float min = (drop.Chance.avg - drop.Chance.var) * extraMul * 100;
float max = (drop.Chance.avg + drop.Chance.var) * extraMul * 100;
return min == max ? $"{min:N2} %" : $"{min:N2} - {max:N2} %";

the :N2 formats the output to 2 decimals while keeping the end user's locale intact. this is much faster and safer than rounding.

also, comparing floating point numbers like that (==) can fail, even if they should be the same.

it's best to allow for a tolerance. in this case, since we're formatting to 2 decimals, i recommend using a tolerance of 2 decimals (1e-2) for the comparison, too.

return Math.Abs(min - max) < 1e-2 ? $"{min:N2} %" : $"{min:N2} - {max:N2} %";

since you were originally rounding to 5 decimals, here is what that would look like if you want to keep 5 decimals of precision (i think that's too much, fwiw)

return Math.Abs(min - max) < 1e-5 ? $"{min:N5} %" : $"{max:N5} - {max:N5} %";
#

another problem with rounding, is you fell for the bankers rounding method. most people do until someone shows them what it is.

some languages (like c#) opted to make the default rounding method the "bankers rounding" method, which just means they round half numbers (0.5, 1.5, etc) to the nearest even number. it's not at all the rounding any of us were taught in school where we round half numbers to the nearest whole number away from zero.

this is what banker's rounding looks like:

-4.5 -> -4
-3.5 -> -4
-2.5 -> -2
-1.5 -> -2
-0.5 -> 0
0.5 -> 0
1.5 -> 2
2.5 -> 2
3.5 -> 4
4.5 -> 4

not at all what any of us expects.

-4.5 -> -5
-3.5 -> -4
-2.5 -> -3
-1.5 -> -2
-0.5 -> -1
0.5 -> 1
1.5 -> 2
2.5 -> 3
3.5 -> 4
4.5 -> 5

so it's best to avoid rounding altogether and use the language's string formatting methods, since that's the end result we want (a string).

in the case where you want to keep numbers (for a different mod) and need to round, you can get the "normal" rounding like so

float a = Math.Round(x, MidpointRounding.AwayFromZero);
violet folio
#

what is 0.023F?

sonic ivy
#

just an example value

#

plug any number you want in there

#

there, edited to a variable so no one gets fixated on a value ^_^

#

string formatting is pretty amazing stuff, tbh

sonic ivy
#

oh neat, i just learned you can use P2 to get a percent with 2 decimals without having to multiply by 100 or specify the % symbol.

$"{0.12345:P2}"; // "12.35 %"

if you wanted to use this your code would become

float min = (drop.Chance.avg - drop.Chance.var) * extraMul;
float max = (drop.Chance.avg + drop.Chance.var) * extraMul;
return min == max ? $"{min:P2}" : $"{min:P2} - {max:P2}";
honest pumice
#

(Hotkey) Mycelium highlighting (default: Shift + M)

This will show blocks where mushrooms will grow?

#

I'm not sure if it's that or what is it

honest pumice
#

Okok, perfect ^^

worn jackal
#

Mycelium is the block that determines if mushrooms will grow nearby, in certain conditions. See <#wiki-and-translations message> for a deeper explanation. Be aware that removing a mycelium block will destroy (permanently) any chance of mushrooms showing up at that location again.

honest pumice
#

Thx a lot lol

#

Those blocks should have some different texture

#

Like white reeds or something

#

To difference them

sonic ivy
#

idk if there are other places

violet folio
sonic ivy
#

by removing the percent sign in your code

#

this

Lang.Get("Carburization: {0}% complete", $"{percent}%");

to this

Lang.Get("Carburization: {0}% complete", percent);
violet folio
#

wow I can harvest 100 downloads every 10 hours

chrome mango
#

I mean, this mod is super helpful. Just got it yesterday and it makes my life so much easier in game. The sealed crock indicator has been especially helpful as I normally play on a server

violet folio
chrome mango
#

Hmm, so I've noticed a bug. The iron door will never mention when steel making is complete, it will stay at 99%

violet folio
chrome mango
#

The coffin says that it is complete

violet folio
chrome mango
#

Sweet! Thank you!

hollow skiff
#

Love the new liquid feature in the latest update! Thanks Dana!

polar venture
#

Is it a bug on my end or for other people when i start my coke over it should only take 8 hours but its constantly stuck saying 32 hours for some reason, anyone else get the same problem?

reef karma
#

@violet folio excuse me, does this show perish times for jugs and bowls when they are on a shelf? Also, what the containers hold?

polar venture
#

Yes it finishes in the normal 8 hours i believe

violet folio
polar venture
#

Hmm, if you get the chance could you try starting a coke oven on your end? That way you could see id somethings wrong with my game specifically

#

If not dont worry its not gonna end my life, just something small

polar venture
#

Welp, time to binary search my mods lol

reef karma
# violet folio It is vanilla info

I'm sorry, I don't quite follow...

In-game, that information only shows up when you look at it from your inventory, and does not appear when these items are on a shelf.

reef karma
#

I'm asking about this in particular because it's an issue that's been bugging me that I'll go ahead and make a mod for if none exist 🙂

violet folio
#

I tried to do that an year ago I think

reef karma
#

🫡 Thank you. I'll see what I can do, for jugs at least 🙂

rotund rose
#

Is torque and rotation speed available for mechanical blocks? If so, that would be a lovely addition to the block description box

violet folio
rotund rose
#

Ah ok. Very cryptic or usable? 😄

violet folio
#

It is completely useless info

rotund rose
#

Ok, thanks

sonic ivy
#

is there a config for this mod @violet folio? i want to disable the liquid container capacity bar thing

violet folio
#

Oh wait

#

Nope there is no config

sonic ivy
#

ok. will fork code and strip it out. ty

violet folio
#

You blame me again

sonic ivy
#

i didn't blame anything. i just asked if there was a config. you said no. so i am forking to remove a feature i dont want.

vocal cairn
#

Would it be possible to have a config that is enforced from the server? Would like to use this in a server because it’s so useful, but the owner has pretty strict rules on client side mods so only certain info would be considered fair play

violet folio
vocal cairn
ebon skiff
violet folio
vocal cairn
#

Maybe Dana wants the challenge to crack this lol

violet folio
#

Client mod can't communicate with server

#

There is no api for that

vocal cairn
#

No I meant crack the anti cheat mod for fun lol

#

It hashes mods and checks for harmony patches, pretty smart, although it won’t block everything ofc

vital linden
#

Hello, should 1.8.2 on 1.20.0rc1 throw some error when you quit game? 8.12.2024 22:42:28 [Server Event] Shutting down 6 server threads... 8.12.2024 22:42:28 [Server Event] Killed console thread 8.12.2024 22:42:28 [Client Error] [extrainfo] An exception was thrown when trying to start the mod: 8.12.2024 22:42:28 [Client Error] [extrainfo] Exception: An attempt was made to load a program with an incorrect format. (0x8007000B) at System.Reflection.MetadataImport._GetScopeProps(IntPtr scope, Guid& mvid) ... at HarmonyLib.Harmony.UnpatchAll(String harmonyID) at ExtraInfo.HarmonyPatches.Dispose() in C:\Users\dana_\Source\Repos\ExtraInfo\ExtraInfo\src\Systems\HarmonyPatches.cs:line 36 at Vintagestory.Common.ModLoader.TryRunModPhase(Mod mod, ModSystem system, ICoreAPI api, ModRunPhase phase) in VintagestoryLib\Common\API\ModLoader.cs:line 664 8.12.2024 22:42:28 [Client Error] Failed to run mod phase Dispose for mod ExtraInfo.HarmonyPatches 8.12.2024 22:42:29 [Server Event] All threads gracefully shut down

vital linden
# violet folio Does it crash?

It is during closing game, however it looks like it does not (as after above are other exiting messages), just felt a bit unexpected, tho few lines above there is whining about wrong IL code...

violet folio
violet folio
violet folio
#

I could try to add config now

violet folio
whole cargo
whole cargo
#

Awesome. Looks tidy and clean.

violet folio
whole cargo
violet folio
#

I have todo list of 30+ ideas for the mod

whole cargo
#

Personally, not anything strongly comes to mind. Maybe a temporal storm timer when it is announced? But I know Simple HUD Clock has that feature.

weary pasture
#

Found this on a bowl, @violet folio. I hadn't put hot food into a bowl prior, just a crock, so I just stumbled onto it. 🙂

weary pasture
#

Yep

violet folio
weary pasture
#

Pot is fine, just the bowl does it.

#

loading up now for a ss

violet folio
weary pasture
#

Nevermind. I had issues with some mod stuff, so I re-downloaded a couple, and apparently something was wrong somewhere in there, because now it's fixed.

#

Well, I wasn't having issues, but I was hosting, and the other client was, so we went through and re-downloaded a few mods to fix it.

#

Apparently, the issue was somewhere in my files, so we're good now. Just took downloading the new version twice. 🙄

sonic ivy
#

@violet folio the new fix vtml option makes the block info box too wide and pushes the text to the left. lots of blank space on the right side. disabling the option in config or downgrading to 1.9.1 makes the block info box the correct size again.

violet folio
sonic ivy
violet folio
#

same for WithSizing

sonic ivy
#

you need the parsed title

violet folio
sonic ivy
#

using ___title will take into account the width of the characters in the vtml codes

sonic ivy
# violet folio No luck

what if you split that one line up so you can manually add the rich text and calculate it's bounds at the same time

violet folio
sonic ivy
violet folio
#

I wrote a few GUIs but I don't use it

sonic ivy
violet folio
#

The only time I used rich components is handbook

violet folio
violet folio
violet folio
#

omg

#

That fixed it

violet folio
#

released new version

inland kettle
#

Extra Info isn't showing up anymore for some reason, I'm on the latest version and emptied the cache folder after updating it. I can see the mod settings and have reset them to default but nothing seems to work.

Anything I can go looking for to find the source of the issue?

inland kettle
#

1.20.0-rc.5 and 1.9.4; It's starting to work but it goes in and out so sometimes it'll show then it'll go away :c

violet folio
#

There are hundreds of different tweaks in the mod

inland kettle
#

Everything is set to default, when I look at a tree it doesn't show the % I've chopped or what's remaining before it fells but sometimes it'll pop-in for a moment (the info box at the top of the screen) then disappear before I finish chopping as an example.

inland kettle
#

I think it might be conflicting with another mod so I'm just asking for any suggestions on what to look for, might be the Truth & Beauty mod but I'm unsure.

Edit: Seems to be resolved after a restart.

rotund rose
#

Do you plan to add the || trade lists of the NPCs in Nadiya? Perhaps with an entry in the config that people have to manually enable before the NPCs appear ||?

violet folio
rotund rose
#

Awesome

jaunty tartan
#

We do have an issue with our server.
The time of the saplings isn't displayed and several other timers like bloomeries, fire pits, etc.
Any idea if this could be a conflict with another mod?
Server and client are on 1.20.4
The setting is activated, so it should work and the mod isn't blocked on the server either.

violet folio
jaunty tartan
#

Yes, it is.

violet folio
#

No idea then

#

It works perfectly for me and I don't know how to fix it

jaunty tartan
#

Well, any idea if one of the mods might mess up the reading?

violet folio
#

I don't know

jaunty tartan
#

Would be nice, if you could figure it out 🙂

steep flint
#

Доброго дня, граю на сервері, виникла помилка, краш прикріпляю.

sweet pelican
#

Hey, is there any place in this chat where it's explained what exactly am I looking at when hovering mechanical parts?
I downloaded this mod thinking it would help me understand mechanical power stuff but nope.

violet folio
flat pulsar
#

that's a thing

violet folio
foggy dune
#

Hi @violet folio I don't know why my character movement became all choppy like stop motion animation on my end if I use Extra info. I tested both Extra info 1.9.9 and 1.9.10 separately. This was the 1.20.12 server's mod list, fresh client install and clearing cache didn't help. This happens without using other client mods. Other players said I appeared to be moving normally. It's also worse in first person, especially when I try to turn.

violet folio
foggy dune
#

yeah, it was fine without extra info

violet folio
#

Damn

foggy dune
# violet folio Damn

i don't understand either, I used extra info 1.9.9 on another 1.20.10 server few montsh ago and this didn't happen

#

someone on this 1.20.12 server was also using extra info without this issue

unique forge
#

how come I can't see the trader inventories?

violet folio
unique forge
#

ah so cant see them anymore that sucks I wonder why

loud quest
#

Mobs Radar isn't retaining added mobs. I've tried adding them through the in game mod settings, and through the configuration file, neither one is retained.

It will display the added mobs until you reload the world or close it, and then it goes back to defaults.

I was trying to both add the FOTSA creature, and to move the Moose to the hostile— neither sticks.

violet folio
#

Also why write about mobs radar under extrainfo

loud quest
#

Because for some reason I misread it as being for all of your mods (I guess I saw your name on the thread below the title, but didn't see the title?) which is 100% my bad.

That said, I can't find an auto fill to disable in the markers_default.json; is it somewhere else?

loud quest
#

Should there be a config.json file inside of the Mobs Radar folder? If so, it seems that one wasn't generated for some reason.

violet folio
loud quest
#

Ah. I see what I have been doing wrong.

Thank you very much, and sorry for the hassle. It seems I brought in habits from using mods in other games that don't apply to Vintage Story mods.

jaunty tapir
#

It would be nice if you could see the contents of a currently selected container in your hotbar, could you add this function to your mod?

jaunty tapir
#

for example this bucket I have selected contains 4L diluted cassiterite, but the only way I can see that is by opening my inventory en hovering over the bucket, especially when you are handeling multiple buckets it would be great if you could see if a container is filled with anything by simple selecting it in your hotbar

jaunty tapir
#

I dont think I explained it very wel 😄

last lava
#

hey, i got this error, when launching a world:

21.12.2025 11:57:21 [Error] [xskills] Exception: Object reference not set to an instance of an object.
   at XSkills.XSkills.PatchEntities()
   at XSkills.XSkills.AssetsLoaded(ICoreAPI api)
   at Vintagestory.Common.ModLoader.TryRunModPhase(Mod mod, ModSystem system, ICoreAPI api, ModRunPhase phase) in VintagestoryLib\Common\API\ModLoader.cs:line 667
21.12.2025 11:57:21 [Error] Failed to run mod phase AssetsLoaded for mod XSkills.XSkills
21.12.2025 11:57:21 [Error] [extrainfo] An exception was thrown when trying to start the mod:
21.12.2025 11:57:21 [Error] [extrainfo] Exception: Value cannot be null. (Parameter 'array')
   at System.Array.Find[T](T[] array, Predicate`1 match)
   at ExtraInfo.ServerEntityType.AssetsFinalize(ICoreAPI api) in C:\Users\dana_\Source\Repos\ExtraInfo\ExtraInfo\src\Systems\ServerEntityType.cs:line 29
   at Vintagestory.Common.ModLoader.TryRunModPhase(Mod mod, ModSystem system, ICoreAPI api, ModRunPhase phase) in VintagestoryLib\Common\API\ModLoader.cs:line 670
21.12.2025 11:57:21 [Error] Failed to run mod phase AssetsFinalize for mod ExtraInfo.ServerEntityType```
#

any fixes for that? is that because of higher game version?

last lava
#

Newest one (freshly downloaded it a couple minutes ago)

#

Although, I'm now bisecting what causes the xskills to not work properly, so it might be because of some other mod actually

last lava
visual pasture
last lava
robust basalt
#

@violet folio looks like you might be calculating growth hours for your farmland info slightly wrong, you use TotalHoursForNextStage in your InfoExtensions.GetFarmlandInfo method, but the game uses TotalHoursForNextStage+lightHoursPenalty (in pic) when determining growth time in BlockEntityFarmland.Update, could be responsible for negative timers i've seen people talk about

violet folio
#

Maybe

gentle anchor
#

Hey guys, I have extra info running on my 1.21.6 server but suddenly all the infos went missing, is there a key that I accidentally clicked to disable them? Or is there a conflict with other mods?

violet folio
gentle anchor
hasty python
gentle valve
#

is there a hotkey that turns off the extra info that usually shows up at the top? because its suddenly not working for me

wispy knot
#

Mod's broken

violet folio
wispy knot
#

There has been crashes, mine having been already reported in the mod's comments

violet folio
visual pasture
#

ooo looks nice

median folio
#

omg awesome

violet folio
wispy knot
#

Progress bars look awesome :o

violet folio
#

fixed math for timers

whole birch
#

(Also it's hilarious to me that we already had two patches to the "STABLE" release, and yet it's the mod that fixes all the bugs in the fishing, NOT the official devs)

violet folio
violet folio
# whole birch

show the fish species present here

when you look up a fish in the handbook, give us the info on what bait it prefers

when you look up a fish in the handbook, display the temperature ranges it can exist in

This is server side info, can't get it on client

when you look up a fish in the handbook, give us info on how many pieces of fish meat it shall give when harvested

I believe it already does

whole birch
# violet folio > show the fish species present here > when you look up a fish in the handbook,...

About that last point - no, it does not tell you how many pieces of raw fish you'll get.

It's also heavily inconsistent. For instance, sheathfish gives you "large cooked fish" when cooked whole, but 10 pieces of raw fish. Mahi Mahi cooks into "HUGE cooked fish", but harvests into 9 pieces of raw fish meat.

There is no rhyme or reason with it, frankly. So having the mod display it would be nice.

violet folio
whole birch
#

This is not remotely my point, but yes?

#
  • Cooked fish - 100 satiety
  • Small cooked fish - 200 satiety
  • Medium cooked fish - 400 satiety
  • Large cooked fish - 700 satiety
  • Huge cooked fish - 900 satiety

Adult Sheatfish - 10 raw fish meat (1000) OR Large cooked fish (700)
Mahi-Mahi - 9 raw fish meat (900) OR Huge cooked fish (900)

#

Perch - 2 fish meat (200 satiety cooked) OR small cooked fish (200 satiety)
Chub - 1 fish meat (100 satiety) OR MEDIUM cooked fish (400 satiety)

violet folio
#

made it way more compact

violet folio
violet folio
violet folio
vocal cairn
#

Nice

violet folio
median folio
violet folio
#

i probably should use ASCII as progress bar

violet folio
violet folio
violet folio
#

which one is better?

violet folio
violet folio
violet folio
#

released new update

primal kettle
#

An Easter egg, eh? How fun! I'll keep my eyes open! 😁

violet folio
primal kettle
#

I'll go gather a million friends together, and... 😅

whole birch
#

10 million actually

violet folio
edgy jewel
#

This is a really handy mod, thanks very much for sharing.

split star
#

hello, so, my extra info has never had color i the info box up top of the screen that i can remember. is this possibly a mod conflict or something else?

split star
#

I reinstalled the mod and regenerated the config. most of the color is present now.

split star
#

The cyan text. Never shows up for me.

violet folio
split star
#

_>

#

but the mods description images.... clearly show it doing so?

#

or ws the removed?

violet folio
#

Yes

split star
#

you know what the irony of this is?

#

Cyan's my Favorite color.

#

But at least now I know I didn't fug something up!

#

Thank you for letting me know, Dana! Love your mods!

whole birch
#

I have recently been listening to my friend trying to figure out whether we can grow exotic fruit trees in our temperate climate base, and had an idea.

Just how difficult would it be to implement some sort of climate-checker that'd tell you the average/max/top temperature of a given spot in the world? Either that, or when you have the cutting in hand, for it to show you a warning if the temps here would be too low/too high for it to survive?

#

(or am I looking at something so complicated that it could be its own mod?)

split star
#

this will give you temps over time and keep a record for ya....

#

as for knowing average temps...

#

that's what the world latitude of your currnet position will tell you.

#

check the wiki to know what your latitude gives.

#

But you said "Temperate" cliamt. You'll need a greenhosue, hwoevr, depending on exactly HOW cold it is, you may need a mod that changes how greenhosues work to do so, cause they only give a +5° C boost to temps.

if you desire a proper sure fire means of growing fruit trees in the siberian tundra.... I might suggest the following:
https://mods.vintagestory.at/show/mod/38002

This mod sets the temperatures of greenhouses to 20 C all year round.