Mods / Cave Paintings

Category: #Utility
Author: ZigTheHedge
Side: Both
Created: Feb 15th 2021 at 10:49 PM
Last modified: Apr 30th at 9:26 AM
Downloads: 1901
Follow Unfollow 13

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


Version For Game version Downloads Release date Changelog Download
v1.3.1 469 Apr 30th at 9:26 AM Show
v1.3.0 612 Jan 12th at 3:04 PM Show
v1.2.2-rc.1 391 Jul 8th 2021 at 5:10 PM Show
v1.14.0-1.2-B 429 Feb 15th 2021 at 10:50 PM Show

3 Comments (oldest first | newest first)

💬 CJHKnight2, Sep 4th 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 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 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.

(edit comment delete)