documentation, default configuration changes

This commit is contained in:
Xevion
2019-08-11 03:09:09 -05:00
parent ee0889029b
commit c93d16fa4e
3 changed files with 143 additions and 120 deletions

23
README.md Normal file
View File

@@ -0,0 +1,23 @@
# fusion-fission-choices
## What is this repository?
`fusion-fission-choices` is a simple utility written in Python for identifying preferable elements to use for fusion with the Alchemistry Minecraft Mod.
## Configuration Options
The `elements` portion refers to the scores of each element, each being the atomic number of the element.
---
`minimumScore` refers to the mimimum score all elements must reach to be printed out. Settings this to -1 will make all elements be printed out.
---
`noNegatives` refers to whether it should filter out elements that have a negative score (ie. while using default configs, filter out elements without a score set)
A set of elements with the score (-1, 5) would get filtered out, while a set with the scores (78, 12) would not.
---
`fullPrint` refers to whether it should print out the Symbol or the Name of the Element

View File

@@ -1,123 +1,123 @@
{
"elements": {
"1": 0,
"2": 0,
"3": 3,
"4": 0,
"5": 0,
"6": 0,
"7": 0,
"8": 1,
"9": 0,
"10": 0,
"11": 0,
"12": 0,
"13": 0,
"14": 2,
"15": 0,
"16": 0,
"17": 0,
"18": 0,
"19": 0,
"20": 0,
"21": 0,
"22": 0,
"23": 0,
"24": 0,
"25": 0,
"26": 0,
"27": 0,
"28": 0,
"29": 0,
"30": 0,
"31": 0,
"32": 0,
"33": 0,
"34": 0,
"35": 0,
"36": 0,
"37": 0,
"38": 0,
"39": 0,
"40": 0,
"41": 0,
"42": 0,
"43": 0,
"44": 0,
"45": 0,
"46": 0,
"47": 0,
"48": 0,
"49": 0,
"50": 0,
"51": 0,
"52": 0,
"53": 0,
"54": 0,
"55": 0,
"56": 0,
"57": 0,
"58": 0,
"59": 0,
"60": 0,
"61": 0,
"62": 0,
"63": 0,
"64": 0,
"65": 0,
"66": 0,
"67": 0,
"68": 0,
"69": 0,
"70": 0,
"71": 0,
"72": 0,
"73": 0,
"74": 0,
"75": 0,
"76": 0,
"77": 0,
"78": 0,
"79": 0,
"80": 0,
"81": 0,
"82": 0,
"83": 0,
"84": 0,
"85": 0,
"86": 0,
"87": 0,
"88": 0,
"89": 0,
"90": 0,
"91": 0,
"92": 0,
"93": 0,
"94": 0,
"95": 0,
"96": 0,
"97": 0,
"98": 0,
"99": 0,
"100": 0,
"101": 0,
"102": 0,
"103": 0,
"104": 0,
"105": 0,
"106": 0,
"107": 0,
"108": 0,
"109": 0,
"110": 0,
"111": 0,
"112": 0,
"113": 0,
"114": 0,
"115": 0,
"116": 0,
"117": 0,
"118": 0
"1": -1,
"2": -1,
"3": -1,
"4": -1,
"5": -1,
"6": -1,
"7": -1,
"8": -1,
"9": -1,
"10": -1,
"11": -1,
"12": -1,
"13": -1,
"14": -1,
"15": -1,
"16": -1,
"17": -1,
"18": -1,
"19": -1,
"20": -1,
"21": -1,
"22": -1,
"23": -1,
"24": -1,
"25": -1,
"26": -1,
"27": -1,
"28": -1,
"29": -1,
"30": -1,
"31": -1,
"32": -1,
"33": -1,
"34": -1,
"35": -1,
"36": -1,
"37": -1,
"38": -1,
"39": -1,
"40": -1,
"41": -1,
"42": -1,
"43": -1,
"44": -1,
"45": -1,
"46": -1,
"47": -1,
"48": -1,
"49": -1,
"50": -1,
"51": -1,
"52": -1,
"53": -1,
"54": -1,
"55": -1,
"56": -1,
"57": -1,
"58": -1,
"59": -1,
"60": -1,
"61": -1,
"62": -1,
"63": -1,
"64": -1,
"65": -1,
"66": -1,
"67": -1,
"68": -1,
"69": -1,
"70": -1,
"71": -1,
"72": -1,
"73": -1,
"74": -1,
"75": -1,
"76": -1,
"77": -1,
"78": -1,
"79": -1,
"80": -1,
"81": -1,
"82": -1,
"83": -1,
"84": -1,
"85": -1,
"86": -1,
"87": -1,
"88": -1,
"89": -1,
"90": -1,
"91": -1,
"92": -1,
"93": -1,
"94": -1,
"95": -1,
"96": -1,
"97": -1,
"98": -1,
"99": -1,
"100": -1,
"101": -1,
"102": -1,
"103": -1,
"104": -1,
"105": -1,
"106": -1,
"107": -1,
"108": -1,
"109": -1,
"110": -1,
"111": -1,
"112": -1,
"113": -1,
"114": -1,
"115": -1,
"116": -1,
"117": -1,
"118": -1
},
"minimumScore": 1,
"reverseSorting": false,

View File

@@ -39,12 +39,12 @@ def bestSelection(select):
# Filter out element tuples that don't have both with scores
if config['noNegatives']:
posi = list(filter(lambda item : hasNegatives(item), posi))
# Filter out elements that do not meet the minimum set
# Filter out elements that do not meet the minimum/maximum set
posi = list(filter(lambda item : scoreSum(item)[0] >= config['minimumScore'], posi))
# Sort the elements by the sum of their scores
posi.sort(key=lambda item : scoreSum(item), reverse=not config['reverseSorting'])
string1 = '[Best Elements for Element {}, {}]'.format(select, mdv.element(select).name)
string1 = '[Best Elements for Element {}, {}]'.format(select, mdv.element(select).name if config['fullPrint'] else mdv.element(select.symbol))
string2 = '\n'.join([formatting(element1, element2) for element1, element2 in posi])
return string1, string2 or '\t{No elements matched the configuration specified}'