Code Monkey home page Code Monkey logo

terracustom's Introduction

TerraCustom

About

TerraCustom is a tool for Terraria that facilitates custom Terraria world generation. TerraCustom aims to allow users to experience worlds that can be varied and tweaked to personal preference for novel Terraria experiences.

Download and installation instructions are on the forums thread.

Forums Thread

Contributing

Coding Guidelines

A huge goal of TerraCustom is to have the code generate exactly the same if no user options are selected. Any code changes must respect this guideline.

Getting the TerraCustom code

If you want to contribute to this project, you'll want to clone the repository on your computer and then run setup.bat to decompile Terraria and apply the TerraCustom patches. The patcher works with the steam Windows version.

Warning: decompiling will probably freeze your computer for a couple of hours. So you'll need to find something to do in real life until that's done.

When that's all done, you should have the TerraCustom source in the src folder. Open the solutions folder then open the TerraCustom solution. Look at how other sliders and settings are coded up and follow the same pattern.

Committing changes

So you've made some changes to TerraCustom and want to commit them. Run setup.bat again, then (Important) click on Format Code. Select the src/TerraCustom folder, then wait a bit for it to format. When that's done, click on Diff TerraCustom. This will create patch files with the changes you've made. Finally, all you'll need to do is commit the patches folder.

Huge thanks to ChickenBones for creating the code patcher!

terracustom's People

Contributors

arrenton avatar dierney avatar javidpack avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

terracustom's Issues

Mods that generate too many chests cause unhandled exception.

FakeEdit: The crash still happens, but I think it's a problem with handling overgeneration of chests rather than anything specific to Thorium. I imagine this would happen with any mod that added craptons of items and possibly generated chests in places where it might not be expected.


I'm getting a crash when I attempt to build a world. I have many mods installed, but the one which seems to be part of the problem is Thorium.

Below is the Windows crash I get:

Problem signature:
  Problem Event Name:	CLR20r3
  Problem Signature 01:	TerraCustom v0.5.4.exe
  Problem Signature 02:	1.3.5.1
  Problem Signature 03:	5b6d15b4
  Problem Signature 04:	Terraria
  Problem Signature 05:	1.3.5.1
  Problem Signature 06:	5b6d15b4
  Problem Signature 07:	6a1
  Problem Signature 08:	0
  Problem Signature 09:	System.StackOverflowException
  OS Version:	6.1.7601.2.1.0.256.48
  Locale ID:	1033
  Additional Information 1:	199c
  Additional Information 2:	199cc907df8a4654c8ebf31545ec3b64
  Additional Information 3:	ac93
  Additional Information 4:	ac932fb721b478be6e53cf5b63cba0e7

I enabled the debug option for "save world after each step," and I have attached the last few steps (as far as I could tell) to the issue. Let me know if you need any of the other steps, or all of them.

Additional troubleshooting as I do it:
Setting the world size to small allows it to generate the world (hmmmm)
Setting the number of cabins in my large world back down to 100% also allows the world to generate (HMMMM)

So I think the ACTUAL issue here is that TerraCustom isn't picking up something about what Thorium (and presumably any other extensive mod) is doing with chests, and doesn't handle it gracefully when it generates more chests.

I seem to recall reading somewhere that there's a literal 1000-chest limit in Terraria, which would explain why it's crashing with a "StackOverflowException"

I imagine the expected behavior would be to gracefully stop worldgen, preferably with an error message that specifies that it's stopping because of too many chests being generated.

Worlds.zip

TerraCustom hangs upon finalizing worldgen [v0.6.1]

Whenever I attempt to generate a 16000 x 2400 world (or anything larger than the vanilla world sizes), whenever the program is actually able to generate the world and not crash from a OutOfMemeory exception, the worldgen always hangs at the last step before finalizing the world. The program itself doesn't hang, as I'm still able to move the cursor around and watch the background scroll by, but from what I've seen from WorldGenPreviewer, the worldgen completely stops (usually at Generating Planetoids, me having Calamity) and doesn't generate anything at all.

[World size is 16000 x 2400, dungeon, beach, and temple set to 200%, all pre-hardmode ores generate at 50%, King Slime, Queen Bee, Eye of Cthulhu, and Skeletron are set to be pre-downed, Stylist, Goblin Mechanic, Barkeep, Tax Collector, and the Angler are set to be already found, backgrounds shouldn't matter much with worldgen, chest spawning is set as normal except for underground cabins [50%], as are the microbiomes, and I've disabled pots.]

I'm not sure if this is a bug or a problem on my part, but help on this particularly tight pickle jar would be much appreciated.

Pyramids spawn double staricase

Every pyramid spawned has two staircases leading down from the treasure room. This has been consistent across numerous world generations and settings. TerraCustom 0.5, Terraria 1.3.5.3

Stuck on Placing Altars

