These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
 

Get components for an item?

First post
Author
Never Enough
The Candle Factory
#1 - 2015-07-20 10:29:44 UTC
I create my own "yet another manufacturing tool".

Is there a way to figure out what components are required to build given item ?
Gan I get this information from CREST / static export / API ?

Manually entering the list of components for each item is tedious...
Desmont McCallock
#2 - 2015-07-20 13:42:32 UTC
It's in the blueprints.yaml file of the SDE.
Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#3 - 2015-07-21 11:29:13 UTC
depending on what you're using it with,

https://www.fuzzwork.co.uk/dump/sqlite-latest.sqlite.bz2
https://www.fuzzwork.co.uk/dump/postgres-latest.dmp.bz2
https://www.fuzzwork.co.uk/dump/mysql56-aegis-1.1.1-114255.tbz2
https://github.com/fuzzysteve/SDE-loaders

May be of interest. Mostly because YAML is fine as a transfer medium, but it's not particularly good as a primary data source.

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter

Never Enough
The Candle Factory
#4 - 2015-07-24 01:05:42 UTC
Steve Ronuken wrote:
https://www.fuzzwork.co.uk/dump/postgres-latest.dmp.bz2

Thanks alot !
That's a really usefull stuff :)



A follow-up question, Postgres-related:
I can pull materials from "industryActivityMaterials" table, but how can I tell which ones are affected by blueprint's ME, and which ones aren't ?

For example, to produce ten Hawks I need ten Merlins even if I use ME10 BPC.
Is there some flag in the DB I can use to correctly identify this type of materials?
Desmont McCallock
#5 - 2015-07-24 06:58:09 UTC
All materials are effected. In case of the Merlin you need 1 for each Hawk even with ME10 cause RoundUp(1- (1*10%)) = 1.
Never Enough
The Candle Factory
#6 - 2015-07-24 08:21:00 UTC  |  Edited by: Never Enough
Desmont McCallock wrote:
All materials are effected. In case of the Merlin you need 1 for each Hawk even with ME10 cause RoundUp(1- (1*10%)) = 1.
Correct me if i'm wrong,
but I read somewhere that ME bonus is applied to the whole production job, not individual produced item.
So it's 10*(100%-10%)=9

Edit:
found it: http://community.eveonline.com/news/dev-blogs/eve-industry-all-you-want-to-know/
Quote:
Secondly, to prevent weirdness with T2 builds in particular (for example building 10 Paladins from 9 Apocalypses), every run requires a minimum of one unit of every listed material.
So, it's not really a material-specific flag, but a simple rule "at least one unit".

Thanks everyone,
case closed.
Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#7 - 2015-07-24 11:27:38 UTC  |  Edited by: Steve Ronuken
Never Enough wrote:
Desmont McCallock wrote:
All materials are effected. In case of the Merlin you need 1 for each Hawk even with ME10 cause RoundUp(1- (1*10%)) = 1.
Correct me if i'm wrong,
but I read somewhere that ME bonus is applied to the whole production job, not individual produced item.
So it's 10*(100%-10%)=9

Edit:
found it: http://community.eveonline.com/news/dev-blogs/eve-industry-all-you-want-to-know/
Quote:
Secondly, to prevent weirdness with T2 builds in particular (for example building 10 Paladins from 9 Apocalypses), every run requires a minimum of one unit of every listed material.
So, it's not really a material-specific flag, but a simple rule "at least one unit".

Thanks everyone,
case closed.



greatest(runs,(ceiling(round(quantity * ME Modifier * Facility Modifier),2)))

Where ME modifier is:

1 - ME/100

and facility modifier is similar. (like a assembly array tends to be 0.98 )


greatest() is generally max(), except where databases are concerned, as max is an aggregate function there.

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter

Desmont McCallock
#8 - 2015-07-24 16:09:27 UTC
Steve Ronuken wrote:
Never Enough wrote:
Desmont McCallock wrote:
All materials are effected. In case of the Merlin you need 1 for each Hawk even with ME10 cause RoundUp(1- (1*10%)) = 1.
Correct me if i'm wrong,
but I read somewhere that ME bonus is applied to the whole production job, not individual produced item.
So it's 10*(100%-10%)=9

Edit:
found it: http://community.eveonline.com/news/dev-blogs/eve-industry-all-you-want-to-know/
Quote:
Secondly, to prevent weirdness with T2 builds in particular (for example building 10 Paladins from 9 Apocalypses), every run requires a minimum of one unit of every listed material.
So, it's not really a material-specific flag, but a simple rule "at least one unit".

Thanks everyone,
case closed.



greatest(runs,(ceiling(round(quantity * ME Modifier * Facility Modifier),2)))

Where ME modifier is:

1 - ME/100

and facility modifier is similar. (like a assembly array tends to be 0.98 )


greatest() is generally max(), except where databases are concerned, as max is an aggregate function there.
Bro, did you tried to make it simpler to understand cause my head is still spinning after reading this. Blink
Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#9 - 2015-07-24 18:12:40 UTC
Just giving the actual math involved Smile

Which is kind of important, when someone is building a tool.

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter