<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.play.eco/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Salbris</id>
	<title>Eco - English Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.play.eco/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Salbris"/>
	<link rel="alternate" type="text/html" href="https://wiki.play.eco/en/Special:Contributions/Salbris"/>
	<updated>2026-06-04T03:56:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.play.eco/en/index.php?title=Mod_Server_API&amp;diff=7853</id>
		<title>Mod Server API</title>
		<link rel="alternate" type="text/html" href="https://wiki.play.eco/en/index.php?title=Mod_Server_API&amp;diff=7853"/>
		<updated>2022-02-12T19:31:13Z</updated>

		<summary type="html">&lt;p&gt;Salbris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This page provides some tips for how to interact with the Server API when you create mod that needs to interact with the game&#039;s runtime state or behaviour. A full comprehensive list of the entire API can be found at https://docs.play.eco/api/server/index.html.&lt;br /&gt;
&lt;br /&gt;
To make full use of these docs you will want to have a basic understanding of the C# language and related concepts.&lt;br /&gt;
== Player ==&lt;br /&gt;
The &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; class contain references to information about a specific player. The &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; class contains references to the player&#039;s owned objects, inventories, their stats, professions, etc. While the &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; class has references to their location, technical server properties, player name, etc. If you have a &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; and need to get a &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; instance it&#039;s as simple as:&lt;br /&gt;
 user.Player&lt;br /&gt;
Or vice-versa:&lt;br /&gt;
 player.User&lt;br /&gt;
=== Accessing the Player&#039;s Inventory ===&lt;br /&gt;
All of a player&#039;s inventory is referenced by the &amp;lt;code&amp;gt;UserInventory&amp;lt;/code&amp;gt; class which is accessed by the Inventory property:&lt;br /&gt;
 user.Inventory&lt;br /&gt;
The player&#039;s backpack, toolbar and clothing can be accessed through this object like this:&lt;br /&gt;
 user.Inventory.ActionBar&lt;br /&gt;
 user.Inventory.Backpack&lt;br /&gt;
 user.Inventory.Carried&lt;br /&gt;
 user.Inventory.Clothing&lt;br /&gt;
 user.Inventory.Toolbar&lt;br /&gt;
