diff --git a/Docs/Docs.csproj b/Docs/Docs.csproj index bbdd3b5..a4b0e19 100644 --- a/Docs/Docs.csproj +++ b/Docs/Docs.csproj @@ -61,7 +61,6 @@ - diff --git a/Docs/Modules/10Header.t4 b/Docs/Modules/10Header.t4 index 1c53602..5dd346c 100644 --- a/Docs/Modules/10Header.t4 +++ b/Docs/Modules/10Header.t4 @@ -1,5 +1,5 @@ <#= mf.Heading(thisModName) #> -XStorage lets you open multiple chests at once, rename them, and move items/stacks to the most suitable chest. +XStorage <#= (target == Targets.GitHub) ? "is a Valheim mod that " : "" #>lets you open multiple chests at once, rename them, and move items/stacks to the most suitable chest. -<#= mf.Image("https://raw.githubusercontent.com/SpikeHimself/XStorage/main/images/screenshot-small.png", height: 500) #> +<#= mf.Image("https://raw.githubusercontent.com/SpikeHimself/XStorage/main/images/screenshot-v1.1.0-small.png", height: 480) #> diff --git a/Docs/Modules/11HeaderGitHub.t4 b/Docs/Modules/11HeaderGitHub.t4 deleted file mode 100644 index 1f57108..0000000 --- a/Docs/Modules/11HeaderGitHub.t4 +++ /dev/null @@ -1,5 +0,0 @@ -<#= mf.Heading(thisModName) #> - -XStorage is a Valheim mod that lets you open multiple chests at once, rename them, and move items/stacks to the most suitable chest. - -<#= mf.Image("https://raw.githubusercontent.com/SpikeHimself/XStorage/main/images/screenshot-small.png", height: 500) #> diff --git a/Docs/Modules/20Features.t4 b/Docs/Modules/20Features.t4 index e45160a..e3eba81 100644 --- a/Docs/Modules/20Features.t4 +++ b/Docs/Modules/20Features.t4 @@ -4,22 +4,17 @@ By pressing alt-interact (<#= mf.Code("Shift + E") #> by default), you can give your chests a name. This name is shown when you hover over the chest, and also in the panel above the inventory when a chest is opened. -Chest names will be permanently stored in your world file. Uninstalling XStorage makes them go away, but after reinstalling they will be recovered. - <#= mf.Heading("Open many chests", size: HeadingSize.Small) #> -To display multiple chests, XStorage creates a new panel in the UI. Sadly there aren't enough pixels on the screen to make everything fit nicely, so there is a small overlap with existing UI panels. Hopefully I can address this in the future. - -In theory there is no limit to how many chests XStorage can display. When the UI panel is full, XStorage makes the panel scrollable. In a future version, I might impose a restriction on how many chests can be opened though, as this could cause performance issues. +To display multiple chests, XStorage creates a new panel in the UI. The panel will automatically expand to fit in as many chests as it can. You can restrict the width and height in XStorage's config. -Also on the roadmap are config options that let you configure the distance and methods that decide which chests are opened. One such method I have in mind is chest linking, i.e. every opened chests searches for other chests near it, so that you could open an entire row of chests from either end. For now, XStorage opens any chest that is within 5 meters of the player (again, with no maximum amount of chests). +When you open more chests than XStorage can display on the screen, this panel will become scrollable. <#= mf.Heading("Moving items/stacks to the most suitable chest", size: HeadingSize.Small) #> When you auto-move an item from your inventory (via <#= mf.Code("Ctrl + Click") #>), XStorage tries to find the most suitable chest to put the item/stack in. It does so by picking the chest containing the highest quantity of the item you are moving, from all opened chests that still have free space. -So if you have a wooden chest with 499 stone in it, and you `Ctrl + Click` on a stack of stone in your inventory, 1 stone will be moved to that chest. You have to then <#= mf.Code("Ctrl + Click") #> it again to make the rest go to the next most suitable chest. -<#= mf.Code("Ctrl + Click") #>-ing an item or stack in any of the chests will always make it go to the player inventory. +<#= mf.Code("Ctrl + Click") #>-ing an item or stack in any of the chests will always make it go to the player inventory (equal to vanilla behaviour). <#= mf.Heading("Multiplayer", size: HeadingSize.Small) #> @@ -31,7 +26,6 @@ There are a few things that, at this stage, XStorage does not do well, or at all <#= mf.List(ListBullets.Asterisk, items: new string[] { $"{mf.Bold("Gamepad input")}: XStorage does not deal with gamepad input at all. That is to say, the UI kind of breaks when you use a gamepad. I will look into this in the future, but for now this mod is pretty much mouse/keyboard only.", - $"{mf.Bold("The panel does not fit")}: The XStorage UI panel does not fit within the vanilla UI very well. I am considering alternative ways of displaying the container panels (for example by overlapping or even removing the crafting panel. Does anyone even use that while opening a chest?)" }) #> diff --git a/Docs/Modules/50Changelogs.t4 b/Docs/Modules/50Changelogs.t4 index ae6a76b..ae662ed 100644 --- a/Docs/Modules/50Changelogs.t4 +++ b/Docs/Modules/50Changelogs.t4 @@ -1,5 +1,26 @@ <#= mf.Heading("Changelogs") #> +* **v1.1.0** (2023-03-11) + + * Fix error when placing a new chest + + * Fix a HarmonyX warning that occurs when loading XStorage; this was caused by a library I use locally to manage documentation, but XStorage does not ship with this library. + + * Fix being able to rename chests that are protected by a ward + + * UI overhaul: + + * You can now drag the XStorage panel + + * You can set the maximum panel size in XStorage's config file using MaxColumns and MaxRows. Default value is 2 columns by 3 rows. XStorage will still restrict the size by what fits on your screen. + + * XStorage will store the position of the panel per grid size when you close the panel, so that next time you open a panel of the same size, it will be restored to that position on the screen. + + * Many code improvements and optimisations + +
+Click to view previous versions + * **v1.0.2** (2023-03-02) * Fix tooltips not always being fully visible @@ -8,9 +29,6 @@ * Reworked a large portion of the containers panel UI -
-Click to view previous versions - * **v1.0.1** (2023-02-28) * Remove "valheim.exe" check as it stops dedicated servers from loading the mod. diff --git a/Docs/Modules/90InstallationDev.t4 b/Docs/Modules/90InstallationDev.t4 index 37f0f65..0784698 100644 --- a/Docs/Modules/90InstallationDev.t4 +++ b/Docs/Modules/90InstallationDev.t4 @@ -1,3 +1,3 @@ <#= mf.Heading("Installation instructions (for developers)") #> -I will soon write a guide to get <#= thisModName #> working in your development environment. For now, you can probably figure some stuff out by having a look at the [JötunnModStub](https://github.com/Valheim-Modding/JotunnModStub) project that <#= thisModName #> is based on. Please bear in mind that the information there might have changed since <#= thisModName #> was created, and that <#= thisModName #> itself may over time have diverted from the steps laid out there. Again, a guide will follow soon! +I will soon write a guide to get <#= thisModName #> working in your development environment. For now, you can probably figure some stuff out by having a look at the [JotunnModStub](https://github.com/Valheim-Modding/JotunnModStub) project that <#= thisModName #> is based on. Please bear in mind that the information there might have changed since <#= thisModName #> was created, and that <#= thisModName #> itself may over time have diverted from the steps laid out there. Again, a guide will follow soon! diff --git a/Docs/README.GitHub.md b/Docs/README.GitHub.md index 50b1d3a..8530cc8 100644 --- a/Docs/README.GitHub.md +++ b/Docs/README.GitHub.md @@ -1,8 +1,8 @@ # XStorage -XStorage is a Valheim mod lets you open multiple chests at once, rename them, and move items/stacks to the most suitable chest. +XStorage is a Valheim mod that lets you open multiple chests at once, rename them, and move items/stacks to the most suitable chest. - + # Download and installation instructions (for players) @@ -27,7 +27,7 @@ For feature requests, choose `Feature request` on the [New issue](https://github # Installation instructions (for developers) -I will soon write a guide to get XStorage working in your development environment. For now, you can probably figure some stuff out by having a look at the [J?tunnModStub](https://github.com/Valheim-Modding/JotunnModStub) project that XStorage is based on. Please bear in mind that the information there might have changed since XStorage was created, and that XStorage itself may over time have diverted from the steps laid out there. Again, a guide will follow soon! +I will soon write a guide to get XStorage working in your development environment. For now, you can probably figure some stuff out by having a look at the [JotunnModStub](https://github.com/Valheim-Modding/JotunnModStub) project that XStorage is based on. Please bear in mind that the information there might have changed since XStorage was created, and that XStorage itself may over time have diverted from the steps laid out there. Again, a guide will follow soon! # I did more too! diff --git a/Docs/README.GitHub.tt b/Docs/README.GitHub.tt index e057334..6bb9419 100644 --- a/Docs/README.GitHub.tt +++ b/Docs/README.GitHub.tt @@ -5,7 +5,7 @@ target = Targets.GitHub; #> <#@ include file="Modules\00Urls.t4" once="true" #> -<#@ include file="Modules\11HeaderGitHub.t4" once="true" #> +<#@ include file="Modules\10Header.t4" once="true" #> <#@ include file="Modules\30Installation.t4" once="true" #> diff --git a/Docs/README.Nexus.bbcode b/Docs/README.Nexus.bbcode index 7202929..f3c7ef6 100644 --- a/Docs/README.Nexus.bbcode +++ b/Docs/README.Nexus.bbcode @@ -2,7 +2,7 @@ XStorage lets you open multiple chests at once, rename them, and move items/stacks to the most suitable chest. -[img]https://raw.githubusercontent.com/SpikeHimself/XStorage/main/images/screenshot-small.png[/img] +[img]https://raw.githubusercontent.com/SpikeHimself/XStorage/main/images/screenshot-v1.1.0-small.png[/img] [size=6][b][color=#FFA03C]Features[/color][/b][/size] @@ -11,22 +11,17 @@ XStorage lets you open multiple chests at once, rename them, and move items/stac By pressing alt-interact ([font=Courier New][b]'Shift + E'[/b][/font] by default), you can give your chests a name. This name is shown when you hover over the chest, and also in the panel above the inventory when a chest is opened. -Chest names will be permanently stored in your world file. Uninstalling XStorage makes them go away, but after reinstalling they will be recovered. - [size=3][b][color=#FFA03C]Open many chests[/color][/b][/size] -To display multiple chests, XStorage creates a new panel in the UI. Sadly there aren't enough pixels on the screen to make everything fit nicely, so there is a small overlap with existing UI panels. Hopefully I can address this in the future. - -In theory there is no limit to how many chests XStorage can display. When the UI panel is full, XStorage makes the panel scrollable. In a future version, I might impose a restriction on how many chests can be opened though, as this could cause performance issues. +To display multiple chests, XStorage creates a new panel in the UI. The panel will automatically expand to fit in as many chests as it can. You can restrict the width and height in XStorage's config. -Also on the roadmap are config options that let you configure the distance and methods that decide which chests are opened. One such method I have in mind is chest linking, i.e. every opened chests searches for other chests near it, so that you could open an entire row of chests from either end. For now, XStorage opens any chest that is within 5 meters of the player (again, with no maximum amount of chests). +When you open more chests than XStorage can display on the screen, this panel will become scrollable. [size=3][b][color=#FFA03C]Moving items/stacks to the most suitable chest[/color][/b][/size] When you auto-move an item from your inventory (via [font=Courier New][b]'Ctrl + Click'[/b][/font]), XStorage tries to find the most suitable chest to put the item/stack in. It does so by picking the chest containing the highest quantity of the item you are moving, from all opened chests that still have free space. -So if you have a wooden chest with 499 stone in it, and you `Ctrl + Click` on a stack of stone in your inventory, 1 stone will be moved to that chest. You have to then [font=Courier New][b]'Ctrl + Click'[/b][/font] it again to make the rest go to the next most suitable chest. -[font=Courier New][b]'Ctrl + Click'[/b][/font]-ing an item or stack in any of the chests will always make it go to the player inventory. +[font=Courier New][b]'Ctrl + Click'[/b][/font]-ing an item or stack in any of the chests will always make it go to the player inventory (equal to vanilla behaviour). [size=3][b][color=#FFA03C]Multiplayer[/color][/b][/size] @@ -37,7 +32,6 @@ In multiplayer games, all players need to have XStorage installed, or it will no There are a few things that, at this stage, XStorage does not do well, or at all: [list] [*][b]Gamepad input[/b]: XStorage does not deal with gamepad input at all. That is to say, the UI kind of breaks when you use a gamepad. I will look into this in the future, but for now this mod is pretty much mouse/keyboard only. -[*][b]The panel does not fit[/b]: The XStorage UI panel does not fit within the vanilla UI very well. I am considering alternative ways of displaying the container panels (for example by overlapping or even removing the crafting panel. Does anyone even use that while opening a chest?) [/list] XStorage looks best when playing at a 16:9 ratio with a UI scaling of 95% or smaller. diff --git a/Docs/README.Thunderstore.md b/Docs/README.Thunderstore.md index 735a5bc..698b824 100644 --- a/Docs/README.Thunderstore.md +++ b/Docs/README.Thunderstore.md @@ -2,7 +2,7 @@ XStorage lets you open multiple chests at once, rename them, and move items/stacks to the most suitable chest. - + # Features @@ -11,22 +11,17 @@ XStorage lets you open multiple chests at once, rename them, and move items/stac By pressing alt-interact (`Shift + E` by default), you can give your chests a name. This name is shown when you hover over the chest, and also in the panel above the inventory when a chest is opened. -Chest names will be permanently stored in your world file. Uninstalling XStorage makes them go away, but after reinstalling they will be recovered. - #### Open many chests -To display multiple chests, XStorage creates a new panel in the UI. Sadly there aren't enough pixels on the screen to make everything fit nicely, so there is a small overlap with existing UI panels. Hopefully I can address this in the future. - -In theory there is no limit to how many chests XStorage can display. When the UI panel is full, XStorage makes the panel scrollable. In a future version, I might impose a restriction on how many chests can be opened though, as this could cause performance issues. +To display multiple chests, XStorage creates a new panel in the UI. The panel will automatically expand to fit in as many chests as it can. You can restrict the width and height in XStorage's config. -Also on the roadmap are config options that let you configure the distance and methods that decide which chests are opened. One such method I have in mind is chest linking, i.e. every opened chests searches for other chests near it, so that you could open an entire row of chests from either end. For now, XStorage opens any chest that is within 5 meters of the player (again, with no maximum amount of chests). +When you open more chests than XStorage can display on the screen, this panel will become scrollable. #### Moving items/stacks to the most suitable chest When you auto-move an item from your inventory (via `Ctrl + Click`), XStorage tries to find the most suitable chest to put the item/stack in. It does so by picking the chest containing the highest quantity of the item you are moving, from all opened chests that still have free space. -So if you have a wooden chest with 499 stone in it, and you `Ctrl + Click` on a stack of stone in your inventory, 1 stone will be moved to that chest. You have to then `Ctrl + Click` it again to make the rest go to the next most suitable chest. -`Ctrl + Click`-ing an item or stack in any of the chests will always make it go to the player inventory. +`Ctrl + Click`-ing an item or stack in any of the chests will always make it go to the player inventory (equal to vanilla behaviour). #### Multiplayer @@ -36,7 +31,6 @@ In multiplayer games, all players need to have XStorage installed, or it will no There are a few things that, at this stage, XStorage does not do well, or at all: * **Gamepad input**: XStorage does not deal with gamepad input at all. That is to say, the UI kind of breaks when you use a gamepad. I will look into this in the future, but for now this mod is pretty much mouse/keyboard only. -* **The panel does not fit**: The XStorage UI panel does not fit within the vanilla UI very well. I am considering alternative ways of displaying the container panels (for example by overlapping or even removing the crafting panel. Does anyone even use that while opening a chest?) XStorage looks best when playing at a 16:9 ratio with a UI scaling of 95% or smaller. @@ -57,6 +51,27 @@ I very strongly recommend using a mod manager such as [Vortex](https://www.nexus # Changelogs +* **v1.1.0** (2023-03-11) + + * Fix error when placing a new chest + + * Fix a HarmonyX warning that occurs when loading XStorage; this was caused by a library I use locally to manage documentation, but XStorage does not ship with this library. + + * Fix being able to rename chests that are protected by a ward + + * UI overhaul: + + * You can now drag the XStorage panel + + * You can set the maximum panel size in XStorage's config file using MaxColumns and MaxRows. Default value is 2 columns by 3 rows. XStorage will still restrict the size by what fits on your screen. + + * XStorage will store the position of the panel per grid size when you close the panel, so that next time you open a panel of the same size, it will be restored to that position on the screen. + + * Many code improvements and optimisations + +
+Click to view previous versions + * **v1.0.2** (2023-03-02) * Fix tooltips not always being fully visible @@ -65,9 +80,6 @@ I very strongly recommend using a mod manager such as [Vortex](https://www.nexus * Reworked a large portion of the containers panel UI -
-Click to view previous versions - * **v1.0.1** (2023-02-28) * Remove "valheim.exe" check as it stops dedicated servers from loading the mod. diff --git a/Docs/manifest.json b/Docs/manifest.json index 49b74ab..928cdc3 100644 --- a/Docs/manifest.json +++ b/Docs/manifest.json @@ -1,7 +1,7 @@ { "name": "XStorage", "description": "Open multiple chests at once, rename them, and move items/stacks to the most suitable chest.", - "version_number": "1.0.2", + "version_number": "1.1.0", "website_url": "https://github.com/SpikeHimself/XStorage", "dependencies": [ "denikson-BepInExPack_Valheim-5.4.1901", diff --git a/README.md b/README.md index 50b1d3a..8530cc8 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # XStorage -XStorage is a Valheim mod lets you open multiple chests at once, rename them, and move items/stacks to the most suitable chest. +XStorage is a Valheim mod that lets you open multiple chests at once, rename them, and move items/stacks to the most suitable chest. - + # Download and installation instructions (for players) @@ -27,7 +27,7 @@ For feature requests, choose `Feature request` on the [New issue](https://github # Installation instructions (for developers) -I will soon write a guide to get XStorage working in your development environment. For now, you can probably figure some stuff out by having a look at the [J?tunnModStub](https://github.com/Valheim-Modding/JotunnModStub) project that XStorage is based on. Please bear in mind that the information there might have changed since XStorage was created, and that XStorage itself may over time have diverted from the steps laid out there. Again, a guide will follow soon! +I will soon write a guide to get XStorage working in your development environment. For now, you can probably figure some stuff out by having a look at the [JotunnModStub](https://github.com/Valheim-Modding/JotunnModStub) project that XStorage is based on. Please bear in mind that the information there might have changed since XStorage was created, and that XStorage itself may over time have diverted from the steps laid out there. Again, a guide will follow soon! # I did more too! diff --git a/XStorage/ModInfo.cs b/XStorage/ModInfo.cs index 93672c2..9693521 100644 --- a/XStorage/ModInfo.cs +++ b/XStorage/ModInfo.cs @@ -8,7 +8,7 @@ public static class Info public const string Author = "SpikeHimself"; public const string Name = "XStorage"; public const string GitHubRepo = "SpikeHimself/XStorage"; - public const string Version = "1.0.2"; + public const string Version = "1.1.0"; public const string Description = "Open multiple chests at once, rename them, and move items/stacks to the most suitable chest."; public const string WebsiteUrl = "https://github.com/" + GitHubRepo; public const int NexusId = 2290; diff --git a/images/screenshot-v1.1.0-small.png b/images/screenshot-v1.1.0-small.png new file mode 100644 index 0000000..dd42141 Binary files /dev/null and b/images/screenshot-v1.1.0-small.png differ diff --git a/images/screenshot-v1.1.0.png b/images/screenshot-v1.1.0.png new file mode 100644 index 0000000..26992c1 Binary files /dev/null and b/images/screenshot-v1.1.0.png differ