tModLoader Research from 1.4 in Terraria 1.3.5

the game crashed with following stack traces in the Log file.
I understand I'm using a lot of mods and this may not caused by your mod even though it it says is, Just put here because maybe this can help you improve the mod.
Code:
[02:01:02] [29/WARN] [tML]: Silently Caught Exception:
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.KeyCollection.Enumerator.MoveNext()
   at ResearchFrom14.Common.ResearchPlayer.fillItemsFromCraftingInteractions() at ResearchFrom14\Common\ResearchPlayer.cs:line 736
   at ResearchFrom14.Common.ResearchPlayer.refreshResearch() at ResearchFrom14\Common\ResearchPlayer.cs:line 689
   at System.Threading.Tasks.Task.Execute()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
   at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
 
Hello

Great mod, I've been using it for a while. Was wondering if you could add the option to sort by category instead of alphabetical, so things like ores would be grouped together, just like in 1.4.

Thanks
 
Hello there i have noticed that in my modded playthrouth omni potion doesnt work after i get some fish , not sure what exactly is the problem but maybe the multiple amount of items giving well-fed buff

here is what the game gives me when i try to appy it

(sorry for Polish language )

[12:44:58] [31/WARN] [tML]: Silently Caught Exception:
System.InvalidOperationException: Zmodyfikowano kolekcję. Nie można wykonać operacji wyliczania.(cant run operation)
w System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
w System.Collections.Generic.Dictionary`2.KeyCollection.Enumerator.MoveNext()
w ResearchFrom14.Common.ResearchPlayer.fillItemsFromCraftingInteractions() w ResearchFrom14\Common\ResearchPlayer.cs:wiersz 736 (line)
w ResearchFrom14.Common.ResearchPlayer.fillItemsFromCraftingInteractions() w ResearchFrom14\Common\ResearchPlayer.cs:wiersz 736
w ResearchFrom14.Common.ResearchPlayer.fillItemsFromCraftingInteractions() w ResearchFrom14\Common\ResearchPlayer.cs:wiersz 736
w ResearchFrom14.Common.ResearchPlayer.fillItemsFromCraftingInteractions() w ResearchFrom14\Common\ResearchPlayer.cs:wiersz 736
w ResearchFrom14.Common.ResearchPlayer.fillItemsFromCraftingInteractions() w ResearchFrom14\Common\ResearchPlayer.cs:wiersz 736
w ResearchFrom14.Common.ResearchPlayer.fillItemsFromCraftingInteractions() w ResearchFrom14\Common\ResearchPlayer.cs:wiersz 736
w ResearchFrom14.Common.ResearchPlayer.fillItemsFromCraftingInteractions() w ResearchFrom14\Common\ResearchPlayer.cs:wiersz 736
w ResearchFrom14.Common.ResearchPlayer.fillItemsFromCraftingInteractions() w ResearchFrom14\Common\ResearchPlayer.cs:wiersz 736
w ResearchFrom14.Common.ResearchPlayer.fillItemsFromCraftingInteractions() w ResearchFrom14\Common\ResearchPlayer.cs:wiersz 736
w ResearchFrom14.Common.ResearchPlayer.fillItemsFromCraftingInteractions() w ResearchFrom14\Common\ResearchPlayer.cs:wiersz 736
w ResearchFrom14.Common.ResearchPlayer.fillItemsFromCraftingInteractions() w ResearchFrom14\Common\ResearchPlayer.cs:wiersz 736
w ResearchFrom14.Common.ResearchPlayer.fillItemsFromCraftingInteractions() w ResearchFrom14\Common\ResearchPlayer.cs:wiersz 736
w ResearchFrom14.Common.ResearchPlayer.fillItemsFromCraftingInteractions() w ResearchFrom14\Common\ResearchPlayer.cs:wiersz 736
w ResearchFrom14.Common.ResearchPlayer.refreshResearch() w ResearchFrom14\Common\ResearchPlayer.cs:wiersz 689
w System.Threading.Tasks.Task.Execute()
w System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
w System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
w System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
w System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
w System.Threading.ThreadPoolWorkQueue.Dispatch()
 
okay, i can't for the life of me figure out how to favorite items, i've tried everything i can think of, any help would be appreciated, thanks. EDIT: middle-click does nothing.
 
Last edited:
I looked around, and there is no rule for recreating content from newer versions in older versions, so I decided to make this mod.

Using my Rare Item Swap mod as a backbone, and the Journey mode Research system as a base for the content, I managed to create a working version of the Research system from Terraria 1.4 for tModLoader.

The mod adds an Hotkey that only works if the inventory is open (by default "Add"). Once you press it, you will be greeted with this screen:
View attachment 272042

Like I said before, the UI is a copy of the Rare Item Swap UI, with a twist: under the "Research Item" Slot and above the Category select is the amount of items you still need to research the item.

View attachment 272043View attachment 272044
Place an item in the Research Slot (shift-clicking will work) and then press the research button. This will add the item stack to the Researched table. If you have enough researched then...
View attachment 272045
You will research the item. The remainder will be kept safe in the Research Slot.
By default, this will also unlock all items you can craft with that item, or using that item as a crafting station. This can be disabled in the config.

In order to make it the most mod-compatible possible, this system tries to group items together and give them a token research value. By default, those are:
- Items with max stack 1 will require 1 item to research. Base values will never be higher than their max stack.
- Quest-rarity items (Quest fish and Strange plants in vanilla) have a requirement of 2 pieces.
- Coins require 100 of each, while custom currencies (as long as they are registered as a currency) take 50.
- Walls require 400.
- Acorns require 50.
- Items that placed take more than 1 tile are considered furniture, and require 1 piece.
- Exception being items whose name ends with "Crate", that require 10. This is done to make Fishing Crates require 10 of each.
- Items placeable on tables even with 1x1 size will be considered furniture, and require 1 each. This includes the Bottle.
- Platforms require 200 if they can be crafted, 20 otherwise.
- Items that place tiles ended in " Bar" require 25. This was made so that Metal bars require 25 to craft.
- Items that place tiles ended in " Seed" or " Seeds" require 25 as well.
- All other tiles require 100 each to research. This includes most building blocks, woods and others.
- Life crystals, Mana crystals and life fruits require 10 pieces to be researched.
- Fallen stars require 20
- Boss bags and Boss summon items require 3 to be researched. This mod includes an experimental feature to detect mod summon items based on use style, use time and max stack. It it not working as intended, feel free to disable it in the config.
- Critters and bait require 5.
- Dyes and dye materials require 3. It checks if it is a dye material by checking recipes results for dyes.
- Items that grant buffs (potions and food) require 20 to be researched.
- Healing and mana recovery items require 30 to research.
- Ammo and stackable weapons require either 99 or their max stack to research.
- If it doesn't fit in any other place, it requires 25 to be researched. This includes most materials and drops.

Don't like this research amounts? You can change that! The first mod config adds an option to multiply all research counts by any multiple of 0.2, so you can change the research amounts from 20% of the original to 10000% of the original. Setting this value to 0 will make all items require 1 to be researched.

Also included is a config that allows you to set custom values to items from any mod. Use this to correct items values or set them to your liking. You can also add them to any category you want as well.

Q&A
Q: Will this mod be updated when tModLoader reaches Terraria 1.4?
A: No. This mod is just for Terraria 1.3.5.x. I will make a mod that enables the recipe-based research for 1.4 however.

Q: Will you backport X feature from 1.4 as well?
A: I have no intention to backport any other feature. This includes the rest of the Journey mode powers.
so, how do you fav items?
 
Back
Top Bottom