The items in these inventories can be accessed in a couple different ways as discussed in the [[Mod Server API#Inventory|Inventory Section]]. Each of these is an instance of [https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Items.Inventory.html Inventory].&lt;br /&gt;
[[File:ActionBarScreenshot.png|thumb|user.Inventory.ActionBar]]&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.ActionBar&amp;lt;/code&amp;gt; represents all the standard buttons used to open the backpack, economy viewer, etc. located next to the minimap.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Backpack&amp;lt;/code&amp;gt; represents all the stacks of items inside the player&#039;s backpack but not their clothes or items on their hotbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Carried&amp;lt;/code&amp;gt; represents the stack of items the player can carry around such as dirt, stone, or logs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Clothing&amp;lt;/code&amp;gt; represents the items of clothing the player is wearing.&lt;br /&gt;
[[File:ToolbarScreenshot.png|thumb|user.Inventory.Toolbar]]&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Toolbar&amp;lt;/code&amp;gt; represents the items on the player&#039;s toolbar where they put tools and other items they want quick access to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== World Objects - Crafting Tables, Storage, and Vehicles ===&lt;br /&gt;
Crafting tables, vehicles, stockpiles, and other placed structures are represented by the &amp;lt;code&amp;gt;WorldObject&amp;lt;/code&amp;gt; class. The walls, roof, roads, etc are not considered world objects. To list all the world objects owned by the player use the following static method:&lt;br /&gt;
 WorldObject.GetOwnedBy(user) //IEnumerable&amp;lt;WorldObject&amp;gt;&lt;br /&gt;
Each &amp;lt;code&amp;gt;WorldObject&amp;lt;/code&amp;gt; contains components that represent their features. For example, the &amp;lt;code&amp;gt;StorageComponent&amp;lt;/code&amp;gt; represents the ability for the object to store items as stacks.&lt;br /&gt;
&lt;br /&gt;
==== Crafting Component ====&lt;br /&gt;
The crafting component represents a crafting tables work orders, recipes, etc.&lt;br /&gt;
&lt;br /&gt;
== Inventory ==&lt;br /&gt;
An [https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Items.Inventory.html Inventory] is a collection of item stacks and is used to represent the items inside various things in Eco including the player&#039;s backpack, vehicles, storage chests, stockpiles, and even fuel slots. Each instance of Inventory has a common interface for getting access to the items and stacks inside it. Inventories are also a hierarchy of inventories. For example, the player has a root level inventory &amp;lt;code&amp;gt;user.Inventory&amp;lt;/code&amp;gt; which represents all the inventories of the player&#039;s character (their backpack, toolbar and clothing). To access child inventories you can use &amp;lt;code&amp;gt;inventory.AllInventories&amp;lt;/code&amp;gt; or just by accessing the same stacks &amp;lt;code&amp;gt;IEnumerable&amp;lt;/code&amp;gt; properties mentioned below.&lt;br /&gt;
=== Items/Stacks ===&lt;br /&gt;
Each slot of the inventory is represented by the [https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Items.ItemStack.html ItemStack] class whether it is empty or not. You can access the individual items through the inventory&#039;s stacks. Use &amp;lt;code&amp;gt;inventory.Stacks&amp;lt;/code&amp;gt; to access all the stacks or &amp;lt;code&amp;gt;inventory.NonEmptyStacks&amp;lt;/code&amp;gt; to access just the slots with any items in them. Both of these are &amp;lt;code&amp;gt;IEnumberable&amp;lt;ItemStack&amp;gt;&amp;lt;/code&amp;gt; so they can be used with [https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/ Linq] or iterated through in a for-each loop:&lt;br /&gt;
 foreach (ItemStack stack in backpack.NonEmptyStacks)&lt;br /&gt;
 {&lt;br /&gt;
    ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 IEnumerable&amp;lt;ItemStack&amp;gt; stacks = user.Inventory.AllInventories.SelectMany(i =&amp;gt; i.Stacks);&lt;br /&gt;
To access the item in the stack use &amp;lt;code&amp;gt;stack.Item&amp;lt;/code&amp;gt; and use &amp;lt;code&amp;gt;stack.Quantity&amp;lt;/code&amp;gt; to get the amount of items in that stack.&lt;br /&gt;
[[Category:Modding]]&lt;/div&gt;</summary>
		<author><name>Salbris</name></author>
	</entry>
	<entry>
		<id>https://wiki.play.eco/en/index.php?title=Mod_Server_API&amp;diff=7852</id>
		<title>Mod Server API</title>
		<link rel="alternate" type="text/html" href="https://wiki.play.eco/en/index.php?title=Mod_Server_API&amp;diff=7852"/>
		<updated>2022-02-12T18:50:22Z</updated>

		<summary type="html">&lt;p&gt;Salbris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This page provides some tips for how to interact with the Server API when you create mod that needs to interact with the game&#039;s runtime state or behaviour. A full comprehensive list of the entire API can be found at https://docs.play.eco/api/server/index.html.&lt;br /&gt;
&lt;br /&gt;
To make full use of these docs you will want to have a basic understanding of the C# language and related concepts.&lt;br /&gt;
== Player ==&lt;br /&gt;
The &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; class contain references to information about a specific player. The &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; class contains references to the player&#039;s owned objects, inventories, their stats, professions, etc. While the &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; class has references to their location, technical server properties, player name, etc. If you have a &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; and need to get a &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; instance it&#039;s as simple as:&lt;br /&gt;
 user.Player&lt;br /&gt;
Or vice-versa:&lt;br /&gt;
 player.User&lt;br /&gt;
=== Accessing the Player&#039;s Inventory ===&lt;br /&gt;
All of a player&#039;s inventory is referenced by the &amp;lt;code&amp;gt;UserInventory&amp;lt;/code&amp;gt; class which is accessed by the Inventory property:&lt;br /&gt;
 user.Inventory&lt;br /&gt;
The player&#039;s backpack, toolbar and clothing can be accessed through this object like this:&lt;br /&gt;
 user.Inventory.ActionBar&lt;br /&gt;
 user.Inventory.Backpack&lt;br /&gt;
 user.Inventory.Carried&lt;br /&gt;
 user.Inventory.Clothing&lt;br /&gt;
 user.Inventory.Toolbar&lt;br /&gt;
The items in these inventories can be accessed in a couple different ways as discussed in the [[Mod Server API#Inventory|Inventory Section]]. Each of these is an instance of [https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Items.Inventory.html Inventory].&lt;br /&gt;
[[File:ActionBarScreenshot.png|thumb|user.Inventory.ActionBar]]&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.ActionBar&amp;lt;/code&amp;gt; represents all the standard buttons used to open the backpack, economy viewer, etc. located next to the minimap.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Backpack&amp;lt;/code&amp;gt; represents all the stacks of items inside the player&#039;s backpack but not their clothes or items on their hotbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Carried&amp;lt;/code&amp;gt; represents the stack of items the player can carry around such as dirt, stone, or logs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Clothing&amp;lt;/code&amp;gt; represents the items of clothing the player is wearing.&lt;br /&gt;
[[File:ToolbarScreenshot.png|thumb|user.Inventory.Toolbar]]&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Toolbar&amp;lt;/code&amp;gt; represents the items on the player&#039;s toolbar where they put tools and other items they want quick access to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inventory ==&lt;br /&gt;
An [https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Items.Inventory.html Inventory] is a collection of item stacks and is used to represent the items inside various things in Eco including the player&#039;s backpack, vehicles, storage chests, stockpiles, and even fuel slots. Each instance of Inventory has a common interface for getting access to the items and stacks inside it. Inventories are also a hierarchy of inventories. For example, the player has a root level inventory &amp;lt;code&amp;gt;user.Inventory&amp;lt;/code&amp;gt; which represents all the inventories of the player&#039;s character (their backpack, toolbar and clothing). To access child inventories you can use &amp;lt;code&amp;gt;inventory.AllInventories&amp;lt;/code&amp;gt; or just by accessing the same stacks &amp;lt;code&amp;gt;IEnumerable&amp;lt;/code&amp;gt; properties mentioned below.&lt;br /&gt;
=== Items/Stacks ===&lt;br /&gt;
Each slot of the inventory is represented by the [https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Items.ItemStack.html ItemStack] class whether it is empty or not. You can access the individual items through the inventory&#039;s stacks. Use &amp;lt;code&amp;gt;inventory.Stacks&amp;lt;/code&amp;gt; to access all the stacks or &amp;lt;code&amp;gt;inventory.NonEmptyStacks&amp;lt;/code&amp;gt; to access just the slots with any items in them. Both of these are &amp;lt;code&amp;gt;IEnumberable&amp;lt;ItemStack&amp;gt;&amp;lt;/code&amp;gt; so they can be used with [https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/ Linq] or iterated through in a for-each loop:&lt;br /&gt;
 foreach (ItemStack stack in backpack.NonEmptyStacks)&lt;br /&gt;
 {&lt;br /&gt;
    ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 IEnumerable&amp;lt;ItemStack&amp;gt; stacks = user.Inventory.AllInventories.SelectMany(i =&amp;gt; i.Stacks);&lt;br /&gt;
To access the item in the stack use &amp;lt;code&amp;gt;stack.Item&amp;lt;/code&amp;gt; and use &amp;lt;code&amp;gt;stack.Quantity&amp;lt;/code&amp;gt; to get the amount of items in that stack.&lt;br /&gt;
[[Category:Modding]]&lt;/div&gt;</summary>
		<author><name>Salbris</name></author>
	</entry>
	<entry>
		<id>https://wiki.play.eco/en/index.php?title=Mod_Server_API&amp;diff=7851</id>
		<title>Mod Server API</title>
		<link rel="alternate" type="text/html" href="https://wiki.play.eco/en/index.php?title=Mod_Server_API&amp;diff=7851"/>
		<updated>2022-02-12T18:48:26Z</updated>

		<summary type="html">&lt;p&gt;Salbris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This page provides some tips for how to interact with the Server API when you create mod that needs to interact with the game&#039;s runtime state or behaviour. A full comprehensive list of the entire API can be found at https://docs.play.eco/api/server/index.html.&lt;br /&gt;
&lt;br /&gt;
To make full use of these docs you will want to have a basic understanding of the C# language and related concepts.&lt;br /&gt;
== Player ==&lt;br /&gt;
The &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; class contain references to information about a specific player. The &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; class contains references to the player&#039;s owned objects, inventories, their stats, professions, etc. While the &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; class has references to their location, technical server properties, player name, etc. If you have a &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; and need to get a &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; instance it&#039;s as simple as:&lt;br /&gt;
 user.Player&lt;br /&gt;
Or vice-versa:&lt;br /&gt;
 player.User&lt;br /&gt;
=== Accessing the Player&#039;s Inventory ===&lt;br /&gt;
All of a player&#039;s inventory is referenced by the &amp;lt;code&amp;gt;UserInventory&amp;lt;/code&amp;gt; class which is accessed by the Inventory property:&lt;br /&gt;
 user.Inventory&lt;br /&gt;
The player&#039;s backpack, toolbar and clothing can be accessed through this object like this:&lt;br /&gt;
 user.Inventory.ActionBar&lt;br /&gt;
 user.Inventory.Backpack&lt;br /&gt;
 user.Inventory.Carried&lt;br /&gt;
 user.Inventory.Clothing&lt;br /&gt;
 user.Inventory.Toolbar&lt;br /&gt;
The items in these inventories can be accessed in a couple different ways as discussed in the Inventory Section. Each of these is an instance of [https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Items.Inventory.html Inventory].&lt;br /&gt;
[[File:ActionBarScreenshot.png|thumb|user.Inventory.ActionBar]]&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.ActionBar&amp;lt;/code&amp;gt; represents all the standard buttons used to open the backpack, economy viewer, etc. located next to the minimap.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Backpack&amp;lt;/code&amp;gt; represents all the stacks of items inside the player&#039;s backpack but not their clothes or items on their hotbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Carried&amp;lt;/code&amp;gt; represents the stack of items the player can carry around such as dirt, stone, or logs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Clothing&amp;lt;/code&amp;gt; represents the items of clothing the player is wearing.&lt;br /&gt;
[[File:ToolbarScreenshot.png|thumb|user.Inventory.Toolbar]]&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Toolbar&amp;lt;/code&amp;gt; represents the items on the player&#039;s toolbar where they put tools and other items they want quick access to.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Inventory ==&lt;br /&gt;
An [https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Items.Inventory.html Inventory] is a collection of item stacks and is used to represent the items inside various things in Eco including the player&#039;s backpack, vehicles, storage chests, stockpiles, and even fuel slots. Each instance of Inventory has a common interface for getting access to the items and stacks inside it. Inventories are also a hierarchy of inventories. For example, the player has a root level inventory &amp;lt;code&amp;gt;user.Inventory&amp;lt;/code&amp;gt; which represents all the inventories of the player&#039;s character (their backpack, toolbar and clothing). To access child inventories you can use &amp;lt;code&amp;gt;inventory.AllInventories&amp;lt;/code&amp;gt; or just by accessing the same stacks &amp;lt;code&amp;gt;IEnumerable&amp;lt;/code&amp;gt; properties mentioned below.&lt;br /&gt;
&lt;br /&gt;
=== Items/Stacks ===&lt;br /&gt;
Each slot of the inventory is represented by the [https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Items.ItemStack.html ItemStack] class whether it is empty or not. You can access the individual items through the inventory&#039;s stacks. Use &amp;lt;code&amp;gt;inventory.Stacks&amp;lt;/code&amp;gt; to access all the stacks or &amp;lt;code&amp;gt;inventory.NonEmptyStacks&amp;lt;/code&amp;gt; to access just the slots with any items in them. Both of these are &amp;lt;code&amp;gt;IEnumberable&amp;lt;ItemStack&amp;gt;&amp;lt;/code&amp;gt; so they can be used with [https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/ Linq] or iterated through in a for-each loop:&lt;br /&gt;
 foreach (ItemStack stack in backpack.NonEmptyStacks)&lt;br /&gt;
 {&lt;br /&gt;
    ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 IEnumerable&amp;lt;ItemStack&amp;gt; stacks = user.Inventory.AllInventories.SelectMany(i =&amp;gt; i.Stacks);&lt;br /&gt;
To access the item in the stack use &amp;lt;code&amp;gt;stack.Item&amp;lt;/code&amp;gt; and use &amp;lt;code&amp;gt;stack.Quantity&amp;lt;/code&amp;gt; to get the amount of items in that stack.&lt;br /&gt;
[[Category:Modding]]&lt;/div&gt;</summary>
		<author><name>Salbris</name></author>
	</entry>
	<entry>
		<id>https://wiki.play.eco/en/index.php?title=Mod_Server_API&amp;diff=7850</id>
		<title>Mod Server API</title>
		<link rel="alternate" type="text/html" href="https://wiki.play.eco/en/index.php?title=Mod_Server_API&amp;diff=7850"/>
		<updated>2022-02-12T18:18:03Z</updated>

		<summary type="html">&lt;p&gt;Salbris: /* Accessing the Player&amp;#039;s Inventory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This page provides some tips for how to interact with the Server API when you create mod that needs to interact with the game&#039;s runtime state or behaviour. A full comprehensive list of the entire API can be found at https://docs.play.eco/api/server/index.html.&lt;br /&gt;
== Player ==&lt;br /&gt;
The &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; class contain references to information about a specific player. The &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; class contains references to the player&#039;s owned objects, inventories, their stats, professions, etc. While the &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; class has references to their location, technical server properties, player name, etc. If you have a &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; and need to get a &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; instance it&#039;s as simple as:&lt;br /&gt;
 user.Player&lt;br /&gt;
Or vice-versa:&lt;br /&gt;
 player.User&lt;br /&gt;
=== Accessing the Player&#039;s Inventory ===&lt;br /&gt;
All of a player&#039;s inventory is referenced by the &amp;lt;code&amp;gt;UserInventory&amp;lt;/code&amp;gt; class which is accessed by the Inventory property:&lt;br /&gt;
 user.Inventory&lt;br /&gt;
The player&#039;s backpack, toolbar and clothing can be accessed through this object like this:&lt;br /&gt;
 user.Inventory.ActionBar&lt;br /&gt;
 user.Inventory.Backpack&lt;br /&gt;
 user.Inventory.Carried&lt;br /&gt;
 user.Inventory.Clothing&lt;br /&gt;
 user.Inventory.Toolbar&lt;br /&gt;
The items in these inventories can be accessed in a couple different ways as discussed in the Inventory Section. Each of these is an instance of [https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Items.Inventory.html Inventory].&lt;br /&gt;
[[File:ActionBarScreenshot.png|thumb|user.Inventory.ActionBar]]&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.ActionBar&amp;lt;/code&amp;gt; represents all the standard buttons used to open the backpack, economy viewer, etc. located next to the minimap.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Backpack&amp;lt;/code&amp;gt; represents all the stacks of items inside the player&#039;s backpack but not their clothes or items on their hotbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Carried&amp;lt;/code&amp;gt; represents the stack of items the player can carry around such as dirt, stone, or logs.&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Clothing&amp;lt;/code&amp;gt; represents the items of clothing the player is wearing.&lt;br /&gt;
[[File:ToolbarScreenshot.png|thumb|user.Inventory.Toolbar]]&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Toolbar&amp;lt;/code&amp;gt; represents the items on the player&#039;s toolbar where they put tools and other items they want quick access to.&lt;/div&gt;</summary>
		<author><name>Salbris</name></author>
	</entry>
	<entry>
		<id>https://wiki.play.eco/en/index.php?title=Mod_Server_API&amp;diff=7849</id>
		<title>Mod Server API</title>
		<link rel="alternate" type="text/html" href="https://wiki.play.eco/en/index.php?title=Mod_Server_API&amp;diff=7849"/>
		<updated>2022-02-12T02:48:55Z</updated>

		<summary type="html">&lt;p&gt;Salbris: More additions to the player inventory docs.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This page provides some tips for how to interact with the Server API when you create mod that needs to interact with the game&#039;s runtime state or behaviour. A full comprehensive list of the entire API can be found at https://docs.play.eco/api/server/index.html.&lt;br /&gt;
== Player ==&lt;br /&gt;
The &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; class contain references to information about a specific player. The &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; class contains references to the player&#039;s owned objects, inventories, their stats, professions, etc. While the &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; class has references to their location, technical server properties, player name, etc. If you have a &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; and need to get a &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; instance it&#039;s as simple as:&lt;br /&gt;
 user.Player&lt;br /&gt;
Or vice-versa:&lt;br /&gt;
 player.User&lt;br /&gt;
=== Accessing the Player&#039;s Inventory ===&lt;br /&gt;
All of a player&#039;s inventory is referenced by the &amp;lt;code&amp;gt;UserInventory&amp;lt;/code&amp;gt; class which is accessed by the Inventory property:&lt;br /&gt;
 user.Inventory&lt;br /&gt;
The player&#039;s backpack, action bar, carried items and clothing can be accessed through this object like this:&lt;br /&gt;
 user.Inventory.Backpack&lt;br /&gt;
 user.Inventory.ActionBar&lt;br /&gt;
 user.Inventory.Carried&lt;br /&gt;
 user.Inventory.Clothing&lt;br /&gt;
The items in these inventories can be accessed in a couple different ways as discussed here (TBD link to generic inventories section)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Backpack&amp;lt;/code&amp;gt; is an Inventory instance that lists all the stacks of items inside the player&#039;s backpack but not their clothes or items on their hotbar.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.ActionBar&amp;lt;/code&amp;gt;is an Inventory instance that lists all the standard buttons used to open the backpack, economy viewer, etc. located next to the minimap.&lt;br /&gt;
&lt;br /&gt;
What the action bar looks like in-game:&lt;br /&gt;
[[File:ActionBarScreenshot.png|left|thumb|user.Inventory.ActionBar]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;user.Inventory.Carried&amp;lt;/code&amp;gt; is an Inventory instance that represents the stack of items the player can carry around such as dirt, stone, or logs.&lt;/div&gt;</summary>
		<author><name>Salbris</name></author>
	</entry>
	<entry>
		<id>https://wiki.play.eco/en/index.php?title=Mod_Server_API&amp;diff=7848</id>
		<title>Mod Server API</title>
		<link rel="alternate" type="text/html" href="https://wiki.play.eco/en/index.php?title=Mod_Server_API&amp;diff=7848"/>
		<updated>2022-02-11T20:40:27Z</updated>

		<summary type="html">&lt;p&gt;Salbris: Updated Player and Player Inventory sections&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This page provides some tips for how to interact with the Server API when you create mod that needs to interact with the game&#039;s runtime state or behaviour. A full comprehensive list of the entire API can be found at https://docs.play.eco/api/server/index.html.&lt;br /&gt;
== Player ==&lt;br /&gt;
The &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; class contain references to information about a specific player. The &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; class contains references to the player&#039;s owned objects, inventories, their stats, professions, etc. While the &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; class has references to their location, technical server properties, player name, etc. If you have a &amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt; and need to get a &amp;lt;code&amp;gt;Player&amp;lt;/code&amp;gt; instance it&#039;s as simple as:&lt;br /&gt;
 user.Player&lt;br /&gt;
Or vice-versa:&lt;br /&gt;
 player.User&lt;br /&gt;
&lt;br /&gt;
=== Accessing the Player&#039;s Inventory ===&lt;br /&gt;
All of a player&#039;s inventory is referenced by the &amp;lt;code&amp;gt;UserInventory&amp;lt;/code&amp;gt; class which is accessed by the Inventory property:&lt;br /&gt;
 user.Inventory&lt;br /&gt;
The player&#039;s backpack, action bar, carried items and clothing can be accessed through this object:&lt;br /&gt;
 user.Inventory.Backpack&lt;br /&gt;
 user.Inventory.ActionBar&lt;br /&gt;
 user.Inventory.Carried&lt;br /&gt;
 user.Inventory.Clothing&lt;/div&gt;</summary>
		<author><name>Salbris</name></author>
	</entry>
	<entry>
		<id>https://wiki.play.eco/en/index.php?title=Mod_Server_API&amp;diff=7847</id>
		<title>Mod Server API</title>
		<link rel="alternate" type="text/html" href="https://wiki.play.eco/en/index.php?title=Mod_Server_API&amp;diff=7847"/>
		<updated>2022-02-11T20:24:34Z</updated>

		<summary type="html">&lt;p&gt;Salbris: Created page with &amp;quot;== Introduction ==  This page provides some tips for how to interact with the Server API when you create mod that needs to interact with the game&amp;#039;s runtime state or behaviour. A full comprehensive list of the entire API can be found at https://docs.play.eco/api/server/index.html.  == Player == The User and Player class contain references to the Player&amp;#039;s owned objects, inventories, their stats, professions, etc. If you have a User and need to get a Player instance it&amp;#039;s as...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This page provides some tips for how to interact with the Server API when you create mod that needs to interact with the game&#039;s runtime state or behaviour. A full comprehensive list of the entire API can be found at https://docs.play.eco/api/server/index.html.&lt;br /&gt;
&lt;br /&gt;
== Player ==&lt;br /&gt;
The User and Player class contain references to the Player&#039;s owned objects, inventories, their stats, professions, etc. If you have a User and need to get a Player instance it&#039;s as simple as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;user.Player&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Accessing the Player&#039;s Inventory ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;player.Inventory.Backpack&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Salbris</name></author>
	</entry>
	<entry>
		<id>https://wiki.play.eco/en/index.php?title=Creating_Custom_Blocks&amp;diff=7844</id>
		<title>Creating Custom Blocks</title>
		<link rel="alternate" type="text/html" href="https://wiki.play.eco/en/index.php?title=Creating_Custom_Blocks&amp;diff=7844"/>
		<updated>2022-02-01T20:29:41Z</updated>

		<summary type="html">&lt;p&gt;Salbris: Started to add a few more steps to the tutorial.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Stained Glass Block.png|frame]]&lt;br /&gt;
This page will walk you through the basics of adding custom blocks to Eco utilizing the Glass models found already in the game to make a Green Stained Glass block. A completed tutorial can be [https://github.com/StrangeLoopGames/EcoModKit/tree/examples/Examples/Blockset here] as well as the asset files needed to complete this tutorial.&lt;br /&gt;
https://github.com/StrangeLoopGames/EcoModKit/tree/main/Examples/Blockset&lt;br /&gt;
== Initial Scene Setup ==&lt;br /&gt;
Eco has special naming requirements for GameObjects within the mod scene. For blocks this involves a empty GameObject with the name &amp;quot;Blocks&amp;quot; and a BlockSetContainer attached. This object will contain all BlockSets used by your mod.&lt;br /&gt;
[[File:BlockSetContainerStructure.png|none|thumb|542x542px]]&lt;br /&gt;
== Creating your BlockSet ==&lt;br /&gt;
The first step to implementing a block into your new BlockSetContainer is by creating a BlockSet object inside the Unity asset explorer. A BlockSet represents one block type within the project. It contains the BlockBuilder objects used to represent each form of the new block as well as visual properties about how it should be rendered. To create a new BlockSet right click inside the Unity asset explorer and click Create -&amp;gt; VoxelEngine -&amp;gt; BlockSet. The name of the newly created BlockSet file is not important for the mod to function however for best practice it should be named similar to the internal or display name of the new block. Once the file is created attach it to the BlockSetContainer made in the previous step.&lt;br /&gt;
[[File:BlockSet Menu Location.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating your first BlockBuilder ==&lt;br /&gt;
[[File:Green Stained Glass BlockSet.png|thumb]]&lt;br /&gt;
A BlockBuilder represents a single form of a block inside Eco and defines the rules and meshes used to display it in the world. For the purposes of this tutorial we will be creating seven BlockBuilder objects for our new BlockSet. This list includes three block forms and four builders to represent the various stack states.&lt;br /&gt;
* GreenStainedGlassWindow&lt;br /&gt;
* GreenStainedGlassStacked1&lt;br /&gt;
* GreenStainedGlassStacked2&lt;br /&gt;
* GreenStainedGlassStacked3&lt;br /&gt;
* GreenStainedGlassStacked4&lt;br /&gt;
* GreenStainedGlassCube&lt;br /&gt;
* GreenStainedGlassFlatRoof&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The naming of these block sets is important for the code step later in the tutorial. Eco associates client side object with code by matching the given name. To create the seven required BlockBuilders right click the Unity asset explorer and go to Create -&amp;gt; VoxelEngine -&amp;gt; CustomBuilder. Do this for all seven builders and name them matching the list above. Once you have all seven builders return to the BlockSet object you previously created and click &amp;quot;New Block&amp;quot; and assign your first BlockBuilder and repeat for all seven. The order in which these are added is not important.&lt;br /&gt;
&lt;br /&gt;
== Add Meshes and materials to Builders ==&lt;br /&gt;
For each block you created above select them and add your material just below where you assigned your builder.&lt;br /&gt;
[[File:UnityBlockMatScreen.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Common Bugs ==&lt;br /&gt;
Below are a list of common bugs encountered while making custom blocks and how to solve them.&lt;br /&gt;
==== My block does not appear using the right mesh or in the spot I placed it. ====&lt;br /&gt;
This should be automatically handled in 9.4&#039;s ModKit. However if the issue is still present uncheck the &amp;quot;Optimize Mesh Data&amp;quot; option inside Unity&#039;s Player Settings prior to exporting the mesh. &lt;br /&gt;
[[File:OptimizeMeshData-Unity-PlayerSettings.png|none|thumb|462x462px]]&lt;br /&gt;
==== My block is changing changing between my material and a different material ====&lt;br /&gt;
This usually is caused by a conflicting name with a material inside the client. If this happens a simple rename of the material should resolve this. This is also true with similar issues relating to the block mesh.&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
{{DEFAULTSORT:CreatingCustomBlocks}}&lt;/div&gt;</summary>
		<author><name>Salbris</name></author>
	</entry>
	<entry>
		<id>https://wiki.play.eco/en/index.php?title=Arctic_Willow&amp;diff=4461</id>
		<title>Arctic Willow</title>
		<link rel="alternate" type="text/html" href="https://wiki.play.eco/en/index.php?title=Arctic_Willow&amp;diff=4461"/>
		<updated>2020-10-10T18:03:51Z</updated>

		<summary type="html">&lt;p&gt;Salbris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{contentneeded}}&lt;br /&gt;
{{Infobox_Plant|plant=Arctic Willow}}&lt;br /&gt;
&lt;br /&gt;
[[Arctic Willow]] is a low lying shrub found in the [[Boreal Forest]] and [[Tundra]]. It can be harvested with a [[Sickle]] to obtain [[Plant Fibers]].&lt;br /&gt;
&lt;br /&gt;
==Farming Conditions==&lt;br /&gt;
{{PlantDetails|plant=Arctic Willow}}&lt;br /&gt;
&lt;br /&gt;
===See Also===&lt;br /&gt;
For more Farming information, see [[Agriculture]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Plants]]&lt;/div&gt;</summary>
		<author><name>Salbris</name></author>
	</entry>
	<entry>
		<id>https://wiki.play.eco/en/index.php?title=Agouti&amp;diff=4460</id>
		<title>Agouti</title>
		<link rel="alternate" type="text/html" href="https://wiki.play.eco/en/index.php?title=Agouti&amp;diff=4460"/>
		<updated>2020-10-10T17:57:32Z</updated>

		<summary type="html">&lt;p&gt;Salbris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ContentNeeded}}&lt;br /&gt;
{{Infobox_Animal| name = Agouti}}&lt;br /&gt;
&lt;br /&gt;
[[Agouti]] is a small rodent found throughout the [[Rainforest]]. It can be hunted to obtain [[Tiny Animal Carcass]] for use in [[Campfire Cooking]] and [[Butchery]].&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
For a list of animals, see [[Animals]].&lt;br /&gt;
&lt;br /&gt;
{{Description|item=Agouti}}&lt;br /&gt;
&lt;br /&gt;
[[Category: Animals]]&lt;/div&gt;</summary>
		<author><name>Salbris</name></author>
	</entry>
	<entry>
		<id>https://wiki.play.eco/en/index.php?title=Agave_Leaves&amp;diff=4459</id>
		<title>Agave Leaves</title>
		<link rel="alternate" type="text/html" href="https://wiki.play.eco/en/index.php?title=Agave_Leaves&amp;diff=4459"/>
		<updated>2020-10-10T17:44:36Z</updated>

		<summary type="html">&lt;p&gt;Salbris: Added an opening paragraph.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Item|name=Agave Leaves}}&lt;br /&gt;
&lt;br /&gt;
[[Agave Leaves]] are a food item gathered by using a [[Sickle]] on an [[Agave]] plant. They are primarily used in low level cooking recipes through the &amp;quot;Greens&amp;quot; tag.&lt;br /&gt;
&lt;br /&gt;
==Crafting==&lt;br /&gt;
{{GetRecipes|item=Agave Leaves}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Food]]&lt;br /&gt;
&lt;br /&gt;
[[de:Agavenblätter]]&lt;/div&gt;</summary>
		<author><name>Salbris</name></author>
	</entry>
	<entry>
		<id>https://wiki.play.eco/en/index.php?title=Epoxy&amp;diff=4447</id>
		<title>Epoxy</title>
		<link rel="alternate" type="text/html" href="https://wiki.play.eco/en/index.php?title=Epoxy&amp;diff=4447"/>
		<updated>2020-10-10T05:35:38Z</updated>

		<summary type="html">&lt;p&gt;Salbris: Added an opening paragraph describing the item.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Item|name=Epoxy}}&lt;br /&gt;
&lt;br /&gt;
[[Epoxy]] is an intermediate product crafted at the [[Oil Refinery]]. It is used in a variety of late game crafting recipes including [[Composite Lumber]], [[Flat Steel]], and other intermediate parts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- SUMMARY: Do not add a header. i.e. &amp;quot;== Summary ==&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- IN-GAME DESCRIPTION: Do not add a header or quotation marks. --&amp;gt;&lt;br /&gt;
{{Description|item=Epoxy}}&lt;br /&gt;
&lt;br /&gt;
== Crafting ==&lt;br /&gt;
{{GetRecipes|item=Epoxy}}&lt;br /&gt;
&lt;br /&gt;
==Videos==&lt;br /&gt;
{{#ev:youtube|dz67fu3w3nQ}}&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;File:Epoxy_Details.png|[[Epoxy]] item details as of Alpha v6.3.1.&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Items]]&lt;/div&gt;</summary>
		<author><name>Salbris</name></author>
	</entry>
</feed>