Initial project scaffold for VS Vineyard mod

Sets up C# .NET 8 project with modinfo.json, ModSystem entry point,
full asset directory structure, .gitignore, and README.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Tim Riddell
2026-03-26 20:30:24 +13:00
commit 7033595a90
6 changed files with 184 additions and 0 deletions

39
VSVineyard.csproj Normal file
View File

@@ -0,0 +1,39 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<AssemblyName>VSVineyard</AssemblyName>
<RootNamespace>VSVineyard</RootNamespace>
<Version>0.1.0</Version>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<!-- Reference the Vintage Story API DLLs from the game installation directory.
Set the VINTAGE_STORY environment variable to your game install path.
Linux default: ~/.local/share/vintagestory
Windows default: C:\Users\<you>\AppData\Roaming\VintagestoryData -->
<ItemGroup>
<Reference Include="VintagestoryAPI">
<HintPath>$(VINTAGE_STORY)/VintagestoryAPI.dll</HintPath>
<Private>false</Private>
</Reference>
<Reference Include="VSSurvivalMod">
<HintPath>$(VINTAGE_STORY)/Mods/VSSurvivalMod.dll</HintPath>
<Private>false</Private>
</Reference>
</ItemGroup>
<!-- Copy assets into build output for Release packaging -->
<ItemGroup>
<None Include="resources/**" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
<!-- On Release build, zip everything into a distributable mod file -->
<Target Name="PackMod" AfterTargets="Build" Condition="'$(Configuration)' == 'Release'">
<ItemGroup>
<ModFiles Include="$(OutputPath)/**" Exclude="$(OutputPath)/*.pdb;$(OutputPath)/**/*.pdb" />
</ItemGroup>
<MakeDir Directories="releases" />
<ZipDirectory SourceDirectory="$(OutputPath)" DestinationFile="releases/vsvineyard-$(Version).zip" Overwrite="true" />
</Target>
</Project>