Dictionary | Centralized data management system

:books: Dictionary

:right_arrow: Get the Module :left_arrow:

Manage all your game data efficiently with a single, lightweight module. Perfect for items, NPCs, configs, and more.
:bookmark: Full API documentation included inside the module for easy reference and usage.

:gear: Features

  • :file_folder: Centralized game data
  • :arrows_counterclockwise: Inheritance reduces duplication
  • :zap: Cached for performance
  • :mag: Powerful queries (filter, sort, paginate)
  • :package: Batch operations
  • :world_map: Flexible data sources

:rocket: Quick Start

local Dictionary = require(script.Dictionary)

-- Global instance
local sword = Dictionary.get("Weapons", "Sword")

-- Custom source
local myDict = Dictionary.new(workspace.GameData)
local potion = myDict:get("Items", "HealthPotion")

:mag_right: Query & Find

local legendary = Dictionary.find("Weapons", {rarity="Legendary"})

local top = Dictionary.query("Weapons")
    :where(function(w) return w.damage > 50 end)
    :orderBy("damage","desc")
    :limit(5)
    :execute()

:open_file_folder: Inheritance

-- BaseSword
return {BaseSword={type="weapon", damage=10, durability=100}}

-- FireSword
return {FireSword={inherits="BaseSword", damage=25, element="Fire"}}

-- Result: type=weapon, damage=25, durability=100, element=Fire

:hammer_and_wrench: Batch Operations

local batch = Dictionary.batch()
    :set("Weapons","NewSword",{damage=30})
    :update("Weapons","OldSword",{damage=35})
    :delete("Weapons","BrokenSword")
batch:commit()

:bar_chart: Utility

Dictionary.hasCategory("Weapons")
Dictionary.hasItem("Weapons","Sword")
Dictionary.listCategories()
Dictionary.listKeys("Weapons")
Dictionary.clearCache()
Dictionary.clearCache("Weapons")

:star2: Examples

Epic+ Weapons

local topWeapons = Dictionary.query("Weapons")
    :where(function(w) return w.rarity=="Epic" or w.rarity=="Legendary" end)
    :orderBy("damage","desc")
    :execute()

NPC Quests

local questNPCs = Dictionary.query("NPCs")
    :where(function(n) return n.area==currentArea and #n.availableQuests>0 end)
    :execute()

Environment Configs

local prod = Dictionary.new(game.ServerStorage.ProdConfig)
local test = Dictionary.new(game.ServerStorage.TestConfig)
local settings = prod:get("Game","Settings")

Download Dictionary and simplify your Roblox data workflow!

2 Likes