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

View File

@@ -39,12 +39,12 @@ def bestSelection(select):
# Filter out element tuples that don't have both with scores # Filter out element tuples that don't have both with scores
if config['noNegatives']: if config['noNegatives']:
posi = list(filter(lambda item : hasNegatives(item), posi)) 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)) posi = list(filter(lambda item : scoreSum(item)[0] >= config['minimumScore'], posi))
# Sort the elements by the sum of their scores # Sort the elements by the sum of their scores
posi.sort(key=lambda item : scoreSum(item), reverse=not config['reverseSorting']) 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]) string2 = '\n'.join([formatting(element1, element2) for element1, element2 in posi])
return string1, string2 or '\t{No elements matched the configuration specified}' return string1, string2 or '\t{No elements matched the configuration specified}'