tModLoader Architect NPC - Buy Building Materials

Solitaire

Terrarian
KR4EPEz.png


Architect NPC Mod v1.0.2 for tModLoader v0.11.4

AnFik5L.png

I am proud to bring you my second mod: Architect NPC!

About:
Adds a new town NPC called the Architect. They sell building materials like wood, stone, dirt, and other nonrenewable or difficult to get materials.

To get the Architect to spawn, defeat the Eye of Cthulhu.

zT0Ql79.png


5SbIO0M.png

All prices are fully customizable, able to be changed from the mod config menu.

Meant to be an addon to Helpful NPCs by Caseratis, but it can be used on its own without any issues.

For a complete NPC experience, I'd recommend combining this mod with Helpful NPCs by Caseratis and Just Another Alchemist NPC by CopperShortsword.

Should be compatible with most (if not all) mods, including Census.

The latest version will always be available on the mod browser.

Release Notes:
v1.0.0 - Initial Release

v1.0.1 - Connected to GitHub

v1.0.2 - Added Census support and added spawn requirement information

Special Thanks:
Big thanks to Itorius and Dark;Light on the tModLoader Discord server for answering questions about the mod config.
 
Last edited:
Your mod conflicts with the Hunger mod that I gave a hotfix to. It's probably to do more with the Hunger mod's compatibility. I was just wondering what your take on what might be causing the crashes I have been experiencing that aren't even being listed in the tmodloader's crash log but the launcher's own crash log.
Code:
8/9/2019 12:45:32 AM
System.ArgumentNullException: This method does not accept null for this parameter.
Parameter name: texture
   at Microsoft.Xna.Framework.Graphics.SpriteBatch.InternalDraw(Texture2D texture, Vector4& destination, Boolean scaleDestination, Nullable`1& sourceRectangle, Color color, Single rotation, Vector2& origin, SpriteEffects effects, Single depth)
   at BaseLibrary.UI.Elements.UILoadingWheel.DrawSelf(SpriteBatch spriteBatch) in BaseLibrary\UI\Elements\UILoadingWheel.cs:line 40
   at BaseLibrary.UI.Elements.BaseElement.Draw(SpriteBatch spriteBatch) in BaseLibrary\UI\Elements\BaseElement.cs:line 250
   at BaseLibrary.UI.Elements.BaseElement.DrawChildren(SpriteBatch spriteBatch) in BaseLibrary\UI\Elements\BaseElement.cs:line 262
   at BaseLibrary.UI.Elements.BaseElement.Draw(SpriteBatch spriteBatch) in BaseLibrary\UI\Elements\BaseElement.cs:line 253
   at BaseLibrary.UI.Elements.BaseElement.DrawChildren(SpriteBatch spriteBatch) in BaseLibrary\UI\Elements\BaseElement.cs:line 262
   at BaseLibrary.UI.Elements.BaseElement.Draw(SpriteBatch spriteBatch) in BaseLibrary\UI\Elements\BaseElement.cs:line 253
   at Terraria.UI.UserInterface.Draw(SpriteBatch spriteBatch, GameTime time)
   at Terraria.Main.DrawMenu(GameTime gameTime)
   at Terraria.Main.DoDraw(GameTime gameTime)
   at Terraria.Main.Draw(GameTime gameTime)
   at Microsoft.Xna.Framework.Game.DrawFrame()
   at Microsoft.Xna.Framework.Game.Tick()
   at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
   at Microsoft.Xna.Framework.GameHost.OnIdle()
   at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
   at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
   at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.Run(Form mainForm)
   at Microsoft.Xna.Framework.WindowsGameHost.Run()
   at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
   at Terraria.Program.LaunchGame_()

8/9/2019 12:55:51 AM
System.NullReferenceException: Object reference not set to an instance of an object.
   at Terraria.Star.UpdateStars()
   at Terraria.Main.DrawMenu(GameTime gameTime)
   at Terraria.Main.DoDraw(GameTime gameTime)
   at Terraria.Main.Draw(GameTime gameTime)
   at Microsoft.Xna.Framework.Game.DrawFrame()
   at Microsoft.Xna.Framework.Game.Tick()
   at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
   at Microsoft.Xna.Framework.GameHost.OnIdle()
   at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
   at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
   at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.Run(Form mainForm)
   at Microsoft.Xna.Framework.WindowsGameHost.Run()
   at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
   at Terraria.Program.LaunchGame_()

EDIT: I'm not 100% yet, but I think I've been crashing because I had one of the log files open while running the game. I guess it crashes because it still thinks theirs an instance of it already running and it can't close it so it just ends itself. Only a guess though. It also turns out that I was missing two files 0.o

7mVGFvl.png


nvm, not a hotfix as it causes this crash to occur in the tmodloader server console
Code:
System.NullReferenceException: Object reference not set to an instance of an object.
   at DestructibleTiles.MultiHitTile.TileDataManager.Finalize()Sandboxing: Hunger
 
Last edited:
Hello,

How do you get the Architect to spawn? I don't see it in the description, nor does Census (see second post on this thread: tModLoader - Census - Town NPC Checklist) have any info on the requirements. I'm in a multiplayer server, if that makes a difference.

Edit: Looked through the github source, I see it's after a boss is killed. I recommend adding that to the OP and possibly through Census, just so there's no confusion.
 
Last edited:
Hello,

How do you get the Architect to spawn? I don't see it in the description, nor does Census (see second post on this thread: tModLoader - Census - Town NPC Checklist) have any info on the requirements. I'm in a multiplayer server, if that makes a difference.

Edit: Looked through the github source, I see it's after a boss is killed. I recommend adding that to the OP and possibly through Census, just so there's no confusion.

Sorry for the late reply, but I added information in the description and mod thread, and I also added Census support. Thanks for bringing the issue up!
 
Back
Top Bottom