Skip to content

Image Database Module

The Image Database Module is a core module included in the Carbon modding framework for Rust. It manages downloading, storing, mapping, and reusing images via Rust's FileStorage system and Carbon’s own identifiers.

Note: This module is built into Carbon and does not require installation like traditional plugins. It is always enabled and cannot be disabled.

Overview

  • Class Name: ImageDatabaseModule
  • Enabled by default: Yes
  • Force enabled: Yes (cannot be disabled)
  • Supports Configuration: No
  • Source: Carbon.Common/ImageDatabaseModule
  • Forces Modded Tag: No

This module allows plugins to download images from URLs, assign internal keys to them, and reuse them efficiently with caching. It also supports QR code generation.

Accessing the Module in Plugins

csharp
var imageDb = Carbon.Base.BaseModule.GetModule<ImageDatabaseModule>();

How It Works

Queue Image

csharp
imageDb.Queue("my-key", "https://example.com/image.png");

You can also directly add raw image data:

csharp
var imagePath = "carbon/data/someimage.png";
var bytes = File.ReadAllBytes(imagePath);
imageDb.AddImage("my-key", bytes);

Retrieve the stored image ID:

csharp
var imageId = imageDb.GetImage("my-key");

QR Code Generation

csharp
var qrId = imageDb.GetQRCode("https://carbonmod.gg");

Image Removal

csharp
imageDb.DeleteImage("https://example.com/image.png");

Default Images

These default images are queued automatically on startup or can be manually reloaded using the console command imagedb.loaddefaults:

KeyURLIMAGE
carbonbhttps://carbonmod.gg/assets/media/carbonlogo_b.pngcarbonb
carbonwhttps://carbonmod.gg/assets/media/carbonlogo_w.pngcarbonw
carbonbshttps://carbonmod.gg/assets/media/carbonlogo_bs.pngcarbonbs
carbonwshttps://carbonmod.gg/assets/media/carbonlogo_ws.pngcarbonws
cflogohttps://carbonmod.gg/assets/media/cui/codefling-logo.pngcflogo
checkmarkhttps://carbonmod.gg/assets/media/cui/checkmark.pngcheckmark
umodlogohttps://carbonmod.gg/assets/media/cui/umod-logo.pngumodlogo
clouddlhttps://carbonmod.gg/assets/media/cui/cloud-dl.pngclouddl
trashcanhttps://carbonmod.gg/assets/media/cui/trash-can.pngtrashcan
shoppinghttps://carbonmod.gg/assets/media/cui/shopping-cart.pngshopping
installedhttps://carbonmod.gg/assets/media/cui/installed.pnginstalled
reloadhttps://carbonmod.gg/assets/media/cui/reload.pngreload
update-pendinghttps://carbonmod.gg/assets/media/cui/update-pending.pngupdate-pending
magnifying-glasshttps://carbonmod.gg/assets/media/cui/magnifying-glass.pngmagnifying-glass
filterhttps://carbonmod.gg/assets/media/cui/filter.pngfilter
starhttps://carbonmod.gg/assets/media/cui/star.pngstar
glowhttps://carbonmod.gg/assets/media/cui/glow.pngglow
gearhttps://carbonmod.gg/assets/media/cui/gear.pnggear
sorthttps://carbonmod.gg/assets/media/cui/sort.pngsort
closehttps://carbonmod.gg/assets/media/cui/close.pngclose
fadehttps://carbonmod.gg/assets/media/cui/fade.pngfade
graphhttps://carbonmod.gg/assets/media/cui/graph.pnggraph
maximizehttps://carbonmod.gg/assets/media/cui/maximize.pngmaximize
minimizehttps://carbonmod.gg/assets/media/cui/minimize.pngminimize
folderhttps://carbonmod.gg/assets/media/cui/folder.pngfolder
filehttps://carbonmod.gg/assets/media/cui/file.pngfile
translatehttps://carbonmod.gg/assets/media/cui/translate.pngtranslate
cf_herohttps://carbonmod.gg/assets/media/cui/pluginstab/cf_hero.pngcf_hero
umod_herohttps://carbonmod.gg/assets/media/cui/pluginstab/umod_hero.pngumod_hero
installed_herohttps://carbonmod.gg/assets/media/cui/pluginstab/installed_hero.pnginstalled_hero
hero_fadehttps://carbonmod.gg/assets/media/cui/pluginstab/hero_fade.pnghero_fade
fade_fliphttps://carbonmod.gg/assets/media/cui/pluginstab/fade_flip.pngfade_flip
empty_starhttps://carbonmod.gg/assets/media/cui/pluginstab/empty_star.pngempty_star
half_starhttps://carbonmod.gg/assets/media/cui/pluginstab/half_star.pnghalf_star
full_starhttps://carbonmod.gg/assets/media/cui/pluginstab/full_star.pngfull_star
top_lefthttps://carbonmod.gg/assets/media/cui/pluginstab/top_left.pngtop_left
default_profilehttps://carbonmod.gg/assets/media/cui/pluginstab/default_profile.jpgdefault_profile

Example Use in Plugin

csharp
imageDb.Queue("logo", "https://mydomain.com/logo.png");
var id = imageDb.GetImage("logo");

For maximum compatibility, always check HasImage(key) before trying to use it in a UI.

Released under the MIT License. Feel free to help us improve!