ZourceGen 1.0.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package ZourceGen --version 1.0.2
                    
NuGet\Install-Package ZourceGen -Version 1.0.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ZourceGen" Version="1.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ZourceGen" Version="1.0.2" />
                    
Directory.Packages.props
<PackageReference Include="ZourceGen" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ZourceGen --version 1.0.2
                    
#r "nuget: ZourceGen, 1.0.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ZourceGen@1.0.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ZourceGen&version=1.0.2
                    
Install as a Cake Addin
#tool nuget:?package=ZourceGen&version=1.0.2
                    
Install as a Cake Tool

ZourceGen

An attempt at a rather verbose tModLoader asset generator; similar to that of Scalar's AssGen

Asset Generation

Generated files will be placed into the {YourModName}.GeneratedAssets namespace.

An impl of LazyAsset<T> will be used for all asset handling within generated files, this type will implicity convert to either an Asset<T> or T if needed.

Textures (.png)

Textures will be placed into a static Textures class in each namespace with actual textures.

Effects (.fxc/.xnb/Shaders)

Effects will be placed in their own static class with wrapper properties for each parameter in the shader; effects will still be generated regardless of the method used to compile them, (thanks tomat.)

Models (.obj/3D Models)

Models will have types similar to that of effects, however models will not be loaded by default. To have models load correctly you can must manually load the OBJModelReader class from your mod's class;

Example:

public override IContentSource CreateDefaultContentSource()
{
        // Assets should not be loaded on the server.
    if (!Main.dedServ)
        AddContent(new OBJModelReader());

    return base.CreateDefaultContentSource();
}

Implementation

This project is now available as a nuget package, implementation is as simple as referencing ZourceGen as an an analyzer.

Example:

<ItemGroup>
    
    <AdditionalFiles Include="Assets\**" />
    <PackageReference Include="ZourceGen" Version="1.0.1" ReferenceOutputAssembly="false" OutputItemType="Analyzer" />
</ItemGroup>
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.8 227 11/9/2025
1.1.7 218 11/9/2025
1.1.6 204 10/28/2025
1.1.5 208 10/27/2025
1.1.4 158 10/26/2025
1.1.3 160 10/26/2025
1.1.2 162 10/26/2025
1.1.1 125 10/25/2025
1.1.0 173 10/24/2025
1.0.3 140 10/11/2025
1.0.2 131 10/11/2025
1.0.1 116 10/11/2025
1.0.0 114 10/11/2025