Mods / Vinconomy - A Vintage Story Economy Mod
Author: SeveredSkullz
Side: Both
Created: Sep 27th 2023 at 12:38 PM
Last modified: 2 days ago
Downloads: 151458
Follow Unfollow 563
Recommended download (for Vintage Story 1.21.0 - 1.21.6-rc.1):
vinconomy_5.1.2.zip
1-click install
Vinconomy
Features
- Vinconomy has numerous different types of stalls for visual theming and display possibilities
- Clothing Stand - Allows you to sell both Armor *AND* Clothing! You can finally show off those fancy shirts, boots, and accessories!
- Trade Mat (Single / Double Tiers) - A simple mat for displaying a general selection of items.
- Produce Crate - A crate mainly designated for selling food or other perishible goods
- Purchase Crate - A 2 slot crate dedicated to buying items in bulk from other players. Buy low, sell high!
- Meal Stall - Sell meals to your customers BYOB Style! (Bring Your Own Bowl)
- Sculpture Pad - Create your own sculputres and sell them in wholely with up to a 5x5x5 size
- Shop Shelf - A simple wall shelf for disaplying a general selection of items in more horizontally challenged areas
- Tool Rack - A rack for displaying all your tools for sale
- Weapon Rack - A rack for selling up to 2 different weapons and a shield
- ATM / Register - Stores all your currency, profits, and allows you to convert currencies from one form to another.
- Gacha Stall / Gacha Loader - Gacha/Gumball chance-based purchases! Throw in a bunch of items and see what you get!
- Purchase Crate - Allows you to buy items from other players in bulk without filling up your register!
- Chisel Support - Want to further customize the stalls? Add a Chiseled Block to the decoration slot to change the model of your stalls
- "Admin" shops which can provide an unlimited amount of items without having to restock the stalls.
- Centralized retrieval of currency. No need to check each and every site for payment. It will all be located in the shop's Register
- Protection System - No need to claim the land around your shop to protect your goods. Comes built in!
- Configurable Perish speeds - Prevent your food from spoiling with a customizable configuration to modify the rate at which perishibles spoil
- Ledger System - Don't worry about having to keep track of who buys what, when, and where! We've got you covered!
- Catalog System - Don't know what shops exist, or what they sell? Check the catalog! Everything you need to know in a single handy book!
- Shop Co-Ownership - Want to run a shop with a friend? Just give them permission and they can help keep things running smoothly!
- Coupons and Trade Passes - Need to limit which players can buy from your store? Maybe you only want citizens of your town to be able to participate in trade? Set up a Trade Pass! Only those with the required pass can purchase from your stalls. Or maybe you're feeling generous and want do give them some discounts - then start handing out coupons for a Buy One Get One Free deal, or a 40% discount on all goods!
- Cross Server Trading - Don't feel like playing on a server and wanna fly Solo? Maybe your community has multiple servers and you want to link them together? Join a public or private trade network, register your server with the system, and start raking in those Rusty Gears!
Customization

Each Stall can be created with different materials which will affect its look. This allows you to match the visual theme of your shop builds.
Player Shops - Selling
The system works via Shops and Stalls. The player can place various types of Stalls to which may be linked to a Shop Register. Any goods provided at the stalls will be paid for on-site, and any proceeds will be stored directly in the Register. Each stall may have one or more different types of goods, and each stall must be part of a shop in order to function.
To open a shop, you will need one or more Stalls and a Register. First place the Register in a location where you will often be checking for payment. There is currently no limit on distance to the stalls themselves. From there, you can open the interface and set the name of your shop - it can be anything you like. Any payment for items will end up here. Be sure to clear out your Register occasionally, as you cannot make a sale if you do not have enough space for payment.

Next for each Stall you wish to place, place it down in a suitable location to sell your goods. Most stalls have 4 stock slots, with 9 slots for each stall, for a total of 36 total stacks of goods. As an owner, you can Sneak-Rightclick to add an item to that Stall Slot, or Sneak-Sprint-Rightclick to add multiple. Each slot can only hold items of the same type, so you cannot put Turnips and Parsnips in the same Stall Slot, for example. If you wish to manage multiple slots without having to exit and right click on a different stall slot, you can switch slots with the arrow buttons on the top right. You may also change the Items Per Purchase amount in order to sell more than one item for each sale. The Currency slot below the Price label can take any item you see fit for payment. Note that you do not need to sacrifice the item for payment like in other mods - The slot will clone the itemstack when you click on it. You can also click on the price item slot to clear it.

If you've configured everything correctly, once a player tries to access your stall, they will be shown the price they need to pay, as well as the product they will recieve. They can increase the number of purchases by adjusting the Quantity option on the menu before pressing the "Deal" button
Regarding Admin Shops:
If you have the "Gamemode" permission, you can also set this stall as an Admin Shop which will allow you to sell infinite amounts of items without having to restock the stall. If you wish to still collect payment for these purchases - for example to use the currency again for situations such as limited circulation - you can set the shop as you would with a normal Stall. If you wish for the payment items to simply be deleted, leave the Shop set to "None"
Things to note:
- The stall will not function if there is no price set for the item
- The stall will not function if there is no Shop set for the stall (Unless it is an Admin Shop)
Player Shops - Buying
Stall / GUI Explanations
The register is broken up into different tabs for convienence and organization. The first tab quite simply holds all the items that are collected from purchases made at your shop. Any currency used will be inserted into the Currency slots, and coupons used will be inserted into the dedicated Coupons slots

In order to set up a Trade Pass or add other players for access to your shops, go to the Permissions tab. Note that if you click the Stall Access checkbox at the bottom, any players granted Register access will also be able to access your stalls for that shop too.

On the configuration page, you can rename your shop, as well as a Short Description that will show up in the Ledger's Shop List, as well as a longer description that will show up when viewing that specific shop. Note that VHTML is supported on both of these fields.
You may also provide a Discord Webhook so that any time someone purchases items from your shop, a notification message will appear via the webhook.

Lastly, is the Waypoint page. You may set a custom waypoint to be displayed to all players on the server in order to advertize your shop and its location. If the waypoint is visible to players, the location will also show up in the Ledger, along with a link to view the location directly in the map.

The Ledger can be used in order to view all sales for a given Month/Year. Vinconomy automatically records the transactions, and a Ledger does not need to be in the register or even crafted at the time of sale. Years worth of sales may pass before you finally get around to needing a Ledger, but fret not! All your previous sales will still show up once you craft and link it to your shop. The ledger will group entries by the person purchasing items and its type. Multiple/repeated sales will all be condensed into a single line if the Product and Currency used remains the same.
The Ledger works in two ways:
- If you are an Admin and in Creative mode, an Unlinked Ledger will show all Admin Stall trades (Stalls that do not have a respective Shop and the "Admin Stall" box is checked on the GUI).
- If you are normal player, you must "bind" the ledger to a specific shop, and the ledger will show trades only for that shop. Note that this is independent of who opens it, so if you give the ledger to another player, they will be able to see the sales for as long as they have the Ledger item.

The Catalog lists all shops on the server that are currently active. Their Name and Owner is always displayed, but the location only appears with a Map Link if the waypoint is broadcasted. Clicking this link will automatically open the map and focus on that map location - No need to manually navigate to those coordinates!

Clicking any of the respective "View" buttons will open the shop's inventory, as well as show its Long Description. This way you can see at a glance which items are currently for sale at that shop.

The Meal Stall is useful if you want to sell food to players without needing to sell the food container along with it. Unlike most Stalls, you cannot add/remove contents directly from inside the GUI. Instead, you must transfer contents with containers like Bowls, Cooking Pots, and Crocks. For convienence, the GUI shows you the exact recipe used for that slot. Each stall slot can support up to 64 Servings.

The Coupon Cutter can create bonuses for purches for a specific selection of shops, or all of them owned by you. These bonuses can be in the form of Bonus Product or Price Discounts. Each coupon needs Parchment to craft, but produces 16 Coupons at a time.

A Coupon can be given a name to help distinguish what the coupon is for. You may also select the shops the coupon is honored by, or leave it blank to allow all shops owned by you to honor the coupon.
You may also specify an item Whitelist/Blacklist of items that the coupon applies to, up to 10 items. Leaving this list blank means it will work for any item. In our example above, we have a Whitelist containing a selection of Bread - so this copuon only applies for those specific bread types and would not apply to other food such as pies.
Coupons can offer bonuses as a flat-rate "Unit" basis, or a percentage.
- Unit - The bonus or discount is explicitly supplied. As an example, a 5 Unit Price Discount would subtract 5 units from the cost of the item. E.g. an item being sold for 15 Rusty Gears with a 5 Unit Discount would only cost 10 Rusty Gears
- Percentage - The bonus or discount is proportional to the cost of the item, with the result rounded down to the nearest whole number. As an example an item being sold for 15 Rusty Gears with a 10% Discount would only cost 14 Rusty Gears (15 x 0.1 = 1.5, rounded down = 1 Rusty Gear savings)
Note that the system will automatically handle preserving coupons that do not actually offer a discount. This means that if you used a 10% Discount coupon on something being sold for 5 Rusty Gears, the coupon would not be used as it did not actually save you any money (5 x 0.1 = 0.5 Rounded Down = 0 Rusty Gear Savings)
The Teller Machine is your way of allowing players to exchange currencies with you, provided you have enough stock in your register for the trade. For servers that utilize multiple forms of currency with mods such as Coinage, you can allow your players to freely exchange for the exact currency type required.
Note that these trades are bidirectional and cannot be restricted - you cannot offer a trade where the player pays 1 Gold Coin and receives 10 Silver Coins, but then ask the player to pay for 15 Silver Coins for 1 Gold Coin in return. Teller Machines operate on equivalence - If something cost 1 US Dollar, you can pay for it with 4 Quarters, 10 Dimes, 20 Nickels, 100 Pennies, etc. I am not required to have a 1 US Dollar Bill on me to buy the item - It works the same way here.

In the example above, I can exchange 12 Rusty Gears for a Temporal Gear, or exchange 1 Temporal Gear for 12 Rusty Gears. To change the direction, simply press the "Reverse Trade" button in the middle, which will enable the other "Deal" button.
Configuration
There are many configuration options in mind for Viconomy. Currently the only implemented feature is Food Decay. As these stalls will likely not be in a well-preserved location, their decay rate is statically set to a constant rate. This rate is configurable and can even be completely turned off to stop food rotting entirely. Other plans include limits on shops, stalls, items used for currency, and time-locked sales (RP Store's "Open Hours")
Translations
Want to help translate Vinconomy? See our Crowdin repository!
Known Issues
- Crates do not tesselate properly and will display the generic "?" block instead.
- Using mods to alter or change item names or decriptions and using quotations in the name can mess up the ledger parser. This is a bug within Vintage Story itself and I cannot fix.
For Issues, Comments, Concerns, or Feedback:
Feel free to use the Official Vintage Story Discord's Mod Page (Make sure youre in the Offical Vintage Story Discord for the link to work!) for support, or message me directly (SeveredSkullz). My response times will likely be much faster on there. I still check the ModDB from time to time, though!
| Mod Version | Mod Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 5.1.2 | vinconomy | 315 | 2 days ago | vinconomy_5.1.2.zip | 1-click install | ||
|
Hope everyone had a Happy Thanksgiving for those that celebrate it! Fixes:
Tweaks:
Translations:
| |||||||
| 5.1.1 | vinconomy | 7126 | Nov 11th at 5:11 PM | vinconomy_5.1.1.zip | 1-click install | ||
Fixes:
| |||||||
| 5.1.0 | vinconomy | 2038 | Nov 7th at 12:34 AM | vinconomy_5.1.0.zip | 1-click install | ||
New Features:
Tweak:
Fixes:
| |||||||
| 5.0.8 | vinconomy | 3893 | Oct 30th at 10:29 PM | vinconomy_5.0.8.zip | 1-click install | ||
Fixes:
CST Tweaks:
| |||||||
| 5.0.7 | vinconomy | 5895 | Oct 23rd at 2:54 PM | vinconomy_5.0.7.zip | 1-click install | ||
Fixes:
Tweaks:
Cross Server Trading:
| |||||||
| 5.0.6 | vinconomy | 2016 | Oct 20th at 2:04 PM | vinconomy_5.0.6.zip | 1-click install | ||
Fixes:
Tweaks:
| |||||||
| 5.0.5 | vinconomy | 1069 | Oct 18th at 7:33 PM | vinconomy_5.0.5.zip | 1-click install | ||
Fixes:
Tweaks:
QoL Tweaks:
| |||||||
| 5.0.4 | vinconomy | 3407 | Oct 13th at 11:14 PM | vinconomy_5.0.4.zip | 1-click install | ||
Fixes:
Tweaks:
| |||||||
| 5.0.3 | vinconomy | 11503 | Sep 17th at 8:40 PM | vinconomy_5.0.3.zip | 1-click install | ||
Fixes:
| |||||||
| 5.0.2 | vinconomy | 5735 | Sep 8th at 3:22 PM | vinconomy_5.0.2.zip | 1-click install | ||
Fixes:
| |||||||
| 5.0.1 | vinconomy | 2083 | Sep 6th at 4:53 AM | vinconomy_5.0.1.zip | 1-click install | ||
Fixes:
| |||||||
| 5.0.0 | vinconomy | 3622 | Aug 28th at 7:45 PM | vinconomy_5.0.0.zip | 1-click install | ||
New Features:
Changes:
Fixes:
| |||||||
| 0.4.1 | vinconomy | 1334 | Sep 3rd at 12:22 AM | vinconomy_0.4.1.zip | 1-click install | ||
Tweaks:
| |||||||
| 0.4.0 | vinconomy | 46094 | Feb 2nd at 12:40 AM | vinconomy_0.4.0.zip | 1-click install | ||
|
Fixes:
Changes:
| |||||||
| 0.4.0-rc.4 | vinconomy | 11199 | Dec 17th 2024 at 6:24 AM | vinconomy_0.4.0-rc.4.zip | 1-click install | ||
|
Updated to be compatable with 1.20.0-rc.4 due to demand Please note that I generally do not offer support for Release Candidates - No support will be provided until the full 1.20.0 release. | |||||||
| 0.3.5 | vinconomy | 2461 | Nov 21st 2024 at 12:26 AM | vinconomy_0.3.5.zip | 1-click install | ||
|
Fixed RU Ledger localization | |||||||
| 0.3.4 | vinconomy | 2755 | Oct 5th 2024 at 3:38 PM | vinconomy_0.3.4.zip | 1-click install | ||
Fixes:
| |||||||
| 0.3.3 | vinconomy | 2449 | Sep 22nd 2024 at 4:28 PM | vinconomy_0.3.3.zip | 1-click install | ||
Changes:
Fixes:
| |||||||
| 0.3.2 | vinconomy | 666 | Sep 18th 2024 at 4:43 AM | vinconomy_0.3.2.zip | 1-click install | ||
Feature Video:Changes:
Fixes:
| |||||||
| 0.3.1 | vinconomy | 1007 | Aug 31st 2024 at 2:26 PM | vinconomy_0.3.1.zip | 1-click install | ||
As there has been ample time to upgrade your stalls, I am now removing the legacy block types, version upgrade, and version conversion code from the 3.0 version. This version should only be suitable for fresh installs of Vinconomy on a server, or if you are sure your server's players have fully upgraded from 2.10 to 3.0 stalls/registers.Changes:
Fixes:
| |||||||
| 0.3.0 | vinconomy | 4972 | Jul 21st 2024 at 4:50 AM | vinconomy_0.3.0.zip | 1-click install | ||
|
Github Stats for the Nerdy: 122 Changed Files with 11,060 additions and 2,513 deletions. New Features:
Tweaks / QoL:
Fixes:
| |||||||
| 0.2.10 | vinconomy | 2605 | Jun 24th 2024 at 1:47 PM | vinconomy_0.2.10.zip | 1-click install | ||
Fixes:
| |||||||
| 0.2.9 | vinconomy | 443 | Jun 22nd 2024 at 10:21 PM | vinconomy_0.2.9.zip | 1-click install | ||
New Features
Fixes
Tweaks
| |||||||
| 0.2.8 | vinconomy | 2764 | Jun 6th 2024 at 2:34 AM | vinconomy_0.2.8.zip | 1-click install | ||
Fixes:
New Features:
| |||||||
| 0.2.7 | vinconomy | 3349 | May 8th 2024 at 8:06 AM | vinconomy_0.2.7.zip | 1-click install | ||
Fixes
Tweaks
| |||||||
| 0.2.6 | vinconomy | 2622 | May 4th 2024 at 12:00 AM | vinconomy_0.2.6.zip | 1-click install | ||
Fixes:
| |||||||
| 0.2.5 | vinconomy | 2679 | Apr 9th 2024 at 6:29 PM | vinconomy_0.2.5.zip | 1-click install | ||
Fixes:
| |||||||
| 0.2.4 | vinconomy | 1583 | Mar 24th 2024 at 9:48 AM | vinconomy_0.2.4.zip | 1-click install | ||
Fixes:
| |||||||
| 0.2.3 | vinconomy | 2287 | Feb 21st 2024 at 1:50 PM | vinconomy_0.2.3.zip | 1-click install | ||
Fixes:
| |||||||
| 0.2.2 | vinconomy | 1829 | Feb 4th 2024 at 4:44 PM | vinconomy_0.2.2.zip | 1-click install | ||
Fixes:
| |||||||
| 0.2.1 | vinconomy | 953 | Jan 24th 2024 at 1:56 AM | vinconomy_0.2.1.zip | 1-click install | ||
Fixes:
| |||||||
| 0.2.0 | vinconomy | 880 | Jan 14th 2024 at 5:46 PM | vinconomy_0.2.0.zip | 1-click install | ||
New Features:
Fixes:
| |||||||
| 0.1.9 | vinconomy | 227 | Feb 21st 2024 at 2:01 PM | vinconomy_0.1.9.zip | 1-click install | ||
Fixes
| |||||||
| 0.1.8 | vinconomy | 601 | Jan 15th 2024 at 3:42 PM | vinconomy_0.1.8.zip | 1-click install | ||
Fixes:
| |||||||
| 0.1.7 | vinconomy | 1138 | Dec 19th 2023 at 10:24 PM | vinconomy_0.1.7.zip | 1-click install | ||
Fixes:
| |||||||
| 0.1.6 | vinconomy | 399 | Dec 18th 2023 at 4:16 AM | vinconomy_0.1.6.zip | 1-click install | ||
New Features:
| |||||||
| 0.1.5 | vinconomy | 709 | Dec 10th 2023 at 12:42 AM | vinconomy_0.1.5.zip | 1-click install | ||
New Features:
| |||||||
| 0.1.4 | vinconomy | 1432 | Nov 14th 2023 at 12:40 AM | vinconomy_0.1.4.zip | 1-click install | ||
New Features:
Fixes:
| |||||||
| 0.1.3 | vinconomy | 1665 | Oct 19th 2023 at 3:18 AM | vinconomy_0.1.3.zip | 1-click install | ||
New Features:
Fixes:
| |||||||
| 0.1.2 | vinconomy | 738 | Oct 5th 2023 at 12:15 AM | vinconomy_0.1.2.zip | 1-click install | ||
New Features:
Fixes:
| |||||||
| 0.1.1 | vinconomy | 531 | Sep 30th 2023 at 1:28 AM | vinconomy_0.1.1.zip | 1-click install | ||
New Features:
Known Issues:
| |||||||
| 0.1.0 | vinconomy | 355 | Sep 27th 2023 at 6:57 PM | Empty | vinconomy_0.1.0.zip | 1-click install | |
setowner didnt work. v5.1.1
Hi, the client crashes when I try to increase the number of items purchased at once via
purchasecrate.Running on 64 bit Windows 10.0.19045.0 with 15676 MB RAM Game Version: v1.21.5 (Stable) 22.11.2025 12:24:26: Critical error occurred in the following mod: vinconomy@5.1.1 Loaded Mods: walkingstick@1.0.1, ancientarmory@1.1.8, blackguardadditions@1.1.8, brickmold@1.3.1, chiblocksel@1.8.2, cbr@1.0.0, chiseltools@1.15.3, decor@1.3.1, hqzlights@1.1.2, dyedhardenedclay@1.0.2, vichnybackpack@2.5.3, esp@3.3.6, expandedmolds@1.2.0, floralzonescaperegion@1.0.27, floralzonescaribbeanregion@1.0.22, floralzonescentralaustralianregion@1.0.19, floralzonescosmopolitanregion@1.0.10, floralzonesneozeylandicregion@1.0.18, fagreenwich@1.4.2, faviking@1.0.0, forlornadditions@1.0.3, bovinae@0.3.3, casuariidae@1.1.7, elephantidae@1.0.16, rhinocerotidae@1.0.22, spheniscidae@1.0.14, gildedsteel@1.1.2, handtohand@1.0.6, japanesearchitecture@0.9.4, jonasboat@1.0.3, litbrig@0.7.6, manualquenching@1.0.9, millwright@1.3.0, moreundergarmentsupdated@0.0.6, mycodiversity@1.0.4, pipeleaf@2.4.1, plainsandvalleys@1.0.12, ruggedrugs@0.0.4, scrollrackable@1.4.0, shelfobsessed@1.9.1, soundofconfession@1.0.8, spyglass@0.6.0, tankardsandgoblets@1.3.4, temporalsymphony@2.2.2, translocatorengineeringredux@1.6.2, game@1.21.5, wallpaperblocks@2.0.1, wildfarmingrevival@1.4.2, apegrapes@1.3.1, apelanterns@1.3.5, arrowbarrels@1.4.0, egocaribautomapmarkers@4.0.3, betterjonasdevicesfixed@2.1.4, betterruins@0.5.3, billposting@1.1.0, butchering@1.10.11, carryon@1.12.1, cartwrightscaravan@1.8.0, displaycasewall@1.0.3, elkvariants@1.0.1, emotemenupatched@1.0.6, entitynametag@1.4.0, envelopes@2.1.1, foodshelves@2.3.3, foragersgamble@1.2.4, fromgoldencombs@1.9.4, gloomeclasses@1.0.10, gourmand@1.7.10, greenhousebuff@1.2.0, hpspinningwheel@1.0.7, JustTrapdoors@1.0.2, kevinsfurniture@1.7.5, metalpots@1.6.1, metaltongs@1.2.3, moreanimals@1.6.5, ndlchiselpick@3.1.1, novelty@1.0.17, onebedsleeping@3.0.1, optimetime@1.1.0, petai@4.0.3, plumbandcube@1.1.0, purposefulstorage@1.5.1, regalia@1.2.0, rpvoicechat@2.3.31, substrate@1.1.4, tradie@1.5.1, ufm@1.19.6, vanity@2.4.6, vinconomy@5.1.1, creative@1.21.5, vsinstrumentsbase@2.0.6, survival@1.21.5, wildgrass@1.3.4, windchimes@1.4.1, bookbinders@1.3.1, cats@4.0.0, em@3.3.3, instrumentscovertpack@0.3.2, shearlib@1.2.0, tavernadditions@1.1.0, vsinstrumentsrule@1.0.2, vsinstruments_quackpack@1.0.2, tailorsdelight@2.1.2, wool@1.8.1, dressmakers@1.7.4 System.NullReferenceException: Object reference not set to an instance of an object. at Viconomy.GUI.GuiViconStallCustomer.onQuantityChanged(String amount) at Vintagestory.API.Client.GuiElementEditableTextBase.TextChanged() in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementEditableTextBase.cs:line 350 at Vintagestory.API.Client.GuiElementEditableTextBase.LoadValue(List`1 newLines) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementEditableTextBase.cs:line 313 at Vintagestory.API.Client.GuiElementNumberInput.LoadValue(List`1 newLines) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\GuiElementNumberInput.cs:line 209 at Vintagestory.API.Client.GuiElementEditableTextBase.SetValue(String text, Boolean setCaretPosToEnd) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementEditableTextBase.cs:line 282 at Vintagestory.API.Client.GuiElementNumberInput.UpdateValue(Single size) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\GuiElementNumberInput.cs:line 196 at Vintagestory.API.Client.GuiElementNumberInput.OnMouseDownOnElement(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\GuiElementNumberInput.cs:line 248 at Vintagestory.API.Client.GuiComposer.OnMouseDown(MouseEvent mouseArgs) in VintagestoryApi\Client\UI\GuiComposer.cs:line 470 at Vintagestory.API.Client.GuiDialog.OnMouseDown(MouseEvent args) in VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 564 at Vintagestory.Client.NoObf.GuiManager.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 401 at Vintagestory.Client.NoObf.ClientMain.UpdateMouseButtonState(EnumMouseButton button, Boolean down) in VintagestoryLib\Client\ClientMain.cs:line 1969 at Vintagestory.Client.SystemHotkeys.OnPrimaryMouseButton(KeyCombination mb) in VintagestoryLib\Client\Systems\Player\Hotkeys.cs:line 52 at Vintagestory.Client.HotkeyManager.TriggerHotKey(KeyEvent keyEventargs, IWorldAccessor world, IPlayer player, Boolean allowCharacterControls, Boolean isGlobal, Boolean fallBack, Boolean keyup) in VintagestoryLib\Client\HotkeyManager.cs:line 424 at Vintagestory.Client.HotkeyManager.TriggerHotKey(KeyEvent keyEventargs, IWorldAccessor world, IPlayer player, Boolean allowCharacterControls, Boolean keyUp) in VintagestoryLib\Client\HotkeyManager.cs:line 394 at Vintagestory.Client.HotkeyManager.OnMouseButton(ClientMain game, EnumMouseButton button, Int32 modifiers, Boolean buttonDown) in VintagestoryLib\Client\HotkeyManager.cs:line 574 at Vintagestory.Client.NoObf.ClientMain.OnMouseDownRaw(MouseEvent args) in VintagestoryLib\Client\ClientMain.cs:line 1939 at Vintagestory.Client.GuiScreenRunningGame.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 339 at Vintagestory.Client.ScreenManager.OnMouseDown(MouseEvent e) in VintagestoryLib\Client\ScreenManager.cs:line 913 at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonDown(MouseButtonEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 203 at OpenTK.Windowing.Desktop.NativeWindow.OnMouseDown(MouseButtonEventArgs e) at OpenTK.Windowing.Desktop.NativeWindow.MouseButtonCallback(Window* window, MouseButton button, InputAction action, KeyModifiers mods) --- End of stack trace from previous location --- at OpenTK.Windowing.Desktop.NativeWindow.RethrowCallbackExceptionsIfNeeded() at OpenTK.Windowing.Desktop.NativeWindow.ProcessWindowEvents(Boolean waitForEvents) at OpenTK.Windowing.Desktop.GameWindow.Run() at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 338 at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 133 at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95 Event Log entries for Vintagestory.exe, the latest 1 ================================== { TimeGenerated = 22.11.2025 12:22:14, Site = , Source = Application Error, Message = Назва аварійного застосунку: Vintagestory.exe, версія: 1.21.5.0, позначка часу: 0x67fe0000 Назва аварійного модуля: openal32.dll, версія: 1.23.0.0, позначка часу: 0x63dd31ad Код винятку: 0x40000015 Зсув помилки: 0x00000000000df046 Код аварійного процесу: 0x2b1c Час запуску аварійного застосунку: 0x01dc5b99b86f6336 Шлях до аварійного застосунку: B:\Vintagestory\Vintagestory.exe Шлях до аварійного модуля: B:\Vintagestory\Lib\openal32.dll Код звіту: 10576267-aa2e-46fe-b2d9-64a0242a4caf Повне ім'я аварійного пакету: Код аварійного застосунку, що стосується пакету: }Running on 64 bit Windows 10.0.26100.0 with 16315 MB RAM Game Version: v1.21.5 (Stable) 24.11.2025 0:39:09: Critical error occurred in the following mod: vinconomy@5.1.1 Loaded Mods: walkingstick@1.0.1, ancientarmory@1.1.8, blackguardadditions@1.1.8, brickmold@1.3.1, chiblocksel@1.8.2, cbr@1.0.0, chiseltools@1.15.3, decor@1.3.1, hqzlights@1.1.2, dyedhardenedclay@1.0.2, vichnybackpack@2.5.3, esp@3.3.6, expandedmolds@1.2.0, floralzonescaperegion@1.0.27, floralzonescaribbeanregion@1.0.22, floralzonescentralaustralianregion@1.0.19, floralzonescosmopolitanregion@1.0.10, floralzonesneozeylandicregion@1.0.18, fagreenwich@1.4.2, faviking@1.0.0, forlornadditions@1.0.3, bovinae@0.3.3, casuariidae@1.1.7, elephantidae@1.0.16, rhinocerotidae@1.0.22, spheniscidae@1.0.14, gildedsteel@1.1.2, handtohand@1.0.6, japanesearchitecture@0.9.4, jonasboat@1.0.3, litbrig@0.7.6, manualquenching@1.0.9, millwright@1.3.0, moreundergarmentsupdated@0.0.6, mycodiversity@1.0.4, pipeleaf@2.4.1, plainsandvalleys@1.0.12, ruggedrugs@0.0.4, scrollrackable@1.4.0, shelfobsessed@1.9.1, soundofconfession@1.0.8, spyglass@0.6.0, tankardsandgoblets@1.3.4, temporalsymphony@2.2.2, translocatorengineeringredux@1.6.2, game@1.21.5, wallpaperblocks@2.0.1, wildfarmingrevival@1.4.2, apegrapes@1.3.1, apelanterns@1.3.5, arrowbarrels@1.4.0, egocaribautomapmarkers@4.0.3, betterjonasdevicesfixed@2.1.4, betterruins@0.5.3, billposting@1.1.0, butchering@1.10.11, carryon@1.12.1, cartwrightscaravan@1.8.0, chiselwiz@4.0.0, displaycasewall@1.0.3, elkvariants@1.0.1, entitynametag@1.4.0, envelopes@2.1.1, extrainfo@1.10.1, foodshelves@2.3.3, foragersgamble@1.2.4, fromgoldencombs@1.9.4, gloomeclasses@1.0.10, gourmand@1.7.10, greenhousebuff@1.2.0, hpspinningwheel@1.0.7, JustTrapdoors@1.0.2, kevinsfurniture@1.7.5, marximusmedievalmap@1.5.3, metalpots@1.6.1, metaltongs@1.2.3, moreanimals@1.6.5, ndlchiselpick@3.1.1, novelty@1.0.17, onebedsleeping@3.0.1, petai@4.0.3, plumbandcube@1.1.0, purposefulstorage@1.5.1, regalia@1.2.0, rpvoicechat@2.3.31, substrate@1.1.4, tradie@1.5.1, ufm@1.19.6, vanity@2.4.6, vinconomy@5.1.1, creative@1.21.5, vsinstrumentsbase@2.0.6, survival@1.21.5, wildgrass@1.3.4, windchimes@1.4.1, bookbinders@1.3.1, cats@4.0.0, em@3.3.3, instrumentscovertpack@0.3.2, shearlib@1.2.0, tavernadditions@1.1.0, vsinstrumentsrule@1.0.2, vsinstruments_quackpack@1.0.2, tailorsdelight@2.1.2, wool@1.8.1, dressmakers@1.7.4 System.NullReferenceException: Object reference not set to an instance of an object. at Viconomy.GUI.GuiViconStallCustomer.onQuantityChanged(String amount) at Vintagestory.API.Client.GuiElementEditableTextBase.TextChanged() in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementEditableTextBase.cs:line 350 at Vintagestory.API.Client.GuiElementEditableTextBase.LoadValue(List`1 newLines) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementEditableTextBase.cs:line 313 at Vintagestory.API.Client.GuiElementNumberInput.LoadValue(List`1 newLines) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\GuiElementNumberInput.cs:line 209 at Vintagestory.API.Client.GuiElementEditableTextBase.SetValue(String text, Boolean setCaretPosToEnd) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementEditableTextBase.cs:line 282 at Vintagestory.API.Client.GuiElementNumberInput.UpdateValue(Single size) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\GuiElementNumberInput.cs:line 196 at Vintagestory.API.Client.GuiElementNumberInput.OnMouseDownOnElement(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\GuiElementNumberInput.cs:line 248 at Vintagestory.API.Client.GuiComposer.OnMouseDown(MouseEvent mouseArgs) in VintagestoryApi\Client\UI\GuiComposer.cs:line 470 at Vintagestory.API.Client.GuiDialog.OnMouseDown(MouseEvent args) in VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 564 at Vintagestory.Client.NoObf.GuiManager.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 401 at Vintagestory.Client.NoObf.ClientMain.UpdateMouseButtonState(EnumMouseButton button, Boolean down) in VintagestoryLib\Client\ClientMain.cs:line 1969 at Vintagestory.Client.SystemHotkeys.OnPrimaryMouseButton(KeyCombination mb) in VintagestoryLib\Client\Systems\Player\Hotkeys.cs:line 52 at Vintagestory.Client.HotkeyManager.TriggerHotKey(KeyEvent keyEventargs, IWorldAccessor world, IPlayer player, Boolean allowCharacterControls, Boolean isGlobal, Boolean fallBack, Boolean keyup) in VintagestoryLib\Client\HotkeyManager.cs:line 424 at Vintagestory.Client.HotkeyManager.TriggerHotKey(KeyEvent keyEventargs, IWorldAccessor world, IPlayer player, Boolean allowCharacterControls, Boolean keyUp) in VintagestoryLib\Client\HotkeyManager.cs:line 394 at Vintagestory.Client.HotkeyManager.OnMouseButton(ClientMain game, EnumMouseButton button, Int32 modifiers, Boolean buttonDown) in VintagestoryLib\Client\HotkeyManager.cs:line 574 at Vintagestory.Client.NoObf.ClientMain.OnMouseDownRaw(MouseEvent args) in VintagestoryLib\Client\ClientMain.cs:line 1939 at Vintagestory.Client.GuiScreenRunningGame.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 339 at Vintagestory.Client.ScreenManager.OnMouseDown(MouseEvent e) in VintagestoryLib\Client\ScreenManager.cs:line 913 at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonDown(MouseButtonEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 203 at OpenTK.Windowing.Desktop.NativeWindow.OnMouseDown(MouseButtonEventArgs e) at OpenTK.Windowing.Desktop.NativeWindow.MouseButtonCallback(Window* window, MouseButton button, InputAction action, KeyModifiers mods) --- End of stack trace from previous location --- at OpenTK.Windowing.Desktop.NativeWindow.RethrowCallbackExceptionsIfNeeded() at OpenTK.Windowing.Desktop.NativeWindow.ProcessWindowEvents(Boolean waitForEvents) at OpenTK.Windowing.Desktop.GameWindow.Run() at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 338 at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 133 at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95 Event Log entries for Vintagestory.exe, the latest 3 ================================== { TimeGenerated = 31.10.2025 4:16:59, Site = , Source = Application Error, Message = Ім’я несправної програми: Vintagestory.exe, версія: 1.21.5.0, позначка часу: 0x67fe0000 Ім’я несправного модуля: ntdll.dll, версія: 10.0.26100.5074, позначка часу: 0x0e967e89 Код винятку: 0xc0000005 Зміщення помилки: 0x0000000000080ec4 Ідентифікатор несправного процесу: 0x718 Час запуску несправної програми: 0x1dc4a070ef10fb5 Шлях до несправної програми: C:\Users\Lumvii\AppData\Roaming\Vintagestory\Vintagestory.exe Шлях до несправного модуля: C:\WINDOWS\SYSTEM32\ntdll.dll Ідентифікатор звіту: 713899b2-4cf7-49d0-bd9a-f31c93de7492 Повне ім’я несправного пакета: Ідентифікатор несправної програми, пов’язаної з пакетом: } -------------- { TimeGenerated = 20.10.2025 21:45:43, Site = , Source = Application Error, Message = Ім’я несправної програми: Vintagestory.exe, версія: 1.21.5.0, позначка часу: 0x67fe0000 Ім’я несправного модуля: openal32.dll, версія: 1.23.0.0, позначка часу: 0x63dd31ad Код винятку: 0x40000015 Зміщення помилки: 0x00000000000df046 Ідентифікатор несправного процесу: 0x1520 Час запуску несправної програми: 0x1dc41d463cce2f2 Шлях до несправної програми: C:\Users\Lumvii\AppData\Roaming\Vintagestory\Vintagestory.exe Шлях до несправного модуля: C:\Users\Lumvii\AppData\Roaming\Vintagestory\Lib\openal32.dll Ідентифікатор звіту: e6754efb-867d-4916-a2d3-6a3d101c2877 Повне ім’я несправного пакета: Ідентифікатор несправної програми, пов’язаної з пакетом: } -------------- { TimeGenerated = 17.10.2025 6:00:03, Site = , Source = Application Error, Message = Ім’я несправної програми: Vintagestory.exe, версія: 1.21.5.0, позначка часу: 0x67fe0000 Ім’я несправного модуля: KERNELBASE.dll, версія: 10.0.26100.6584, позначка часу: 0x0a9b38fe Код винятку: 0xe0434352 Зміщення помилки: 0x00000000000c66ca Ідентифікатор несправного процесу: 0x33e4 Час запуску несправної програми: 0x1dc3f0dfb0825f5 Шлях до несправної програми: C:\Users\Lumvii\AppData\Roaming\Vintagestory\Vintagestory.exe Шлях до несправного модуля: C:\WINDOWS\System32\KERNELBASE.dll Ідентифікатор звіту: 9c2bfbed-e3e1-40b8-ba1e-11812f3a955f Повне ім’я несправного пакета: Ідентифікатор несправної програми, пов’язаної з пакетом: }Hello! Nice mod!
Does this currently work with Coinage mod? As an example, using coins as currency possibly instead of gears? Possibly currently, allowing exchange of coin for gears at the ATM? I just dont see currently (and im still realtively new to VS so gears are REALY "expensive" and even a stack of carrots (as an example) for a gear is very expensive as well)... Maybe im looking at this entirely wrong? im setting up a game server for 40 - 80 players in a long-running, lite RP series, and would really like to see how i can properly impliment this mod into our economy. If anyone can make suggestions, please feel free! Thanks in advance!
Item tooltips are not present on the teller machine. They are present on my own machines, but not other player's machines. It is difficult to tell what the items are at times without tooltips. Used both 5.0.3 and 5.0.8 (same result).
This is kind of a question + feature request.
I would love it if admin stores could have some dynamic pricing.
Like you could set the price to increase by x% every purchase and decrease x% every Y ingame days.
and same with buying goods. have the price decrease x% from every purchase. and increase the price every Y ingame days.
and set a min and max price for things.
This allows us to kinda let the community decide the price based on supply/demand rather then setting fixed pricing.
SeveredSkullz I'd say the weirder thing is that despite everything else not working, the one thing that does show up and work in stalls are the sticks of wax for sealing envelopes. Model and all.
VixTetsuri - Ive reached out to SiiMeR and hope to hear back soon. In the meantime, Im adding a null check on the MeshData coming from the tesselator. Itll stop the crashing, but its very spammy on the console, and the items are invisiblein the stalls.
I don't see anything blatantly wrong with anything he's done, but Vintage Story keeps telling me it cant find his shape files for any of the items in his mod, despite me staring right at them in the Zip.

Origin_Alpha_43 - Commented right as I was typing responses so I missed it. The Teller and its GUI hasnt been touched at all in over 2 months from what I see in Git. I assume its stemming from one of the items inside it? Do you see any errors showing up in the logs?
AsheTheBun - youve got the drive links private so I cant view them. I just recently did a pass to fix most of them about a month or so ago, so I suspect it might just be a combination of the weapons that look weird rather than it being an actual bug.
VixTetsuri - Will take a look.
Delanir - Will take a look at this as well, though if its anything like the previous cases, its outside of my control and needs to be fixed by the mod author.
RDodger - Will add them back in. Thevey been gone for about 2 years at this point, but I still get people asking for them.
I could be wrong, but the orientation of weapons and shields seems to be bugged, i'm not quite sure if thats a server side issue or not, just thought i'd put it here just in case. It could also just be the weapons i used dont go together.
https://drive.google.com/file/d/15QAyuQLYEmwBmzkF7jdtFYKBzD-ZwksB/view?usp=drive_link
https://drive.google.com/file/d/1aXPPXsSsJiun4x5KeqkCVQ85ViLv7WmF/view?usp=drive_link
Crashes whenever you try to put anything from Envelopes into a stall.
Relevant crash log:
https://pastebin.com/NMkDfum7
It asked me to share this. Its probably something from the toolsmith mod.

Hello! how do you make the Helmet stand stalls? I dont see a crafting recipe for them
wow nice, i'm eager to use it once it's released
Origin_Alpha_43 Im happy to report thats been something that ive been working on already for a little while now. Trying to get the liquid rendering working correctly.
Been using the Meal stall in my Inn for players to get a quick meal
and its fantastic
I got a suggestion for another stall
a Liquid stall, like a keg/barrel where players can buy drinks
it would be awesome for taverns along with the meal stall
Joulz - its in the ModConfig folder, "vinconomy-core.json". The attributes are "FoodDecaysInShops" and "StallPerishRate"
How do you actually configure the mod for the food decay? Is it a command ingame? Config file? I can't find how to configure it :(
Origin_Alpha_43 - Thats the first time I've heard anything about it. Can't fix issues if Im not aware of them. Will take a look.
As for the fuzzy matching on the attributes. I avoided that for the selling side of things because I felt it wasnt fair the the customers in the sense that they didnt know what they might get if they purchase items in bulk. Now that we have the Purchase Crate for buying from players, I don't see an issue with adding that functionality since you, as the owner, would be designating that youre OK with getting different types of items than exactly what you put up for the product. Will add it to the "To Do" list.
was wondering if its possible to make the stalls ignore item attributes
been trying to setup specific trades, but it seems not to work cause of passing time affecting some item attributes
basically, trying to make so dead animal (from butchering mod) can be sold to an admin shop
OH MY LORD
thank you for resizing the animal models in 5.0.4
about to update to the most recent version, cause of an unexpected glitch
but looking at the changelog, the glitch hasnt been fixed or isnt listed in there
Breaking the Coupon Cutter when an item is still registered in the whitelist/blacklist, drops a double of the item
when it clearly shouldnt
Meal Stalls Crash:
Right clicked a meal stall with a cooking pot with food in it, and it crashed. Cooking pot had a 5 and fraction of a serving.
Also crashed with a bowl with one serving and a full crock with 6 servings.
On VS 1.21.1
Running on 64 bit Windows 10.0.26100.0 with 32581 MB RAM
Game Version: v1.21.1 (Stable)
10/7/2025 10:45:28 PM: Critical error occurred in the following mod: vinconomy@5.0.3
Loaded Mods: aculinaryartillerypatch@1.2.6-pre.4, americanfrontiersman@1.8.4, tonwexp-neue@2.1.1, anmitechco@1.3.0, blackguardadditions@1.1.7, blacksmithname@1.2.0, chiseltools@1.15.1, ClaimsRadar@1.1.0, fadynasties@1.1.1, fagothic@1.2.0, fagreenwich@1.3.1, fahussar@1.0.0, falandsknecht@1.2.1, fatemplar@1.3.1, bovinae@0.3.1, japanesearchitecture@0.9.4, jonasboat@1.0.2, litbrig@0.7.6, millwright@1.2.8, molds@0.2.0, moreicons@1.1.1, moretorchholders@1.0.1, overhaullib@1.11.10, particlesplus@2.3.1, primitivesurvival@3.9.7, shelfobsessed@1.7.0, soundofconfession@1.0.6, tankardsandgoblets@1.3.0, game@1.21.1, vsimgui@1.1.13, wildfarmingrevival@1.4.0, abcsredux@2.0.5, ageofconfession@2.1.5, alchemy@1.7.18, allclasses@2.0.6, ancienttools@1.6.0-pre.6, apegrapes@1.3.1, attributerenderinglibrary@2.3.0, flags@1.1.12, beararmorrepair@1.0.1, betterjonasdevicesfixed@2.0.4, betterruins@0.5.0, billposting@1.1.0, canadditionalmetals@1.0.9, canjewelry@0.5.8, carryon@1.10.9, cartwrightscaravan@1.7.2, chestorganizer@1.2.3, coinage@1.17.3, combatoverhaul@0.9.6, commonlib@2.8.0, configlib@1.10.3, entitynametag@1.4.0, extrainfo@1.10.1, farseer@1.3.2, feverstonehorses@2.0.0-rc.10, foodshelves@2.3.0, freedomunits@1.1.4, fromgoldencombs@1.9.4, herbarium@1.4.1-rc.1, hudclockpatch@1.1.1, jaunt@2.1.0-rc.1, jopainting@1.5.0, kevinsfurniture@1.7.3, maltiezcrossbows@1.5.2, maltiezfirearms@1.2.3, meteoricexpansion@1.2.6, morepiles@2.2.0, noticeboard@1.1.2, oneroof@1.10.0, passthruchutes@1.0.2, petai@4.0.0, playermodellib@1.0.12, purposefulstorage@1.4.1, rpvoicechat@2.3.24, stonebakeoven@1.2.0, terraprety@7.0.8, toolsmith@1.2.10, vinconomy@5.0.3, creative@1.21.1, vsinstrumentsbase@2.0.4, survival@1.21.1, vsvillage@3.0.1, xlib@0.9.0-pre.2, animalears@1.0.0, antlershorns@1.3.2, armory@1.2.1, cats@4.0.0, draconis@1.1.2, em@3.3.1, extraoverlays@1.6.0, goblinears@2.3.2, heraldry@1.0.0, playercorpse@1.12.0, shearlib@1.2.0, stonequarry@3.5.1, tabletopgames@3.0.2, vsinstruments_quackpack@1.0.2, wildcraftfruit@1.4.2, wolftaming@4.0.1, xskills@0.9.0-pre.2, capes@1.0.0, tailorsdelight@2.0.0, wool@1.7.2, dressmakers@1.7.1
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Viconomy.Inventory.StallSlots.MealStallSlot.GetSlot(Int32 itemSlot)
at Viconomy.Inventory.Impl.ViconMealInventory.AddMealToStallRaw(Int32 stall, ItemSlot mealSlot, Int32 amount)
at Viconomy.Inventory.Impl.ViconMealInventory.AddMealToStall(Int32 stall, ItemSlot mealSlot, Int32 amount)
at Viconomy.BlockEntities.BEVinconFoodContainer.TryAddItemToStall(ItemSlot activeSlot, Int32 stallSlot, Boolean bulk)
at Viconomy.BlockEntities.BEVinconContainer.TryPut(ItemSlot slot, Int32 stallSlot, Boolean bulk)
at Viconomy.BlockEntities.BEVinconFoodContainer.OnPlayerRightClick(IPlayer byPlayer, BlockSelection blockSel)
at Viconomy.BlockTypes.BlockVContainer.OnBlockInteractStart(IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel)
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseBlock(Block selectedBlock, BlockSelection blockSelection) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 886
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 544
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 87
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1031
at Vintagestory.Client.GuiScreenRunningGame.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 250
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 760
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 663
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 113
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 338
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 133
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95
Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 10/7/2025 10:41:13 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.21.1.0, time stamp: 0x67fe0000
Faulting module name: coreclr.dll, version: 8.0.1925.36514, time stamp: 0x68769299
Exception code: 0xc0000005
Fault offset: 0x00000000003b701e
Faulting process id: 0x980
Faulting application start time: 0x1dc3805233f6794
Faulting application path: C:\Users\meiaa\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\8.0.19\coreclr.dll
Report Id: faf6f858-ba4c-4c61-8df6-6850e86fe5bb
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 10/5/2025 11:25:05 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.21.1.0, time stamp: 0x67fe0000
Faulting module name: coreclr.dll, version: 8.0.1925.36514, time stamp: 0x68769299
Exception code: 0xc0000005
Fault offset: 0x00000000001d9e2d
Faulting process id: 0x4c08
Faulting application start time: 0x1dc3673e247ddc2
Faulting application path: C:\Users\meiaa\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\8.0.19\coreclr.dll
Report Id: f9a008e5-383a-4503-b84a-6265145c8fa7
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 10/1/2025 8:07:19 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.21.1.0, time stamp: 0x67fe0000
Faulting module name: ntdll.dll, version: 10.0.26100.5074, time stamp: 0x0e967e89
Exception code: 0xc0000374
Fault offset: 0x000000000011a3b5
Faulting process id: 0x759c
Faulting application start time: 0x1dc333863096586
Faulting application path: C:\Users\meiaa\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
Report Id: 7d75f809-201d-4019-8396-cb56c025ce7b
Faulting package full name:
Faulting package-relative application ID: }
A must have for your server!
Thank's for the quick reply, I'll see if i can poke the admins about adding a variant for firearms. Since I'm sure Maltiez is also super busy himself
Zetal - Can you elaborate on the issue? It should not allow you to place it, but it also should not simply delete the item stack.
Canyew - The Weapon Rack already exists and works for all items that can be stored on the vanilla tool rack. You would only need a small patch to add the tool rack transform to the item for it to work - See if Maltiez is willing to add support for it to be placed on tool racks on his end, or possibly patch it on the server yourself and it will then be fully working with Vinconomy. I cannot simply add a new dedicated block or stall every time a new mod comes along and breaks standard convention within the game. Not only do I currently lack the time for that level of support, but if I did there would be an excessive amount of bloat within the mod to support all the various items and blocks added by other mods.
I'm on a public server that has this mod and I like how it works, but as someone who's working as a gunsmith, the weapon stations are a little limiting. Was wondering if it's possible if you could make a compatablity for a firearms rack to sell guns on, or a rack for guns/weapons like the gun racks, because i feel they would also work for swords and other weapon types. As well has have a way to display more different types of weapons.
Hello! Lovely mod. I'm getting an issue where placing a Register that was previously placed by someone else gives a 'You do not own this.' error and completely deletes the Register... Sucks to lose the plates! A fix would be greatly appreciated, thank you!
I cant find any of the items in the creative menu i was able to build the teller machine in survival and it worked fine but they still wont show up the in creative menu
CaptainJake - I assume you have the "block interaction help" setting disabled as it would have shown the interaction. Since 0.1.4, you can purchase from your own stalls by holding the currency item in your hand and using Sneak + Right Click. If you want a more semi-permanant solution, you can also run ".vincon forcecustomer true" and all your interactions will function as if you were not the owner until you set it to false (or rejoin the server - I don't save the state for this incase people forget it is on).
Hey mate, another request please - I'm server admin, and created some shops for the spawn town, but I would like to be able to use the shops myself while I'm in survival. Maybe you can add "admin" as an actual "owned by" setting, so that its only accessable to me while in creative? (Or you could make this a default result of clickin the Admin Shop option)
Magazine_ That was the plan from the start. The Liquid rendering is just something I havent had a chance to look into yet and I needed to get 5.0 out for the 1.21 update so it shipped without it.
Hey SeveredSkullz i love the mod so far the gacha machine is a hit in town, but i was curious have you thought of adding a sort of liquid stall/shop item like a keg or stall similar to the meal stall in which you can bring a bottle, tankard, goblet, or bowl for all liquids like wine, milk, water etc and maybe a "indrustrial" version for non food items like dyes and and such?
Hey SeveredSkullz, thanks for the reply. Maybe add a new type of stall with those features so people can just use that basic one if they prefer? Yes, I know mark-up's only take a few second, but that adds up to hours given the size of the NPC town I am building. For survival players it would still be a nice feature though. I understand what you're saying though, but if you have time and feel inspired to do it, it would be greatly appreciated.
It could be a bit easier is % changes in prices were callculated after each sale.
CaptainJake - While I like both of the ideas, implementing them would be not only extremely impractical, but it would convolute the GUI to the point where it is no longer simple to understand at a glance. There are also a number of extreme edge cases here with the "automatic" portion.
For the Markup, this is already possible to set up manually. Since products are listed by a Slot basis, in order to make this work I would need some way of designating you want this item to be sold at a markup, and then a field for the amount and whether or not its a positive or negative markup (Mark-Down). I would also need to figure out where to store the marked up item - so then Id have to go through and check whether or not we have an empty slot on the stall, but what happens if we don't have a slot available? Next comes the matter of updating prices - you say you want this to happen automatically, so what happens if the price changes, or even the product itself? Id have to keep track of all of this somewhere, store it on the entity, and then go through and make sure to update it every time you change the product. Lastly, what happens when you no longer want to buy/sell at a markup/markdown? Should the other item be removed? What happens when the user tries to change the product on that automatic markup/markdown? My assumption would be that I would need to go through and check the slot to make sure if its an automatic one, and then find the source slot that generated that automatic markup and set it so that it no longer will automatically marks up the item and then finally allow the change.
For the Supply/Demand, I do quite like this idea, but it suffers from the same general issues as the Markup suggestion - How would I go through and update the prices for each one in? My algorithm for updating the price based on how much is sold might not be what everyone wants, so id have to introduce some way for the user to control that. This algorithm would also have to take (atleast optionally) time into account - for example having a base price of 5 gears, but adjust for supply and demand for sales in the past year. In that sense, if someone made bulk purchases 2 years ago, it doesnt make sense to have a permanant effect on the sale price, and that price should have rebounded back to its original base. How often to update this price is also another question - should it be on a per-item basis, per-sale basis, per-day basis, etc? This could introduce issues when applied on a per-item basis... For example, if we say that 5 rusty gears should increase 1 gear per item sold, and the user shift+sneak clicks to buy 5 items in bulk at once, the price would have been 5 rusty gears for all 5 items in bulk. With the new system, it would be 5 for the first, +1 = 6 for the second, 7 for the third, etc. resulting in a purchase that would have originally been 25 Gears is now 35 Gears. In situations like this I would need to represent the price accordingly on the tooltips, interaction help, etc. This is not only difficult because it means more to store to figure out, but also means that I have to actually calculate the final price each time by going through the player to see if they have enough for the full 5 item bulk purchase when I run my logic to adjust the number of items sold just to even get an accurate price estimate.
All in all, great suggestions, but highly impractical to actually implement as it not only would severely clutter the GUI with the sheer amount of info I would need to get this working but also the fact that both of these things can be done by the player manually. Markups would take a second or two at most to update the currency slot, and the Supply/Demand could be done via referencing the Ledger to see how much was actually bought/sold.
Hey, I have some feature requests for my server please that I think other people will like too -
Mark-up - Please add the option for a shop to bother buy and sell a product, with the possibility to add a mark-up to the price when selling. So I can list an item to buy for 4 gears, and sell at a 25% mark-up at 5 gears automatically. Just rounding up to the nearest amount would work fine for me, though I guess some people that use coinage might wnt fractional prices.
Stonks! (Supply and demand) - The buy and sell prices change according to how much is bought and sold at the shop. Options to set how much % each sale changes the price would be good, and to set a minimum and maxium price cap if desired.
ScorchedAce - Sorry for the delayed response. The past week has been hectic. I would love to add support for other mods, but unfortunately I don't think it is programatically possible. I tried something similar with Sonz-Ina's Food Shelves a long while back but we both came to the conclusion it isn't possible as an optional dependency and would have to be a hardcoded one. The only feasible option would have been Entity Behaviours, but there is so much custom logic for the item displays, interaction boxes, GUI's, and the entire internal database systems that Vinconomy runs off of to be handled in these behaviours alone. As Vinconomy is reaching its "bloat" phase and I am starting to modularize the code base even further to allow more smaller specialized mods without requiring Vinconomy as a dependency it might be an option in the future - but right now I fear this feat is impossible with the current systems.
Is there a way for this mod to talk to other mods like purposefulstorage? I really like their tuning cylinder rack and was hoping there was a way to turn those storages into shops but from what I can tell, only shop blocks can be shops, and theres no way to turn other storages into shops.
SeveredSkullz
Sounds good. Interestingly, I am still able to use the register as normal. Only the owner command wasnt working. The issue a player reported where they couldnt use their own shop was fixed after breaking and placing a new shop in creative. I will try and recreate again and look through the server logs. Ill make a post on Discord after I can get around to testing this. I will update to 5.0.2 and see if its still an issue on that version.
MischievousCloud - Then the Block Entity is probably gone too. Did you see any errors in your logs related to Vinconomy? I find it strange that theres been two cases back to back where this seems to have happened. I made a new world with 4.0 on VS 1.20.12 then upgraded to 5.0.1 on VS 1.21.0 and didnt have any problems. Without any sort of logs its basically a wild goose chase for me, especially since I cant seem to replicate it even with 3 different accounts on a local server being added to whitelists and whatnot (Not that I think that caused it, but tested anyway)
Feel free to post those screenshots on the Vinconomy Discord topic on the VS Discord - Im also able to respond a LOT quicker on there, too.
SeveredSkullz, I just tested. I am on 1.21, with 5.0.1 and I entered the exact coords from standing on top both a stall, and register and it wont work. It says "Please Target a Vinconomy Stall or Register(Entity)". I tried posting my screenshots but the post didnt go through. I even tried 1 Y level up and down.
MischievousCloud - Youre entering the coordinates displayed exactly as you see on your screen? Its working flawlessly on my end for stalls and registers. The Block Entity has to actually exist for it to work. In Benchaak's case, the BE got removed, so the command has no BE to actually set the owner to. If you dont see "?" Blocks like they did, it should be working for you.
Also you will never need to whitelist yourself for your own stall - Oversight on my part for even allowing that I guess. Im unable to replicate your issue of being unable to move it as well. Are there any errors in your logs related to Vinconomy?
Command to set owner does not recognize the block even when the block coords are correct. Also Players are having issues where after placing the stall, they are unable to move it afterwards, one player even got locked out of his own stall after whitelisting multiple players, including himself.
SeveredSkullz - I ended up just going into creative, since the command also didn't seem to work (didn't recognized the shop register), likely the blocks were completely borken, still loading the models, but were not of the proper class.
Thank you
Benchaak - If youre mostly playing in Singleplayer, it would probably be easier to just hop into Creative real quick and break the blocks and replace them with new items. If they are turning into the white "?" blocks, that likely means the associated block entities got removed somehow. From what youve told me so far, its sounds eerily similar to another instance where another mod caused Vintage Story's "Start" logic to error out from another mod and prevented all the other mods from loading, which then in turn caused Vinconomy's block registration logic from running to initialize the block classes - In their case, it was some sort of trashcan mod that allowed them to dump items in a void slot. If you already saved the world, it likely is too late without a backup as the underlying Block Entities that make the registers, stalls, and tellers work got removed.
If you still want to try to recover them, there is a command to set the owner for a given block, but it will be more tedius than simply breaking it and placing down a new one: /vincon setowner [Your Name] [x] [y] [z]
SeveredSkullz - I unfortunatelly didn't pay much attention to Vinconomy, since I hade issues with some other mods. It is also quite likely that Vinconomy's issue has been caused by another mod. I play in singleplayer, so I just use the mod for decorations (mostly) so the inventories contents are not that importaint to me. As for the material change, I had updated the mod, when I notices, that all the items of the mod turned into "?"-Blocks. I had an issue with Vanilly Variants, that those items have turned into "?"-Blocks as well, that I could not fix, thus I had noticed it propably too late, that there was something wrong with Vinconomy. The amount of stuff that broke in my world, when updateting to 1.21, I hadn't noticed.
My priority is on getting the stuff removed and replaced with ones of the materials I had originally, since it is only for looks. I will test out things with some cheap items, that I don't mind loosing, befor putting stuff back into the stores. So making myself the owner again shold surfice for now.
Benchaak - That does indeed sound like something got corrupted. Did you see any errors in the logs when the server started? There is a command to set the owner, but I feel like thats just a bandaid to a deeper issue. The upgrade should not have caused any of the materials to change, nor clear out their inventories.
Hi, if possible, I need a bit of assistance with the mod.
I updated from 4.0.0 to 5.0.1 and something must have gone wrong. All the cashregisters and tillers changed materials, and all stalls are now empty. In addition, and my most major issue: Ownership of everything has changed, and I cannot acces any of the stuff.
Is tehre any way to change ownership, without being able to access the UI of the shops?
Interesting, I will see if I can replicate it, it was another player buying from my stall with the 100% off coupon when he crashed, not sure if it was something with another mod? I use Xskills and the pickaxe he was buying had a quality level... could be anything honestly, so much to consider. I assumed it might have to do with being 100% but I haven't even bothered to look at the logs yet, i'll see what I can find.
Stoon - The description was indeed backwards for the Bonus Type. Not sure how I missed that. Im unable to replicate the crashing when using coupons though. It would help if youre able to send me the crash log. Im not sure if it had to do with the 100% Off coupon you made, but its working fine on my end. I tried with both 100% off, and 100% Bonus product
Origin_Alpha_43 - The only time someone would realistically buy from their own stall is if it is an admin shop. The other 99% of interactions with a stall is going to be the Owner trying to restock the stalls, changing prices, etc. It really doesnt make sense to have the primary interaction be something that only a small handful of players will need, sorry. You have the force customer command as a solution to force yourself to be the customer if you really need it, or are buying from your stalls extremely often for some reason.
Coupon descriptions are backwards, additionally I made a "100% off price" coupon not only displayed "100% extra product" but it crashed his client when using it and deleted the item he was buying from my shop tool rack. Just a heads up! Haven't gotten a coupon to work at all yet. :(
i wasnt talking about adding any keybinds
what i was saying is that it would be fun for the owner to see the buyers gui 1st
then instead of shift click to exchange (owner interacting with its own stall)
it would open the owner gui by shift clicking
Not asking to add any more keybinds
i'm an admin who wants to also be able to use the stalls like i was not the one that placed them
last note. i'm not using 1.21 yet as i'm waiting on the majority of mods to update my server
only thing i could try (once again even tho last time it totally didnt work) is to setowner to a fictional account
Ru.json 1.21.0 in vinconomy_5.0.0
https://github.com/rds666rds/Vintage-Story-1.20.7/releases/tag/vinconomy_5.0.0-1.21.1-rc-1
Origin_Alpha_43 - All stalls can be made admin shops, and they all utilize the same code/logic to do so. Not sure what you mean as this has been the case since the initial release of Vinconomy on Day 1.
Also in regards to you losing items - with the sheer number of checks and redundencies in the code, I doubt it. Whats likely happening is youre buying the last item in the stall and one of those items is getting inserted into that slot. Since the interaction to buy and insert an item into the stall are exactly the same, its possible to buy the last item, then the stall becomes empty, and then that item is inserted into the stall to take its place. There is no logical distinction between You buying from your own stall, and You buying from someone elses - the code it runs through is exactly the same. If this was the case and items were going missing, youd be experiancing this behaviour on all stalls, not just your own. Check your stalls for your missing items first, and if you dont see them and can assert that there is indeed an issue, send me the steps to reproduce the problem and I can take a look.
As for the controls themselves, sadly we're out of luck - the only two modifiers you can use while interacting with a block is Sneak and Sprint, both of which are already being used in every combination. I simply do not have any more available keybinds to cater to everyone. With 5.0 though, there was a new debug command I introduced to help me test everything before release - run ".vincon forcecustomer true" and all your interactions will function as if you were not the owner. Then set it to False again when you are done.
i'd like to suggest an option when we set a shop mat as admin
cause i like to set server shops for my players, while also being able to use them myself
and shift clicking to use those myself is buggs a bit, losing 1 item out of the set stack amount bought
maybe set it the other way. Shift clicking to access the setup gui. always giving normal access on simple click
I've given the Mod page a bit of a makeover and brought the descriptions up to date with the current version. I've also updated some of the screenshots to show some of the newer stall types. Let me know what you think, or if anything is still unclear!
What an update... you made capitalism great again !
Love the mod!! Looking forward to the update :) Keep up the good work SeveredSkullz
I don't even remotely understand the kneejerkish "doomsaying" as I literally just told you I am in the process of updating it, but you do whatever you feel is neccesary - find an alternative then.
Unfortunate, my own game is AGPL and solves all of those issues, while attracting multiple contributors to help carry the load. Its a shame that this mod may fall to bit rot then, we may have to look for an alternative
Checkraze - That is exactly why the source is not available. I've been down this road before in many other games I've modded before, and unfortunately that experiance has been soured more times than I can count. I do not want to have to track down numerous people updating my mod (without permission, mind you, as this is not open source / under MIT license) and ask them to remove the reupload simply because they refuse to be patient and wait. Nor do I want to have to deal with others reuploading the mod and introducing new bugs, and then me wasting my time trying to replicate issues that are not present in the official version because they are using the third-party version. Rest assured though, if I ever do wind up abandoning the mod it will it go open source for others to maintain it.
As for 1.21, I am working on it and it should be out within the next day or two - The "Updates" youre seeing on the ModDB is from me bringing the description, changelog, files, etc. up to date with the currently supported versions.
The mod is stating its updating, but the most recent version is still from february and is not compatible with the updated stable vintage story. Is there something missing? Or is there any plans to update this mod any time soon? Its unfortunate that the source isnt available, else I would offer to help update or, alternatively, fork and provide an alternative update while we await the mod author's official update.
Oh my goodness, SeveredSkullz, I am so impressed, and so fast! I can't wait to see the 1.21 release :D
Dae_Blackheart What do you mean? What doesnt show up in the creative menu?
whyy dont these apear in the creative menu?
It could have been that simple, yes... But I tend to always go above and beyond.
AlderonTyran SeveredSkullz I think to clarify your "buying items" question, is you're asking for an option to swap the display item on the shelf from the product to the price, as if you're buying a few different items, like ores, you end up with a shop stall that just shows rusty gears, or whatever your currency is. I would hope that's as simple as a little boolean in the menu. Thanks for the mod, one of my very favourites
FrantaVagabund - Arrows can be sold on Tool Racks or Weapon Racks
Would it be possible to make it so we can sell arrows aswell? Other than that, this mod is great
AlderonTyran You can do that, just swap the items in the stall
I run a large store on a very populated server and I'm constantly having to log in and 'clear out the register' from people using coins and buying and selling goods. Is there any way to link multiple registers together or craft a register with a much larger storage capacity? Maybe even link a register to multiple crates so same item can be stored in a crate in a warehouse? I'm hopeful we can get an additional function like 'shop crates' that can be stored in a warehouse that the registers can push/pull from
Very often the register is just 'full' and people can not interact to exchange coins or goods. I can't be logged in 24/7 :D
If I might make a feature request, it would be wonderful if we could have a stall for buying from customers. That is, other players could come to our stall, and sell their goods to us. it'd take currency from the register and give it in return for the item which would go to the shop's inventory. Since this is simply the reverse of the primary selling mechanic, I hope it wouldn't be too much to ask for?
Thank you so much for creating such a mod.
I really, really like your mod. It's a must on any economy server, even a role-play server. But I am wondering if you could consider making a checkbox to invert the display item on the case, from selling items to buying items (the price). This is because sometimes a shop (admin shop, for example) is trying to give currency (coins) in exchange for some goods. In such a case, it's much easier for players to see the asking items than what they are buying.
Amazing mod- Spectacular- Truly cannot play public without it. I have an idea that comes from a place of love.
Because I Love the gacha balls. Not to use for their intended purpose- I dont gamble- but to use to carry excessively large amounts of items out of the mines by carrying a ball loader and a stack of empty balls down there with me and stacking metadata so every ball stacks into a couple neat slots. Real life months worth of materials in a single trip.
But its occured to me this isn't exactly balanced. I feel bad gaming the inventory system, but I'd feel worse not doing it knowing other people are. That's game theory for you.
A fix I considered is making the Ball-Loader a machine powered by rotational energy. The need to affix the machine to a functioning windmill in order to pack items would not hinder any of the intended functionality of the Gacha system, would flesh well with existing progression stages, would keep people from packing anything they want wherever they want to harvest mass amounts of resources in a single trip, but would still allow for planned use of the gacha balls to pack and transport sets of items from a base location, such as for travelling merchantry (which I do a lot of in a very busy server)
Love the gacha balls, just the one tweak would fix the overpoweredness while preserving their weird awesomeness.
Como lhe envio arquivos de traduação da minha língua nativa? Seu link Discord não funciona.
Can you made config option to allow breaking cash registers for all players please?
Please update to 1.21.0-pre.1. Crashes in the new version.
SeveredSkullz - Went ahead and did a bit more testing, seems it actually may just be an issue specifically with the individual armor pieces, I had tried to put a chain shirt on it but because it wasn't the full chain body armor it didn't work.
Viktoria - I dont use the mod, but unless Maltiez did something excessively strange with the way they wrote the mod, it should work out of the box. It goes off of which slots the item is equipped from - namely EnumCharacterDressType which is the same way it works in the vanilla game. Will try and take a look at it sometime this week.
Was curious if there are any plans for Armory support? As far as I could tell any armor from it couldn't be sold through the clothing stand. (Also not as big of a deal but belts on clothing stands appear to be reversed atm?)
Not at the moment. Its on the To-do list though, as its been requested by a number of people
can i share my shop with other people? like give them permisons to look in my registers and restock stuff?
Tankwv - Unfortunately there is not. What you can do though is get a MySQL Browser like "DB Browser of SQLite" ( https://sqlitebrowser.org/ ) and use that to open the vinconomy.db file in your moddata folder for your save. From there, you can remove the shop from the shops table.
hey quick question i had to do a server restart to a point before i made my shop and it still says its there without me setting it up is there a command i can use to remove it or like to wipe shop data
any help would be appreciated
Please add the ability to add currency as the product. The reason is I'm running a tavern on our server and I want to set a deposit on bottles and bowls, selling for example wine bottles at a high price and buying back the empty bottle at a lower price. This change would also enable people to sell other things of course to player shops.
Or is there already a way to do this I'm not aware of?
edit: ok turns out I'm dumb, was trying to click the currency into the product slot, have to put the currency into the inventory. Please ignore my comment.
Good to hear SeveredSkullz!
Glad to hear you got it working, and that it wasnt anything serious. On a side note, after an agonizing month and a half we finally have the plumbing system repaired - atleast temporarily while we continue to fight with our insurance company refusing to cover it even though the policy states it should. Should hopefully have a bit more time now to continue working on the Single Player / Cross server trading update.
SeveredSkullz... oops, I may have possibly done effectively that! When I was testing 1.20.6 in singleplayer, I used a separate install and may have missed copying over my server's ModData folder (where vinconomy.db is). Sorry to waste your time trying to replicate my silly mistake!
It seems to be working fine for us now in 1.20.7, and has become a central gameplay element for our group, so thank you!
nah we haven't had that issue anymore. it was on the testing server where we had that issue so we just ported the .db file over and it was fine
Nebual - I have tried testing on every version since 1.20.4 and I could not replicate the problem. I did recieve a similar stack trace from GlooMeGlo over Discord DM's back on the 22nd - a day just before your comment - and the root cause was that one of their admins had accidentally deleted the entire database file associated with Vinconomy. I am not sure if you happen to play on their "Echo's of the Old Order" server, or somehow made the same mistake they did, but I cannot get this error to naturally occur on any 1.20.4+ version of Vintage Story. I have already made some attempts to mitigate this in the future though.
I wasn't able to reproduce the crash that Nebual described when I was running 1.20.7. Maybe an issue specifically with 1.20.6, or just unlucky.
I tried loading this on v1.20.6, and opening my Shop Register crashed me - my client-crash.log shows:
System.NullReferenceException: Object reference not set to an instance of an object.
at Viconomy.GUI.GuiViconRegister..ctor(ShopRegistration shopRegistration, InventoryBase Inventory, BlockPos BlockEntityPosition, ICoreClientAPI capi)
at Viconomy.BlockEntities.BEVinconRegister.OpenShopGui(Byte[] data)
at Viconomy.BlockEntities.BEVinconRegister.OnReceivedServerPacket(Int32 packetid, Byte[] data)
Has been working great in v1.20.4 so we'll stick with that for now!
Also, the Gatcha Balls (which are hilarious!) seem to rot their contents quickly - its not seeming to respect the Food Decay config. We were hoping to use them to mass sell Pies, since the Pies are frequently different ingredients that don't otherwise stack in one shelf slot nicely.
got a problem selling leather backpacks on our server when I looked up in the shop ledger it showed like this:
[character name]
There was a problem loading - Please forward this to the developer, so he ca fix it:
Unexpected character encountered while parsing value: }. Path 'backpack.slots.slot-5', line 1, position 98.
Wait, interaction slots? I've just been interacting with the base...
Sorry for the delay in response. Currently dealing with a burst sewage line under the house and thats been taking priority over everything else right now
Thranos - Technically speaking, yes. However each "slot" needs an interaction bounding box. I am already overlapping many of these, and adding any more would mean either really tiny interaction boxes that you would have to know exactly where to look to get that slot. I dont currently have another solution in mind for this, and instead just opted for having a few slots share layers. Given that those shared layers often entirely hide/cover up the lower layers, I did not feel this was a big issue.
ToxicCrayon - I do not have any plans for this.
Ashalyne - I will try to take a look at this at some point in the future
tRead - Have already done so on my end. Will be back in the next release. Given my current predicament, I do not have an ETA on when that will be as I am still wrapping up the cross-server trading.
several players on my server have specifically asked for the helmet stand, NOT wanting the full clothing stand in those places/uses. Would it be feasible to make the helmet stand a config option, or simply re-enable the recipes? SeveredSkullz
This mod has soft incompatibility with vanilla variants. only oak chests are usable for crafting shops.
Any chance or plans of creating a seperate mod for just the clothing stands themselves? Wanting to display the clothing outfits with the 1.20.4+ update and nothing is available/up to date as of yet.
I've noticed an issue with clothing stands- they only have nine layers, whereas players have twelve. This means that you cannot display a full set in many cases. It looks like the collar, inner (or outer?) torso slot, and... I think accessory (IE pins) slot are missing. Could this be fixed?
BabtistaAlberti - Whatever you want it to be.
what is the currency used in the shops?
rayray That feature has existed since the first version. Top center of your screen in the info text.
Can you add where it shows prices of goods being sold
The clothing stands are broken up into layers - as long as the two pieces of clothing both have different layers, then yes
Is it possible to display a shirt and coat on a shop clothing stand?
Ya this works fine on 1.20. We run it on our server with multiple player shops.
There are no issues with 1.20.X as far as I am aware
is this now safe for 1.20.1/3?
SeveredSkullz sure I suppose
Patahto - My code is not open source, nor is it permissible through any sort of license, so no. I would rather you simply contact me so I can fix it here and distribute that fix to everyone rather than just for you and your server.
When placing a 3x3x[height] sculpture from a bundle, the front and rear faces of the sculpture are swapped. I wrote a really dodgy patch that works for sculptures that have an equal width and depth, would it be okay to post a fork to use on a server with some friends? We do like our chiselling :)
Just noticed, that shop registers cannot be made with silver plates. Is this intentional?
can't put CANJewelry things in the shop
Any word on when this will update to latest release?
is there a way to configure the mod so it doesn't shrink items? letting us display them the size they would be placed on the ground pretty much
just wanted to say how much I love this mod! I love how physical it is vs some UI based coin system
Khana - Sneak + Right Click purchases items from your own shop. Make sure you have the currency in your hand.
forgive me if its already been answered. i have a small personal server where iv made most cattle n livestock not spawn wild so i can sell them in a shop, but since its jst me n my bf playin i cant use me own shop like it was jst a normal shop. is there a way to set it so i am able to shop from the shop liek a normal player? its set to admin shop, i jst cant use it.
SniperGecko - As I noted in the changelog notes, I do not support RC releases, as things tend to break each update and need to be fixed. I only published that due to a high number of DMs I recieved asking for it - I never intended to update it until the final 1.20 version. That said, this seems related to the Texture Atlas bug that RC 6 fixed this morning (Exactly why I dont do RCs). Vinconomy doesnt draw any pixels to the map, and only draws the SVG Waypoint icons, so the stack trace seems a bit odd. I will keep an eye out for this and will try to replicate it before I update when 1.20 final comes out.
Got a random crash after placing a default lantern on the ground; potentially related to walking interaction between Traders and Vinconomy objects. I think this is the relevant bit, saved rest of log in case as well.
12/23/2024 8:54:05 PM: Critical error occurred in the following mod: vinconomy@0.4.0-rc.4
[...]
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.Client.NoObf.TextureAtlasManager.LoadBitmap(ClientMain game, AssetLocationAndSource textureLoc) in VintagestoryLib\Client\Render\Atlas\TextureAtlasManager.cs:line 834
at Vintagestory.Client.NoObf.TextureAtlasManager.LoadBitmapPixels(ClientMain game, AssetLocationAndSource source, Int32 rot, Int32 alpha, Dictionary`2 cache, Int32& readWidth, Int32& readHeight) in VintagestoryLib\Client\Render\Atlas\TextureAtlasManager.cs:line 785
I like the gacha stand very much. We're using it currently as slot machine for snacks.
There is just one issue with it... Or two.
First, it seems like the gacha ball content does not apply the "StallPerishRate" from the config.
And second; Is there a way to see if food within a gatcha ball is rotten? Like... Before you buy it?
Ket Do you have any errors in your logs? There was a previous issue with the Russian translation I posted about right before yours that I just fixed, but it was 3, 4 and not 2,3... There is also a known issue with some people using a mod to add item descriptions and change the names that can trigger a bug within Vintage Story itself when you add quotation marks to it.
Spanish localization: es-es.json
Is the Ledger supposed to have information in it beyond {0}x {1} sold for {2}x {3}? Like, item names or anything? Because I am not sure how it is meant to be interpreted otherwise?
I fixed that previously, but seems I forgot to fix that same entry in the russian lang file. Will get to it after work today.
Should read "{0}x {1} sold for {2}x {3}"
Hi! Awesome mod! I'm a bit dumb to understand the shop ledger entry. Could you please explain its purpose or maybe I set it up wrong, I am not so sure. What I see is something like this:
<player_name>:
{0}x{1} sold for {3}x{4}
And they keep repeating, same entry just different player names, for all months. It's not possible since I know I sell different stuff in my shop.
DilanRona - It works fine. Check your logs to see if you have a mod conflict preventing Vinconomy from starting up as that would be the only thing that could be causing issues.
Viconomy version 0.3.4 doesnt seem to work on Vintage Story 1.19.8. Cannot craft any of the viconomy items, Does not show existing blocks placed (only shows ? blocks). Wanted to recreate them but nothing is even listed in creative.
Tried downgrading to 0.3.2, same problem. Had to downgrade back down to 0.2.5 for the mod to start working properly again. Will upgrade again as soon as the 0.3.x series is working properly.
https://github.com/AImli-oi/Vintage-Story-MOD-Chinese-localization/blob/main/vinconomy_0.3.4
https://github.com/AImli-oi/Vintage-Story-MOD-Chinese-localization/blob/main/vinconomy_0.3.3
Chinese localization
Hi! I'm getting an error on my server when I try to interact with anything inside of the UI for the Shop Sculpture Stall. I'm using version 0.3.3 on game version 1.19.8
These are both errors, when trying to set shop ownership, and when trying to put an item inside: https://pastebin.com/sTZKkq2n
Also, when a customer tried to interact with the Shop Sculpture Stall, they'd see the owner's menu, and get kicked out of the server when trying to interact with anything, getting an error that says "Nice try, but that wasn't yours."
Thank you for any help you could provide. Also, thank you so much for this mod, it's now an essential part of our experience with the game. :D
Aimli - Ah. Forgot about the BlockEntities passing in the dialog titles. Will get those tonight for you.
Aimli - Swapped everything over to pull from the Lang files. If you wind up translating the keys, feel free to send me the JSON file and Ill get added to the mod
ok, no problem, just was weird seeing it is all.
still a great mod!
SoulReaperz - A debug message I clearly forgot to remove. Can ignore it for now. Its related to the new Discord integration I added in 3.2
SeveredSkullz
not sure whats going on but never had this before
20.9.2024 22:10:47 [Server Event] Offthread save of savegame done.
20.9.2024 22:10:57 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:11:07 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:11:17 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:11:27 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:11:37 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:11:47 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:11:57 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:12:07 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:12:17 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:12:27 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:12:37 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
i just updated to the latest version and now the server console is getting filled up with this message
the console never had this pop in before this update
Aimli - Gotcha! Will see what I can do for ya to get that into a language file. My only concern is since most of vintage story's GUI doesnt really support reactive components, I can't guarantee that the text will fit nicely in all the labels.
我必须花很多时间在源代码中寻找文本并翻译它,如果你能将它们链接到 lang 就好了!
这样即使你更新了 Mod,它也不会使我的翻译无效!
I mean, there's a lot of UI text in your mod that is untranslatable in lang
yeah it was 3.0. I installed the newest version now
Aimli - I only speak English. If you would like to contribute to any translations, by all means send them my way and I will get them implemented.
Please do a good i18n, thanks!
Origin_Alpha_43 - Not sure if you are on 2.8, or 3.0+ yet, but I can confirm there was a problem in 3.0 due to the new changes. Should be fixed in the update I just pushed moments ago.
/setowner doesn't seem to work
Been trying everything. increase/lower every XYZ coordinates, the blocks just dont seem to be recognized by the command.
is there something i'm missing?
Aimli - It isnt turned on, as it is always enabled by default. Each stall/register gets its owner from whomever first placed it down. Only the owner can add/take items from it, or break the block. This means that even in unclaimed land, other players will not be able to steal items from your stalls or registers. Additionally, if your shop *is* in a land claimed area, it gives permission for other players to use it without having to give "Use" permissions for the claim to the whole server in order to make any sales.
Very good mod
But “Protection System - Protect your goods without taking up land around your store. Built in!” How is it turned on?
xXx_Ape_xXx - I removed the crafting recipe ages ago in favor of the clothing stalls, which support Helmets and other wearables. Kept it in for backwards compatability reasons. Never really saw a reason to bring them back.
Also apologies for the long delay. I have been away for a while.
How do you create the helmet stands? There's no recipe for them as far as I can see, can't find anything in the handbook either 😬
Teewi
do you have the register filled with items?
if you do when players are trying to buy from a stall, the money has nowhere to go and thus they cant buy
if you are tryin to make the shop an admin shop, you do not need to link the stalls to the register, as an admin shop, with no register selected, the money yeets itself gone
if you link a register as an admin shop, then the money goes into the register again and will need to be cleaned out regularly
SeveredSkullz
its the Deco storage chests from qpchisel the deco storage vessel, deco chest, deco chest high capacity
that are invisible in the shop stalls
they still are sellable but just invisible
they were visible before the update, its just a minor bug not a big issue
helmet stands still dont appear to have a crafting recipe, not a huge issue, im just providing the copper versions to the players in my world for the time being so they can at least play around with them lol
Ive fixed the Tool Racks, but I am unable to replicate the problem with the Storage Vessles - and in fact that was one of the very things that this patch fixed. Before, they all rendered the "Cracked" variant and didnt display the right version.
Working on fixing the Sculpture Pad GUI issue you mentioned last night as we speak.
[img]https://i.imgur.com/xFuBqiK.png[/img]
SeveredSkullz
ok first thing in this update, not a big issue just a image bug i guess
tool racks for the shop arnt reskining to the correct wood textures they are remaining default brown
ill edit this for any other things i find as i transfer from old to new\
storage vessals in the shop crate does not appear in the slots visually on the ground(more specifically the decorative storage vessal, chest, chest high capacity) dont know about the others at this moment
when world editing and exporting a shop then importing it back in
the shop shelf, helmet stand, register, weapon rack comes in as ? skins and without their items on them
the mats and double mats and crates work fine(everything came in as was with their skins and items and prices), the clothing stand and tool racks came in but i didnt have anything in them
this is the new blocks placed then copied and pasted in another location
on the shop mats at the very least just found out the 5x buy option, the shift crouch, doesnt seem to work
SoulReaperz - It blows my mind that that issue has been present for about 7 months according to Git, and I am just now getting a report about it. Needless to say you should not be getting the *Owner*'s menu when you dont own said stall. The Anti-cheat is firing off because they are attempting to modify stuff in the menu, take out items, etc. - and rightfully so. Ive been doing bug fixes all day and its now past midnight. Dont have any more time for now to address the problem, but I should have a fix in soon.
SeveredSkullz
Im going to say keep up the good work on this mod
its been great for my server so far, just a few minor bug/issues as youve already seen me post and have replied to
we'll see what all this update holds for us tomorrow when i apply the update to my server!!!
again Keep up the good work!!!
SeveredSkullz
The Sculpture Stall while on server in multiplayer
for me as the owner of the server it works perfectly fine 100% of the time
but for the clients, players of the server that arnt the owner
they crash 100% of the time when trying to use the stall or crouch buy the chiseled item from the stall
even when the stall is empty with nothing in it they still crash when interacting with it
there hasnt been any actual crash logs generated that i know of, but it just completely closes their game
ok i found this in the logs on the stall
21.7.2024 03:36:33 [Audit] Client (playername) got removed: 'Nice try, but that wasn't yours. (Tried to access Stall they didn't own)' ()
so far thats the only thing we came across thats removing clients
also the Shop Helmet Stand doesnt have any crafting recipes for any of its varients
an update came out shortly after i posted this
will test the new update tomorrow to find anything new and to see if this is still an issue
I have a problem with the Gacha Ball Loader - once placed, it can't be broken. I get a chat message "You do not own this.", but am still able to open the machine's operation window.
EDIT: This applies only to the Gacha Loader. The Gacha Stall can be broken normally.
Can you let me know what error message they recieve? What items are you trying to sell, what currency are you using, etc.? Can only speculate, otherwise.
Heya!
I've set up a shop and a register but others are unable to purchase from my shop despite me ticking all the right boxes and adding the currency, etc. The stalls are linked to the register and visa versa. Have you encountered this before? Is there a fix? C:
SoulReaperz - Apologies, Had typed out a response earlier today but then got pulled into a discord call with GreenM4N4 and lost the text here, then forgot.
There are a few ways you can handle this. First is to simply fill up the slots accordingly - If you want Common, Uncommon, and Rare, you can fill 3 slots with "Common" gacha balls, 2 with "Uncommon" and 1 with "Rare. That should give you a 50% / 32% / 16% split. The trick here is that you dont need to have the all of one type in 1 slot. For instance I could put all "Commons" in every slot but 1, which would give me a 88% / 11% split.
If this is not granular enough, you can tick the "Use Total Count Randomizer" checkbox and it will instead go from Slot-based chances to Item-Count-based chances. Meaning if you wanted to have a 1% chance in winning an item, you need to have a 99:1 ratio of items. The only downside to this implementation is that the winnings percentage is going to change based on the amount of items that exist in the stall - so if a player purchased 50 of them, its now a 49:1 ratio, leaving the chance of winning that 1 rare item at 2% instead of 1%. Statistically speaking, this follows the rules of probability and I made a compromise here instead of explicitly being able to set the winning rate.
The original use case for this was from a player simply wanted a gumball-like machine where they could sell candy and wanted a basic way to get a randomized output. I took the liberty of expanding this and turned it into the Gacha stall simply because it was "close enough" of an implementation to give you guys a bit more freedom and creative liberty. The end goal isnt to give you guys tools to implement outright gambling on servers, nor do I want Vinconomy to become a means of selling "loot boxes" or other pay-to-win mechanisms on multiplayer servers. Im therefore hesitant to implement that level of control because thats not the underlying intent of this stall type.
@SeveredSkullz
speaking of Gacha
would be nice to be able to have adjustments on each slots percentage chance so we could actually make true common, uncommon, rare, and very rare Gacha chances when playing the Gacha machine
kinda sucks right now when you fill all the slots and its is equally divided up into 11% each instead of being able to adjust each slots percentage chances to make some items more common when playing and some more rare
It is not possible currently with crates, BUT you can abuse use the Gacha Balls to accomplish the same task
Also i thought about a suggestion, in our server sometimes players need a lot of recources, like sticks or grass, clay, etc.. So what if we had a stall for crates? Like i fill a crate with a few thousand sticks and could sell the whole crate? I dont know if thats possible, but would be hell of a cool functionality, or selling barrels of wine or beer :)) P.S. we can move crates with carry on functionality, i think its a mod, so i dint know if its even a possibility to add to the mod. Just a suggestion to consider :))
If you can send them to me in the Discord Thread I can take a look
Hey, I am a Mod on Sanctuary where EphKa's error is happening.
We have tried replacing registers and it looks like it is just creating a new shop ID everytime. Its almost like when the server restarts it is losing the mapping from register to shop ID. I can provide the DB and logs.
I assume you are on the most recent version given you saw my error message. Have your players made a new register, or are they just breaking and replacing the same register prior to the June 6th fix? If they made a new one and its still erroring out like that, I would certainly like to take a closer look at it via the logs and DB. If its the latter and they are re-using the same stall, then replacing it with a newly crafted Register should fix the issue. They store a bunch of IDs internally which are persisted each time you break/place them, and once that ID is used it is going to continue to bug out. The only way to fix it at that point is to craft a new Register and throw the old one away.
You see, one of the players has the shop register inside the shop, like 5 blocks away, and the disconnection between shops and stalls happen after server restart, i think thats the problem.
EphKa That is the INTENDED implementation in that it will only sell you things if the item matches exactly. And you're likely right in that it worked previously - I had to flip it because people were trying to Buy food from other players by setting the currency to the item they wish to buy and "sell" the rusty gears as compensation. Problem was then that it was too strict for food since the attributes change the second you harvest it and the "freshness" varibles would never be identical. Now that I've flipped the logic and told it to ignore the Source, its now too lax on things I actually want it to check. I cant tell you how many times this particular check has bit me trying to rely on the game's code to check these things. I'll have to write my own custom implementation to solve this problem, it seems.
Side note: "we are resseting our shops on every server restart because of unloaded chunk bug"
The solution here is just dont put your Registers 100+ blocks away from the shops. As long as they are nearby, this issue shouldnt occur.
Yes, maybe it was even tested on vinconomy now that i think about it and it worked previously, my bad, it was not canmarket. Yeah i bought with unsigned parchment some goods where the price is a signed parchment. Is it possible to make the deal only if the price is met exactly how it is? idk if thats possible
tRead - The amount on the right is simply the stock used to fufil purchases. If you are selling 8 peaches, you only need to have atleast 8 of them in any number of slots. You could have 1 Peach in 8 seperate slots, or 32 in a single slot - the arrangement does not mater, only that the total quantity is greater than or equal to the amount you are selling at a time.
EphKa - Just to make sure I am understanding the need / problem correctly: You are using signed parchments as a form of currency. When you put this item in the currency slot, people are able to buy your items with an unsigned / plain parchment?
Hello, we had created a currency in our multiplayer server called Merits, which are parchments. So we had our economy running on canmarket mod, and the mod differentiated between a blank parchment and a signed parchment, but with vinconomy introduced to the server, anyone can counterfeit Merits to buy stuff from our shops, i was wondering if you could add differentiation between a parchment and a signed paper?
Also thank you for your hard work, we are resseting our shops on every server restart because of unloaded chunk bug, but its allright, we will wait for the fix. So thank you for the things you do, you bring us much joy in our roleplay :))
When stocking a shop, I understand that the part on the left is important for quantity: example 2 rusty gears for 8 peaches. But what's the square area on the right for? Simply inventory space for stacks of items to sell? Don't need to separate peaches into stacks of 8?
So, "36 total stacks of goods" is the maximum I can fit at once; then refill when the quantity drops?
*Does it matter how many items are placed in a slot for an Admin shop?*
Btw, I recommend adding a brief description of the Teller comparing with the function of the Register.
SiiMeR - Is this with a brand new register or a bugged out register prior to the fix? I am unable to replicate the problem.
I have a problem on my server that players are somehow able to craft registers that make them crash upon placing them. After logging in again, a server-owned cash register will have been placed, with no possibility of removing it (and you will still have the cash register on hand).
I thought that maybe the version update could fix it, but the error message has changed.
An exception is being thrown on the latest version
Exception: Value must be set.
at Microsoft.Data.Sqlite.SqliteParameter.Bind(sqlite3_stmt stmt)
at Microsoft.Data.Sqlite.SqliteParameterCollection.Bind(sqlite3_stmt stmt)
at Microsoft.Data.Sqlite.SqliteCommand.GetStatements(Stopwatch timer)+MoveNext()
at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteScalar()
at Viconomy.Database.ViconDatabase.AddShop(ShopRegistration shop)
at Viconomy.Registry.ShopRegistry.AddShop(String owner, String ownerName, String name, BlockPos pos)
at Viconomy.ViconomyCoreSystem.AddShop(String owner, String ownerName, String name, BlockPos pos)
at Viconomy.BlockEntities.BEVRegister.UpdateShop(String Owner, String OwnerName, Int32 ID, String Name)
at Viconomy.BlockTypes.BlockVRegister.DoPlaceBlock(IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel, ItemStack byItemStack)
at Vintagestory.GameContent.BlockBehaviorHorizontalOrientable.TryPlaceBlock(IWorldAccessor world, IPlayer byPlayer, ItemStack itemstack, BlockSelection blockSel, EnumHandling& handling, String& failureCode) in VSSurvivalMod\BlockBehavior\BehaviorHorizontalOrientable.cs:line 55
at Vintagestory.API.Common.Block.TryPlaceBlock(IWorldAccessor world, IPlayer byPlayer, ItemStack itemstack, BlockSelection blockSel, String& failureCode) in VintagestoryApi\Common\Collectible\Block\Block.cs:line 836
at Viconomy.BlockTypes.BlockVRegister.TryPlaceBlock(IWorldAccessor world, IPlayer byPlayer, ItemStack itemstack, BlockSelection blockSel, String& failureCode)
at Vintagestory.Server.ServerSystemBlockSimulation.TryModifyBlockInWorld(ServerPlayer player, Packet_ClientBlockPlaceOrBreak cmd) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 575
at Vintagestory.Server.ServerSystemBlockSimulation.HandleBlockPlaceOrBreak(Packet_Client packet, ConnectedClient client) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 346
at Vintagestory.Server.ServerMain.ProcessNetMessage(NetIncomingMessage msg, NetServer mainSocket) in VintagestoryLib\Server\ServerMainNetworking.cs:line 138
On the previous version, the exception was:
Exception: Tried to update a non-existant shop at Viconomy.Registry.ShopRegistry.UpdateShop(Int32 id, String name, BlockPos pos) at Viconomy.ViconomyCoreSystem.UpdateShop(String owner, Int32 iD, String name, BlockPos pos) at Viconomy.BlockEntities.BEVRegister.UpdateShop(String Owner, String OwnerName, Int32 ID, String Name) at Viconomy.BlockTypes.BlockVRegister.DoPlaceBlock(IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel, ItemStack byItemStack) at Vintagestory.GameContent.BlockBehaviorHorizontalOrientable.TryPlaceBlock(IWorldAccessor world, IPlayer byPlayer, ItemStack itemstack, BlockSelection blockSel, EnumHandling& handling, String& failureCode) in VSSurvivalMod\BlockBehavior\BehaviorHorizontalOrientable.cs:line 43 at Vintagestory.API.Common.Block.TryPlaceBlock(IWorldAccessor world, IPlayer byPlayer, ItemStack itemstack, BlockSelection blockSel, String& failureCode) in VintagestoryApi\Common\Collectible\Block\Block.cs:line 836 at Viconomy.BlockTypes.BlockVRegister.TryPlaceBlock(IWorldAccessor world, IPlayer byPlayer, ItemStack itemstack, BlockSelection blockSel, String& failureCode) at Vintagestory.Server.ServerSystemBlockSimulation.TryModifyBlockInWorld(ServerPlayer player, Packet_ClientBlockPlaceOrBreak cmd) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 575 at Vintagestory.Server.ServerSystemBlockSimulation.HandleBlockPlaceOrBreak(Packet_Client packet, ConnectedClient client) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 346 at Vintagestory.Server.ServerMain.ProcessNetMessage(NetIncomingMessage msg, NetServer mainSocket) in VintagestoryLib\Server\ServerMainNetworking.cs:line 138
Suggestion/Request:
Could we get a register that is more designed for buybacks? for example if you setup a shop for buying stone, your reister is going to fill up rather quickly. So maybe a register with a slot for coins/money and a slot for inventory, that coudl also be conected to a hopper? (so coins don't fall out due to the hopper) - to make for larger bulk sales a bit more eaiser?
Following what Mcquiggles said; maybe something like how the current chisled things are sold could work for bundling/mixing sale items; (infact that might be possible now? might need to test that, but the bundles wouldn't be random)
a gumball/slotmachine for random prizes would be a fun idea to include as well.
McSquiggles
I am making a Candy Shop in the Rouge House Server and I'm trying to make "mystery boxes". Which is a random assortment of candies in a wattle basket, bark basket, etc... There's no way as of now to be able to put a basket in a slot to sell (on shelf, crate, etc...) but I am curious if there's possibly a way to do it or make it work? If not it might be a good idea to be able to create "foil bags/baskets". I was thinking if there was a shop barrel, where you could put a few different items in it (9 slots?), but it would give the player a random slot from that barrel for a set price. Where all the random items in that barrel would have the same price. Doesn't have to be a barrel but that's just an example.
I love this amazing mod btw, I've really enjoyed being able to walk around to others shops and buy products! I can't wait to see the next updates and new ideas coming out of this mod.
-Julia
Could we p
ossibly have the ability to craft the shops with plain cloth? I actually like the natural white color over the dyed white.
https://prnt.sc/Q_iMZ0kVE4ix
@SeveredSkullz It is Expanded Foods' syrup covered fruit breads (any it would seem as I had a multitude of different fruit breads with different swirls), they would all become just regular base game breads on the Acacia shelves. I've not tested with other shelves. Thank you for the recent fix with the armour!
Quiche I am unable to replicate the problem with the food. I even tested it with Screwy over in the discord's mod page. Is there a specific type of Cooked food that does not show up? I am able to replicate the problem with the Armor stands and working on a fix.
Strange things happening with new update. Armour helms on the armour stands will show up on the floor and all EF bread becomes a base game flax loaf with no pretty swirls showing. Crocks do show up larger, but cooking pot and bowls do not. Thanks for all your hard work, I did have to do a rollback to the previous 2.5 and things were working peachy again.
guess you got a point. would have prefered the teller machine, but can settle for one of the other stalls
DilanRona - Then dont use the ATM block for that - just use a normal stall and "sell" the currency youre trying to convert. ATMs are exactly what they say on the tin. They convert currency. If I give you a dollar for 4 quarters, I should be able to turn those 4 quarters back into a dollar - they are equivalent.
Screwy - I will try to take a look in the next few days if I get some free time. Will also try to see if I can figure out the expanded food issue too, though I dont use that mod. From what I've been told the food rendering is very complicated and annoying to work with - so no promises Ill be able to fix that in the same timeframe.
Books used to show up on shop mats. At least the unwritten ones, in previous versions of this mod. We just realized on our server, that this isn't the case anymore. I hope you can fix that soon, because we try to establish selling informations about resources, written in books.
I am referring specifically to the Shop Teller Machine. They can go both ways (ie reverse trade). There is currently 6 set up on my server, but I need to have 1 or 2 set up to only go one way. In otherwords I want to disable reverse trade on specific Shop Teller Machines.
All trades are only "One Way" - I dont understand what you mean? You have a Price and a Product. You give the stall the Price, and recieve the Product. You cannot give up the Product and recieve the Price item.
Have a request, is it possible to have the trades go only one way? There are some trades I need to set up for an admin shop but it should only be one way.
I will add it to my "Todo" list Keito
Hello, this is a silly request but would it be possible to increase the size of pottery items on the shelves and mats? Right now, bowls and crocks for example are comically small, but I think they would fit at essentially actual size. "What are these... pottery for ants?"
Some food items from the Expanded Foods mod still don't render in stalls. While trying to reproduce the bug, I recognized that this is only the case, if the items are made in survival. Maybe this is a usefull information. The equivalents that you get from creative mode will work perfectly fine. For testin we used sushi and breaded foods.
The issue should be fixed.
Norbix
SeveredSkullz
I am experiencing the same issue with Sculpture Stalls. Set up a register with a store name saved, currency in register. Placed a Sculpture Stall, attached it to the created store name, placed in items, disabled unused slots, assigned a price. Everytime you go to purchase, "This stall is not registered with a shop yet. Unable to make a purchase." See imgur album for reference imgur.com/a/uZOSyaW
Update: Any attempt to name sculptures within the stall does not work. It doesn't save. Also, the sculpture stalls are remembering every shop I've ever created, instead of what is "active". Every other stall type lists exclusively active shop registers, the sculpture stalls are listing EVERYTHING.
SeveredSkullz
It worked! Thank you!
Hydromancerx - You must have atleast enough for a sale - Setting it as admin only prevents it from removing the stock from the stall. It doesnt disable all the other checks. Since you set the amount to give to 10, but only have 1 in the stall, it fails. Either add more to the stall, or set the amount per sale to 1, then buy a few until you have 10.
SeveredSkullz
So I made Produce crate and set it to
. But when i click to buy it says You purchaced 0x Flax for 0x Rusty Gear. Later i added a cash regester and set the shop up. But still had the same result.
Hydromancerx - it is absolutely possible in Single Player. I cannot assist without further information
Norbix - Any luck reproducing the problem?
Is this just not possible in single player? I tried to set up an admin shop to buy from the infinate goods but it just gave 0 for 0. :(
Hey, we put a stand for the sculpture, set up a 2x2 sculpture and assigned it to a store, and when we try to buy, we get a message that the stand is not assigned to any store. Are we doing something wrong or is it a bug? I will try to reproduce it more precisely
I would like to suggest some sort of whitelist for the config file to let admins specify the items that would count as currency. As of now it's "gear-rusty", in our servers case i would also like to add "gear-rusty-gold" as an possible currency. These are coins (re-skinned rusty gears) that the players can produce themselves.
Kara - theres only so many combinations I can add to a given entity. Shift and Control are the only modifiers allowed, and both are taken. I simply do not have any more combinations available to me in order to do so. You can take control of the shop / stall with the "setowner" command which should be a suitable workaround - and then set the owner back to the original player once you are done.
SeveredSkullz may you please add the ability for admins to open players shops/register? duped items hidden in a register, i had to break it, to get it out.
Bug: ice in a shop, wont render the blocks behind them allowing players to use it as a xray for seeing caves.
Morning Fellas - Just pushed Version 1.9 for VS 1.18.x, and Version 2.3 for VS 1.19.x which should fix the issue.
As a side note, I know some people are still on 1.18 and do not wish to update. However, it is starting to get troublesome to reinstall older versions of the game, blow away my entire solution, rebuild the solution, fix the dependencies so they point to the older version of the game, recompile, and then undo all of that to go back to 1.19. With that said, this is likely my last update for 1.18.x
Hey fellas! Just got back home from the vacation. Stayed a bit longer than we had anticipated. Our son got to go to the beach for the first time and he was loving it so much we decided to stay an extra few days. As soon as we are unpacked and settled in, I will take a look at the issues you guys mentioned. Should have a fix for it within the next few days.
SeveredSkullz
The bug he's talking morlanius
about is in earlier versions of the mod (v0.1.8 too). It's pretty serious.
It's a good thing there are nice testers out there who were able to detect it :3
SeveredSkullz
Bug: Making the quantity a negative number of gears whilst having at least 1 gear in your hand will give you gears as a positive number. The gears are not taken from the register and no items are exachnged, basically a gear dupe. The register is right next to the shop.
Using version 0.2.2 on server version 1.19.3
SeveredSkullz Thats fine, you have a good vacation and try not to stress about a silly game =D. have a lovly vacation =D. ^v^
Kara - I am currently on vacation with my family and dont have access to my PC for a while. When I return I will be happy to take a look into it. The only thing that comes to mind is if the register is in an unloaded chunk when the sale is made. I dont know how far away you are considering "near" in this case, but if we are talking hundreds of blocks that is likely the cause. Currently I dont have any code to try and load the chunks before a sale is made. Vintage Story has a way to Force-load chunks, but no way to *UN*force-load the chunk. It was a problem I have been looking around for a solution for a while to no avail, and as such I did not want to force-load hundreds of chunks for all the registers and stalls, likely reducing performance on all of your servers.
I have been getting reports from my players that the shops have randomly stopped working. us breaking the shop and them placing a new one needs to fix the issue, although i dont have any crash reports or errors to go off of, just reports from players D=. ill report if i get more into from the.
It seems the Registers seem to break when not placed near the shalls selling items.
This make the stalls through errors like they are out of stock or unregistered/not set up correctly
Issue should be fixed now. Added an additional failsafe in order to prevent that from messing up the GUI even if it doesnt get cleared up in the future for whatever reason.
I also fixed the Mod's Game Dependencies, so you shouldnt see that "Failed parsing version string '1.19.0-rc.*'" error anymore on 19.0. Im aware Tyron fixed this bug in 19.1 but oh well :D
WickedSchnitzel / Kara - Will try and take a look at this tonight. Thanks for letting me know. Didnt seem to be an issue in the release candidate version, so Ill look into what changed.
seems to be buggy in 1.19.1. -shop wont get displayed in the drop down menu until you relog. -old shops will display even if the cash registers have been destroyed
Not sure if its a bug or What, but Old "shops" are not being removed from the list. i am also unable to create New shops after pressing save.

WickedSchnitzel - That was the format for the Release Candidates, which is what the current 2.0 version was built for. You can safely ignore this warning - It wont cause any errors.
[Warning] [vinconomy] Dependency 'game': Failed parsing version string '1.19.0-rc.*' at index 10: Unexpected character '*' in PRE_RELEASE identifier (best guess: 1.19.0-rc)
if you ddi add automatic conversion you could also include an ATM already setup to exchange between those rates as well
Alatyr I do not have any plans on adding support for 2 different types of currency, as it does not make any sense to in my opinion. Take the US Dollar - you have whole and partial dollar amounts. If something cost me $1.50, I do not HAVE to have 1 USD and 2 Quarters. I can have 6 Quarters instead, or 15 Dimes. You can set the price to the equivalent of what it would cost in Rusty Gears, and have a Temporal Gear trade in the ATM.
As an example, say I wanted to have a stack of Turnips at 5 Rusty Gears and 1 Temporal Gear. I could have 1 Temporal Gear = 10 Rusty Gears, and thus would set the price at 15 Rusty Gears. Players then could use either 15 Rusty Gears, or trade their Temporal Gear at the ATM for 10 Rusty Gears, and then buy the item.
I have been toying with the idea of being able to automatically exchange currencies - but I am worried about players potentially trading an item they did not intend due to the automatic nature of things. Will need to come up with a solution to that before I actually implement it.
If you can think of a reason that I absolutely must support 2 different types of currencies, please let me know and I will look into it. As the code is written, it would take a significant amount of work to re-write the entire logic for all the stalls in order to be able to support this - almost a complete rewrite. I am not going to be making that effort unless there is an absolute *need* for it.
Is it possible to add the ability to set a price for 2 items? For example, set the price equal to 1 temporal gear and 1 Rusty, for example.
Nice thank you very much I was just waiting for it :-)
I have uploaded the 0.2.0 Release for 1.19-Pre... Keep in mind this new version is NOT COMPATIBLE with older versions of the mod. The save system was migrated over to a new SQLite database and any attempt to use shops registered under the old system WILL NOT WORK.
Hmm my idea was Like having a Register what Have like a tube. Or something simmilar What could go down into a Storage area, I have trouble to always empty the Register out when my Friend sells his stones. But thank you for hearing me out.
TimSithis Im open to ideas, but thats essentially what the Register already does - How would it be any different from a mechanics perspective? The only difference is you have a model that looks like a safe instead of a cash register. I do have plans for a sort of "treasury" when I finally get to the Cities / Claims aspect of things, but that wouldnt be a part of Vinconomy.
Hmmm do you think you will someday make it possible that Your Currentcy..or Let's say the money you get can be put into something Like a HUGE Safe for keeping and storage?
Honestly a fantastic mod to build a functional/aesthetically-pleasing shop with. I love it!
Screwy - It is highly unlikely it will be in the next update, as I have one thats been in the works and I have been trying to get finished for a few weeks now. IRL issues keep getting in the way and preventing me to finish the final features (If you're curious, check the Mod Page on discord). As for the food - you are right, it is intentional that the items must match exactly - especially for food. I did not want situations where players might abuse the stalls with only 1 item that was "fresh" and the rest borderline rotting / rotten. The UI is going to show the first item that is not an empty slot for simplicity's sake, and that fact could be abused. Internally, I am doing a simple "Satisfies" check which is entirely built into VS - meaning it's not my code. In order to do what you want I would have to roll my own - which is totally doable, but it might just take some time with everything going on right now. I can certainly add it to the list, and perhaps just put the replacement implementation behind a configuration variable to use exact matching or approxomite. Another solution is I can just average out the decay rate on all the item stacks when you try to add a new stack. I will play around with it and see what feels right.
As for your message about it not showing item info in the customer UI, what exactly do you mean? It should be showing you a passive item slot containing the first non-empty item for that slot. I have not heard of any issue with this from anyone else, and I have not seen it in my own testing. If possible, could you please provide a screenshot of the problem either here or up on discord to demonstrate what you mean?
SeveredSkullz I'd like to thank you so much for this awesome mod! We use it on our upcoming German server and it enables us to manage almost every aspect of our economy.
But one thing is a bit... annoying. I understand that it has to be the exact same item on all 9 slots of a stall. But this makes it almost impossible to get more than one food item in there.
Is there any way this could be fixed in the next update? Maybe my either ignoring the decay rate while checking if it is the same item, or by some tolerance value for this variable.
And there is no item info in the customer UI. Is this intended? Can we have a config bool for that?
WickedSchnitzel - You shouldnt need World Edit simply to remove the shop. If you are in Creative Mode it will bypass the protection and allow you to remove it. That was a request by AngelLord via Discord that I added in 0.1.4. Im also sitting on a change that allows players to use shops within claims so you will no longer have to use /allowuseeveryone that was requested by him as well up on discord. They were using Claims as a sort of "rental" property and didn't want to have to manage adding/removing everyone all the time. Im also in the process of refactoring the code to allow sales to be conducted without having to have all the items in your hand, which is preventing me from pushing said change right now. I hope to have time this weekend to finish up the implementation and get that out to you guys soon.
But yes, the stalls / registers have protections in place in that they do not need to be within claimed land to be protected. As you saw, it wont allow anyone to break the shop unless they are the owner, or an Admin currently in Creative Mode (You HAVE to be in creative mode). If a player has left the server, and you believe they are not coming back, you can also use the "/vicon setowner [player] [x] [y] [z]" command for the stall/register in question to take over ownership of it instead of outright removing it.
paintmoses - Assisted via Discord :)
How to you find the commands for your mod, I am trying to make shops I can use and edit, if thats a possibility?
Thanks in advance.
Maybe i am missing something here, but it seems like the shops got their own protection system, like people who are not the owners are not able to modify them even after a claim has been removed. Maybe you could add a config option to remove shop protection, so that people have to place the shop into a claim with /allowuseeveryone. i had to remove a player from the server and removed their claims as well, but the shop is still protected. i mean, its not a big deal, i could just remove it manually. still such an option would be good.
Edit: It seems like even i as an admin cannot remove the shop, it just tells me "you do not own this".
Edit2: i was able to delete the shop with worldedit.
Wow, that's great. Thank you very much SeveredSkullz!
I'm going to try it :-)
fipil - Just pushed 0.1.4 which adds the features you requested. Still dont have much free time with all the chaos, but its still next on my "todo" list for ATMs.
Thank you SeveredSkullz!
Your solution would be fine. Another approach could be introducing of some admin item so user should hold it to open the admin view. But I understand that this would unpleseantly change the existing workflow to which users are already used to.
I noticed the ATM block in the future plans, so I'm looking forward to it. :-) Hope that the ATM design will look medieval, we build a medieval world so some modern ATM machine with a display would be a little bit problem for us :-D.
I'd be also very nice if your mod could work with our smaller denomination Copper wheels. For example user wants to buy a carrot priced 4 copper gears. Then he'll pay 1 rusty gear and the shop returns him a change: 6 copper gears.
Fantastic mod! It seems that sometimes though, it will say a player does not have enough of a currency item in hand when in fact they do. The shop is well stocked too, so I cannot see why this would happen. It seems to happen randomly, and relogging does not solve.
fipil It is not possible to check for an arbitrary key as a Hotkey, unfortunately. While I cannot add any more hotkeys, I can check if the item in your hand is the currency item while you are sneaking to allow you to purchase items from your own stall. I will add this to my "To Do" list along with the ability to remove other players stalls/registers as an admin someone else requested via Discord. Should be able to get to it in the next day or two, provided I get a break from the IRL chaos.
Also, please note that an ATM block explictly designed for currency conversion is on my Future Plans / Roadmap in the mod description. Eventually, you won't need a dedicated shop to do this. I just need to get the free time back to be able to implement it. 🙃
Hi SeveredSkullz
I love your mod. I see only one big problem: As an owner of the shop, I cannot USE the shop. You can ask why want I use my own shop? The reasons are the following:
So please, would it be possible to change behaviour so the shop configuration will open only by using some hotkey together with a mouse click and if player does not use the hotkey, the shop will act as a shop for him?
Thank you very much.
Fipil
JunidO - I'm not sure what you mean by that. If you are referring to the number of slots that is used to sell the items to other players, then no I do not have any plans on increasing that amount. I feel that 36 slots for stock is way more than enough. The whole design philosophy is for you to have a large shop if you want to sell large quantities of items. If you need more inventory slots for a given item, you can always use more than one Stall Slot. There is nothing preventing you from selling 9 stacks of Turnips in each of the 4 Stall Slots.
If that is not what you mean, I would need a bit more clarification.
A great mod, I've been waiting for it for a long time. I'm excited to see what else comes next.
Could you integrate extra storage space for things you want to buy through your shop or expand the storage space of the shop register?
Hope you understand what I mean, unfortunately I can't speak English and have to use a translator.
Hey WickedSchnitzel Dealing with some maddness IRL so havent gotten a chance to work on it since the last release.
Clothing Stand is still WIP as of right now. It works, but I dont have a crafting recipe for it yet since I'm fighting with some positioning - though I might just give up on being a perfectionist and take a "Close Enough" approach. Without going though and doing a whole slew of custom models for each clothing piece, I dont think they will ever line up correctly / not overlap.
As for the Chiseled objects, I absolutely plan on getting that working. You can still sell them, but they wont be displayed correctly currently. The only workaround right now is to open up the UI, which should render the item's icon so you can atleast get a glimpse at what it is. I am also toying with an idea of having some sort of "Multiblock" display for those creations that take up more than 1 block (like a 3x3x3 creation).
The thing is that people would like to sell chiseled objects as well, also clothing etc. Will support for these objects be added in the future? If you have problems with implementing it, maybe take a look at CAN Market's source, as it works there?
https://news.kalataka.ru/canmarket
Wow! What a brilliant mod! Looks like the shopping mod I was dreamed of :-). I'm going to try it! Thanks. Keep up the perfect work.
Thanks for working with Ket! We've reinstalled the new v1.1 and things seem to be working fine now. I appreciate the explanation. Keep at it and happy modding!
Thats why I said "Redownload" - While I was working with Ketamine/Horizons on Discord, I was had mistakenly changed 1.1's Zip and hadn't made a new version (Was still trying to figure out the site). At the time I think there was only like 8 people had downloaded it, so I didnt think anything of it. I assume you were one of those 8 people.
If you redownload and reinstall v1.1 and its *still* erroring out, please let me know - and preferably send me your save so I can take a look.
It happened with 0.1.1, which is the latest version SeveredSkullz
WickedSchnitzel Not sure if you are up to date or not on the mod, but this issue was already addressed below from help with Horizons. Redownload v0.1.1 and the issue should be fixed.
Run ok for a while, then crashed the whole server with
[Server Error] Exception thrown during handling event OnSaveGameLoaded: System.NullReferenceException: Object reference not set to an instance of an object.
at Viconomy.Registry.ShopRegistry.GetCount()
at Viconomy.ViconomyModSystem.OnSaveGameLoading()
at Vintagestory.Server.ServerEventManager.TriggerSaveGameLoaded() in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryLib\Server\ServerEventManager.cs:line 474
Horizons I spoke with Ketastrophe via discord and he sent me the world files from your server. I have narrowed down the root cause being an edge case where the game saved when you had no Registers placed. My clean-up code kicked in to remove the listing for that register, and ultimately the serialization of an empty Dictionary caused the value to be saved as "null" for your Player UUID. When the game then went to load your Registers, it got null instead of the Dictionary to loop through. Problem fixed - And fortunately, I can say that Fantasy Creatures (or any mod) had nothing to do with this issue.
@SeveredSkullz AHH ok alright! then i said nothing :D
Horizons Unfortunately I am still unable to replicate the issue you are facing. I created a new world, Set up 3 different Registers, with 4 Stalls each. I then saved the game, quit to the main menu, installed Fantasy Creatures, and reloaded the game.
The stacktrace you posted is much more helpful as it actually has a listing to my mod showing me an issue with the OnSaveGameLoading() method. While I cannot seem to replicate the exact issue you are facing, if you can send me the world save I can try and take a closer look. I have also uploaded a redundant check to discard any Shop Registry data if the loading fails. This means you will have to reconfigure your Registers (Preferably removing them entirely and craft a new one so there is not an ID clash later on) - but you should still be able to reopen your original save file.
I am also on the Offficial Vintage Story Discord with the same name - SeveredSkullz - Feel free to message me on there / send files / etc.
Thank you for your time testing for our bug!
Because you were wondering, the method used to determine Vinconomy is the issue was removing half the mods, seeing which half still had the error, and then repeating. We narrowed it down to seeing the error with only Vinconomy installed. With all other mods except Vinconomy installed, the error did not appear.
This morning we did more testing, including in singleplayer, a copy of the server, and the original server. We found that the issue seems to be linked to the save file itself. A new save does not have any issues with Vinconomy or Vinconomy with our other mods.
After further testing with a new save file, we managed to replicate the error by first installing Vinconomy, testing it in game, and then Fantasy Creatures (which was previously removed from our server), which triggered the set of errors right away. It seems that despite removing Fantasy Creatures, something about how it alters the save file does not play well with Vinconomy.
We did find an additional error in the log:
29.9.2023 08:41:11 [Server Error] Exception thrown during handling event OnSaveGameLoaded: System.NullReferenceException: Obje ct reference not set to an instance of an object. at Viconomy.Registry.ShopRegistry.GetCount() at Viconomy.ViconomyModSystem.OnSaveGameLoading() at Vintagestory.Server.ServerEventManager.TriggerSaveGameLoaded() in C:\Users\Tyron\Documents\vintagestory\game\Vintagestor yLib\Server\ServerEventManager.cs:line 474
Once again, thanks for your time. We fell in love with the mod right away and can't wait to play with it on a new save!
Adelion - You're saying that if you place a Stall and a Register, link it up, and then remove the Register that the Stall will still have that Register's Shop listed in the dropdown? If I understood you correctly, That is intentional. This way if you ever wanted to move the register to a new position in the future, you wouldnt have to reconfigure each and every one of your stalls. You can simply move your Register and all the Stalls will still use that Register. When the save game is loaded, it tries to go through and clean up any Shops that currently do not have a Register placed. This means that the Stalls will reconfigure themselves as long as you place down your Register again before the next restart. Otherwise the Shop will be cleaned up and you will then have to go back to each Stall and set the Shop again.
For the Admin Shop, if you set the Shop as "None" the currency will be deleted as you suggested. This is the only time you can have the Stall set to "None" for a shop. I attempted to describe this feature with "The stall will not function if there is no Shop set for the stall (Unless it is an Admin Shop)" but it seems it was not clear enough as to what was implied here. The "Shop" selection dictates where payment will go. If you dont have a place for the payment, it just goes "poof". I will make a note of this in the Mod Description to clarify.
😁 cool so far , i found some simple issues i guess, the list from the shop does not update by itself by removing a "Shop register" and for adminshops i think would be better that the currency would deleted
I was fairly confident upon seeing the stacktrace that my mod had nothing to do with that error. To be sure though, I went and made a new world, set up a few simple shops, and started a temporal storm with "/nexttempstorm now" and did not crash. Retried on 2 additional worlds for a total of 3. Could not replicate the issue.
Im not sure what is giving you the impression that Vinconmy is at fault here, but looking at the source of RiftWeather.cs up on Github the root cause is trying to getting the next drifter to spawn. I assume you have a mod that modifies drifter spawns. This is obviously not modified by my mod - everything here is custom.
Getting fatal errors when there's a temporal storm. To our surprise, we narrowed it down to Vinconomy. Can you take a look, please?
The error:
28.9.2023 17:55:00 [Fatal] System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.GameContent.ModSystemRiftWeather.onServerTick(Single dt) in C:\Users\Tyron\Documents\vintagestory\game\VSSurvivalMod\Systems\Rifts\RiftWeather.cs:line 211
at Vintagestory.Common.EventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryLib\Common\EventManager.cs:line 59
at Vintagestory.Server.CoreServerEventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryLib\Server\ServerEventManager.cs:line 124
at Vintagestory.Server.ServerMain.Process() in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryLib\Server\ServerMain.cs:line 881
PatrickStar10 - It is for both, meaning in order for it to function at all it needs to be on both the Client and Server. It will work fine in Singleplayer, but I dont know what use it will be for you unless you enjoy buying and selling goods to yourself (Which you cannot do anyway - Stall owners will only get the Owner UI and Interactions).
Does this work in singleplayer or is it a client mod only right now?
The future plan for NPCs being able to buy sounds really nice
pls add donation link :D this is the mod i already waited for
This would pair well with Xel's Coinage or Zolgrim's Coinz.