Mods / C&N Mailbox
- Tags:
- Author:
- KenigVovan
- Side:
- Both
- Created:
- Feb 25th 2025 at 7:30 PM
- Last modified:
- May 14th at 4:12 PM
- Downloads:
- 35958
- Follow Unfollow 119
-
Latest release (for Vintage Story 1.22.2, potentially outdated):
canmailbox_1.2.2.zip 1-click install
Block is not protected by itself, place into your claim. Two upper slots can be accessed by anyone, by button you can send them into closed slots which are available only for owner.
If there is something in mailbox flag will be up. If you hover over button there should be owner's name.
Shift click doesn't work, right works as it instead.
Additional functionality addition will need Mudwall Senators' decision.
Models provided by Morgen and Ragolution.
| Mod Version | Mod Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 1.2.2 | canmailbox | 2763 | May 14th at 4:12 PM | canmailbox_1.2.2.zip | 1-click install | ||
| |||||||
| 1.2.1 | canmailbox | 666 | Apr 6th at 10:11 AM | Empty | canmailbox_1.2.1.zip | 1-click install | |
| 1.2.0 | canmailbox | 145 | Feb 22nd at 9:48 AM | canmailbox_1.2.0.zip | 1-click install | ||
| 1.1.8 | canmailbox | 1443 | Feb 24th at 5:16 PM | canmailbox_1.1.8.zip | 1-click install | ||
| |||||||
| 1.1.7 | canmailbox | 76 | Feb 22nd at 9:53 AM | canmailbox_1.1.7.zip | 1-click install | ||
| 1.1.6 | canmailbox | Dec 28th 2025 at 8:31 AM | 1-click install | ||||
| |||||||
| 1.1.5 | canmailbox | 3489 | Dec 25th 2025 at 11:51 AM | canmailbox_1.1.5.zip | 1-click install | ||
| |||||||
| 1.1.4 | canmailbox | 3667 | Nov 20th 2025 at 4:02 PM | canmailbox_1.1.4.zip | 1-click install | ||
| |||||||
| 1.1.3 | canmailbox | 396 | Nov 15th 2025 at 11:57 PM | canmailbox_1.1.3.zip | 1-click install | ||
| |||||||
| 1.1.2 | canmailbox | 961 | Nov 5th 2025 at 7:32 PM | canmailbox_1.1.2.zip | 1-click install | ||
| |||||||
| 1.1.1 | canmailbox | 8455 | Aug 27th 2025 at 9:02 PM | canmailbox_1.1.1.zip | 1-click install | ||
| |||||||
| 1.1.0 | canmailbox | 55 | Aug 27th 2025 at 3:42 PM | canmailbox_1.1.0.zip | 1-click install | ||
| |||||||
| 1.0.6 | canmailbox | 6195 | Mar 15th 2025 at 3:22 PM | canmailbox_1.0.6.zip | 1-click install | ||
| |||||||
| 1.0.5 | canmailbox | 4107 | Mar 3rd 2025 at 5:40 PM | canmailbox_1.0.5.zip | 1-click install | ||
| |||||||
| 1.0.4 | canmailbox | 157 | Mar 2nd 2025 at 9:52 AM | canmailbox_1.0.4.zip | 1-click install | ||
| |||||||
| 1.0.3 | canmailbox | 213 | Feb 25th 2025 at 8:27 PM | canmailbox_1.0.3.zip | 1-click install | ||
| |||||||
KenigVovan See comment below, we were able to replicate the issue. See crash log below.
Running on 64 bit Windows 10.0.19045.0 with 32688 MB RAM Game Version: v1.22.2 (Stable) 5/13/2026 2:19:38 PM: Critical error occurred in the following mod: canmailbox@1.2.1 Loaded Mods: jonasworkshop@1.2.1, game@1.22.2, antiqueharmony@1.11.0, canmailbox@1.2.1, geologymap@1.1.0, gimap@1.7.0, creative@1.22.2, survival@1.22.2 System.Exception: Error while rendering item in slot Vintagestory.API.Common.DummySlot (1x Block Id 14092, Code canmailbox:canmailbox-east) ---> System.ArgumentNullException: Value cannot be null. (Parameter 'Unable to find a texture for texture code 'inside' in mailbox. Giving up. Sorry.') at Vintagestory.Client.NoObf.ShapeTesselator.TesselateShapeElement(Int32 indexForLogging, MeshData meshdata, ShapeElement element, TesselationMetaData meta) in VintagestoryLib\Client\Render\Tesselation\ShapeTesselator.cs:line 500 at Vintagestory.Client.NoObf.ShapeTesselator.TesselateShapeElements(MeshData meshdata, ShapeElement[] elements, TesselationMetaData meta) in VintagestoryLib\Client\Render\Tesselation\ShapeTesselator.cs:line 377 at Vintagestory.Client.NoObf.ShapeTesselator.TesselateShape(Shape shapeBase, MeshData& modeldata, Vec3f wholeMeshRotation, Vec3f wholeMeshOffset, Single wholeMeshScale, TesselationMetaData meta) in VintagestoryLib\Client\Render\Tesselation\ShapeTesselator.cs:line 291 at Vintagestory.Client.NoObf.ShapeTesselator.TesselateShape(String typeForLogging, Shape shapeBase, MeshData& modeldata, ITexPositionSource texSource, Vec3f wholeMeshRotation, Int32 generalGlowLevel, Byte climateColorMapId, Byte seasonColorMapId, Nullable`1 quantityElements, String[] selectiveElements) in VintagestoryLib\Client\Render\Tesselation\ShapeTesselator.cs:line 212 at canmailbox.src.block.CANBlockGenericTypedContainer.GenMesh(ICoreClientAPI capi, Shape shape, ITesselatorAPI tesselator, ITexPositionSource textureSource, String part, Vec3f rotationDeg) in C:\Users\koeni\source\repos\CAN_Mailbox\canmailbox\src\block\CANBlockGenericTypedContainer.cs:line 428 at canmailbox.src.block.CANBlockGenericTypedContainer.<>c__DisplayClass38_0.<OnBeforeRender>b__0() in C:\Users\koeni\source\repos\CAN_Mailbox\canmailbox\src\block\CANBlockGenericTypedContainer.cs:line 344 at Vintagestory.API.Util.ObjectCacheUtil.GetOrCreate[T](ICoreAPI api, String key, CreateCachableObjectDelegate`1 onRequireCreate) in VintagestoryApi\Util\ObjectCacheUtil.cs:line 23 at canmailbox.src.block.CANBlockGenericTypedContainer.OnBeforeRender(ICoreClientAPI capi, ItemStack itemstack, EnumItemRenderTarget target, ItemRenderInfo& renderinfo) in C:\Users\koeni\source\repos\CAN_Mailbox\canmailbox\src\block\CANBlockGenericTypedContainer.cs:line 321 at Vintagestory.Client.NoObf.InventoryItemRenderer.GetItemStackRenderInfo(ClientMain game, ItemSlot inSlot, EnumItemRenderTarget target, Single dt) in VintagestoryLib\Client\Render\InventoryItemRenderer.cs:line 496 at Vintagestory.Client.NoObf.InventoryItemRenderer.RenderItemstackToGui(ItemSlot inSlot, Double posX, Double posY, Double posZ, Single size, Int32 color, Single dt, Boolean shading, Boolean origRotate, Boolean showStackSize) in VintagestoryLib\Client\Render\InventoryItemRenderer.cs:line 286 --- End of inner exception stack trace --- at Vintagestory.Client.NoObf.InventoryItemRenderer.RenderItemstackToGui(ItemSlot inSlot, Double posX, Double posY, Double posZ, Single size, Int32 color, Single dt, Boolean shading, Boolean origRotate, Boolean showStackSize) in VintagestoryLib\Client\Render\InventoryItemRenderer.cs:line 410 at Vintagestory.Client.NoObf.InventoryItemRenderer.RenderItemstackToGui(ItemSlot inSlot, Double posX, Double posY, Double posZ, Single size, Int32 color, Boolean shading, Boolean origRotate, Boolean showStackSize) in VintagestoryLib\Client\Render\InventoryItemRenderer.cs:line 278 at Vintagestory.Client.NoObf.RenderAPIGame.RenderItemstackToGui(ItemSlot inSlot, Double posX, Double posY, Double posZ, Single size, Int32 color, Boolean shading, Boolean rotate, Boolean showStacksize) in VintagestoryLib\Client\API\RenderAPIGame.cs:line 282 at Vintagestory.API.Client.SlideshowItemstackTextComponent.RenderInteractiveElements(Single deltaTime, Double renderX, Double renderY, Double renderZ) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\Richtext\SlideshowItemstackTextComponent.cs:line 232 at Vintagestory.API.Client.GuiElementRichtext.RenderInteractiveElements(Single deltaTime) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementRichtext.cs:line 476 at Vintagestory.API.Client.GuiComposer.Render(Single deltaTime) in VintagestoryApi\Client\UI\GuiComposer.cs:line 737 at Vintagestory.API.Client.GuiDialog.OnRenderGUI(Single deltaTime) in VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 396 at Vintagestory.GameContent.GuiDialogHandbook.OnRenderGUI(Single deltaTime) in VSSurvivalMod\Systems\Handbook\Gui\GuiDialogHandbook.cs:line 562 at Vintagestory.Client.NoObf.GuiManager.OnRenderFrameGUI(Single deltaTime) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 309 at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1048 at Vintagestory.Client.GuiScreenRunningGame.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 251 at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 783 at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 686 at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 112 at OpenTK.Windowing.Desktop.GameWindow.Run() at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 354 at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 131 at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95 System.ArgumentNullException: Value cannot be null. (Parameter 'Unable to find a texture for texture code 'inside' in mailbox. Giving up. Sorry.') at Vintagestory.Client.NoObf.ShapeTesselator.TesselateShapeElement(Int32 indexForLogging, MeshData meshdata, ShapeElement element, TesselationMetaData meta) in VintagestoryLib\Client\Render\Tesselation\ShapeTesselator.cs:line 500 at Vintagestory.Client.NoObf.ShapeTesselator.TesselateShapeElements(MeshData meshdata, ShapeElement[] elements, TesselationMetaData meta) in VintagestoryLib\Client\Render\Tesselation\ShapeTesselator.cs:line 377 at Vintagestory.Client.NoObf.ShapeTesselator.TesselateShape(Shape shapeBase, MeshData& modeldata, Vec3f wholeMeshRotation, Vec3f wholeMeshOffset, Single wholeMeshScale, TesselationMetaData meta) in VintagestoryLib\Client\Render\Tesselation\ShapeTesselator.cs:line 291 at Vintagestory.Client.NoObf.ShapeTesselator.TesselateShape(String typeForLogging, Shape shapeBase, MeshData& modeldata, ITexPositionSource texSource, Vec3f wholeMeshRotation, Int32 generalGlowLevel, Byte climateColorMapId, Byte seasonColorMapId, Nullable`1 quantityElements, String[] selectiveElements) in VintagestoryLib\Client\Render\Tesselation\ShapeTesselator.cs:line 212 at canmailbox.src.block.CANBlockGenericTypedContainer.GenMesh(ICoreClientAPI capi, Shape shape, ITesselatorAPI tesselator, ITexPositionSource textureSource, String part, Vec3f rotationDeg) in C:\Users\koeni\source\repos\CAN_Mailbox\canmailbox\src\block\CANBlockGenericTypedContainer.cs:line 428 at canmailbox.src.block.CANBlockGenericTypedContainer.<>c__DisplayClass38_0.<OnBeforeRender>b__0() in C:\Users\koeni\source\repos\CAN_Mailbox\canmailbox\src\block\CANBlockGenericTypedContainer.cs:line 344 at Vintagestory.API.Util.ObjectCacheUtil.GetOrCreate[T](ICoreAPI api, String key, CreateCachableObjectDelegate`1 onRequireCreate) in VintagestoryApi\Util\ObjectCacheUtil.cs:line 23 at canmailbox.src.block.CANBlockGenericTypedContainer.OnBeforeRender(ICoreClientAPI capi, ItemStack itemstack, EnumItemRenderTarget target, ItemRenderInfo& renderinfo) in C:\Users\koeni\source\repos\CAN_Mailbox\canmailbox\src\block\CANBlockGenericTypedContainer.cs:line 321 at Vintagestory.Client.NoObf.InventoryItemRenderer.GetItemStackRenderInfo(ClientMain game, ItemSlot inSlot, EnumItemRenderTarget target, Single dt) in VintagestoryLib\Client\Render\InventoryItemRenderer.cs:line 496 at Vintagestory.Client.NoObf.InventoryItemRenderer.RenderItemstackToGui(ItemSlot inSlot, Double posX, Double posY, Double posZ, Single size, Int32 color, Single dt, Boolean shading, Boolean origRotate, Boolean showStackSize) in VintagestoryLib\Client\Render\InventoryItemRenderer.cs:line 286 Event Log entries for Vintagestory.exe, the latest 3 ================================== { TimeGenerated = 5/12/2026 1:14:10 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.2.0, time stamp: 0x693c0000 Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad Exception code: 0x40000015 Fault offset: 0x00000000000df046 Faulting process id: 0x9700 Faulting application start time: 0x01dce2319ad54ba6 Faulting application path: C:\Users\death\AppData\Roaming\Vintagestory2\Vintagestory.exe Faulting module path: C:\Users\death\AppData\Roaming\Vintagestory2\Lib\openal32.dll Report Id: 16536a0f-6d96-4a18-8ba4-b3c6898d5815 Faulting package full name: Faulting package-relative application ID: } -------------- { TimeGenerated = 5/12/2026 1:13:56 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.2.0, time stamp: 0x693c0000 Faulting module name: KERNELBASE.dll, version: 10.0.19041.7181, time stamp: 0x09103ac8 Exception code: 0xe0434352 Fault offset: 0x0000000000025369 Faulting process id: 0x9700 Faulting application start time: 0x01dce2319ad54ba6 Faulting application path: C:\Users\death\AppData\Roaming\Vintagestory2\Vintagestory.exe Faulting module path: C:\Windows\System32\KERNELBASE.dll Report Id: ee5a29bf-0ef3-48d5-9c37-b4a878871d46 Faulting package full name: Faulting package-relative application ID: } -------------- { TimeGenerated = 5/7/2026 10:10:10 AM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.2.0, time stamp: 0x693c0000 Faulting module name: KERNELBASE.dll, version: 10.0.19041.7181, time stamp: 0x09103ac8 Exception code: 0xe0434352 Fault offset: 0x0000000000025369 Faulting process id: 0x573c Faulting application start time: 0x01dcde3d0ff74ae9 Faulting application path: C:\Users\death\AppData\Roaming\Vintagestory2\Vintagestory.exe Faulting module path: C:\Windows\System32\KERNELBASE.dll Report Id: 18e8dc57-6b75-4eab-bb0d-bbdd11fb3b7b Faulting package full name: Faulting package-relative application ID: }KenigVovan
Just an FYI that your mod causes a crash whenever you try to look up the recipe for nails and strips in 1.22.2.
KenigVovan I made a mistake!!!!!!!
The version I sent you was for ONLY 1.22, because it uses .NET 10. I have a version that uses .NET 8 that will work for people with my changes.
check my fork for the changes, I can't really marge it easily.
some logspam from the generic mailbox I think
22.1.2026 20:19:31 [Client Warning] Texture asset 'canmailbox:textures/block/wood/trunk/lid.png' not found (defined in Baked variant of block canmailbox:canmailbox-north).
22.1.2026 20:19:31 [Client Warning] Texture asset 'canmailbox:textures/block/wood/trunk/accessories.png' not found (defined in Baked variant of block canmailbox:canmailbox-north).
22.1.2026 20:19:31 [Client Warning] Texture asset 'canmailbox:textures/block/wood/trunk/aged-sides.png' not found (defined in Baked variant of block canmailbox:canmailbox-north).
22.1.2026 20:19:31 [Client Warning] Texture asset 'canmailbox:textures/block/wood/trunk/aged-lid.png' not found (defined in Baked variant of block canmailbox:canmailbox-north).
22.1.2026 20:19:31 [Client Warning] Texture asset 'canmailbox:textures/block/wood/trunk/aged-accessories.png' not found (defined in Baked variant of block canmailbox:canmailbox-north).
22.1.2026 20:19:31 [Client Warning] Texture asset 'canmailbox:textures/block/wood/chest/golden/top.png' not found (defined in Baked variant of block canmailbox:canmailbox-north).
22.1.2026 20:19:31 [Client Warning] Texture asset 'canmailbox:textures/block/wood/chest/golden/sides2.png' not found (defined in Baked variant of block canmailbox:canmailbox-north).
22.1.2026 20:19:31 [Client Warning] Texture asset 'canmailbox:textures/block/wood/chest/golden/sides1.png' not found (defined in Baked variant of block canmailbox:canmailbox-north).
22.1.2026 20:19:31 [Client Warning] Texture asset 'canmailbox:textures/block/wood/chest/golden/inside.png' not found (defined in Baked variant of block canmailbox:canmailbox-north).
22.1.2026 20:19:31 [Client Warning] Texture asset 'canmailbox:textures/block/wood/chest/golden-aged/top.png' not found (defined in Baked variant of block canmailbox:canmailbox-north).
22.1.2026 20:19:31 [Client Warning] Texture asset 'canmailbox:textures/block/wood/chest/golden-aged/sides2.png' not found (defined in Baked variant of block canmailbox:canmailbox-north).
22.1.2026 20:19:31 [Client Warning] Texture asset 'canmailbox:textures/block/wood/chest/golden-aged/sides1.png' not found (defined in Baked variant of block canmailbox:canmailbox-north).
22.1.2026 20:19:31 [Client Warning] Texture asset 'canmailbox:textures/block/wood/chest/golden-aged/inside.png' not found (defined in Baked variant of block canmailbox:canmailbox-north).
22.1.2026 20:19:31 [Client Warning] Texture asset 'canmailbox:textures/block/wood/chest/owl-aged/top.png' not found (defined in Baked variant of block canmailbox:canmailbox-north).
22.1.2026 20:19:31 [Client Warning] Texture asset 'canmailbox:textures/block/wood/chest/owl-aged/sides2.png' not found (defined in Baked variant of block canmailbox:canmailbox-north).
22.1.2026 20:19:31 [Client Warning] Texture asset 'canmailbox:textures/block/wood/chest/owl-aged/sides1.png' not found (defined in Baked variant of block canmailbox:canmailbox-north).
22.1.2026 20:19:31 [Client Warning] Texture asset 'canmailbox:textures/block/wood/chest/owl-aged/inside.png' not found (defined in Baked variant of block canmailbox:canmailbox-north).
I don't seem to be able to find the smaller Mailboxes in my server. At least they don't show in the Creative inventory nor the recipe book.
I am using the latest version 1.1.5
No7e
fixed
Hi! For some reason we can't figure out why other players see the small mailbox, while the owner sees the big one. Is this a bug?
I'm very late but thank you, i'll update my server!
nobu_
should be visible now in 1.1.4
How do you craft the alternate appearances (wood types and such)? They don't seem to have a recipe in the book at all, just the base variant.
KenigVovan Ah, okay; I see. Thank you for telling me, anyway :)
Nachi
No, this mod doesn't provide such functionality, even with different players somebody would need to travel to a mailbox and put a parcel there
Are you able to send to yourself? Ex: if I have one mailbox at a base up north and another way down south (which are placed by the same person), then can that person send items from their southern ase to the northern one and vice versa? Trying to figure out if I could use this on a solo server.
Thx for the update KenigVovan
Small bug... the small mailbox won't close when you x out the inventory window
gg
Unfortunately, I can't seem to access another player's mailbox inside of their claim.
Works perfectly now.