Mods / Cave Paintings

Tags:
Utility
Author:
ZigTheHedge
Side:
Both
Created:
Feb 15th 2021 at 10:49 PM
Last modified:
Dec 30th 2024 at 9:36 PM
Downloads:
4601
Latest release (for Vintage Story 1.19.8, outdated):
cavepaintings-1.19.8-1.0.0.zip  1-click install

This mod allows players to use pigments as a crayons and draw on anything around!

Five colors are available:

Charcoal - Black

Lapis Lazuli - Blue

Cinnabar - Red

Olivine - Green

Borax - White

Craft a piece of Blue Clay along with some Resin and a pigment to get yourself a Crayon!

To remove the drawing, just put a block on top of it.


Known issues:

- Fast strokes won't be recognized by server and will result in a poor quality of drawing (when save/load the world)
- When drawing intersects block boundaries, part of painting can be absent after saving/loading the world

Planned features:

- Glowing paint (using Glowworms as a source)
- Optimization of saving mechanics

 

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
1.14.0 cavepaintings 801 Feb 15th 2021 at 10:50 PM cavepaintings_v1_14.0-1.2-B.zip 1-click install

- Removed vanilla patches to not disturb new vanilla mechanics of coal placing

- Added Crayon item of various colors

1.3.1 cavepaintings 1115 Apr 30th 2022 at 9:26 AM cavepaintings_v1.16.5-1.3.1.zip 1-click install

- 1.16.5 compatibility update

1.3.0 cavepaintings 965 Jan 12th 2022 at 3:04 PM cavepaintings_v1.16.0-1.3.0.zip 1-click install

- 1.16.0 compatibility

1.2.2-rc.1 cavepaintings 754 Jul 8th 2021 at 5:10 PM cavepaintings_v1.15.0-1.2.2-B.zip 1-click install

- adds compatibility to 1.15.0-rc.2

1.0.0 cavepaintings 966 Dec 30th 2024 at 9:36 PM cavepaintings-1.19.8-1.0.0.zip 1-click install

1.19.8 update


10 Comments (oldest first | newest first) (threaded | flat)

fa1ry_girl, Mar 23rd at 9:25 PM

Just came across this, a shame it's not updated. All I'm really looking for is the ability to use some of the other soft minerals like Lapis for different colors, the default stencils are enough.

Demiryu, Oct 30th 2025 at 12:32 AM (modified Oct 30th 2025 at 12:33 AM)

Centurions_War

 

Wrong mod, you are thinking of Salty's Cave Painting which just came out recently.

Centurions_War, Oct 29th 2025 at 7:26 PM

Conflict Issue
- when using carrying and barrels of dyes - with the cave paintings mod not having a control keybind option it paints rather than allowing you to carry object.
needs a keybinding option to be entertained. 
conflicts with buckets of dye also

0/5*

DUCATISLO, Feb 7th 2025 at 6:49 PM

gg

Jerno, Jan 5th 2025 at 8:26 PM

When I walk a short distance from the art it starts to flicker. Is there any solution to this?

Brent_Atticus, Dec 30th 2024 at 10:19 PM

10/10 absolutely love it, mods like this bring a certain multiplayer aspect from games like rust, that was missing imo

RomixERR, Mar 25th 2024 at 12:07 AM

