diff --git a/.gitignore b/.gitignore index c60f361..8e4f89c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,675 @@ -bin/ -obj/ -src/obj/ -test/obj/ -Build/CakeBuild/bin/ -Build/CakeBuild/obj/ -Build/Releases/ +# Created by https://www.toptal.com/developers/gitignore/api/csharp,visualstudio,visualstudiocode,rider +# Edit at https://www.toptal.com/developers/gitignore?templates=csharp,visualstudio,visualstudiocode,rider + +### Csharp ### +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +*.sln.iml + +### Rider ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# AWS User-specific +.idea/**/aws.xml + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# SonarLint plugin +.idea/sonarlint/ + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### VisualStudioCode ### +!.vscode/*.code-snippets + +# Local History for Visual Studio Code + +# Built Visual Studio Code Extensions +*.vsix + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +### VisualStudio ### + +# User-specific files + +# User-specific files (MonoDevelop/Xamarin Studio) + +# Mono auto generated files + +# Build results + +# Visual Studio 2015/2017 cache/options directory +# Uncomment if you have tasks that create the project's static files in wwwroot + +# Visual Studio 2017 auto generated files + +# MSTest test Results + +# NUnit + +# Build Results of an ATL Project + +# Benchmark Results + +# .NET Core + +# ASP.NET Scaffolding + +# StyleCop + +# Files built by Visual Studio + +# Chutzpah Test files + +# Visual C++ cache files + +# Visual Studio profiler + +# Visual Studio Trace Files + +# TFS 2012 Local Workspace + +# Guidance Automation Toolkit + +# ReSharper is a .NET coding add-in + +# TeamCity is a build add-in + +# DotCover is a Code Coverage Tool + +# AxoCover is a Code Coverage Tool + +# Coverlet is a free, cross platform Code Coverage Tool + +# Visual Studio code coverage results + +# NCrunch + +# MightyMoose + +# Web workbench (sass) + +# Installshield output folder + +# DocProject is a documentation generator add-in + +# Click-Once directory + +# Publish Web Output +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted + +# NuGet Packages +# NuGet Symbol Packages +# The packages folder can be ignored because of Package Restore +# except build/, which is used as an MSBuild target. +# Uncomment if necessary however generally it will be regenerated when needed +# NuGet v3's project.json files produces more ignorable files + +# Microsoft Azure Build Output + +# Microsoft Azure Emulator + +# Windows Store app package directories and files + +# Visual Studio cache files +# files ending in .cache can be ignored +# but keep track of directories ending in .cache + +# Others + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) + +# RIA/Silverlight projects + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) + +# SQL Server files + +# Business Intelligence projects + +# Microsoft Fakes + +# GhostDoc plugin setting file + +# Node.js Tools for Visual Studio + +# Visual Studio 6 build log + +# Visual Studio 6 workspace options file + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) + +# Visual Studio 6 technical files + +# Visual Studio LightSwitch build output + +# Paket dependency manager + +# FAKE - F# Make + +# CodeRush personal settings + +# Python Tools for Visual Studio (PTVS) + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio + +# Telerik's JustMock configuration file + +# BizTalk build output + +# OpenCover UI analysis results + +# Azure Stream Analytics local run output + +# MSBuild Binary and Structured Log + +# NVidia Nsight GPU debugger configuration file + +# MFractors (Xamarin productivity tool) working folder + +# Local History for Visual Studio + +# Visual Studio History (VSHistory) files + +# BeatPulse healthcheck temp database + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 + +# Ionide (cross platform F# VS Code tools) working folder + +# Fody - auto-generated XML schema + +# VS Code files for those working on multiple tools + +# Local History for Visual Studio Code + +# Windows Installer files from build outputs + +# JetBrains Rider + +### VisualStudio Patch ### +# Additional files built by Visual Studio + +# End of https://www.toptal.com/developers/gitignore/api/csharp,visualstudio,visualstudiocode,rider \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..7898877 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,6 @@ +{ + "recommendations": [ + "ms-dotnettools.csdevkit", + "ms-dotnettools.csharp" + ] +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..18989b9 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,65 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Launch Client (Debug)", + "type": "coreclr", + "request": "launch", + "program": "${env:VINTAGE_STORY}/Vintagestory.exe", + "linux": { + "program": "${env:VINTAGE_STORY}/Vintagestory" + }, + "osx": { + "program": "${env:VINTAGE_STORY}/Vintagestory" + }, + "preLaunchTask": "build", + "args": [ + // "--playStyle" , "preset-surviveandbuild", + // "--openWorld" , "modding test world", + "--tracelog", + "--addModPath", + "${workspaceFolder}/detailedanimals/bin/Debug/Mods", + "--addOrigin", + "${workspaceFolder}/detailedanimals/assets" + ], + "console": "internalConsole", + "stopAtEntry": false + }, + { + "name": "Launch Server", + "type": "coreclr", + "request": "launch", + "program": "${env:VINTAGE_STORY}/VintagestoryServer.exe", + "linux": { + "program": "${env:VINTAGE_STORY}/VintagestoryServer" + }, + "osx": { + "program": "${env:VINTAGE_STORY}/VintagestoryServer" + }, + "preLaunchTask": "build", + "args": [ + "--tracelog", + "--addModPath", + "${workspaceFolder}/detailedanimals/bin/Debug/Mods", + "--addOrigin", + "${workspaceFolder}/detailedanimals/assets" + ], + "console": "internalConsole", + "stopAtEntry": false + }, + { + "name": "CakeBuild", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build (Cake)", + "program": "${workspaceFolder}/CakeBuild/bin/Debug/net7.0/CakeBuild.dll", + "args": [], + "cwd": "${workspaceFolder}/CakeBuild", + "stopAtEntry": false, + "console": "internalConsole" + } + ] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..95e77c4 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,40 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "build", + "command": "dotnet", + "type": "process", + "args": [ + "build", + "-c", + "Debug", + "${workspaceFolder}/detailedanimals/detailedanimals.csproj" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "package", + "command": "dotnet", + "type": "process", + "args": [ + "run", + "--project", + "${workspaceFolder}/CakeBuild/CakeBuild.csproj" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "build (Cake)", + "command": "dotnet", + "type": "process", + "args": [ + "build", + "-c", + "Debug", + "${workspaceFolder}/CakeBuild/CakeBuild.csproj" + ], + "problemMatcher": "$msCompile" + } + ] +} \ No newline at end of file diff --git a/CakeBuild/CakeBuild.csproj b/CakeBuild/CakeBuild.csproj new file mode 100644 index 0000000..e3faeeb --- /dev/null +++ b/CakeBuild/CakeBuild.csproj @@ -0,0 +1,19 @@ + + + Exe + net8.0 + $(MSBuildProjectDirectory) + + + + + + + + + + + $(VINTAGE_STORY)/VintagestoryAPI.dll + + + \ No newline at end of file diff --git a/CakeBuild/Program.cs b/CakeBuild/Program.cs new file mode 100644 index 0000000..a3eebbf --- /dev/null +++ b/CakeBuild/Program.cs @@ -0,0 +1,120 @@ +using Cake.Common; +using Cake.Common.IO; +using Cake.Common.Tools.DotNet; +using Cake.Common.Tools.DotNet.Clean; +using Cake.Common.Tools.DotNet.Publish; +using Cake.Core; +using Cake.Frosting; +using Cake.Json; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using System; +using System.IO; +using Vintagestory.API.Common; + +namespace CakeBuild +{ + public static class Program + { + public static int Main(string[] args) + { + return new CakeHost() + .UseContext() + .Run(args); + } + } + + public class BuildContext : FrostingContext + { + public const string ProjectName = "detailedanimals"; + public string BuildConfiguration { get; } + public string Version { get; } + public string Name { get; } + public bool SkipJsonValidation { get; } + + public BuildContext(ICakeContext context) + : base(context) + { + BuildConfiguration = context.Argument("configuration", "Release"); + SkipJsonValidation = context.Argument("skipJsonValidation", false); + var modInfo = context.DeserializeJsonFromFile($"../{ProjectName}/modinfo.json"); + Version = modInfo.Version; + Name = modInfo.ModID; + } + } + + [TaskName("ValidateJson")] + public sealed class ValidateJsonTask : FrostingTask + { + public override void Run(BuildContext context) + { + if (context.SkipJsonValidation) + { + return; + } + var jsonFiles = context.GetFiles($"../{BuildContext.ProjectName}/assets/**/*.json"); + foreach (var file in jsonFiles) + { + try + { + var json = File.ReadAllText(file.FullPath); + JToken.Parse(json); + } + catch (JsonException ex) + { + throw new Exception($"Validation failed for JSON file: {file.FullPath}{Environment.NewLine}{ex.Message}", ex); + } + } + } + } + + [TaskName("Build")] + [IsDependentOn(typeof(ValidateJsonTask))] + public sealed class BuildTask : FrostingTask + { + public override void Run(BuildContext context) + { + context.DotNetClean($"../{BuildContext.ProjectName}/{BuildContext.ProjectName}.csproj", + new DotNetCleanSettings + { + Configuration = context.BuildConfiguration + }); + + + context.DotNetPublish($"../{BuildContext.ProjectName}/{BuildContext.ProjectName}.csproj", + new DotNetPublishSettings + { + Configuration = context.BuildConfiguration + }); + } + } + + [TaskName("Package")] + [IsDependentOn(typeof(BuildTask))] + public sealed class PackageTask : FrostingTask + { + public override void Run(BuildContext context) + { + context.EnsureDirectoryExists("../Releases"); + context.CleanDirectory("../Releases"); + context.EnsureDirectoryExists($"../Releases/{context.Name}"); + context.CopyFiles($"../{BuildContext.ProjectName}/bin/{context.BuildConfiguration}/Mods/mod/publish/*", $"../Releases/{context.Name}"); + if (context.DirectoryExists($"../{BuildContext.ProjectName}/assets")) + { + context.CopyDirectory($"../{BuildContext.ProjectName}/assets", $"../Releases/{context.Name}/assets"); + } + context.CopyFile($"../{BuildContext.ProjectName}/modinfo.json", $"../Releases/{context.Name}/modinfo.json"); + if (context.FileExists($"../{BuildContext.ProjectName}/modicon.png")) + { + context.CopyFile($"../{BuildContext.ProjectName}/modicon.png", $"../Releases/{context.Name}/modicon.png"); + } + context.Zip($"../Releases/{context.Name}", $"../Releases/{context.Name}_{context.Version}.zip"); + } + } + + [TaskName("Default")] + [IsDependentOn(typeof(PackageTask))] + public class DefaultTask : FrostingTask + { + } +} \ No newline at end of file diff --git a/build.ps1 b/build.ps1 new file mode 100644 index 0000000..6be84e3 --- /dev/null +++ b/build.ps1 @@ -0,0 +1,2 @@ +dotnet run --project CakeBuild/CakeBuild.csproj -- $args +exit $LASTEXITCODE; \ No newline at end of file diff --git a/build.sh b/build.sh index 6a0bdc6..41f254a 100755 --- a/build.sh +++ b/build.sh @@ -1,33 +1 @@ -# To define the environment variable, put something like this in your .bashrc file: -# export VINTAGE_STORY_DEV="$HOME/software/vintagestory_dev" - -starttime=$(($(date +%s%N)/1000000)) - -RED='\033[0;31m' -NC='\033[0m' # No Color - -null_textured_shapes=$(grep -rl "#null" assets/) -# Only print anything if files were found -if [[ -n $null_textured_shapes ]]; then - echo -e "${RED}These shape files contain null textures:" - echo -e "${null_textured_shapes}${NC}" -fi - -precook=$(($(date +%s%N)/1000000)) -python3 texsrc/cook.py -postcook=$(($(date +%s%N)/1000000)) - -cp assets/detailedanimals/lang/es-419.json assets/detailedanimals/lang/es-es.json -dotnet run --project ./Build/CakeBuild/CakeBuild.csproj -- "$@" -rm assets/detailedanimals/lang/es-es.json -rm -r bin/ -rm -r src/obj/ -rm "${VINTAGE_STORY_DEV}"/Mods/detailedanimals_*.zip -mkdir -p "${VINTAGE_STORY_DEV}/Mods" -cp Build/Releases/detailedanimals_*.zip "${VINTAGE_STORY_DEV}/Mods" - -endtime=$(($(date +%s%N)/1000000)) -cooktime=$(( postcook - precook )) -buildtime=$(( endtime - postcook )) -totaltime=$(( endtime - starttime )) -echo -e "${totaltime} milliseconds total: $((precook - starttime)) to validate, ${cooktime} to cook, and ${buildtime} to build" +dotnet run --project ./CakeBuild/CakeBuild.csproj -- "$@" diff --git a/detailedanimals.slnx b/detailedanimals.slnx new file mode 100644 index 0000000..c66a672 --- /dev/null +++ b/detailedanimals.slnx @@ -0,0 +1,4 @@ + + + + diff --git a/src/DetailedAnimalsModSystem.cs b/detailedanimals/DetailedAnimalsModSystem.cs similarity index 100% rename from src/DetailedAnimalsModSystem.cs rename to detailedanimals/DetailedAnimalsModSystem.cs diff --git a/detailedanimals/Properties/launchSettings.json b/detailedanimals/Properties/launchSettings.json new file mode 100644 index 0000000..194b549 --- /dev/null +++ b/detailedanimals/Properties/launchSettings.json @@ -0,0 +1,16 @@ +{ + "profiles": { + "Client": { + "commandName": "Executable", + "executablePath": "dotnet", + "commandLineArgs": "\"$(VINTAGE_STORY)/Vintagestory.dll\" --tracelog --addModPath \"$(ProjectDir)/bin/$(Configuration)/Mods\" --addOrigin \"$(ProjectDir)/assets\"", + "workingDirectory": "$(VINTAGE_STORY)" + }, + "Server": { + "commandName": "Executable", + "executablePath": "dotnet", + "commandLineArgs": "\"$(VINTAGE_STORY)/VintagestoryServer.dll\" --tracelog --addModPath \"$(ProjectDir)/bin/$(Configuration)/Mods\" --addOrigin \"$(ProjectDir)/assets\"", + "workingDirectory": "$(VINTAGE_STORY)" + } + } +} \ No newline at end of file diff --git a/Readme.md b/detailedanimals/Readme.md similarity index 100% rename from Readme.md rename to detailedanimals/Readme.md diff --git a/assets/detailedanimals/blocktypes/fencecreepgate.json b/detailedanimals/assets/detailedanimals/blocktypes/fencecreepgate.json similarity index 100% rename from assets/detailedanimals/blocktypes/fencecreepgate.json rename to detailedanimals/assets/detailedanimals/blocktypes/fencecreepgate.json diff --git a/assets/detailedanimals/genetics/canine.json b/detailedanimals/assets/detailedanimals/genetics/canine.json similarity index 100% rename from assets/detailedanimals/genetics/canine.json rename to detailedanimals/assets/detailedanimals/genetics/canine.json diff --git a/assets/detailedanimals/genetics/goat.json b/detailedanimals/assets/detailedanimals/genetics/goat.json similarity index 100% rename from assets/detailedanimals/genetics/goat.json rename to detailedanimals/assets/detailedanimals/genetics/goat.json diff --git a/assets/detailedanimals/genetics/junglefowl.json b/detailedanimals/assets/detailedanimals/genetics/junglefowl.json similarity index 100% rename from assets/detailedanimals/genetics/junglefowl.json rename to detailedanimals/assets/detailedanimals/genetics/junglefowl.json diff --git a/assets/detailedanimals/itemtypes/creature.json b/detailedanimals/assets/detailedanimals/itemtypes/creature.json similarity index 100% rename from assets/detailedanimals/itemtypes/creature.json rename to detailedanimals/assets/detailedanimals/itemtypes/creature.json diff --git a/assets/detailedanimals/itemtypes/egg-ceramic-fired.json b/detailedanimals/assets/detailedanimals/itemtypes/egg-ceramic-fired.json similarity index 100% rename from assets/detailedanimals/itemtypes/egg-ceramic-fired.json rename to detailedanimals/assets/detailedanimals/itemtypes/egg-ceramic-fired.json diff --git a/assets/detailedanimals/itemtypes/egg-ceramic-raw.json b/detailedanimals/assets/detailedanimals/itemtypes/egg-ceramic-raw.json similarity index 100% rename from assets/detailedanimals/itemtypes/egg-ceramic-raw.json rename to detailedanimals/assets/detailedanimals/itemtypes/egg-ceramic-raw.json diff --git a/assets/detailedanimals/itemtypes/egg-chicken.json b/detailedanimals/assets/detailedanimals/itemtypes/egg-chicken.json similarity index 100% rename from assets/detailedanimals/itemtypes/egg-chicken.json rename to detailedanimals/assets/detailedanimals/itemtypes/egg-chicken.json diff --git a/assets/detailedanimals/lang/de.json b/detailedanimals/assets/detailedanimals/lang/de.json similarity index 100% rename from assets/detailedanimals/lang/de.json rename to detailedanimals/assets/detailedanimals/lang/de.json diff --git a/assets/detailedanimals/lang/en.json b/detailedanimals/assets/detailedanimals/lang/en.json similarity index 100% rename from assets/detailedanimals/lang/en.json rename to detailedanimals/assets/detailedanimals/lang/en.json diff --git a/assets/detailedanimals/lang/es-419.json b/detailedanimals/assets/detailedanimals/lang/es-419.json similarity index 100% rename from assets/detailedanimals/lang/es-419.json rename to detailedanimals/assets/detailedanimals/lang/es-419.json diff --git a/assets/detailedanimals/lang/fr.json b/detailedanimals/assets/detailedanimals/lang/fr.json similarity index 100% rename from assets/detailedanimals/lang/fr.json rename to detailedanimals/assets/detailedanimals/lang/fr.json diff --git a/assets/detailedanimals/lang/pl.json b/detailedanimals/assets/detailedanimals/lang/pl.json similarity index 100% rename from assets/detailedanimals/lang/pl.json rename to detailedanimals/assets/detailedanimals/lang/pl.json diff --git a/assets/detailedanimals/lang/pt-br.json b/detailedanimals/assets/detailedanimals/lang/pt-br.json similarity index 100% rename from assets/detailedanimals/lang/pt-br.json rename to detailedanimals/assets/detailedanimals/lang/pt-br.json diff --git a/assets/detailedanimals/lang/ru.json b/detailedanimals/assets/detailedanimals/lang/ru.json similarity index 100% rename from assets/detailedanimals/lang/ru.json rename to detailedanimals/assets/detailedanimals/lang/ru.json diff --git a/assets/detailedanimals/nutrition/acorn.json b/detailedanimals/assets/detailedanimals/nutrition/acorn.json similarity index 100% rename from assets/detailedanimals/nutrition/acorn.json rename to detailedanimals/assets/detailedanimals/nutrition/acorn.json diff --git a/assets/detailedanimals/nutrition/animalfeed/chickenfeed.json b/detailedanimals/assets/detailedanimals/nutrition/animalfeed/chickenfeed.json similarity index 100% rename from assets/detailedanimals/nutrition/animalfeed/chickenfeed.json rename to detailedanimals/assets/detailedanimals/nutrition/animalfeed/chickenfeed.json diff --git a/assets/detailedanimals/nutrition/animalfeed/pigfeed.json b/detailedanimals/assets/detailedanimals/nutrition/animalfeed/pigfeed.json similarity index 100% rename from assets/detailedanimals/nutrition/animalfeed/pigfeed.json rename to detailedanimals/assets/detailedanimals/nutrition/animalfeed/pigfeed.json diff --git a/assets/detailedanimals/nutrition/animalfeed/sheepfeed.json b/detailedanimals/assets/detailedanimals/nutrition/animalfeed/sheepfeed.json similarity index 100% rename from assets/detailedanimals/nutrition/animalfeed/sheepfeed.json rename to detailedanimals/assets/detailedanimals/nutrition/animalfeed/sheepfeed.json diff --git a/assets/detailedanimals/nutrition/animalproduct/bone.json b/detailedanimals/assets/detailedanimals/nutrition/animalproduct/bone.json similarity index 100% rename from assets/detailedanimals/nutrition/animalproduct/bone.json rename to detailedanimals/assets/detailedanimals/nutrition/animalproduct/bone.json diff --git a/assets/detailedanimals/nutrition/animalproduct/cheese.json b/detailedanimals/assets/detailedanimals/nutrition/animalproduct/cheese.json similarity index 100% rename from assets/detailedanimals/nutrition/animalproduct/cheese.json rename to detailedanimals/assets/detailedanimals/nutrition/animalproduct/cheese.json diff --git a/assets/detailedanimals/nutrition/animalproduct/egg.json b/detailedanimals/assets/detailedanimals/nutrition/animalproduct/egg.json similarity index 100% rename from assets/detailedanimals/nutrition/animalproduct/egg.json rename to detailedanimals/assets/detailedanimals/nutrition/animalproduct/egg.json diff --git a/assets/detailedanimals/nutrition/animalproduct/fat.json b/detailedanimals/assets/detailedanimals/nutrition/animalproduct/fat.json similarity index 100% rename from assets/detailedanimals/nutrition/animalproduct/fat.json rename to detailedanimals/assets/detailedanimals/nutrition/animalproduct/fat.json diff --git a/assets/detailedanimals/nutrition/animalproduct/fish.json b/detailedanimals/assets/detailedanimals/nutrition/animalproduct/fish.json similarity index 100% rename from assets/detailedanimals/nutrition/animalproduct/fish.json rename to detailedanimals/assets/detailedanimals/nutrition/animalproduct/fish.json diff --git a/assets/detailedanimals/nutrition/animalproduct/honey.json b/detailedanimals/assets/detailedanimals/nutrition/animalproduct/honey.json similarity index 100% rename from assets/detailedanimals/nutrition/animalproduct/honey.json rename to detailedanimals/assets/detailedanimals/nutrition/animalproduct/honey.json diff --git a/assets/detailedanimals/nutrition/animalproduct/meat.json b/detailedanimals/assets/detailedanimals/nutrition/animalproduct/meat.json similarity index 100% rename from assets/detailedanimals/nutrition/animalproduct/meat.json rename to detailedanimals/assets/detailedanimals/nutrition/animalproduct/meat.json diff --git a/assets/detailedanimals/nutrition/animalproduct/milk.json b/detailedanimals/assets/detailedanimals/nutrition/animalproduct/milk.json similarity index 100% rename from assets/detailedanimals/nutrition/animalproduct/milk.json rename to detailedanimals/assets/detailedanimals/nutrition/animalproduct/milk.json diff --git a/assets/detailedanimals/nutrition/animalproduct/poultry.json b/detailedanimals/assets/detailedanimals/nutrition/animalproduct/poultry.json similarity index 100% rename from assets/detailedanimals/nutrition/animalproduct/poultry.json rename to detailedanimals/assets/detailedanimals/nutrition/animalproduct/poultry.json diff --git a/assets/detailedanimals/nutrition/animalproduct/rawhide.json b/detailedanimals/assets/detailedanimals/nutrition/animalproduct/rawhide.json similarity index 100% rename from assets/detailedanimals/nutrition/animalproduct/rawhide.json rename to detailedanimals/assets/detailedanimals/nutrition/animalproduct/rawhide.json diff --git a/assets/detailedanimals/nutrition/breadfruit.json b/detailedanimals/assets/detailedanimals/nutrition/breadfruit.json similarity index 100% rename from assets/detailedanimals/nutrition/breadfruit.json rename to detailedanimals/assets/detailedanimals/nutrition/breadfruit.json diff --git a/assets/detailedanimals/nutrition/foliage.json b/detailedanimals/assets/detailedanimals/nutrition/foliage.json similarity index 100% rename from assets/detailedanimals/nutrition/foliage.json rename to detailedanimals/assets/detailedanimals/nutrition/foliage.json diff --git a/assets/detailedanimals/nutrition/freshwater.json b/detailedanimals/assets/detailedanimals/nutrition/freshwater.json similarity index 100% rename from assets/detailedanimals/nutrition/freshwater.json rename to detailedanimals/assets/detailedanimals/nutrition/freshwater.json diff --git a/assets/detailedanimals/nutrition/fruit.json b/detailedanimals/assets/detailedanimals/nutrition/fruit.json similarity index 100% rename from assets/detailedanimals/nutrition/fruit.json rename to detailedanimals/assets/detailedanimals/nutrition/fruit.json diff --git a/assets/detailedanimals/nutrition/fruitjuice.json b/detailedanimals/assets/detailedanimals/nutrition/fruitjuice.json similarity index 100% rename from assets/detailedanimals/nutrition/fruitjuice.json rename to detailedanimals/assets/detailedanimals/nutrition/fruitjuice.json diff --git a/assets/detailedanimals/nutrition/fruitmash.json b/detailedanimals/assets/detailedanimals/nutrition/fruitmash.json similarity index 100% rename from assets/detailedanimals/nutrition/fruitmash.json rename to detailedanimals/assets/detailedanimals/nutrition/fruitmash.json diff --git a/assets/detailedanimals/nutrition/grain/amaranth.json b/detailedanimals/assets/detailedanimals/nutrition/grain/amaranth.json similarity index 100% rename from assets/detailedanimals/nutrition/grain/amaranth.json rename to detailedanimals/assets/detailedanimals/nutrition/grain/amaranth.json diff --git a/assets/detailedanimals/nutrition/grain/flax.json b/detailedanimals/assets/detailedanimals/nutrition/grain/flax.json similarity index 100% rename from assets/detailedanimals/nutrition/grain/flax.json rename to detailedanimals/assets/detailedanimals/nutrition/grain/flax.json diff --git a/assets/detailedanimals/nutrition/grain/grain.json b/detailedanimals/assets/detailedanimals/nutrition/grain/grain.json similarity index 100% rename from assets/detailedanimals/nutrition/grain/grain.json rename to detailedanimals/assets/detailedanimals/nutrition/grain/grain.json diff --git a/assets/detailedanimals/nutrition/grain/rice.json b/detailedanimals/assets/detailedanimals/nutrition/grain/rice.json similarity index 100% rename from assets/detailedanimals/nutrition/grain/rice.json rename to detailedanimals/assets/detailedanimals/nutrition/grain/rice.json diff --git a/assets/detailedanimals/nutrition/grain/rye.json b/detailedanimals/assets/detailedanimals/nutrition/grain/rye.json similarity index 100% rename from assets/detailedanimals/nutrition/grain/rye.json rename to detailedanimals/assets/detailedanimals/nutrition/grain/rye.json diff --git a/assets/detailedanimals/nutrition/grain/sunflower.json b/detailedanimals/assets/detailedanimals/nutrition/grain/sunflower.json similarity index 100% rename from assets/detailedanimals/nutrition/grain/sunflower.json rename to detailedanimals/assets/detailedanimals/nutrition/grain/sunflower.json diff --git a/assets/detailedanimals/nutrition/grass.json b/detailedanimals/assets/detailedanimals/nutrition/grass.json similarity index 100% rename from assets/detailedanimals/nutrition/grass.json rename to detailedanimals/assets/detailedanimals/nutrition/grass.json diff --git a/assets/detailedanimals/nutrition/hay.json b/detailedanimals/assets/detailedanimals/nutrition/hay.json similarity index 100% rename from assets/detailedanimals/nutrition/hay.json rename to detailedanimals/assets/detailedanimals/nutrition/hay.json diff --git a/assets/detailedanimals/nutrition/jam.json b/detailedanimals/assets/detailedanimals/nutrition/jam.json similarity index 100% rename from assets/detailedanimals/nutrition/jam.json rename to detailedanimals/assets/detailedanimals/nutrition/jam.json diff --git a/assets/detailedanimals/nutrition/nibblecrop.json b/detailedanimals/assets/detailedanimals/nutrition/nibblecrop.json similarity index 100% rename from assets/detailedanimals/nutrition/nibblecrop.json rename to detailedanimals/assets/detailedanimals/nutrition/nibblecrop.json diff --git a/assets/detailedanimals/nutrition/pickledegg.json b/detailedanimals/assets/detailedanimals/nutrition/pickledegg.json similarity index 100% rename from assets/detailedanimals/nutrition/pickledegg.json rename to detailedanimals/assets/detailedanimals/nutrition/pickledegg.json diff --git a/assets/detailedanimals/nutrition/pickledvegetable.json b/detailedanimals/assets/detailedanimals/nutrition/pickledvegetable.json similarity index 100% rename from assets/detailedanimals/nutrition/pickledvegetable.json rename to detailedanimals/assets/detailedanimals/nutrition/pickledvegetable.json diff --git a/assets/detailedanimals/nutrition/saltwater.json b/detailedanimals/assets/detailedanimals/nutrition/saltwater.json similarity index 100% rename from assets/detailedanimals/nutrition/saltwater.json rename to detailedanimals/assets/detailedanimals/nutrition/saltwater.json diff --git a/assets/detailedanimals/nutrition/seedmeal.json b/detailedanimals/assets/detailedanimals/nutrition/seedmeal.json similarity index 100% rename from assets/detailedanimals/nutrition/seedmeal.json rename to detailedanimals/assets/detailedanimals/nutrition/seedmeal.json diff --git a/assets/detailedanimals/nutrition/sweetberrybush.json b/detailedanimals/assets/detailedanimals/nutrition/sweetberrybush.json similarity index 100% rename from assets/detailedanimals/nutrition/sweetberrybush.json rename to detailedanimals/assets/detailedanimals/nutrition/sweetberrybush.json diff --git a/assets/detailedanimals/nutrition/toughroot.json b/detailedanimals/assets/detailedanimals/nutrition/toughroot.json similarity index 100% rename from assets/detailedanimals/nutrition/toughroot.json rename to detailedanimals/assets/detailedanimals/nutrition/toughroot.json diff --git a/assets/detailedanimals/nutrition/toughstem.json b/detailedanimals/assets/detailedanimals/nutrition/toughstem.json similarity index 100% rename from assets/detailedanimals/nutrition/toughstem.json rename to detailedanimals/assets/detailedanimals/nutrition/toughstem.json diff --git a/assets/detailedanimals/nutrition/vegetable/cabbage.json b/detailedanimals/assets/detailedanimals/nutrition/vegetable/cabbage.json similarity index 100% rename from assets/detailedanimals/nutrition/vegetable/cabbage.json rename to detailedanimals/assets/detailedanimals/nutrition/vegetable/cabbage.json diff --git a/assets/detailedanimals/nutrition/vegetable/carrot.json b/detailedanimals/assets/detailedanimals/nutrition/vegetable/carrot.json similarity index 100% rename from assets/detailedanimals/nutrition/vegetable/carrot.json rename to detailedanimals/assets/detailedanimals/nutrition/vegetable/carrot.json diff --git a/assets/detailedanimals/nutrition/vegetable/mushroom.json b/detailedanimals/assets/detailedanimals/nutrition/vegetable/mushroom.json similarity index 100% rename from assets/detailedanimals/nutrition/vegetable/mushroom.json rename to detailedanimals/assets/detailedanimals/nutrition/vegetable/mushroom.json diff --git a/assets/detailedanimals/nutrition/vegetable/onion.json b/detailedanimals/assets/detailedanimals/nutrition/vegetable/onion.json similarity index 100% rename from assets/detailedanimals/nutrition/vegetable/onion.json rename to detailedanimals/assets/detailedanimals/nutrition/vegetable/onion.json diff --git a/assets/detailedanimals/nutrition/vegetable/parsnip.json b/detailedanimals/assets/detailedanimals/nutrition/vegetable/parsnip.json similarity index 100% rename from assets/detailedanimals/nutrition/vegetable/parsnip.json rename to detailedanimals/assets/detailedanimals/nutrition/vegetable/parsnip.json diff --git a/assets/detailedanimals/nutrition/vegetable/peanut.json b/detailedanimals/assets/detailedanimals/nutrition/vegetable/peanut.json similarity index 100% rename from assets/detailedanimals/nutrition/vegetable/peanut.json rename to detailedanimals/assets/detailedanimals/nutrition/vegetable/peanut.json diff --git a/assets/detailedanimals/nutrition/vegetable/processedcassava.json b/detailedanimals/assets/detailedanimals/nutrition/vegetable/processedcassava.json similarity index 100% rename from assets/detailedanimals/nutrition/vegetable/processedcassava.json rename to detailedanimals/assets/detailedanimals/nutrition/vegetable/processedcassava.json diff --git a/assets/detailedanimals/nutrition/vegetable/pumpkin.json b/detailedanimals/assets/detailedanimals/nutrition/vegetable/pumpkin.json similarity index 100% rename from assets/detailedanimals/nutrition/vegetable/pumpkin.json rename to detailedanimals/assets/detailedanimals/nutrition/vegetable/pumpkin.json diff --git a/assets/detailedanimals/nutrition/vegetable/soybean.json b/detailedanimals/assets/detailedanimals/nutrition/vegetable/soybean.json similarity index 100% rename from assets/detailedanimals/nutrition/vegetable/soybean.json rename to detailedanimals/assets/detailedanimals/nutrition/vegetable/soybean.json diff --git a/assets/detailedanimals/nutrition/vegetable/turnip.json b/detailedanimals/assets/detailedanimals/nutrition/vegetable/turnip.json similarity index 100% rename from assets/detailedanimals/nutrition/vegetable/turnip.json rename to detailedanimals/assets/detailedanimals/nutrition/vegetable/turnip.json diff --git a/assets/detailedanimals/nutrition/vegetable/vegetable.json b/detailedanimals/assets/detailedanimals/nutrition/vegetable/vegetable.json similarity index 100% rename from assets/detailedanimals/nutrition/vegetable/vegetable.json rename to detailedanimals/assets/detailedanimals/nutrition/vegetable/vegetable.json diff --git a/assets/detailedanimals/nutrition/walnut.json b/detailedanimals/assets/detailedanimals/nutrition/walnut.json similarity index 100% rename from assets/detailedanimals/nutrition/walnut.json rename to detailedanimals/assets/detailedanimals/nutrition/walnut.json diff --git a/assets/detailedanimals/patches/acorns/acorns.json b/detailedanimals/assets/detailedanimals/patches/acorns/acorns.json similarity index 100% rename from assets/detailedanimals/patches/acorns/acorns.json rename to detailedanimals/assets/detailedanimals/patches/acorns/acorns.json diff --git a/assets/detailedanimals/patches/animal_product_categories.json b/detailedanimals/assets/detailedanimals/patches/animal_product_categories.json similarity index 100% rename from assets/detailedanimals/patches/animal_product_categories.json rename to detailedanimals/assets/detailedanimals/patches/animal_product_categories.json diff --git a/assets/detailedanimals/patches/animalfeed/chickenfeed.json b/detailedanimals/assets/detailedanimals/patches/animalfeed/chickenfeed.json similarity index 100% rename from assets/detailedanimals/patches/animalfeed/chickenfeed.json rename to detailedanimals/assets/detailedanimals/patches/animalfeed/chickenfeed.json diff --git a/assets/detailedanimals/patches/animalfeed/pigfeed.json b/detailedanimals/assets/detailedanimals/patches/animalfeed/pigfeed.json similarity index 100% rename from assets/detailedanimals/patches/animalfeed/pigfeed.json rename to detailedanimals/assets/detailedanimals/patches/animalfeed/pigfeed.json diff --git a/assets/detailedanimals/patches/animalfeed/sheepfeed.json b/detailedanimals/assets/detailedanimals/patches/animalfeed/sheepfeed.json similarity index 100% rename from assets/detailedanimals/patches/animalfeed/sheepfeed.json rename to detailedanimals/assets/detailedanimals/patches/animalfeed/sheepfeed.json diff --git a/assets/detailedanimals/patches/animalfoods.json b/detailedanimals/assets/detailedanimals/patches/animalfoods.json similarity index 100% rename from assets/detailedanimals/patches/animalfoods.json rename to detailedanimals/assets/detailedanimals/patches/animalfoods.json diff --git a/assets/detailedanimals/patches/animals/bears.json b/detailedanimals/assets/detailedanimals/patches/animals/bears.json similarity index 100% rename from assets/detailedanimals/patches/animals/bears.json rename to detailedanimals/assets/detailedanimals/patches/animals/bears.json diff --git a/assets/detailedanimals/patches/animals/chickens.json b/detailedanimals/assets/detailedanimals/patches/animals/chickens.json similarity index 100% rename from assets/detailedanimals/patches/animals/chickens.json rename to detailedanimals/assets/detailedanimals/patches/animals/chickens.json diff --git a/assets/detailedanimals/patches/animals/deer-adults.json b/detailedanimals/assets/detailedanimals/patches/animals/deer-adults.json similarity index 100% rename from assets/detailedanimals/patches/animals/deer-adults.json rename to detailedanimals/assets/detailedanimals/patches/animals/deer-adults.json diff --git a/assets/detailedanimals/patches/animals/deer-fawns.json b/detailedanimals/assets/detailedanimals/patches/animals/deer-fawns.json similarity index 100% rename from assets/detailedanimals/patches/animals/deer-fawns.json rename to detailedanimals/assets/detailedanimals/patches/animals/deer-fawns.json diff --git a/assets/detailedanimals/patches/animals/elk_semitame.json b/detailedanimals/assets/detailedanimals/patches/animals/elk_semitame.json similarity index 100% rename from assets/detailedanimals/patches/animals/elk_semitame.json rename to detailedanimals/assets/detailedanimals/patches/animals/elk_semitame.json diff --git a/assets/detailedanimals/patches/animals/elk_tame.json b/detailedanimals/assets/detailedanimals/patches/animals/elk_tame.json similarity index 100% rename from assets/detailedanimals/patches/animals/elk_tame.json rename to detailedanimals/assets/detailedanimals/patches/animals/elk_tame.json diff --git a/assets/detailedanimals/patches/animals/foxes.json b/detailedanimals/assets/detailedanimals/patches/animals/foxes.json similarity index 100% rename from assets/detailedanimals/patches/animals/foxes.json rename to detailedanimals/assets/detailedanimals/patches/animals/foxes.json diff --git a/assets/detailedanimals/patches/animals/gazelle-adults.json b/detailedanimals/assets/detailedanimals/patches/animals/gazelle-adults.json similarity index 100% rename from assets/detailedanimals/patches/animals/gazelle-adults.json rename to detailedanimals/assets/detailedanimals/patches/animals/gazelle-adults.json diff --git a/assets/detailedanimals/patches/animals/gazelle-calves.json b/detailedanimals/assets/detailedanimals/patches/animals/gazelle-calves.json similarity index 100% rename from assets/detailedanimals/patches/animals/gazelle-calves.json rename to detailedanimals/assets/detailedanimals/patches/animals/gazelle-calves.json diff --git a/assets/detailedanimals/patches/animals/goat-adults.json b/detailedanimals/assets/detailedanimals/patches/animals/goat-adults.json similarity index 100% rename from assets/detailedanimals/patches/animals/goat-adults.json rename to detailedanimals/assets/detailedanimals/patches/animals/goat-adults.json diff --git a/assets/detailedanimals/patches/animals/goat-kids.json b/detailedanimals/assets/detailedanimals/patches/animals/goat-kids.json similarity index 100% rename from assets/detailedanimals/patches/animals/goat-kids.json rename to detailedanimals/assets/detailedanimals/patches/animals/goat-kids.json diff --git a/assets/detailedanimals/patches/animals/hares.json b/detailedanimals/assets/detailedanimals/patches/animals/hares.json similarity index 100% rename from assets/detailedanimals/patches/animals/hares.json rename to detailedanimals/assets/detailedanimals/patches/animals/hares.json diff --git a/assets/detailedanimals/patches/animals/health.json b/detailedanimals/assets/detailedanimals/patches/animals/health.json similarity index 100% rename from assets/detailedanimals/patches/animals/health.json rename to detailedanimals/assets/detailedanimals/patches/animals/health.json diff --git a/assets/detailedanimals/patches/animals/hyenas.json b/detailedanimals/assets/detailedanimals/patches/animals/hyenas.json similarity index 100% rename from assets/detailedanimals/patches/animals/hyenas.json rename to detailedanimals/assets/detailedanimals/patches/animals/hyenas.json diff --git a/assets/detailedanimals/patches/animals/moose-adults.json b/detailedanimals/assets/detailedanimals/patches/animals/moose-adults.json similarity index 100% rename from assets/detailedanimals/patches/animals/moose-adults.json rename to detailedanimals/assets/detailedanimals/patches/animals/moose-adults.json diff --git a/assets/detailedanimals/patches/animals/moose-calves.json b/detailedanimals/assets/detailedanimals/patches/animals/moose-calves.json similarity index 100% rename from assets/detailedanimals/patches/animals/moose-calves.json rename to detailedanimals/assets/detailedanimals/patches/animals/moose-calves.json diff --git a/assets/detailedanimals/patches/animals/pigs.json b/detailedanimals/assets/detailedanimals/patches/animals/pigs.json similarity index 100% rename from assets/detailedanimals/patches/animals/pigs.json rename to detailedanimals/assets/detailedanimals/patches/animals/pigs.json diff --git a/assets/detailedanimals/patches/animals/raccoons.json b/detailedanimals/assets/detailedanimals/patches/animals/raccoons.json similarity index 100% rename from assets/detailedanimals/patches/animals/raccoons.json rename to detailedanimals/assets/detailedanimals/patches/animals/raccoons.json diff --git a/assets/detailedanimals/patches/animals/sheep.json b/detailedanimals/assets/detailedanimals/patches/animals/sheep.json similarity index 100% rename from assets/detailedanimals/patches/animals/sheep.json rename to detailedanimals/assets/detailedanimals/patches/animals/sheep.json diff --git a/assets/detailedanimals/patches/animals/wolves.json b/detailedanimals/assets/detailedanimals/patches/animals/wolves.json similarity index 100% rename from assets/detailedanimals/patches/animals/wolves.json rename to detailedanimals/assets/detailedanimals/patches/animals/wolves.json diff --git a/assets/detailedanimals/patches/crops.json b/detailedanimals/assets/detailedanimals/patches/crops.json similarity index 100% rename from assets/detailedanimals/patches/crops.json rename to detailedanimals/assets/detailedanimals/patches/crops.json diff --git a/assets/detailedanimals/patches/egg.json b/detailedanimals/assets/detailedanimals/patches/egg.json similarity index 100% rename from assets/detailedanimals/patches/egg.json rename to detailedanimals/assets/detailedanimals/patches/egg.json diff --git a/assets/detailedanimals/patches/egg_recipes.json b/detailedanimals/assets/detailedanimals/patches/egg_recipes.json similarity index 100% rename from assets/detailedanimals/patches/egg_recipes.json rename to detailedanimals/assets/detailedanimals/patches/egg_recipes.json diff --git a/assets/detailedanimals/patches/expandedfoods/egg.json b/detailedanimals/assets/detailedanimals/patches/expandedfoods/egg.json similarity index 100% rename from assets/detailedanimals/patches/expandedfoods/egg.json rename to detailedanimals/assets/detailedanimals/patches/expandedfoods/egg.json diff --git a/assets/detailedanimals/patches/henbox.json b/detailedanimals/assets/detailedanimals/patches/henbox.json similarity index 100% rename from assets/detailedanimals/patches/henbox.json rename to detailedanimals/assets/detailedanimals/patches/henbox.json diff --git a/assets/detailedanimals/patches/oils/oil_byproducts.json b/detailedanimals/assets/detailedanimals/patches/oils/oil_byproducts.json similarity index 100% rename from assets/detailedanimals/patches/oils/oil_byproducts.json rename to detailedanimals/assets/detailedanimals/patches/oils/oil_byproducts.json diff --git a/assets/detailedanimals/patches/pressedfruitmash.json b/detailedanimals/assets/detailedanimals/patches/pressedfruitmash.json similarity index 100% rename from assets/detailedanimals/patches/pressedfruitmash.json rename to detailedanimals/assets/detailedanimals/patches/pressedfruitmash.json diff --git a/assets/detailedanimals/recipes/barrel/limeegg.json b/detailedanimals/assets/detailedanimals/recipes/barrel/limeegg.json similarity index 100% rename from assets/detailedanimals/recipes/barrel/limeegg.json rename to detailedanimals/assets/detailedanimals/recipes/barrel/limeegg.json diff --git a/assets/detailedanimals/recipes/barrel/pickledegg.json b/detailedanimals/assets/detailedanimals/recipes/barrel/pickledegg.json similarity index 100% rename from assets/detailedanimals/recipes/barrel/pickledegg.json rename to detailedanimals/assets/detailedanimals/recipes/barrel/pickledegg.json diff --git a/assets/detailedanimals/recipes/clayforming/egg-ceramic-9.json b/detailedanimals/assets/detailedanimals/recipes/clayforming/egg-ceramic-9.json similarity index 100% rename from assets/detailedanimals/recipes/clayforming/egg-ceramic-9.json rename to detailedanimals/assets/detailedanimals/recipes/clayforming/egg-ceramic-9.json diff --git a/assets/detailedanimals/recipes/clayforming/egg-ceramic.json b/detailedanimals/assets/detailedanimals/recipes/clayforming/egg-ceramic.json similarity index 100% rename from assets/detailedanimals/recipes/clayforming/egg-ceramic.json rename to detailedanimals/assets/detailedanimals/recipes/clayforming/egg-ceramic.json diff --git a/assets/detailedanimals/recipes/grid/blown_egg.json b/detailedanimals/assets/detailedanimals/recipes/grid/blown_egg.json similarity index 100% rename from assets/detailedanimals/recipes/grid/blown_egg.json rename to detailedanimals/assets/detailedanimals/recipes/grid/blown_egg.json diff --git a/assets/detailedanimals/recipes/grid/creep_gate.json b/detailedanimals/assets/detailedanimals/recipes/grid/creep_gate.json similarity index 100% rename from assets/detailedanimals/recipes/grid/creep_gate.json rename to detailedanimals/assets/detailedanimals/recipes/grid/creep_gate.json diff --git a/assets/detailedanimals/recipes/simmering/hardboiled_egg.json b/detailedanimals/assets/detailedanimals/recipes/simmering/hardboiled_egg.json similarity index 100% rename from assets/detailedanimals/recipes/simmering/hardboiled_egg.json rename to detailedanimals/assets/detailedanimals/recipes/simmering/hardboiled_egg.json diff --git a/assets/detailedanimals/shapes/block/wood/fencecreepgate/closed_left.json b/detailedanimals/assets/detailedanimals/shapes/block/wood/fencecreepgate/closed_left.json similarity index 100% rename from assets/detailedanimals/shapes/block/wood/fencecreepgate/closed_left.json rename to detailedanimals/assets/detailedanimals/shapes/block/wood/fencecreepgate/closed_left.json diff --git a/assets/detailedanimals/shapes/block/wood/fencecreepgate/closed_right.json b/detailedanimals/assets/detailedanimals/shapes/block/wood/fencecreepgate/closed_right.json similarity index 100% rename from assets/detailedanimals/shapes/block/wood/fencecreepgate/closed_right.json rename to detailedanimals/assets/detailedanimals/shapes/block/wood/fencecreepgate/closed_right.json diff --git a/assets/detailedanimals/shapes/block/wood/fencecreepgate/opened_left.json b/detailedanimals/assets/detailedanimals/shapes/block/wood/fencecreepgate/opened_left.json similarity index 100% rename from assets/detailedanimals/shapes/block/wood/fencecreepgate/opened_left.json rename to detailedanimals/assets/detailedanimals/shapes/block/wood/fencecreepgate/opened_left.json diff --git a/assets/detailedanimals/shapes/block/wood/fencecreepgate/opened_right.json b/detailedanimals/assets/detailedanimals/shapes/block/wood/fencecreepgate/opened_right.json similarity index 100% rename from assets/detailedanimals/shapes/block/wood/fencecreepgate/opened_right.json rename to detailedanimals/assets/detailedanimals/shapes/block/wood/fencecreepgate/opened_right.json diff --git a/assets/detailedanimals/shapes/block/wood/fencecreepgate/snow-closed_left.json b/detailedanimals/assets/detailedanimals/shapes/block/wood/fencecreepgate/snow-closed_left.json similarity index 100% rename from assets/detailedanimals/shapes/block/wood/fencecreepgate/snow-closed_left.json rename to detailedanimals/assets/detailedanimals/shapes/block/wood/fencecreepgate/snow-closed_left.json diff --git a/assets/detailedanimals/shapes/block/wood/fencecreepgate/snow-closed_right.json b/detailedanimals/assets/detailedanimals/shapes/block/wood/fencecreepgate/snow-closed_right.json similarity index 100% rename from assets/detailedanimals/shapes/block/wood/fencecreepgate/snow-closed_right.json rename to detailedanimals/assets/detailedanimals/shapes/block/wood/fencecreepgate/snow-closed_right.json diff --git a/assets/detailedanimals/shapes/block/wood/fencecreepgate/snow-opened_left.json b/detailedanimals/assets/detailedanimals/shapes/block/wood/fencecreepgate/snow-opened_left.json similarity index 100% rename from assets/detailedanimals/shapes/block/wood/fencecreepgate/snow-opened_left.json rename to detailedanimals/assets/detailedanimals/shapes/block/wood/fencecreepgate/snow-opened_left.json diff --git a/assets/detailedanimals/shapes/block/wood/fencecreepgate/snow-opened_right.json b/detailedanimals/assets/detailedanimals/shapes/block/wood/fencecreepgate/snow-opened_right.json similarity index 100% rename from assets/detailedanimals/shapes/block/wood/fencecreepgate/snow-opened_right.json rename to detailedanimals/assets/detailedanimals/shapes/block/wood/fencecreepgate/snow-opened_right.json diff --git a/assets/detailedanimals/shapes/entity/chicken/chick.json b/detailedanimals/assets/detailedanimals/shapes/entity/chicken/chick.json similarity index 100% rename from assets/detailedanimals/shapes/entity/chicken/chick.json rename to detailedanimals/assets/detailedanimals/shapes/entity/chicken/chick.json diff --git a/assets/detailedanimals/shapes/entity/chicken/hen.json b/detailedanimals/assets/detailedanimals/shapes/entity/chicken/hen.json similarity index 100% rename from assets/detailedanimals/shapes/entity/chicken/hen.json rename to detailedanimals/assets/detailedanimals/shapes/entity/chicken/hen.json diff --git a/assets/detailedanimals/shapes/entity/chicken/rooster.json b/detailedanimals/assets/detailedanimals/shapes/entity/chicken/rooster.json similarity index 100% rename from assets/detailedanimals/shapes/entity/chicken/rooster.json rename to detailedanimals/assets/detailedanimals/shapes/entity/chicken/rooster.json diff --git a/assets/detailedanimals/shapes/item/egg.json b/detailedanimals/assets/detailedanimals/shapes/item/egg.json similarity index 100% rename from assets/detailedanimals/shapes/item/egg.json rename to detailedanimals/assets/detailedanimals/shapes/item/egg.json diff --git a/assets/detailedanimals/textures/entity/chicken/adult-black.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/adult-black.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/adult-black.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/adult-black.png diff --git a/assets/detailedanimals/textures/entity/chicken/adult-white.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/adult-white.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/adult-white.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/adult-white.png diff --git a/assets/detailedanimals/textures/entity/chicken/chick-black.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/chick-black.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/chick-black.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/chick-black.png diff --git a/assets/detailedanimals/textures/entity/chicken/chick-blue.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/chick-blue.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/chick-blue.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/chick-blue.png diff --git a/assets/detailedanimals/textures/entity/chicken/chick-duckwing-blue.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/chick-duckwing-blue.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/chick-duckwing-blue.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/chick-duckwing-blue.png diff --git a/assets/detailedanimals/textures/entity/chicken/chick-duckwing-splash.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/chick-duckwing-splash.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/chick-duckwing-splash.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/chick-duckwing-splash.png diff --git a/assets/detailedanimals/textures/entity/chicken/chick-duckwing.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/chick-duckwing.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/chick-duckwing.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/chick-duckwing.png diff --git a/assets/detailedanimals/textures/entity/chicken/chick-splash.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/chick-splash.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/chick-splash.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/chick-splash.png diff --git a/assets/detailedanimals/textures/entity/chicken/chick-yellow.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/chick-yellow.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/chick-yellow.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/chick-yellow.png diff --git a/assets/detailedanimals/textures/entity/chicken/hen-birchen-blue.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/hen-birchen-blue.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/hen-birchen-blue.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/hen-birchen-blue.png diff --git a/assets/detailedanimals/textures/entity/chicken/hen-birchen-splash.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/hen-birchen-splash.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/hen-birchen-splash.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/hen-birchen-splash.png diff --git a/assets/detailedanimals/textures/entity/chicken/hen-birchen.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/hen-birchen.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/hen-birchen.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/hen-birchen.png diff --git a/assets/detailedanimals/textures/entity/chicken/hen-blue.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/hen-blue.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/hen-blue.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/hen-blue.png diff --git a/assets/detailedanimals/textures/entity/chicken/hen-duckwing-blue.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/hen-duckwing-blue.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/hen-duckwing-blue.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/hen-duckwing-blue.png diff --git a/assets/detailedanimals/textures/entity/chicken/hen-duckwing-splash.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/hen-duckwing-splash.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/hen-duckwing-splash.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/hen-duckwing-splash.png diff --git a/assets/detailedanimals/textures/entity/chicken/hen-duckwing.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/hen-duckwing.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/hen-duckwing.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/hen-duckwing.png diff --git a/assets/detailedanimals/textures/entity/chicken/hen-splash.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/hen-splash.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/hen-splash.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/hen-splash.png diff --git a/assets/detailedanimals/textures/entity/chicken/rooster-birchen-blue.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/rooster-birchen-blue.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/rooster-birchen-blue.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/rooster-birchen-blue.png diff --git a/assets/detailedanimals/textures/entity/chicken/rooster-birchen-splash.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/rooster-birchen-splash.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/rooster-birchen-splash.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/rooster-birchen-splash.png diff --git a/assets/detailedanimals/textures/entity/chicken/rooster-birchen.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/rooster-birchen.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/rooster-birchen.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/rooster-birchen.png diff --git a/assets/detailedanimals/textures/entity/chicken/rooster-blue.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/rooster-blue.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/rooster-blue.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/rooster-blue.png diff --git a/assets/detailedanimals/textures/entity/chicken/rooster-duckwing-blue.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/rooster-duckwing-blue.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/rooster-duckwing-blue.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/rooster-duckwing-blue.png diff --git a/assets/detailedanimals/textures/entity/chicken/rooster-duckwing-splash.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/rooster-duckwing-splash.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/rooster-duckwing-splash.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/rooster-duckwing-splash.png diff --git a/assets/detailedanimals/textures/entity/chicken/rooster-duckwing.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/rooster-duckwing.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/rooster-duckwing.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/rooster-duckwing.png diff --git a/assets/detailedanimals/textures/entity/chicken/rooster-splash.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/rooster-splash.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/rooster-splash.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/rooster-splash.png diff --git a/assets/detailedanimals/textures/entity/chicken/shanks/black.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/shanks/black.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/shanks/black.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/shanks/black.png diff --git a/assets/detailedanimals/textures/entity/chicken/shanks/blackyellow.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/shanks/blackyellow.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/shanks/blackyellow.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/shanks/blackyellow.png diff --git a/assets/detailedanimals/textures/entity/chicken/shanks/darkwhite.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/shanks/darkwhite.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/shanks/darkwhite.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/shanks/darkwhite.png diff --git a/assets/detailedanimals/textures/entity/chicken/shanks/darkyellow.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/shanks/darkyellow.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/shanks/darkyellow.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/shanks/darkyellow.png diff --git a/assets/detailedanimals/textures/entity/chicken/shanks/white.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/shanks/white.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/shanks/white.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/shanks/white.png diff --git a/assets/detailedanimals/textures/entity/chicken/shanks/yellow.png b/detailedanimals/assets/detailedanimals/textures/entity/chicken/shanks/yellow.png similarity index 100% rename from assets/detailedanimals/textures/entity/chicken/shanks/yellow.png rename to detailedanimals/assets/detailedanimals/textures/entity/chicken/shanks/yellow.png diff --git a/assets/detailedanimals/textures/item/egg/noise.png b/detailedanimals/assets/detailedanimals/textures/item/egg/noise.png similarity index 100% rename from assets/detailedanimals/textures/item/egg/noise.png rename to detailedanimals/assets/detailedanimals/textures/item/egg/noise.png diff --git a/assets/detailedanimals/textures/item/egg/shading.png b/detailedanimals/assets/detailedanimals/textures/item/egg/shading.png similarity index 100% rename from assets/detailedanimals/textures/item/egg/shading.png rename to detailedanimals/assets/detailedanimals/textures/item/egg/shading.png diff --git a/assets/detailedanimals/textures/item/egg/white.png b/detailedanimals/assets/detailedanimals/textures/item/egg/white.png similarity index 100% rename from assets/detailedanimals/textures/item/egg/white.png rename to detailedanimals/assets/detailedanimals/textures/item/egg/white.png diff --git a/assets/game/lang/en.json b/detailedanimals/assets/game/lang/en.json similarity index 100% rename from assets/game/lang/en.json rename to detailedanimals/assets/game/lang/en.json diff --git a/assets/game/shapes/entity/land/hooved/deer/caribou/adult.json b/detailedanimals/assets/game/shapes/entity/land/hooved/deer/caribou/adult.json similarity index 100% rename from assets/game/shapes/entity/land/hooved/deer/caribou/adult.json rename to detailedanimals/assets/game/shapes/entity/land/hooved/deer/caribou/adult.json diff --git a/assets/game/shapes/entity/land/hooved/goat/turdag/antlers01.json b/detailedanimals/assets/game/shapes/entity/land/hooved/goat/turdag/antlers01.json similarity index 100% rename from assets/game/shapes/entity/land/hooved/goat/turdag/antlers01.json rename to detailedanimals/assets/game/shapes/entity/land/hooved/goat/turdag/antlers01.json diff --git a/assets/game/shapes/entity/land/hooved/goat/turdag/antlers02.json b/detailedanimals/assets/game/shapes/entity/land/hooved/goat/turdag/antlers02.json similarity index 100% rename from assets/game/shapes/entity/land/hooved/goat/turdag/antlers02.json rename to detailedanimals/assets/game/shapes/entity/land/hooved/goat/turdag/antlers02.json diff --git a/assets/game/shapes/entity/land/hooved/goat/turdag/antlers02a.json b/detailedanimals/assets/game/shapes/entity/land/hooved/goat/turdag/antlers02a.json similarity index 100% rename from assets/game/shapes/entity/land/hooved/goat/turdag/antlers02a.json rename to detailedanimals/assets/game/shapes/entity/land/hooved/goat/turdag/antlers02a.json diff --git a/assets/game/shapes/entity/land/hooved/goat/turdag/antlers03.json b/detailedanimals/assets/game/shapes/entity/land/hooved/goat/turdag/antlers03.json similarity index 100% rename from assets/game/shapes/entity/land/hooved/goat/turdag/antlers03.json rename to detailedanimals/assets/game/shapes/entity/land/hooved/goat/turdag/antlers03.json diff --git a/assets/game/shapes/entity/land/hooved/goat/turdag/antlers04.json b/detailedanimals/assets/game/shapes/entity/land/hooved/goat/turdag/antlers04.json similarity index 100% rename from assets/game/shapes/entity/land/hooved/goat/turdag/antlers04.json rename to detailedanimals/assets/game/shapes/entity/land/hooved/goat/turdag/antlers04.json diff --git a/assets/game/shapes/entity/land/hooved/goat/turdag/antlers05.json b/detailedanimals/assets/game/shapes/entity/land/hooved/goat/turdag/antlers05.json similarity index 100% rename from assets/game/shapes/entity/land/hooved/goat/turdag/antlers05.json rename to detailedanimals/assets/game/shapes/entity/land/hooved/goat/turdag/antlers05.json diff --git a/assets/game/shapes/entity/land/hooved/goat/turdag/antlers06.json b/detailedanimals/assets/game/shapes/entity/land/hooved/goat/turdag/antlers06.json similarity index 100% rename from assets/game/shapes/entity/land/hooved/goat/turdag/antlers06.json rename to detailedanimals/assets/game/shapes/entity/land/hooved/goat/turdag/antlers06.json diff --git a/assets/game/shapes/entity/land/hooved/goat/turdag/antlers07.json b/detailedanimals/assets/game/shapes/entity/land/hooved/goat/turdag/antlers07.json similarity index 100% rename from assets/game/shapes/entity/land/hooved/goat/turdag/antlers07.json rename to detailedanimals/assets/game/shapes/entity/land/hooved/goat/turdag/antlers07.json diff --git a/src/DetailedAnimals.csproj b/detailedanimals/detailedanimals.csproj similarity index 54% rename from src/DetailedAnimals.csproj rename to detailedanimals/detailedanimals.csproj index e7ff5c9..fb51fd1 100644 --- a/src/DetailedAnimals.csproj +++ b/detailedanimals/detailedanimals.csproj @@ -1,9 +1,10 @@ - + net8.0 false - ../bin/$(Configuration) + bin\$(Configuration)\Mods\mod + enable @@ -11,10 +12,6 @@ $(VINTAGE_STORY)/VintagestoryAPI.dll false - - $(VINTAGE_STORY)/VintagestoryLib.dll - false - $(VINTAGE_STORY)/Mods/VSSurvivalMod.dll False @@ -31,22 +28,42 @@ $(VINTAGE_STORY)/Lib/Newtonsoft.Json.dll False - - $(VINTAGE_STORY)/Lib/0Harmony.dll - False - + + $(VINTAGE_STORY)/Lib/0Harmony.dll + False + + + $(VINTAGE_STORY)/VintagestoryLib.dll + false + - $(VINTAGE_STORY)/Lib/protobuf-net.dll - False + $(VINTAGE_STORY)/Lib/protobuf-net.dll + False - $(VINTAGE_STORY)/Lib/cairo-sharp.dll - False + $(VINTAGE_STORY)/Lib/cairo-sharp.dll + False - - ../../genelib/Build/Releases/genelib/Genelib.dll - False + + $(VINTAGE_STORY)/Lib/Microsoft.Data.Sqlite.dll + False + + $(ProjectDir)/libs/** + False + + + + PreserveNewest + + + + + + PreserveNewest + + + diff --git a/detailedanimals/libs/Genelib.dll b/detailedanimals/libs/Genelib.dll new file mode 100644 index 0000000..bd1966a Binary files /dev/null and b/detailedanimals/libs/Genelib.dll differ diff --git a/license.txt b/detailedanimals/license.txt similarity index 100% rename from license.txt rename to detailedanimals/license.txt diff --git a/modicon.png b/detailedanimals/modicon.png similarity index 100% rename from modicon.png rename to detailedanimals/modicon.png diff --git a/modinfo.json b/detailedanimals/modinfo.json similarity index 100% rename from modinfo.json rename to detailedanimals/modinfo.json diff --git a/detailedanimals/old files you need to sort out/.gitignore b/detailedanimals/old files you need to sort out/.gitignore new file mode 100644 index 0000000..c60f361 --- /dev/null +++ b/detailedanimals/old files you need to sort out/.gitignore @@ -0,0 +1,7 @@ +bin/ +obj/ +src/obj/ +test/obj/ +Build/CakeBuild/bin/ +Build/CakeBuild/obj/ +Build/Releases/ diff --git a/detailedanimals/old files you need to sort out/build.sh b/detailedanimals/old files you need to sort out/build.sh new file mode 100644 index 0000000..6a0bdc6 --- /dev/null +++ b/detailedanimals/old files you need to sort out/build.sh @@ -0,0 +1,33 @@ +# To define the environment variable, put something like this in your .bashrc file: +# export VINTAGE_STORY_DEV="$HOME/software/vintagestory_dev" + +starttime=$(($(date +%s%N)/1000000)) + +RED='\033[0;31m' +NC='\033[0m' # No Color + +null_textured_shapes=$(grep -rl "#null" assets/) +# Only print anything if files were found +if [[ -n $null_textured_shapes ]]; then + echo -e "${RED}These shape files contain null textures:" + echo -e "${null_textured_shapes}${NC}" +fi + +precook=$(($(date +%s%N)/1000000)) +python3 texsrc/cook.py +postcook=$(($(date +%s%N)/1000000)) + +cp assets/detailedanimals/lang/es-419.json assets/detailedanimals/lang/es-es.json +dotnet run --project ./Build/CakeBuild/CakeBuild.csproj -- "$@" +rm assets/detailedanimals/lang/es-es.json +rm -r bin/ +rm -r src/obj/ +rm "${VINTAGE_STORY_DEV}"/Mods/detailedanimals_*.zip +mkdir -p "${VINTAGE_STORY_DEV}/Mods" +cp Build/Releases/detailedanimals_*.zip "${VINTAGE_STORY_DEV}/Mods" + +endtime=$(($(date +%s%N)/1000000)) +cooktime=$(( postcook - precook )) +buildtime=$(( endtime - postcook )) +totaltime=$(( endtime - starttime )) +echo -e "${totaltime} milliseconds total: $((precook - starttime)) to validate, ${cooktime} to cook, and ${buildtime} to build" diff --git a/calculations.py b/detailedanimals/old files you need to sort out/calculations.py similarity index 100% rename from calculations.py rename to detailedanimals/old files you need to sort out/calculations.py diff --git a/texsrc/64px/item/egg/white.png b/detailedanimals/old files you need to sort out/texsrc/64px/item/egg/white.png similarity index 100% rename from texsrc/64px/item/egg/white.png rename to detailedanimals/old files you need to sort out/texsrc/64px/item/egg/white.png diff --git a/texsrc/chicken/adult-alpha.png b/detailedanimals/old files you need to sort out/texsrc/chicken/adult-alpha.png similarity index 100% rename from texsrc/chicken/adult-alpha.png rename to detailedanimals/old files you need to sort out/texsrc/chicken/adult-alpha.png diff --git a/texsrc/chicken/adult-common.png b/detailedanimals/old files you need to sort out/texsrc/chicken/adult-common.png similarity index 100% rename from texsrc/chicken/adult-common.png rename to detailedanimals/old files you need to sort out/texsrc/chicken/adult-common.png diff --git a/texsrc/chicken/adult-common.xcf b/detailedanimals/old files you need to sort out/texsrc/chicken/adult-common.xcf similarity index 100% rename from texsrc/chicken/adult-common.xcf rename to detailedanimals/old files you need to sort out/texsrc/chicken/adult-common.xcf diff --git a/texsrc/chicken/adult-ground.xcf b/detailedanimals/old files you need to sort out/texsrc/chicken/adult-ground.xcf similarity index 100% rename from texsrc/chicken/adult-ground.xcf rename to detailedanimals/old files you need to sort out/texsrc/chicken/adult-ground.xcf diff --git a/texsrc/chicken/adult-lustre.xcf b/detailedanimals/old files you need to sort out/texsrc/chicken/adult-lustre.xcf similarity index 100% rename from texsrc/chicken/adult-lustre.xcf rename to detailedanimals/old files you need to sort out/texsrc/chicken/adult-lustre.xcf diff --git a/texsrc/chicken/adult-self.xcf b/detailedanimals/old files you need to sort out/texsrc/chicken/adult-self.xcf similarity index 100% rename from texsrc/chicken/adult-self.xcf rename to detailedanimals/old files you need to sort out/texsrc/chicken/adult-self.xcf diff --git a/texsrc/chicken/adult-shading.png b/detailedanimals/old files you need to sort out/texsrc/chicken/adult-shading.png similarity index 100% rename from texsrc/chicken/adult-shading.png rename to detailedanimals/old files you need to sort out/texsrc/chicken/adult-shading.png diff --git a/texsrc/chicken/adult-shading.xcf b/detailedanimals/old files you need to sort out/texsrc/chicken/adult-shading.xcf similarity index 100% rename from texsrc/chicken/adult-shading.xcf rename to detailedanimals/old files you need to sort out/texsrc/chicken/adult-shading.xcf diff --git a/texsrc/chicken/color/adult-black.png b/detailedanimals/old files you need to sort out/texsrc/chicken/color/adult-black.png similarity index 100% rename from texsrc/chicken/color/adult-black.png rename to detailedanimals/old files you need to sort out/texsrc/chicken/color/adult-black.png diff --git a/texsrc/chicken/color/adult-white.png b/detailedanimals/old files you need to sort out/texsrc/chicken/color/adult-white.png similarity index 100% rename from texsrc/chicken/color/adult-white.png rename to detailedanimals/old files you need to sort out/texsrc/chicken/color/adult-white.png diff --git a/texsrc/chicken/color/hen-blue.png b/detailedanimals/old files you need to sort out/texsrc/chicken/color/hen-blue.png similarity index 100% rename from texsrc/chicken/color/hen-blue.png rename to detailedanimals/old files you need to sort out/texsrc/chicken/color/hen-blue.png diff --git a/texsrc/chicken/color/hen-ground.png b/detailedanimals/old files you need to sort out/texsrc/chicken/color/hen-ground.png similarity index 100% rename from texsrc/chicken/color/hen-ground.png rename to detailedanimals/old files you need to sort out/texsrc/chicken/color/hen-ground.png diff --git a/texsrc/chicken/color/hen-splash.png b/detailedanimals/old files you need to sort out/texsrc/chicken/color/hen-splash.png similarity index 100% rename from texsrc/chicken/color/hen-splash.png rename to detailedanimals/old files you need to sort out/texsrc/chicken/color/hen-splash.png diff --git a/texsrc/chicken/color/rooster-blue.png b/detailedanimals/old files you need to sort out/texsrc/chicken/color/rooster-blue.png similarity index 100% rename from texsrc/chicken/color/rooster-blue.png rename to detailedanimals/old files you need to sort out/texsrc/chicken/color/rooster-blue.png diff --git a/texsrc/chicken/color/rooster-ground.png b/detailedanimals/old files you need to sort out/texsrc/chicken/color/rooster-ground.png similarity index 100% rename from texsrc/chicken/color/rooster-ground.png rename to detailedanimals/old files you need to sort out/texsrc/chicken/color/rooster-ground.png diff --git a/texsrc/chicken/color/rooster-splash.png b/detailedanimals/old files you need to sort out/texsrc/chicken/color/rooster-splash.png similarity index 100% rename from texsrc/chicken/color/rooster-splash.png rename to detailedanimals/old files you need to sort out/texsrc/chicken/color/rooster-splash.png diff --git a/texsrc/chicken/hen-pattern.xcf b/detailedanimals/old files you need to sort out/texsrc/chicken/hen-pattern.xcf similarity index 100% rename from texsrc/chicken/hen-pattern.xcf rename to detailedanimals/old files you need to sort out/texsrc/chicken/hen-pattern.xcf diff --git a/texsrc/chicken/pattern/hen-birchen.png b/detailedanimals/old files you need to sort out/texsrc/chicken/pattern/hen-birchen.png similarity index 100% rename from texsrc/chicken/pattern/hen-birchen.png rename to detailedanimals/old files you need to sort out/texsrc/chicken/pattern/hen-birchen.png diff --git a/texsrc/chicken/pattern/hen-duckwing.png b/detailedanimals/old files you need to sort out/texsrc/chicken/pattern/hen-duckwing.png similarity index 100% rename from texsrc/chicken/pattern/hen-duckwing.png rename to detailedanimals/old files you need to sort out/texsrc/chicken/pattern/hen-duckwing.png diff --git a/texsrc/chicken/pattern/rooster-birchen.png b/detailedanimals/old files you need to sort out/texsrc/chicken/pattern/rooster-birchen.png similarity index 100% rename from texsrc/chicken/pattern/rooster-birchen.png rename to detailedanimals/old files you need to sort out/texsrc/chicken/pattern/rooster-birchen.png diff --git a/texsrc/chicken/pattern/rooster-duckwing.png b/detailedanimals/old files you need to sort out/texsrc/chicken/pattern/rooster-duckwing.png similarity index 100% rename from texsrc/chicken/pattern/rooster-duckwing.png rename to detailedanimals/old files you need to sort out/texsrc/chicken/pattern/rooster-duckwing.png diff --git a/texsrc/chicken/shanks.xcf b/detailedanimals/old files you need to sort out/texsrc/chicken/shanks.xcf similarity index 100% rename from texsrc/chicken/shanks.xcf rename to detailedanimals/old files you need to sort out/texsrc/chicken/shanks.xcf diff --git a/texsrc/cook.py b/detailedanimals/old files you need to sort out/texsrc/cook.py similarity index 100% rename from texsrc/cook.py rename to detailedanimals/old files you need to sort out/texsrc/cook.py diff --git a/texsrc/xcf/white.xcf b/detailedanimals/old files you need to sort out/texsrc/xcf/white.xcf similarity index 100% rename from texsrc/xcf/white.xcf rename to detailedanimals/old files you need to sort out/texsrc/xcf/white.xcf diff --git a/texsrc/xcf/white_egg_old_res.xcf b/detailedanimals/old files you need to sort out/texsrc/xcf/white_egg_old_res.xcf similarity index 100% rename from texsrc/xcf/white_egg_old_res.xcf rename to detailedanimals/old files you need to sort out/texsrc/xcf/white_egg_old_res.xcf diff --git a/src/AnimalConfig.cs b/detailedanimals/src/AnimalConfig.cs similarity index 100% rename from src/AnimalConfig.cs rename to detailedanimals/src/AnimalConfig.cs diff --git a/src/CreatureDropItemStack.cs b/detailedanimals/src/CreatureDropItemStack.cs similarity index 100% rename from src/CreatureDropItemStack.cs rename to detailedanimals/src/CreatureDropItemStack.cs diff --git a/src/Entity/Behavior/AnimalHunger.cs b/detailedanimals/src/Entity/Behavior/AnimalHunger.cs similarity index 100% rename from src/Entity/Behavior/AnimalHunger.cs rename to detailedanimals/src/Entity/Behavior/AnimalHunger.cs diff --git a/src/Entity/Behavior/BehaviorAge.cs b/detailedanimals/src/Entity/Behavior/BehaviorAge.cs similarity index 100% rename from src/Entity/Behavior/BehaviorAge.cs rename to detailedanimals/src/Entity/Behavior/BehaviorAge.cs diff --git a/src/Entity/Behavior/DetailedHarvestable.cs b/detailedanimals/src/Entity/Behavior/DetailedHarvestable.cs similarity index 100% rename from src/Entity/Behavior/DetailedHarvestable.cs rename to detailedanimals/src/Entity/Behavior/DetailedHarvestable.cs diff --git a/src/Entity/Behavior/Reproduce.cs b/detailedanimals/src/Entity/Behavior/Reproduce.cs similarity index 100% rename from src/Entity/Behavior/Reproduce.cs rename to detailedanimals/src/Entity/Behavior/Reproduce.cs diff --git a/src/Entity/Behavior/ReproduceEgg.cs b/detailedanimals/src/Entity/Behavior/ReproduceEgg.cs similarity index 100% rename from src/Entity/Behavior/ReproduceEgg.cs rename to detailedanimals/src/Entity/Behavior/ReproduceEgg.cs diff --git a/src/Entity/Task/AiTaskEatFromInventory.cs b/detailedanimals/src/Entity/Task/AiTaskEatFromInventory.cs similarity index 100% rename from src/Entity/Task/AiTaskEatFromInventory.cs rename to detailedanimals/src/Entity/Task/AiTaskEatFromInventory.cs diff --git a/src/Entity/Task/AiTaskForage.cs b/detailedanimals/src/Entity/Task/AiTaskForage.cs similarity index 100% rename from src/Entity/Task/AiTaskForage.cs rename to detailedanimals/src/Entity/Task/AiTaskForage.cs diff --git a/src/Entity/Task/AiTaskLayEgg.cs b/detailedanimals/src/Entity/Task/AiTaskLayEgg.cs similarity index 100% rename from src/Entity/Task/AiTaskLayEgg.cs rename to detailedanimals/src/Entity/Task/AiTaskLayEgg.cs diff --git a/src/Entity/Task/AiTaskSeekPoi.cs b/detailedanimals/src/Entity/Task/AiTaskSeekPoi.cs similarity index 100% rename from src/Entity/Task/AiTaskSeekPoi.cs rename to detailedanimals/src/Entity/Task/AiTaskSeekPoi.cs diff --git a/src/Entity/Task/AiTaskSitOnNest.cs b/detailedanimals/src/Entity/Task/AiTaskSitOnNest.cs similarity index 100% rename from src/Entity/Task/AiTaskSitOnNest.cs rename to detailedanimals/src/Entity/Task/AiTaskSitOnNest.cs diff --git a/src/EntityVariantsModSystem.cs b/detailedanimals/src/EntityVariantsModSystem.cs similarity index 100% rename from src/EntityVariantsModSystem.cs rename to detailedanimals/src/EntityVariantsModSystem.cs diff --git a/src/Extensions/AnimalExtensions.cs b/detailedanimals/src/Extensions/AnimalExtensions.cs similarity index 100% rename from src/Extensions/AnimalExtensions.cs rename to detailedanimals/src/Extensions/AnimalExtensions.cs diff --git a/src/HarmonyPatches.cs b/detailedanimals/src/HarmonyPatches.cs similarity index 100% rename from src/HarmonyPatches.cs rename to detailedanimals/src/HarmonyPatches.cs diff --git a/src/Interpreter/CanineGenetics.cs b/detailedanimals/src/Interpreter/CanineGenetics.cs similarity index 100% rename from src/Interpreter/CanineGenetics.cs rename to detailedanimals/src/Interpreter/CanineGenetics.cs diff --git a/src/Interpreter/GoatGenetics.cs b/detailedanimals/src/Interpreter/GoatGenetics.cs similarity index 100% rename from src/Interpreter/GoatGenetics.cs rename to detailedanimals/src/Interpreter/GoatGenetics.cs diff --git a/src/Interpreter/JunglefowlGenetics.cs b/detailedanimals/src/Interpreter/JunglefowlGenetics.cs similarity index 100% rename from src/Interpreter/JunglefowlGenetics.cs rename to detailedanimals/src/Interpreter/JunglefowlGenetics.cs diff --git a/src/Nutrition/AnimalFoodSourcePatches.cs b/detailedanimals/src/Nutrition/AnimalFoodSourcePatches.cs similarity index 100% rename from src/Nutrition/AnimalFoodSourcePatches.cs rename to detailedanimals/src/Nutrition/AnimalFoodSourcePatches.cs diff --git a/src/Nutrition/GrassFoodSource.cs b/detailedanimals/src/Nutrition/GrassFoodSource.cs similarity index 100% rename from src/Nutrition/GrassFoodSource.cs rename to detailedanimals/src/Nutrition/GrassFoodSource.cs diff --git a/src/Nutrition/GrazeMethod.cs b/detailedanimals/src/Nutrition/GrazeMethod.cs similarity index 100% rename from src/Nutrition/GrazeMethod.cs rename to detailedanimals/src/Nutrition/GrazeMethod.cs diff --git a/src/Nutrition/NursingMilkSource.cs b/detailedanimals/src/Nutrition/NursingMilkSource.cs similarity index 100% rename from src/Nutrition/NursingMilkSource.cs rename to detailedanimals/src/Nutrition/NursingMilkSource.cs diff --git a/src/Nutrition/Nutrient.cs b/detailedanimals/src/Nutrition/Nutrient.cs similarity index 100% rename from src/Nutrition/Nutrient.cs rename to detailedanimals/src/Nutrition/Nutrient.cs diff --git a/src/Nutrition/NutritionData.cs b/detailedanimals/src/Nutrition/NutritionData.cs similarity index 100% rename from src/Nutrition/NutritionData.cs rename to detailedanimals/src/Nutrition/NutritionData.cs diff --git a/src/Nutrition/TryFeedingAnimal.cs b/detailedanimals/src/Nutrition/TryFeedingAnimal.cs similarity index 100% rename from src/Nutrition/TryFeedingAnimal.cs rename to detailedanimals/src/Nutrition/TryFeedingAnimal.cs