When creating a world, it gets stuck on "Placing Altars"
Is this process just very slow or is something broken?

Nothing larger than Large

I got the extra large worlds enabled and the only ones i see is small, medium and large sized worlds, i dont see any other option to enlarge my possible worlds

TModloader 0.11.6 support

Dear JavidPack,

I'd really like TModLoader 0.11.6 support, as I generate each world I play with a Custom world,
As I really like the ore function :)

Thanks in advance,

iSwampie

Hardmode ores are inverted [0.6.1]

Creating a world with cobalt, orichalcum and titanium actually generates palladium, mythril and adamantite instead.
(I believe you maintain TEdit too, this application has the same problem, by the time you read this there will be an issue opened there too if there hasn't already.)

Readme instructions incorrect for Linux (Steam ver)

Doing everything as the readme says always results in a crash with Steam version (it tries to run the game through Wine or something, even though the game can run without using Proton), which is easily fixable by having the Terraria bash file be modified to run the TerraCustom file instead, like tModLoader does, and then starting Terraria through Steam.

#!/bin/bash

# Move to script's directory
cd "`dirname "$0"`"

# simple forwarder for running tModLoader via steam
bash TerraCustom $@

After that everything works as expected.
Except that selecting Small/Medium/Large in the world size selection before giving the world a name instead of selecting Keep Previous Custom Size, ignores the world parameters set in the following configuration part. That was not expected.

Tested on Arch w KDE Plasma

How to run compiled TerraCustom in linux?

I edited the terracustom source and want to run it in linux. I already ran LinuxRelease in Visual Studio and TerraCustom launched without any issue in Windows. Now i have these files in the LinuxRelease folder:
Untitled
Now my question is: What do I do with them? How can I use them to run the TerraCustom edit in linux?

Test bug report

Is there an existing issue for this?

  • I have searched the existing issues

Version

1.4 Branch

Description

Something happens, etc.

devenv_2021-06-04_15-03-55

Log File

client.log

Steps to reproduce

  1. something
  2. sadf

Expected Behavior

It works

Actual Behavior

Doesn't work

Reproduction frequency

sd

Additional Information

s

Crashed System

Latest TerraCustom (0.6.2) on the previous tModLoader build(0.11.6.1), it informed me to visit tModLoader and get updated, then proceeded to open tModLoader's webpage in Chrome, immediately the game frozen and more and more tabs were opened. Hung the system so badly even task manager couldn't cope to close things down. Until eventually my system had to get smacked with a hard power down.
...

Another test

Is there an existing issue for this?

  • I have searched the existing issues

Version

1.4 Branch

Description

Only this one filled out

Log File

No response

Steps to reproduce

No response

Expected Behavior

No response

Actual Behavior

No response

Reproduction frequency

No response

Additional Information

No response

'Index was outside the bounds of the array' Crash on Worldgen

Getting this error when generating a world with spirt and thorium mods enabled.
Terraria custom seems to crash/throw an error when it gets to the thorium generation (around the aquatic depths).
Due to the crash a world file isn't generated.

https://puu.sh/B3y4d/46f0a9d0c3.png (same as attached image in case this 404s)

Using: terria custom 0.5.3.1
Tmodloader 0.10.1.5
Thorium 1.5.0.3
Spirit 1.3.4.1

this issue doesnt happen in standard tmodloader worldgen so its a terracustom issue with the new thorium update

terracustom v0 5 3 1_2018-07-26_13-10-55

Chinese Translation

We want to use this software and make easier to users. Translating to other language, but so many labels use English in the CS files, I translate the words, and want to make a new "Terraria.exe" THX very much~~~

Mod Configs for tModLoader mods not in correct location,

TerraCustom generates mod settings for all mods in /My Games/Terraria/Mod Configs/ instead of /My Games/Terraria/ModLoader/Mod Configs/, it is not too convenient, can you please fix that? I mean some mods alter world generation, and you want to controll that - you change their .cfg in /My Games/Terraria/ModLoader/Mod Configs/ but TerraCustom generates its own folder with all the .cfg s in it and you have to edit them

unable to generate a modded world

i've been trying to generate a world with mods but terracustom crashes because the mods are for the newest version of tmodloader. i have mods that add ores and a couple of biomes and i would like an xl world with them but because terracustom hasn't been updated in a while it won't work. when do you plan to update terracustom?

Incompatibility with FNA tModLoader 64-bit

When trying to use TerraCustom v0.5.4 with tModloader v0.10.1.5 - tml FNA 64bit you get the following error message:

System.MissingMethodException: Method not found: 'Void ReLogic.OS.Platform.SetWindowUnicodeTitle(Microsoft.Xna.Framework.GameWindow, System.String)'.
   at Terraria.Main.SetTitle()
   at Terraria.Main.Initialize()
   at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
   at Terraria.Program.LaunchGame(String[] args, Boolean monoArgs)

is there a workaround or will I have to wait for an update?
(in theory a potential workaround I might try would be to use a standard tModLoader build to gen the world and then switch to 64bit to play, not yet tested)

Cant Load Mod Biomes, Ores ect. and gets stuck at World Creation

Currently i am Playing Terraria with a few Mods such as Thorium, and Thorium comes with its own Ores as well as a very new Biome. I have used terracustom bevore (without mods) to create my fav worlds and everything worked just fine. Now ive read that i could also use terracustom to create worlds even with mods active and that it should work fine (ive also read that there should be extra settings for mod stuff to choose from) but it doesent seem to work tho. Ive updated the modloader, terra custom as well as all the mods, i also realoaded the mods (in terraria as well as terracustom)- yesterday i tried adound but there werent any settings for mod stuff like ores ect so i thought maybe i just cant choose for those but they doesent get generated as well (ive created some testing worlds with different settings but the new biomes and ores were missing).. today ive read there should be config files from terra custom for mods somewere but i couldnt find any (ive looked in any terraria and modloader realted files but coulndt find any) so i just tried to create another world and now it seems it cant even create worlds- it always gets stuck at the same spot at the creation loading screen screenshot included

now my question is, can i create worlds with mod ores and biomes? im not sure if my internet sourced informations are correct : 'D and im not very skilled at such things either- if yes, what could be the issue here? And what could possible the cause of it getting stuck so suddenly? (i didnt change anyting and i tried mutible generations but with always the same result)

unbenannt

Mod List:

Flying Minions Ignore terrain
Unleveled
Wing Slot
Cheat Sheet
Leveled
Thorium
Customizable RespawnTime
Auto Trash
Wiki Search
Luminite Hammers
Wireless
Magic Storage

Game Version: 1.3.5.2
tModLoader: 0.10.1.1

(i hope ive got everything right xD and everything is understandable since english isnt my native language)

Too many bars added in chests.

I know this application is outdated although I can't figure out why there are additional bars in chests. This applies to every type of chest & for every ore. I created a small corrupted world with no added mods. I haven't tampered with any settings in the generation process neither. This is a vanilla 1.3 terraria world. In the screenshot below there are 4 iron bars - which looks normal at first - but there appears to be another 33 bars beneath it. I've tried reinstalling the application & have used different versions although the outcome is the same. Any ideas as to why this is happening?

image

Double pyramids

Double pyramid staircase leading down from pyramid treasure room. Single and multiple pyramids all exhibit this.

In TerraCustom 0.5.1 I have tried default settings and previously saved setting with Tmod 0.10.0.1 for Terraria 1.3.5.2. It also happens with Vanilla Terraria 1.3.5.3.

The img was taken of TEdit v3.10

capture

[crash] minValue must be less than maxValue

OS: Windows 10
TerraCustom: 0.5.3.1
Terraria: 1.3.5.3
tModLoader: 0.10.1.5
Mods enabled: WorldGen Previewer

myConfig

Parameter name: minValue
   at Terraria.Utilities.UnifiedRandom.Next(Int32 minValue, Int32 maxValue)
   at Terraria.WorldGen.<>c.<generateWorld>b__261_27(GenerationProgress progress)
   at Terraria.GameContent.Generation.PassLegacy.Apply(GenerationProgress progress)
   at Terraria.World.Generation.WorldGenerator.GenerateWorld(GenerationProgress progress)
   at Terraria.WorldGen.generateWorld(Int32 seed, GenerationProgress customProgressObject)
   at Terraria.WorldGen.do_worldGenCallBack(Object threadContext)
   at Terraria.WorldGen.worldGenCallBack(Object threadContext)

Suggestion:
if (minValue >= maxValue) { minValue = Maxvalue - 1; }

Any help would be greatly appreciated.

TerraCustom settings file management

Is there an existing issue for this?

  • I have searched the existing issues

Version

Official Release

Description

terracustom creates folder in documents...Terraria\TerraCustom which is ok

issues:
creates "mods" in Terraria folder instead (outside of TerraCustom folder
apparently accesses and changes config files from Terraria\ModLoader which causes issues if modloader can load outdated/newer mods terracustom cant

changes:
create and access all files from within TerraCustom folder

Log File

No response

Steps to reproduce

No response

Expected Behavior

No response

Actual Behavior

No response

Reproduction frequency

No response

Additional Information

No response

16000x4800 world Does not generate.

I Have adjusted the slider for the chests so that it won't fail, but it still fails. The fact that this is coded in 32 bit means it is limited, I'm not going over the reasons because it will bore you, let me cut to the chase. I'm sure you are aware of the 64 bit release of t mod loader, If you created this in 64 bit The community could create almost infinitely big worlds, and the limit of 16000x4800 could be brocken as well as the chest limit because I know each item in the chests stores mutiple KB of data that have to be loaded into memory.

I know platform is for mainly issues.

I do not wish to disturb you while making new content or taking a break, I am only trying to suggest the limitation, and I hope you can understand my point.

Kind regards
Josh

More steps are required than what is listed in the Mac readme to get a functional application.

Is there an existing issue for this?

  • I have searched the existing issues

Version

Official Release

Description

When you follow the rules to open the app and provide the specified file with admin privileges (the TerraCustom file) the app will still never open. This is because behind the scenes it still cannot open a file it needs and immediately throws an exception. This file is TerraCustom.bin.osx. It is simply fixed by also giving this specific file the same privileges the readme lists that you should give the TerraCustom file. My issue is that the readme does not say such, and therefore it could confuse people who would otherwise not know.

Log File

No response

Steps to reproduce

  1. Download the mac version
  2. Try to open it (it will say you need permissions)
  3. Follow the step listed in the readme
  4. Observe that the nothing will happen when the app opens

Expected Behavior

The readme should state to give permissions to both these files. (Both the TerraCustom and TerraCustom.bin.osx files)

Actual Behavior

The readme only states to give permission to one of the two required files.

Reproduction frequency

Every time I newly download the file.

Additional Information

No response

Crimson with Corruption Chasms, but have the chasm amount to zero

"Jopo, for reference, it WILL lock on world creation, if you have a world set to be Crimson with Corruption Chasms, but have the chasm amount to zero (I wanted both evils' chests to spawn in the dungeon, but no actual corruption). It just stops at the point it tries to create the chasms"

No Crimson Hearts in Corruption world with Crimson chasm

Cross-posting the issue from the terraria forums for visibility.

I've generated upwards of 25 worlds with the "Corruption plus Crimson chasm setting" and every one has only shadow orbs. I'm fairly certain this setting is bugged to only generate shadow orbs and no crimson hearts.

I've had some mixed results when generating "Crimson plus Corruption chasm" worlds where it will range from having only hearts to 1:3 ratio of orbs to hearts. It seems to heavily favour generating the type that matches the world type. Can something be done to make both types always generate both types of orbs/hearts, or even the option to favour one over the other? I don't care much if they generate in their respective biome or are mixed together but I feel this is the main issue with creating worlds with both.

Another possibly related issue is on any world with both crimson and corruption, corruption seems to be generated after the crimson regardless which of the options for both are selected. Oftentimes the corruption overlaps the crimson and so the crimson chasm gets blocked. I think due to the design of the crimson chasm it should be generated after the corruption because it only has one entrance on the surface and can overlap the corruption without as much of an issue. Of course this could also be an option if people like the way it's currently generated.

Can't find Fonts\Item_Stack even though it exists


Terraria: Error

Microsoft.Xna.Framework.Content.ContentLoadException: Error loading "Fonts\Item_Stack". Cannot find ContentTypeReader ReLogic.Graphics.DynamicSpriteFontReader, ReLogic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.

at Microsoft.Xna.Framework.Content.ContentTypeReaderManager.InstantiateTypeReader(String readerTypeName, ContentReader contentReader, ContentTypeReader& reader)

at Microsoft.Xna.Framework.Content.ContentTypeReaderManager.GetTypeReader(String readerTypeName, ContentReader contentReader, List`1& newTypeReaders)

at Microsoft.Xna.Framework.Content.ContentTypeReaderManager.ReadTypeManifest(Int32 typeCount, ContentReader contentReader)

at Microsoft.Xna.Framework.Content.ContentReader.ReadHeader()

at Microsoft.Xna.Framework.Content.ContentReader.ReadAssetT

at Microsoft.Xna.Framework.Content.ContentManager.ReadAsset[T](String assetName, Action`1 recordDisposableObject)

at Microsoft.Xna.Framework.Content.ContentManager.Load[T](String assetName)

at Terraria.Main.OurLoad[T](String path)

at Terraria.Main.LoadFonts()

at Terraria.Main.LoadContent()

at Microsoft.Xna.Framework.Game.Initialize()

at Terraria.Main.Initialize()

at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)

at Terraria.Program.LaunchGame(String[] args)

OK

I've tried verifying the game cache and reinstalling both TerraCustom and Terraria, but nothing seems to fix this issue. The Item_Stack.xnb file does exist.

smashaltar needs original parameters

Is there an existing issue for this?

  • I have searched the existing issues

Version

Official Release

Description

Some IL expects the method, such as calamity

Log File

No response

Steps to reproduce

No response

Expected Behavior

No response

Actual Behavior

No response

Reproduction frequency

No response

Additional Information

No response

System Missing method exception

Hi there again, I am getting this issue whenever I launch the actual application, I have followed the install intructions in the readme.txt and I am still having issues trying to get this to work
image

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.