Skip to content

Commit

Permalink
Release v1.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
SpikeHimself committed Mar 11, 2023
1 parent 1995cf4 commit 6b8410e
Show file tree
Hide file tree
Showing 15 changed files with 65 additions and 53 deletions.
1 change: 0 additions & 1 deletion Docs/Docs.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@
</None>
<None Include="Modules\00Urls.t4" />
<None Include="Modules\10Header.t4" />
<None Include="Modules\11HeaderGitHub.t4" />
<None Include="Modules\20Features.t4" />
<None Include="Modules\30Installation.t4" />
<None Include="Modules\40Bugs.t4" />
Expand Down
4 changes: 2 additions & 2 deletions Docs/Modules/10Header.t4
Original file line number Diff line number Diff line change
@@ -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) #>
5 changes: 0 additions & 5 deletions Docs/Modules/11HeaderGitHub.t4

This file was deleted.

12 changes: 3 additions & 9 deletions Docs/Modules/20Features.t4
Original file line number Diff line number Diff line change
Expand Up @@ -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) #>

Expand All @@ -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?)"
})
#>

Expand Down
24 changes: 21 additions & 3 deletions Docs/Modules/50Changelogs.t4
Original file line number Diff line number Diff line change
@@ -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

<details>
<summary>Click to view previous versions</summary>

* **v1.0.2** (2023-03-02)

* Fix tooltips not always being fully visible
Expand All @@ -8,9 +29,6 @@

* Reworked a large portion of the containers panel UI

<details>
<summary>Click to view previous versions</summary>

* **v1.0.1** (2023-02-28)

* Remove "valheim.exe" check as it stops dedicated servers from loading the mod.
Expand Down
2 changes: 1 addition & 1 deletion Docs/Modules/90InstallationDev.t4
Original file line number Diff line number Diff line change
@@ -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!
6 changes: 3 additions & 3 deletions Docs/README.GitHub.md
Original file line number Diff line number Diff line change
@@ -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.

<img src="https://raw.githubusercontent.com/SpikeHimself/XStorage/main/images/screenshot-small.png" height="500" />
<img src="https://raw.githubusercontent.com/SpikeHimself/XStorage/main/images/screenshot-v1.1.0-small.png" height="480" />


# Download and installation instructions (for players)
Expand All @@ -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!
Expand Down
2 changes: 1 addition & 1 deletion Docs/README.GitHub.tt
Original file line number Diff line number Diff line change
Expand Up @@ -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" #>

Expand Down
14 changes: 4 additions & 10 deletions Docs/README.Nexus.bbcode
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand All @@ -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]

Expand All @@ -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.
Expand Down
38 changes: 25 additions & 13 deletions Docs/README.Thunderstore.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

XStorage lets you open multiple chests at once, rename them, and move items/stacks to the most suitable chest.

<img src="https://raw.githubusercontent.com/SpikeHimself/XStorage/main/images/screenshot-small.png" height="500" />
<img src="https://raw.githubusercontent.com/SpikeHimself/XStorage/main/images/screenshot-v1.1.0-small.png" height="480" />


# Features
Expand All @@ -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

Expand All @@ -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.
Expand All @@ -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

<details>
<summary>Click to view previous versions</summary>

* **v1.0.2** (2023-03-02)

* Fix tooltips not always being fully visible
Expand All @@ -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

<details>
<summary>Click to view previous versions</summary>

* **v1.0.1** (2023-02-28)

* Remove "valheim.exe" check as it stops dedicated servers from loading the mod.
Expand Down
2 changes: 1 addition & 1 deletion Docs/manifest.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -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.

<img src="https://raw.githubusercontent.com/SpikeHimself/XStorage/main/images/screenshot-small.png" height="500" />
<img src="https://raw.githubusercontent.com/SpikeHimself/XStorage/main/images/screenshot-v1.1.0-small.png" height="480" />


# Download and installation instructions (for players)
Expand All @@ -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!
Expand Down
Loading

0 comments on commit 6b8410e

Please sign in to comment.