diff --git a/eid_config.lua b/eid_config.lua index 60b8f4c2..64c596ec 100644 --- a/eid_config.lua +++ b/eid_config.lua @@ -371,6 +371,7 @@ EID.UserConfig = { -- Display modes for the Bag of Crafting display -- Options: "Recipe List", "Preview Only", "Item Probability", "Pickups Only" -- The "Recipe List" is a detailed calculated list of recipes based on what you have available on the floor + -- "Learned Recipe List" only shows you recipes that you have discovered during that run, plus fixed recipes -- "Preview Only" shows the description of the item you can currently craft in your bag -- "Item Probability" shows percentages of what item you might get from your bag / best option on the floor, for a more intended experience -- "Pickups Only" just shows the room/floor pickup count @@ -382,6 +383,11 @@ EID.UserConfig = { -- Show the text for the Hide/Preview and Recipe List hotkeys -- Default = true ["BagOfCraftingShowControls"] = true, + -- Sort bag recipes by quality and then alphabetically (to prioritize the best possible crafts), + -- or just alphabetically (to more easily find specific items if you don't know their quality) + -- Options: "Quality", "Name" + -- Default = "Quality" + ["BagOfCraftingSortOrder"] = "Quality", -- Changes the amount of results shown in the Bag of Crafting description -- Higher numbers can cause more lag! -- Default = 7 @@ -587,6 +593,7 @@ EID.DefaultConfig = { ["BagOfCraftingResults"] = 7, ["BagOfCraftingCombinationMax"] = 12, ["BagOfCraftingRandomResults"] = 400, + ["BagOfCraftingSortOrder"] = "Quality", ["BagOfCraftingDisplayNames"] = false, ["BagOfCraftingDisplayIcons"] = false, ["BagOfCraftingHideInBattle"] = true, diff --git a/eid_mcm.lua b/eid_mcm.lua index 9501d0d0..1ec6a93b 100644 --- a/eid_mcm.lua +++ b/eid_mcm.lua @@ -40,9 +40,9 @@ end local function renderDummyBagOfCraftingDesc() EID.bagPlayer = Isaac.GetPlayer(0) - EID.BoC.BagItemsOverride = {15,15,5,1,10} - EID.BoC.RoomOverride = {8,8,8,9} - EID.BoC.FloorOverride = {1,1,1,3,4,8,8,8,9} + EID.BoC.BagItemsOverride = {15,15,5,1,10,8,8,9} + EID.BoC.RoomOverride = {8,8,9} + EID.BoC.FloorOverride = {1,1,1,3,4,8,8} EID.BoC.InventoryOverride = {21,22} EID.RefreshBagTextbox = true local craftingSuccess = EID:handleBagOfCraftingRendering(true) @@ -626,9 +626,9 @@ if MCMLoaded then EID:AddNumberSetting("Crafting", "DisplayBagOfCrafting", "Show Display", 1, #bagDisplays, { displayingTab = "Crafting", indexOf = bagDisplays, infoText = {"Always = Always show Results", "Hold = Show when holding up bag", "Never = Disable Bag of Crafting feature"}}) -- Bag of Crafting Display Mode - local bagDisplayModes = {"Recipe List","Item Probability","Preview Only","Pickups Only"} + local bagDisplayModes = {"Recipe List", "Learned Recipe List","Item Probability","Preview Only","Pickups Only"} EID:AddNumberSetting("Crafting", "BagOfCraftingDisplayRecipesMode", "Display Mode", 1, #bagDisplayModes, { indexOf = bagDisplayModes, - infoText = {"Toggle showing a list of recipes, an item preview when bag is full, what item pool/quality you might get, or only the floor pickups"}}) + infoText = {"Toggle showing list of recipes, recipes you've learned, what item pool/quality you might get, item preview when bag is full, or only floor pickups"}}) -- Bag of Crafting Hide in Battle EID:AddBooleanSetting("Crafting", "BagOfCraftingHideInBattle", "Hide in Battle", {onText = "Yes", offText = "No", @@ -643,7 +643,21 @@ if MCMLoaded then MCM.AddSpace("EID", "Crafting") MCM.AddText("EID", "Crafting", function() return "Recipe List Options" end) - + + -- Bag of Crafting item names + local bagSortTypes = {"Quality", "Name"} + EID:AddNumberSetting("Crafting", "BagOfCraftingSortOrder", "Sort Recipes by", 1, #bagSortTypes, + { indexOf = bagSortTypes, infoText = "Sort the recipe list by quality + name, or just name", onChangeFunc = + function(currentNum) + EID.MCM_OptionChanged = true + EID.BoC.SortNeeded = true + EID.Config["BagOfCraftingSortOrder"] = bagSortTypes[currentNum] + end}) + + -- Bag of Crafting item names + EID:AddBooleanSetting("Crafting", "BagOfCraftingDisplayNames", "Show Item Names", + { infoText = "If on, each recipe result takes two lines, one for the item name, one for the recipe"}) + -- Bag of Crafting results per page local bagSteps = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} EID:AddScrollSetting("Crafting", "BagOfCraftingResults", "Displayed Recipes", bagSteps, @@ -659,10 +673,6 @@ if MCMLoaded then EID:AddScrollSetting("Crafting", "BagOfCraftingRandomResults", "Random Calculations", calcSteps, { infoText = "An additional X number of randomly chosen recipes will be checked, changing each pickup spawn/despawn or refresh"}) - -- Bag of Crafting item names - EID:AddBooleanSetting("Crafting", "BagOfCraftingDisplayNames", "Show Item Names", - { infoText = "If on, each recipe result takes two lines, one for the item name, one for the recipe"}) - MCM.AddSpace("EID", "Crafting") EID:AddHotkeySetting("Crafting",