Running on 64 bit Windows 10.0.19044.0 with 32691 MB RAM
Game Version: v1.19.4 (Stable)
25.03.2024 3:06:07: Critical error occurred in the following mod: cavepaintings@1.3.1
Loaded Mods: aculinaryartillery@1.1.3, cavepaintings@1.3.1, alliance@1.2.2, effectshud@0.2.10, primitivesurvival@3.4.9, dzsalvageplus@1.0.1, spyglass@0.5.1, game@1.19.4, whetstone@1.1.1, alchemy@1.6.25, animationmanagerlib@0.7.0, chickenfeed@1.1.1, ColoredTorchesRedux@1.1.0, coolinbarrel@0.5.3, electricity@0.0.11, golb@1.0.0, hudclock@3.4.0, lavoisier@1.3.0, oneroof@0.9.9, ovenfuel@1.0.0, prospecttogether@1.3.0, smeltableingots@1.0.0, stepup@1.2.0, creative@1.19.4, vsimgui@0.3.3, survival@1.19.4, woodbarrels@1.1.0, workbenchexpansion@1.8.0, metalrecovery@0.1.19-pre.1, chemistrylib@1.1.5, configlib@0.4.2, electricityextensions@0.0.3, fsmlib@0.2.15, xinvtweaks@1.5.9, kosfire@1.1.3, kos-goldamalgam@1.0.0, kosphotography@1.4.1, maltiezfirearms@0.5.0
System.MissingFieldException: Field not found: 'Vintagestory.API.Common.Block.SideSolid'.
at cavepaintings.src.PigmentItem.OnHeldInteractStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, Boolean firstEvent, EnumHandHandling& handling)
at Vintagestory.API.Common.CollectibleObject.OnHeldUseStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType, Boolean firstEvent, EnumHandHandling& handling) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1101
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem(BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType, EnumHandHandling& handling) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 831
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected_Patch1(SystemMouseInWorldInteractions this, Single dt)
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 89
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 186
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\ClientMain.cs:line 809
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1013
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 676
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 651
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 88
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 324
at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 128
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

FeaoikalOitaure, Sep 4th 2022 at 1:49 AM

Just FYI for 1.17 compatability: Tried mod in 1.17.2 and the game crashed when trying to draw with a black crayon:
Game Version: v1.17.2 (Stable)
9/3/2022 05:08:56 PM: Critical error occurred
Loaded Mods: animalcages@2.0.6, cavepaintings@1.3.1, necessaries@1.1.2, betterruins@0.0.1, cralutweaks@1.0.2, hideandfabric@1.2.5, HoneyPress@1.1.1, hudrealtimeclock@1.0.0, meteoricexpansion@1.2.1, leadroof@1.2.0, OresAPlenty@3.0.0, primitivesurvival@3.0.5, qptech@1.10.4, rlmoonsun@0.1.1, rustandrails@1.0.3, game@1.17.2, SimpleMobFootSteps@1.0.3, carrycapacity@0.6.5, fromgoldencombs@1.3.14-pre.1, petai@1.5.3, prospectorinfo@3.2.0, creative@1.17.2, redirectlogs@1.0.0, survival@1.17.2, xrowboat@0.0.4, cats@1.5.1, tradercamps@1.0.2, glassmaking@1.3.3, stonepiles@1.0.6, wolftaming@1.5.2
System.MissingFieldException: Field not found: 'Vintagestory.API.Common.Block.SideSolid'.
at cavepaintings.src.PigmentItem.OnHeldInteractStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, Boolean firstEvent, EnumHandHandling& handling)
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem(BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType, EnumHandHandling& handling) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 860
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem(BlockSelection blockSel, EntitySelection entitySel) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 835
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 540
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 89
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 199
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1176
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1364
at Vintagestory.Client.GuiScreenRunningGame.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 204
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 711
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 615
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(Object sender, FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 132
at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
at OpenTK.GameWindow.RaiseRenderFrame(Double elapsed, Double& timestamp) in C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\GameWindow.cs:line 479
at OpenTK.GameWindow.DispatchRenderFrame() in C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\GameWindow.cs:line 454
at OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second) in C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\GameWindow.cs:line 375
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

infinitetech, Aug 20th 2022 at 8:45 PM

1: i second the eraser

2: please add mixed colors

3: for glow paint please let it just combine with other colors. (secondary, tertiary, gradient... or even better just type in a color and/or use a wheel)

4: a painting pallete would be really useful as a color wheel selector you can store all your pigments into

5: please add more shapes and textures to work with if possible.

gndrneutralnoun, Aug 6th 2022 at 4:37 PM

Would really like an eraser. Being able to cover the block to erase the whole face is okay, but as an artist, you gotta erase little bits to make things perfect.