https://wiki.vintagestory.at/api.php?action=feedcontributions&user=FuzzyBot&feedformat=atomVintage Story Wiki - User contributions [en]2024-03-28T15:40:39ZUser contributionsMediaWiki 1.38.2https://wiki.vintagestory.at/index.php?title=Template:Navbox/contentmodding/en&diff=175907Template:Navbox/contentmodding/en2024-03-28T14:07:03Z<p>FuzzyBot: Updating to match new version of source page</p>
<hr />
<div><noinclude><br />
<languages/><br />
</noinclude>__NOTOC__{{Navbox<br />
|title=Content Modding<br />
|group1=Basics<br />
|body1={{NatsNavboxLines<br />
|{{ll|Modding:Content_Mods|Content Mods|nsp=0}},<br />
{{ll|Modding:Developing_a_Content_Mod|Developing a Content Mod|nsp=0}}<br />
}}<br />
<br />
|group2=Tutorials<br />
|body2={{Navbox<br />
|child=true<br />
|group1=Basic<br />
|body1={{NatsNavboxLines<br />
|{{ll|Modding:Basic_Content_Tutorials|Basic Tutorials|nsp=0}},<br />
{{ll|Modding:Content_Tutorial_Basics|1. Content Essentials|nsp=0}},<br />
{{ll|Modding:Content_Tutorial_Simple_Item|2. Simple Item|nsp=0}},<br />
{{ll|Modding:Content_Tutorial_Simple_Block|3. Simple Block|nsp=0}},<br />
{{ll|Modding:Content_Tutorial_Simple_Recipe|4. Simple Recipes|nsp=0}}<br />
}}<br />
<br />
|group2=Intermediate<br />
|body2={{NatsNavboxLines<br />
|{{ll|Modding:Intermediate_Content_Tutorials|Intermediate Tutorials|nsp=0}}<br />
}}<br />
<br />
|group3=Advanced<br />
|body3={{NatsNavboxLines<br />
|{{ll|Modding:Advanced_Content_Tutorials|Advanced Tutorials|nsp=0}},<br />
{{ll|Modding:Content_Tutorial_Advanced_Item|5. Advanced Item|nsp=0}},<br />
{{ll|Modding:Content_Tutorial_Advanced_Block|6. Advanced Block|nsp=0}},<br />
{{ll|Modding:Content_Tutorial_Advanced_Recipe|7. Advanced Recipes|nsp=0}}<br />
}}<br />
}}<br />
<br />
|group3=Concepts<br />
|body3={{NatsNavboxLines<br />
|{{ll|Modding:Content_Mod_Concepts|Modding Concepts|nsp=0}},<br />
{{ll|Modding:Variants|nsp=0}},<br />
{{ll|Modding:Domains|nsp=0}},<br />
{{ll|Modding:Patching|nsp=0}},<br />
{{ll|Modding:Remapping|nsp=0}}<br />
}}<br />
<br />
|group4=Uncategorized<br />
|body4={{navbox<br />
|child=true<br />
|group1=Basics<br />
|body1={{NatsNavboxLines<br />
|{{ll|Modding:Basic_Modding_Examples|Basic Examples|nsp=0}},<br />
{{ll|Modding:Asset System|nsp=0}},<br />
{{ll|Modding:Textures|Textures|nsp=0}},<br />
{{ll|Modding:Basic Item|Items|nsp=0}},<br />
{{ll|Modding:Creating Recipes|Recipes|nsp=0}},<br />
{{ll|Modding:Basic Block|Blocks|nsp=0}},<br />
{{ll|Modding:Basic Entity|Entities|nsp=0}},<br />
{{ll|Modding:VS Model Creator|Model Creator|nsp=0}},<br />
{{ll|Animation Basics|nsp=0}},<br />
{{ll|VTML|VTML & Icons|nsp=0}},<br />
{{ll|Modding:Mod Packaging|Packaging & Release|nsp=0}},<br />
{{ll|Modinfo|nsp=0}},<br />
{{ll|Debugging|nsp=0}}<br />
}}<br />
<br />
|group2=Advanced<br />
|body2={{NatsNavboxLines<br />
|{{ll|Modding:JSON_Patching|nsp=0}},<br />
{{ll|Modding:Advanced JSON Item|nsp=0}},<br />
{{ll|Modding:The_Remapper|nsp=0}},<br />
{{ll|Modding:CompatibilityLib|Compatibility with other mods|nsp=0}}<br />
}} <br />
<br />
|group3=Worldgen<br />
|body3={{NatsNavboxLines <br />
|{{ll|Modding:WorldGen_Concept|WorldGen Concepts|nsp=0}},<br />
{{ll|Modding:WorldGen Configuration|Terrain|nsp=0}},<br />
{{ll|Modding:Ores|Ores|nsp=0}},<br />
{{ll|Modding:Trees|Trees|nsp=0}},<br />
{{ll|Json Random Generator|nsp=0}}<br />
}}<br />
}}<br />
<br />
}}{{navbox/modding|hidden=true}}</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Template:Navbox/contentmodding/11/en&diff=175906Translations:Template:Navbox/contentmodding/11/en2024-03-28T14:07:00Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>Concepts</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Modding:Community_Resources/en&diff=175904Modding:Community Resources/en2024-03-28T14:03:16Z<p>FuzzyBot: Updating to match new version of source page</p>
<hr />
<div><noinclude><languages/></noinclude><br />
__TOC__<br />
<br />
== Introduction ==<br />
There are a number of resources created by the community to assist with creating mods. These are listed below.<br />
<br />
=== Adding to this page ===<br />
To add to this page, it is recommended to ask someone who has wiki-editing access. Or, create a wiki account and ask for wiki edit access in [https://discord.com/channels/302152934249070593/420476226420080670 #wiki-and-translations on Discord]. Don't forget to include your wiki username.<br />
<br />
Using the visual editor, insert a new table row in the appropriate category and fill in all the details.<br />
<br />
== Tools for Content Mods == <br />
{| class="wikitable sortable"<br />
!Tool Name<br />
!Author<br />
!Link<br />
!For VS Version...<br />
!Description<br />
|-<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|}<br />
<br />
== Tools for Code Mods ==<br />
{| class="wikitable sortable"<br />
!Tool Name<br />
!Author<br />
!Link<br />
!For VS Version...<br />
!Description<br />
|-<br />
|Achievements API<br />
|Nat (Nateonus)<br />
|https://mods.vintagestory.at/show/mod/9615<br />
|1.19+<br />
|Add achievements into your mods using a simple JSON format.<br />
|}<br />
<br />
== Other Resources ==<br />
{| class="wikitable sortable"<br />
!Tool Name<br />
!Author<br />
!Link<br />
!For VS Version...<br />
!Description<br />
|-<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|}<br />
{{navbox/modding}}</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Community_Resources/4/en&diff=175903Translations:Modding:Community Resources/4/en2024-03-28T14:03:13Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>To add to this page, it is recommended to ask someone who has wiki-editing access. Or, create a wiki account and ask for wiki edit access in [https://discord.com/channels/302152934249070593/420476226420080670 #wiki-and-translations on Discord]. Don't forget to include your wiki username.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Template:Navbox/modding/sk&diff=175902Template:Navbox/modding/sk2024-03-28T14:02:15Z<p>FuzzyBot: Updating to match new version of source page</p>
<hr />
<div><noinclude><br />
<languages/><br />
</noinclude>__NOTOC__<includeonly>{{Messagebox<br />
|image= Icon Sign.png<br />
|title= Wondering where some links have gone?<br />
|text= The modding navbox is going through some changes! Check out {{ll|Modding:Navigation Box Updates|nsp=0}} for more info and help finding specific pages.<br />
}}</includeonly>{{Navbox<br />
|hidden={{#if:{{{hidden|}}}|true}}<br />
|title=<span lang="en" dir="ltr" class="mw-content-ltr">Modding</span><br />
<br />
|group1=<span lang="en" dir="ltr" class="mw-content-ltr">Modding Introduction</span><br />
|body1={{NatsNavboxLines<br />
|{{ll|Modding:Getting Started|Getting Started|nsp=0}},<br />
{{ll|Modding:Theme_Pack|nsp=0}}<br />
}}<br />
<br />
|group2=<span lang="en" dir="ltr" class="mw-content-ltr">Content Modding</span><br />
|body2={{NatsNavboxLines<br />
|{{ll|Modding:Content_Mods|Content Mods|nsp=0}},<br />
{{ll|Modding:Developing_a_Content_Mod|Developing a Content Mod|nsp=0}},<br />
{{ll|Modding:Basic_Content_Tutorials|Basic Tutorials|nsp=0}},<br />
{{ll|Modding:Intermediate_Content_Tutorials|Intermediate Tutorials|nsp=0}},<br />
{{ll|Modding:Advanced_Content_Tutorials|Advanced Tutorials|nsp=0}}<br />
}}<br />
<br />
|group3=<span lang="en" dir="ltr" class="mw-content-ltr">Code Modding</span><br />
|body3={{NatsNavboxLines<br />
|{{ll|Modding:Code_Mods|Code Mods|nsp=0}},<br />
{{ll|Modding:Setting_up_your_Development_Environment|Setting up your Development Environment|nsp=0}}<br />
}}<br />
<br />
|group4=<span lang="en" dir="ltr" class="mw-content-ltr">Property Overview</span><br />
|body4={{NatsNavboxLines<br />
|[[Modding:Item Json Properties|Item]],<br />
[[Modding:Entity_Json_Properties|Entity]],<br />
[[Modding:Block Json Properties|Block]],<br />
[[Modding:Json_Block_Behaviors|Block Behaviors]],<br />
[[Modding:Block Classes|Block Classes]],<br />
[[Modding:Block Entity Classes|Block Entities]],<br />
[[Modding:Block Entity Behaviors|Block Entity Behaviors]],<br />
[[Json:block:worldvariantgroups|World properties]]<br />
}}<br />
<br />
|group5=<span lang="en" dir="ltr" class="mw-content-ltr">Workflows & Infrastructure</span><br />
|body5={{NatsNavboxLines<br />
|[[Modding:Modding_Efficiently|Modding Efficiency Tips]],<br />
[[Modding:Mod-Engine Compatibility|Mod-engine compatibility]],<br />
{{Content/modding/code|[[Modding:Moddable_Mod|Mod Extensibility]]}},<br />
{{Content/modding/code|[[Modding:Understanding_the_VS_Engine|VS Engine]]}} <br />
}}<br />
<br />
|group6=<span lang="en" dir="ltr" class="mw-content-ltr">Additional Resources</span><br />
|body6={{NatsNavboxLines <br />
|{{ll|Modding:Community_Resources|nsp=0}},<br />
[[List of server commands]],<br />
[[List of client commands]],<br />
[[Client startup parameters]],<br />
[[Server startup parameters]],<br />
<br />
[https://github.com/anegostudios/vsmodexamples Example Mods],<br />
[https://apidocs.vintagestory.at/api/Vintagestory.API.Common.html API&nbsp;Docs],<br />
[https://github.com/anegostudios GitHub&nbsp;Repository]<br />
}}<br />
}}</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Template:Navbox/modding/en&diff=175901Template:Navbox/modding/en2024-03-28T14:02:13Z<p>FuzzyBot: Updating to match new version of source page</p>
<hr />
<div><noinclude><br />
<languages/><br />
</noinclude>__NOTOC__<includeonly>{{Messagebox<br />
|image= Icon Sign.png<br />
|title= Wondering where some links have gone?<br />
|text= The modding navbox is going through some changes! Check out {{ll|Modding:Navigation Box Updates|nsp=0}} for more info and help finding specific pages.<br />
}}</includeonly>{{Navbox<br />
|hidden={{#if:{{{hidden|}}}|true}}<br />
|title=Modding<br />
<br />
|group1=Modding Introduction<br />
|body1={{NatsNavboxLines<br />
|{{ll|Modding:Getting Started|Getting Started|nsp=0}},<br />
{{ll|Modding:Theme_Pack|nsp=0}}<br />
}}<br />
<br />
|group2=Content Modding<br />
|body2={{NatsNavboxLines<br />
|{{ll|Modding:Content_Mods|Content Mods|nsp=0}},<br />
{{ll|Modding:Developing_a_Content_Mod|Developing a Content Mod|nsp=0}},<br />
{{ll|Modding:Basic_Content_Tutorials|Basic Tutorials|nsp=0}},<br />
{{ll|Modding:Intermediate_Content_Tutorials|Intermediate Tutorials|nsp=0}},<br />
{{ll|Modding:Advanced_Content_Tutorials|Advanced Tutorials|nsp=0}}<br />
}}<br />
<br />
|group3=Code Modding<br />
|body3={{NatsNavboxLines<br />
|{{ll|Modding:Code_Mods|Code Mods|nsp=0}},<br />
{{ll|Modding:Setting_up_your_Development_Environment|Setting up your Development Environment|nsp=0}}<br />
}}<br />
<br />
|group4=Property Overview<br />
|body4={{NatsNavboxLines<br />
|[[Modding:Item Json Properties|Item]],<br />
[[Modding:Entity_Json_Properties|Entity]],<br />
[[Modding:Block Json Properties|Block]],<br />
[[Modding:Json_Block_Behaviors|Block Behaviors]],<br />
[[Modding:Block Classes|Block Classes]],<br />
[[Modding:Block Entity Classes|Block Entities]],<br />
[[Modding:Block Entity Behaviors|Block Entity Behaviors]],<br />
[[Json:block:worldvariantgroups|World properties]]<br />
}}<br />
<br />
|group5=Workflows & Infrastructure<br />
|body5={{NatsNavboxLines<br />
|[[Modding:Modding_Efficiently|Modding Efficiency Tips]],<br />
[[Modding:Mod-Engine Compatibility|Mod-engine compatibility]],<br />
{{Content/modding/code|[[Modding:Moddable_Mod|Mod Extensibility]]}},<br />
{{Content/modding/code|[[Modding:Understanding_the_VS_Engine|VS Engine]]}} <br />
}}<br />
<br />
|group6=Additional Resources<br />
|body6={{NatsNavboxLines <br />
|{{ll|Modding:Community_Resources|nsp=0}},<br />
[[List of server commands]],<br />
[[List of client commands]],<br />
[[Client startup parameters]],<br />
[[Server startup parameters]],<br />
<br />
[https://github.com/anegostudios/vsmodexamples Example Mods],<br />
[https://apidocs.vintagestory.at/api/Vintagestory.API.Common.html API&nbsp;Docs],<br />
[https://github.com/anegostudios GitHub&nbsp;Repository]<br />
}}<br />
}}</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Template:Navbox/modding/ru&diff=175900Template:Navbox/modding/ru2024-03-28T14:02:13Z<p>FuzzyBot: Updating to match new version of source page</p>
<hr />
<div><noinclude><br />
<languages/><br />
</noinclude>__NOTOC__<includeonly>{{Messagebox<br />
|image= Icon Sign.png<br />
|title= Wondering where some links have gone?<br />
|text= The modding navbox is going through some changes! Check out {{ll|Modding:Navigation Box Updates|nsp=0}} for more info and help finding specific pages.<br />
}}</includeonly>{{Navbox<br />
|hidden={{#if:{{{hidden|}}}|true}}<br />
|title=<span lang="en" dir="ltr" class="mw-content-ltr">Modding</span><br />
<br />
|group1=<span lang="en" dir="ltr" class="mw-content-ltr">Modding Introduction</span><br />
|body1={{NatsNavboxLines<br />
|{{ll|Modding:Getting Started|Getting Started|nsp=0}},<br />
{{ll|Modding:Theme_Pack|nsp=0}}<br />
}}<br />
<br />
|group2=<span lang="en" dir="ltr" class="mw-content-ltr">Content Modding</span><br />
|body2={{NatsNavboxLines<br />
|{{ll|Modding:Content_Mods|Content Mods|nsp=0}},<br />
{{ll|Modding:Developing_a_Content_Mod|Developing a Content Mod|nsp=0}},<br />
{{ll|Modding:Basic_Content_Tutorials|Basic Tutorials|nsp=0}},<br />
{{ll|Modding:Intermediate_Content_Tutorials|Intermediate Tutorials|nsp=0}},<br />
{{ll|Modding:Advanced_Content_Tutorials|Advanced Tutorials|nsp=0}}<br />
}}<br />
<br />
|group3=<span lang="en" dir="ltr" class="mw-content-ltr">Code Modding</span><br />
|body3={{NatsNavboxLines<br />
|{{ll|Modding:Code_Mods|Code Mods|nsp=0}},<br />
{{ll|Modding:Setting_up_your_Development_Environment|Setting up your Development Environment|nsp=0}}<br />
}}<br />
<br />
|group4=<span lang="en" dir="ltr" class="mw-content-ltr">Property Overview</span><br />
|body4={{NatsNavboxLines<br />
|[[Modding:Item Json Properties|Item]],<br />
[[Modding:Entity_Json_Properties|Entity]],<br />
[[Modding:Block Json Properties|Block]],<br />
[[Modding:Json_Block_Behaviors|Block Behaviors]],<br />
[[Modding:Block Classes|Block Classes]],<br />
[[Modding:Block Entity Classes|Block Entities]],<br />
[[Modding:Block Entity Behaviors|Block Entity Behaviors]],<br />
[[Json:block:worldvariantgroups|World properties]]<br />
}}<br />
<br />
|group5=<span lang="en" dir="ltr" class="mw-content-ltr">Workflows & Infrastructure</span><br />
|body5={{NatsNavboxLines<br />
|[[Modding:Modding_Efficiently|Modding Efficiency Tips]],<br />
[[Modding:Mod-Engine Compatibility|Mod-engine compatibility]],<br />
{{Content/modding/code|[[Modding:Moddable_Mod|Mod Extensibility]]}},<br />
{{Content/modding/code|[[Modding:Understanding_the_VS_Engine|VS Engine]]}} <br />
}}<br />
<br />
|group6=<span lang="en" dir="ltr" class="mw-content-ltr">Additional Resources</span><br />
|body6={{NatsNavboxLines <br />
|{{ll|Modding:Community_Resources|nsp=0}},<br />
[[List of server commands]],<br />
[[List of client commands]],<br />
[[Client startup parameters]],<br />
[[Server startup parameters]],<br />
<br />
[https://github.com/anegostudios/vsmodexamples Example Mods],<br />
[https://apidocs.vintagestory.at/api/Vintagestory.API.Common.html API&nbsp;Docs],<br />
[https://github.com/anegostudios GitHub&nbsp;Repository]<br />
}}<br />
}}</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Modding:Community_Resources/en&diff=175898Modding:Community Resources/en2024-03-28T13:59:25Z<p>FuzzyBot: Updating to match new version of source page</p>
<hr />
<div><noinclude><languages/></noinclude><br />
__TOC__<br />
<br />
== Introduction ==<br />
There are a number of resources created by the community to assist with creating mods. These are listed below.<br />
<br />
=== Adding to this page ===<br />
To add to this page, it is recommended to ask someone who has wiki-editing access.<br />
<br />
Using the visual editor, insert a new table row in the appropriate category and fill in all the details.<br />
<br />
== Tools for Content Mods == <br />
{| class="wikitable sortable"<br />
!Tool Name<br />
!Author<br />
!Link<br />
!For VS Version...<br />
!Description<br />
|-<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|}<br />
<br />
== Tools for Code Mods ==<br />
{| class="wikitable sortable"<br />
!Tool Name<br />
!Author<br />
!Link<br />
!For VS Version...<br />
!Description<br />
|-<br />
|Achievements API<br />
|Nat (Nateonus)<br />
|https://mods.vintagestory.at/show/mod/9615<br />
|1.19+<br />
|Add achievements into your mods using a simple JSON format.<br />
|}<br />
<br />
== Other Resources ==<br />
{| class="wikitable sortable"<br />
!Tool Name<br />
!Author<br />
!Link<br />
!For VS Version...<br />
!Description<br />
|-<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|}<br />
{{navbox/modding}}</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Community_Resources/8/en&diff=175897Translations:Modding:Community Resources/8/en2024-03-28T13:59:12Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>Other Resources</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Community_Resources/7/en&diff=175896Translations:Modding:Community Resources/7/en2024-03-28T13:59:12Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>Tools for Code Mods</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Community_Resources/6/en&diff=175895Translations:Modding:Community Resources/6/en2024-03-28T13:59:12Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>Tools for Content Mods</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Community_Resources/5/en&diff=175894Translations:Modding:Community Resources/5/en2024-03-28T13:59:12Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>Using the visual editor, insert a new table row in the appropriate category and fill in all the details.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Community_Resources/4/en&diff=175893Translations:Modding:Community Resources/4/en2024-03-28T13:59:12Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>To add to this page, it is recommended to ask someone who has wiki-editing access.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Community_Resources/3/en&diff=175892Translations:Modding:Community Resources/3/en2024-03-28T13:59:12Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>Adding to this page</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Community_Resources/2/en&diff=175891Translations:Modding:Community Resources/2/en2024-03-28T13:59:12Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>There are a number of resources created by the community to assist with creating mods. These are listed below.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Community_Resources/1/en&diff=175890Translations:Modding:Community Resources/1/en2024-03-28T13:59:12Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>Introduction</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Community_Resources/Page_display_title/en&diff=175889Translations:Modding:Community Resources/Page display title/en2024-03-28T13:59:12Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>Modding:Community Resources</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Modding:Content_Tutorial_Basics/en&diff=175881Modding:Content Tutorial Basics/en2024-03-28T13:14:38Z<p>FuzzyBot: Updating to match new version of source page</p>
<hr />
<div><languages/><br />
{{GameVersion|1.19.4}}<br />
__FORCETOC__<br />
<br />
This page should give you a basic understanding of topics that may be used within the content tutorials. If there is ever a phrase or topic you are unsure about, it is recommended to check here first to see if it has an explanation.<br />
<br />
== Shape Files ==<br />
A shape file is a '''3d model''' of a block, item, or entity. They are usually stored within the shapes folder in your mod's assets folder.<br />
<br />
When referencing a shape in a json file, you can use the following example property:<syntaxhighlight lang="json"><br />
"shape": {<br />
"base": "item/simplewand"<br />
},<br />
</syntaxhighlight>Note that the value automatically looks in your mod folder, unless a domain is provided. In this case for the example mod, the path to the shape is "''assets/examplecontentmod/shapes/item/simplewand.json''". You do not need to provide the full path, nor do you need to provide the file type.<br />
<br />
== Texture Files ==<br />
A texture file is a '''2d image''' for a block, item, or entity. Textures are [https://www.youtube.com/watch?v=Yx2JNbv8Kpg ''mapped'' onto shape files using UVs], allowing us to use different textures without having to create new shape files.<br />
<br />
Textures are assigned on both shape files, and the block, item or entity file that is using them (''see Modifying Textures below)''.<br />
<br />
The following property exists in our shape file:<syntaxhighlight lang="json"><br />
"textures": {<br />
"base": "item/simplewand"<br />
}<br />
</syntaxhighlight>Note that we can use multiple textures in a single shape file:<syntaxhighlight lang="json"><br />
"textures": {<br />
"head": "item/wand-blue",<br />
"handle": "item/wand-handle"<br />
}<br />
</syntaxhighlight>In the '<nowiki/>''textures''<nowiki/>' block, we have a list of keys and values. The key refers to the name of the texture inside the shape file, and the value refers to the file path of the texture. In the first instance, similar to when we reference our shape file, the game will search in our mod's texture folder as no domain was given. In this case for the example mod, the path is "''assets/examplecontentmod/textures/item/simplewand.png''". Note again that you do not need to provide the full path or provide the file type.<br />
<br />
=== Modifying Textures ===<br />
Textures can not only be set within a shape file, but can also be set within the block, item or entity using the shape file.<br />
<br />
If our shape only has a single texture, we can use the following property within our block/item/entity:<syntaxhighlight lang="json"><br />
"texture": {<br />
"base": "item/simplewand"<br />
}<br />
</syntaxhighlight>Note that the above is '''texture''', not '''textures'''. Also note that when using a single texture, the key is always "base", regardless of the texture name in the shape file. To change multiple textures in a block/item/entity, use the following:<syntaxhighlight lang="json"><br />
"textures": {<br />
"head": { "base": "item/wand-blue" },<br />
"handle": { "base": "item/wand-handle" }<br />
},<br />
</syntaxhighlight>Note that as we are changing multiple textures, we use '''textures'''. Also note that "''head''" and ''"handle''" match with the textures we are changing in the shape file.<br />
<br />
Remember that since we are not specifying a domain, the game will search for these textures within the mod's assets.<br />
<br />
== Lang(uage) File ==<br />
A lang file is a '''list of translations''' for a mod. To ensure that mods can be easily translated, the game automatically creates one or more translation keys for each asset. These keys are based on the asset code and type. <br />
<br />
An example ''<nowiki/>'en.json''' lang file may look like this:<syntaxhighlight lang="json"><br />
{<br />
"block-simplyshinyblock": "(Example Mod) Simple Gold Block",<br />
"item-simplewand": "(Example Mod) Simple Wand"<br />
}<br />
</syntaxhighlight>Each 'key' matches to a string that affects how the item or block is named in game. Note that there are many available languages in Vintage Story, and these can be found in the base''"assets/game/lang/languages.json"'' file''.''<br />
<br />
== What's Next? ==<br />
Now you have an understanding of these topics, it is a good idea to move onto the [[Modding:Content Tutorial Simple Item|first tutorial]], where you will create your first item. {{Navbox/contentmodding}}</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Basics/13/en&diff=175880Translations:Modding:Content Tutorial Basics/13/en2024-03-28T13:14:35Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>== What's Next? ==<br />
Now you have an understanding of these topics, it is a good idea to move onto the [[Modding:Content Tutorial Simple Item|first tutorial]], where you will create your first item.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Basics/12/en&diff=175879Translations:Modding:Content Tutorial Basics/12/en2024-03-28T13:14:35Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>An example ''<nowiki/>'en.json''' lang file may look like this:<syntaxhighlight lang="json"><br />
{<br />
"block-simplyshinyblock": "(Example Mod) Simple Gold Block",<br />
"item-simplewand": "(Example Mod) Simple Wand"<br />
}<br />
</syntaxhighlight>Each 'key' matches to a string that affects how the item or block is named in game. Note that there are many available languages in Vintage Story, and these can be found in the base''"assets/game/lang/languages.json"'' file''.''</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Basics/11/en&diff=175878Translations:Modding:Content Tutorial Basics/11/en2024-03-28T13:14:35Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>== Lang(uage) File ==<br />
A lang file is a '''list of translations''' for a mod. To ensure that mods can be easily translated, the game automatically creates one or more translation keys for each asset. These keys are based on the asset code and type.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Basics/10/en&diff=175877Translations:Modding:Content Tutorial Basics/10/en2024-03-28T13:14:35Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>Remember that since we are not specifying a domain, the game will search for these textures within the mod's assets.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Basics/9/en&diff=175876Translations:Modding:Content Tutorial Basics/9/en2024-03-28T13:14:35Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>If our shape only has a single texture, we can use the following property within our block/item/entity:<syntaxhighlight lang="json"><br />
"texture": {<br />
"base": "item/simplewand"<br />
}<br />
</syntaxhighlight>Note that the above is '''texture''', not '''textures'''. Also note that when using a single texture, the key is always "base", regardless of the texture name in the shape file. To change multiple textures in a block/item/entity, use the following:<syntaxhighlight lang="json"><br />
"textures": {<br />
"head": { "base": "item/wand-blue" },<br />
"handle": { "base": "item/wand-handle" }<br />
},<br />
</syntaxhighlight>Note that as we are changing multiple textures, we use '''textures'''. Also note that "''head''" and ''"handle''" match with the textures we are changing in the shape file.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Basics/8/en&diff=175875Translations:Modding:Content Tutorial Basics/8/en2024-03-28T13:14:35Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>=== Modifying Textures ===<br />
Textures can not only be set within a shape file, but can also be set within the block, item or entity using the shape file.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Basics/7/en&diff=175874Translations:Modding:Content Tutorial Basics/7/en2024-03-28T13:14:35Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>The following property exists in our shape file:<syntaxhighlight lang="json"><br />
"textures": {<br />
"base": "item/simplewand"<br />
}<br />
</syntaxhighlight>Note that we can use multiple textures in a single shape file:<syntaxhighlight lang="json"><br />
"textures": {<br />
"head": "item/wand-blue",<br />
"handle": "item/wand-handle"<br />
}<br />
</syntaxhighlight>In the '<nowiki/>''textures''<nowiki/>' block, we have a list of keys and values. The key refers to the name of the texture inside the shape file, and the value refers to the file path of the texture. In the first instance, similar to when we reference our shape file, the game will search in our mod's texture folder as no domain was given. In this case for the example mod, the path is "''assets/examplecontentmod/textures/item/simplewand.png''". Note again that you do not need to provide the full path or provide the file type.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Basics/6/en&diff=175873Translations:Modding:Content Tutorial Basics/6/en2024-03-28T13:14:35Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>Textures are assigned on both shape files, and the block, item or entity file that is using them (''see Modifying Textures below)''.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Basics/5/en&diff=175872Translations:Modding:Content Tutorial Basics/5/en2024-03-28T13:14:35Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>== Texture Files ==<br />
A texture file is a '''2d image''' for a block, item, or entity. Textures are [https://www.youtube.com/watch?v=Yx2JNbv8Kpg ''mapped'' onto shape files using UVs], allowing us to use different textures without having to create new shape files.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Basics/4/en&diff=175871Translations:Modding:Content Tutorial Basics/4/en2024-03-28T13:14:34Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>When referencing a shape in a json file, you can use the following example property:<syntaxhighlight lang="json"><br />
"shape": {<br />
"base": "item/simplewand"<br />
},<br />
</syntaxhighlight>Note that the value automatically looks in your mod folder, unless a domain is provided. In this case for the example mod, the path to the shape is "''assets/examplecontentmod/shapes/item/simplewand.json''". You do not need to provide the full path, nor do you need to provide the file type.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Basics/3/en&diff=175870Translations:Modding:Content Tutorial Basics/3/en2024-03-28T13:14:34Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>== Shape Files ==<br />
A shape file is a '''3d model''' of a block, item, or entity. They are usually stored within the shapes folder in your mod's assets folder.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Basics/2/en&diff=175869Translations:Modding:Content Tutorial Basics/2/en2024-03-28T13:14:34Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>This page should give you a basic understanding of topics that may be used within the content tutorials. If there is ever a phrase or topic you are unsure about, it is recommended to check here first to see if it has an explanation.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Basics/1/en&diff=175868Translations:Modding:Content Tutorial Basics/1/en2024-03-28T13:14:34Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>{{GameVersion|1.19.4}}<br />
__FORCETOC__</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Basics/Page_display_title/en&diff=175867Translations:Modding:Content Tutorial Basics/Page display title/en2024-03-28T13:14:34Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>Modding:Content Tutorial Basics</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Modding:Content_Tutorial_Simple_Item/en&diff=175865Modding:Content Tutorial Simple Item/en2024-03-28T13:14:18Z<p>FuzzyBot: Updating to match new version of source page</p>
<hr />
<div><languages/><br />
{{GameVersion|1.19.4}}<br />
__FORCETOC__<br />
<br />
== Introduction ==<br />
<br />
=== Objective ===<br />
In this tutorial, you will create an item - A simple wand! Although this item will have no real functionality, it will demonstrate how to create assets in json, as well as how to use shapes, textures, and lang files.<br />
<br />
=== Assets ===<br />
Before starting, it is recommended you [https://github.com/Nateonus/vsmodexamples/releases/tag/SimpleItemTutorial download the workspace and assets] for this tutorial. The completed files can also be found here. <br />
<br />
This tutorial starts with the following assets:<br />
<br />
* Mod Setup & Folder Structure<br />
* Empty item file<br />
* Template lang file<br />
* Item shape file<br />
* Item texture file<br />
<br />
=== Prerequisites ===<br />
This tutorial will assume you understand the following topics:<br />
<br />
* [[Modding:Developing a Content Mod|Setting up a content mod and using an IDE.]]<br />
* [[Modding:Content Tutorial Basics|The functions of shape, texture and lang files.]]<br />
<br />
== Navigating Assets ==<br />
Using the downloaded workspace, have a look at the files that currently exist.<br />
<br />
* ''modinfo.json'' - The mod info file, which registers your mod with the ID 'simpleitem'.<br />
* ''modicon.png'' - The mod icon file, which will be displayed on the mod manager menu.<br />
* ''assets/simpleitem/itemtypes/simplewand.json'' - An empty file, this is where you shall put the code for your item.<br />
* ''assets/simpleitem/lang/en.json'' - A sample language file, which is where you will add your translation values.<br />
* ''assets/simpleitem/shapes/item/simplewand.json'' - A shape file for the wand.<br />
* ''assets/simpleitem/textures/item/simplewand.png'' - A texture file for the wand.<br />
<br />
== Creating the Item ==<br />
In order to create an item, a file must be created inside the ''itemtypes'' folder. If using the provided workspace, there already exists an item file called simplewand. Open this file in your IDE.<br />
<br />
The most important property when creating an asset is the code, also known as an ID. To begin, copy and paste this into the opened simplewand file.<syntaxhighlight lang="json"><br />
{<br />
"code": "simplewand"<br />
}<br />
</syntaxhighlight>Remember that json files are a set of keys to values. The key, in this example, is "''code''", and the value is "''simplewand''". Note that the item file starts and ends in curly brackets ('''{ }'''), meaning it is a single object.<br />
<br />
Now that your itemtype file has a code, it will now be created and registered in game. However, you need a way of accessing the item. To do this, add a new property:<syntaxhighlight lang="json"><br />
{<br />
"code": "simplewand",<br />
"creativeinventory": {<br />
"general": [ "*" ]<br />
}<br />
}<br />
</syntaxhighlight>Notice that each property is seperated using a comma. The new property, ''"creativeinventory"'' tells the game what creative tab this item will be placed in. The syntax of this particular property is a little bit more complex, but don't worry about it for now. All this does is add the item into the "general" creative tab.<br />
<br />
If you were to launch Vintage Story and enable your mod, you will see the item in the creative menu! <br />
<br />
[[File:Content Tutorial Simple Item No Texture Or Shape.png|frameless]]<br />
<br />
Ideally, you do not want your item to be a large black box.<br />
<br />
== Adding the Shape & Texture ==<br />
The shape and texture files exist in the assets, so why isn't the item being [[wikipedia:Software_rendering|rendered]] correctly?<br />
<br />
If an asset wishes to use a certain shape or texture, then it must specify this within its json file. Replace your current itemtype json with the following:<syntaxhighlight lang="json"><br />
{<br />
"code": "simplewand",<br />
"creativeinventory": {<br />
"general": [ "*" ]<br />
},<br />
"texture": {<br />
"base": "item/simplewand"<br />
},<br />
"shape": {<br />
"base": "item/simplewand"<br />
}<br />
}<br />
</syntaxhighlight>Two new properties have been added - ''texture'' and ''shape.'' Remember that the shape is a 3D representation of our item, and the texture is a 2D image that is mapped onto our shape, and we should include both to ensure our item is rendered correctly. It may seem confusing that both the texture and shape values appear to be the same, but the game looks for these in different places. To find shapes, the game automatically looks in the mod's ''shapes'' folder, whereas for textures it looks in the mod's ''textures'' folder. <br />
<br />
If you run the game again, you'll notice some changes.<br />
<br />
[[File:SimpleItemTutorialWandNoPositioning.png|frameless]]<br />
<br />
Now, that certainly looks closer to what we wanted, but the position of the item is wrong.<br />
<br />
== Positioning the Item ==<br />
Your item is nearly complete, however the 3d object does not have the correct transformation. A transformation, in 3d graphics, refers to an object's position, rotation, and scale. <br />
<br />
=== Using the Transform Editor ===<br />
To allow modders to easily position items and blocks correctly, Vintage Story utilises a transform editor that can be accessed in game. When in game, hold the item you wish to position and use the command ''<nowiki/>'.tfedit' to open the transform editor.''<br />
<br />
The transform editor allows you to select where the object is rendered, and adjust its transformation directly. The best part about this is the generated json code at the bottom of this editor, which you can copy and paste straight into your item file.<br />
<br />
It is recommend to learn how to use the transform editor, since it is an invaluable tool for transforming items and blocks.<br />
<br />
Changes made within the transform editor do not modify any files, and will therefore not save. For each item you create, it is recommended to set positions for ground, main hand, and gui. These use the properties ''groundTransform'', ''tpHandTransform,'' and ''guiTransform'' respectively.<br />
<br />
To transform your wand correctly, add the following properties. Don't forget to add a comma after the final curly bracket on the previous shape element.<syntaxhighlight lang="json"><br />
"guiTransform": {<br />
"translation": {<br />
"x": 0,<br />
"y": 0,<br />
"z": 0<br />
},<br />
"rotation": {<br />
"x": -89,<br />
"y": 41,<br />
"z": 33<br />
},<br />
"origin": {<br />
"x": 0.48,<br />
"y": 0,<br />
"z": 0.38<br />
},<br />
"scale": 1.78<br />
},<br />
"groundTransform": {<br />
"translation": {<br />
"x": 0,<br />
"y": 0,<br />
"z": 0<br />
},<br />
"rotation": {<br />
"x": 0,<br />
"y": 0,<br />
"z": 0<br />
},<br />
"origin": {<br />
"x": 0.5,<br />
"y": 0,<br />
"z": 0.5<br />
},<br />
"scale": 3.4<br />
},<br />
"tpHandTransform": {<br />
"translation": {<br />
"x": -0.45,<br />
"y": 0.03,<br />
"z": -0.66<br />
},<br />
"rotation": {<br />
"x": 90,<br />
"y": 0,<br />
"z": 0<br />
},<br />
"origin": {<br />
"x": 0.5,<br />
"y": 0,<br />
"z": 0.5<br />
},<br />
"scale": 0.8<br />
}<br />
</syntaxhighlight>To see if the changes are correct, you can simply reload the world. Hopefully, if everything worked correctly, you should find that your wand now fits better in the player's hand, as well as appearing in the gui more appropriately.<br />
<br />
[[File:SimpleItemContentTutorialItemPositionButNoName.png|frameless]]<br />
<br />
There is one final change before the item is complete.<br />
<br />
== Renaming the Item ==<br />
Currently, every instance of the item is called ''<nowiki/>'simpleitem:item-simplewand'.'' To fix this, you need to add an entry to the lang file. Open up the provided ''en.json'' language file, found in ''assets/simpleitem/lang.'' <br />
<br />
This sample lang file contains two premade translations, to show you how the file works. <syntaxhighlight lang="json"><br />
{<br />
"template-lang-1": "Template Lang 1",<br />
"template-lang-2": "Template Lang 2"<br />
}<br />
</syntaxhighlight>On the left is the translation key, and on the right is the translated string. Add a new entry to this file by adding a comma after the second sample translation, and a new line. In this case, the translation key is '<nowiki/>''item-simplewand'<nowiki/>''. Note that this is how the game is currently displaying the name, minus the mod domain prefix. The translated string for this should be '<nowiki/>''Simple Wand'<nowiki/>''.<syntaxhighlight lang="json"><br />
{<br />
"template-lang-1": "Template Lang 1",<br />
"template-lang-2": "Template Lang 2",<br />
"item-simplewand": "Simple Wand"<br />
}<br />
</syntaxhighlight>Both sample translations are not used, and can be deleted if you want to.<br />
<br />
To speed up testing, if you still have Vintage Story open, you can use the command '<nowiki/>''.reload lang''' to reload all lang files. Hovering over your item should show that our lang file has taken effect.<br />
<br />
[[File:SimpleItemTutorialFinalImageWorking.png|frameless]]<br />
<br />
== Conclusion ==<br />
Congratulations, you have now created your first item! This tutorial should have given you some understanding of items, textures, shapes and language files, as well as the basics of modding for Vintage Story! <br />
<br />
=== Next Steps... ===<br />
If you want to test your knowledge, consider doing the tasks under the ''Going Further'' section below.<br />
<br />
When you're ready, try out the next tutorial: [[Modding:Content Tutorial Simple Block|Simple Block]]. This will show you how to create a new block with a texture.<br />
<br />
== Going Further ==<br />
Want to make some additional changes to this mod? Try and achieve the following things!<br />
<br />
Change the color of the wand<br />
{| class="wikitable mw-collapsible mw-collapsed"<br />
|To achieve this...<br />
|-<br />
|Modify the ''simplewand.png'' texture to a different color.<br />
|}<br />
Change your modid and domain to something else<br />
{| class="wikitable mw-collapsible mw-collapsed"<br />
|To achieve this...<br />
|-<br />
|Modify both the modid entry in ''modinfo.json'', and change the name of the '<nowiki/>''simpleitem''<nowiki/>' folder in '''assets''<nowiki/>'.<br />
|}<br />
Rename your 'Simple Wand'<br />
{| class="wikitable mw-collapsible mw-collapsed"<br />
|To achieve this...<br />
|-<br />
|Change the entry for simplewand in your ''en.json'' lang file.<br />
|}<br />
Create another wand with a different color<br />
{| class="wikitable mw-collapsible mw-collapsed"<br />
|To achieve this...<br />
|-<br />
|Create a copy of the texture with a different name and color, and a duplicate itemtype file. In the new itemtype file, change the item code and change the texture property to your new texture path. Don't forget to add new lang translation entries! <br />
|}<br />
<br />
{{Navbox/contentmodding}}</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Simple_Item/39/en&diff=175864Translations:Modding:Content Tutorial Simple Item/39/en2024-03-28T13:14:08Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>{{Navbox/contentmodding}}</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Simple_Item/38/en&diff=175863Translations:Modding:Content Tutorial Simple Item/38/en2024-03-28T13:14:08Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>Change the color of the wand<br />
{| class="wikitable mw-collapsible mw-collapsed"<br />
|To achieve this...<br />
|-<br />
|Modify the ''simplewand.png'' texture to a different color.<br />
|}<br />
Change your modid and domain to something else<br />
{| class="wikitable mw-collapsible mw-collapsed"<br />
|To achieve this...<br />
|-<br />
|Modify both the modid entry in ''modinfo.json'', and change the name of the '<nowiki/>''simpleitem''<nowiki/>' folder in '''assets''<nowiki/>'.<br />
|}<br />
Rename your 'Simple Wand'<br />
{| class="wikitable mw-collapsible mw-collapsed"<br />
|To achieve this...<br />
|-<br />
|Change the entry for simplewand in your ''en.json'' lang file.<br />
|}<br />
Create another wand with a different color<br />
{| class="wikitable mw-collapsible mw-collapsed"<br />
|To achieve this...<br />
|-<br />
|Create a copy of the texture with a different name and color, and a duplicate itemtype file. In the new itemtype file, change the item code and change the texture property to your new texture path. Don't forget to add new lang translation entries! <br />
|}</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Simple_Item/37/en&diff=175862Translations:Modding:Content Tutorial Simple Item/37/en2024-03-28T13:14:08Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>== Going Further ==<br />
Want to make some additional changes to this mod? Try and achieve the following things!</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Simple_Item/36/en&diff=175861Translations:Modding:Content Tutorial Simple Item/36/en2024-03-28T13:14:08Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>When you're ready, try out the next tutorial: [[Modding:Content Tutorial Simple Block|Simple Block]]. This will show you how to create a new block with a texture.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Simple_Item/35/en&diff=175860Translations:Modding:Content Tutorial Simple Item/35/en2024-03-28T13:14:08Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>=== Next Steps... ===<br />
If you want to test your knowledge, consider doing the tasks under the ''Going Further'' section below.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Simple_Item/34/en&diff=175859Translations:Modding:Content Tutorial Simple Item/34/en2024-03-28T13:14:08Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>== Conclusion ==<br />
Congratulations, you have now created your first item! This tutorial should have given you some understanding of items, textures, shapes and language files, as well as the basics of modding for Vintage Story!</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Simple_Item/33/en&diff=175858Translations:Modding:Content Tutorial Simple Item/33/en2024-03-28T13:14:08Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>[[File:SimpleItemTutorialFinalImageWorking.png|frameless]]</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Simple_Item/32/en&diff=175857Translations:Modding:Content Tutorial Simple Item/32/en2024-03-28T13:14:08Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>To speed up testing, if you still have Vintage Story open, you can use the command '<nowiki/>''.reload lang''' to reload all lang files. Hovering over your item should show that our lang file has taken effect.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Simple_Item/31/en&diff=175856Translations:Modding:Content Tutorial Simple Item/31/en2024-03-28T13:14:08Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>This sample lang file contains two premade translations, to show you how the file works. <syntaxhighlight lang="json"><br />
{<br />
"template-lang-1": "Template Lang 1",<br />
"template-lang-2": "Template Lang 2"<br />
}<br />
</syntaxhighlight>On the left is the translation key, and on the right is the translated string. Add a new entry to this file by adding a comma after the second sample translation, and a new line. In this case, the translation key is '<nowiki/>''item-simplewand'<nowiki/>''. Note that this is how the game is currently displaying the name, minus the mod domain prefix. The translated string for this should be '<nowiki/>''Simple Wand'<nowiki/>''.<syntaxhighlight lang="json"><br />
{<br />
"template-lang-1": "Template Lang 1",<br />
"template-lang-2": "Template Lang 2",<br />
"item-simplewand": "Simple Wand"<br />
}<br />
</syntaxhighlight>Both sample translations are not used, and can be deleted if you want to.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Simple_Item/30/en&diff=175855Translations:Modding:Content Tutorial Simple Item/30/en2024-03-28T13:14:08Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>== Renaming the Item ==<br />
Currently, every instance of the item is called ''<nowiki/>'simpleitem:item-simplewand'.'' To fix this, you need to add an entry to the lang file. Open up the provided ''en.json'' language file, found in ''assets/simpleitem/lang.''</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Simple_Item/29/en&diff=175854Translations:Modding:Content Tutorial Simple Item/29/en2024-03-28T13:14:08Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>There is one final change before the item is complete.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Simple_Item/28/en&diff=175853Translations:Modding:Content Tutorial Simple Item/28/en2024-03-28T13:14:08Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>[[File:SimpleItemContentTutorialItemPositionButNoName.png|frameless]]</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Simple_Item/27/en&diff=175852Translations:Modding:Content Tutorial Simple Item/27/en2024-03-28T13:14:08Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>To transform your wand correctly, add the following properties. Don't forget to add a comma after the final curly bracket on the previous shape element.<syntaxhighlight lang="json"><br />
"guiTransform": {<br />
"translation": {<br />
"x": 0,<br />
"y": 0,<br />
"z": 0<br />
},<br />
"rotation": {<br />
"x": -89,<br />
"y": 41,<br />
"z": 33<br />
},<br />
"origin": {<br />
"x": 0.48,<br />
"y": 0,<br />
"z": 0.38<br />
},<br />
"scale": 1.78<br />
},<br />
"groundTransform": {<br />
"translation": {<br />
"x": 0,<br />
"y": 0,<br />
"z": 0<br />
},<br />
"rotation": {<br />
"x": 0,<br />
"y": 0,<br />
"z": 0<br />
},<br />
"origin": {<br />
"x": 0.5,<br />
"y": 0,<br />
"z": 0.5<br />
},<br />
"scale": 3.4<br />
},<br />
"tpHandTransform": {<br />
"translation": {<br />
"x": -0.45,<br />
"y": 0.03,<br />
"z": -0.66<br />
},<br />
"rotation": {<br />
"x": 90,<br />
"y": 0,<br />
"z": 0<br />
},<br />
"origin": {<br />
"x": 0.5,<br />
"y": 0,<br />
"z": 0.5<br />
},<br />
"scale": 0.8<br />
}<br />
</syntaxhighlight>To see if the changes are correct, you can simply reload the world. Hopefully, if everything worked correctly, you should find that your wand now fits better in the player's hand, as well as appearing in the gui more appropriately.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Simple_Item/26/en&diff=175851Translations:Modding:Content Tutorial Simple Item/26/en2024-03-28T13:14:08Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>Changes made within the transform editor do not modify any files, and will therefore not save. For each item you create, it is recommended to set positions for ground, main hand, and gui. These use the properties ''groundTransform'', ''tpHandTransform,'' and ''guiTransform'' respectively.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Simple_Item/25/en&diff=175850Translations:Modding:Content Tutorial Simple Item/25/en2024-03-28T13:14:08Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>It is recommend to learn how to use the transform editor, since it is an invaluable tool for transforming items and blocks.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Simple_Item/24/en&diff=175849Translations:Modding:Content Tutorial Simple Item/24/en2024-03-28T13:14:08Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>The transform editor allows you to select where the object is rendered, and adjust its transformation directly. The best part about this is the generated json code at the bottom of this editor, which you can copy and paste straight into your item file.</div>FuzzyBothttps://wiki.vintagestory.at/index.php?title=Translations:Modding:Content_Tutorial_Simple_Item/23/en&diff=175848Translations:Modding:Content Tutorial Simple Item/23/en2024-03-28T13:14:08Z<p>FuzzyBot: Importing a new version from external source</p>
<hr />
<div>=== Using the Transform Editor ===<br />
To allow modders to easily position items and blocks correctly, Vintage Story utilises a transform editor that can be accessed in game. When in game, hold the item you wish to position and use the command ''<nowiki/>'.tfedit' to open the transform editor.''</div>FuzzyBot