npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@grudgstudio/core

v2.1.0

Published

Unified integration layer for all Grudge Studio projects - ObjectStore, Arsenal, Puter, and game clients

Downloads

36

Readme

Grudge Studio ObjectStore

Version 2.1.0 | Unified Game Data API & Integration Hub

Centralized data API for all Grudge Studio projects — weapons, armor, materials, races, classes, factions, and icons. Now with AI-powered image generation, GRUDGE UUID system, and cross-project integration.

Live API: molochdagod.github.io/ObjectStore · Game: grudgewarlords.com · Wiki: GitHub Wiki


🚀 Quick Start

NPM Installation

npm install @grudge-studio/core

Basic Usage

import { initGrudgeStudio } from '@grudge-studio/core';

const api = await initGrudgeStudio({
  objectStoreUrl: 'https://molochdagod.github.io/ObjectStore',
  puterEnabled: true  // Enable AI image generation
});

// Search for T5 swords
const items = await api.search('sword', { tier: 5 });

// Create item with GRUDGE UUID
const item = api.createItem({ 
  type: 'weapon', 
  name: 'Legendary Blade',
  tier: 8 
});
console.log(item.uuid); // ITEM-20260225120000-000001-A1B2C3D4

📖 Full Integration Guide | 🔧 Unity C# Example | ⚛️ React/TS Example


✨ What's New in 2.1.0

🎮 Unified Integration Package

  • NPM Package: @grudge-studio/core - Single library for all Grudge Studio projects
  • Cross-Platform: JavaScript, TypeScript, Unity C#, Node.js
  • 35+ Repository Integration: Works across all Grudge Studio projects

🏷️ GRUDGE UUID System

  • Universal IDs: ITEM-20260225120000-000001-A1B2C3D4
  • 16 Entity Types: Items, heroes, materials, abilities, missions, and more
  • Arsenal Compatible: Uses the same UUID format from Warlord-Crafting-Suite

🎨 AI-Powered Features

  • Image Generation: Puter.js integration for txt2img item icons
  • Tier System: T1-T8 visual system with colored borders (Bronze → Legendary)
  • Smart Caching: localStorage + batch generation with rate limiting

📦 Integration Ready

  • React/TypeScript: Pre-built Arsenal tab component
  • Unity C#: Complete GrudgeStudioAPI MonoBehaviour
  • Node.js: Server-side API client with caching

🔗 Static API

Base URL: https://molochdagod.github.io/ObjectStore

📚 Full API Documentation

| Endpoint | Description | |----------|-------------| | /api/v1/weapons.json | All weapons (17 categories × 6 weapons × 8 tiers = 816 items) | | /api/v1/materials.json | Crafting materials (ore, wood, cloth, leather, gems, essence) | | /api/v1/armor.json | Armor slots (helm, chest, boots, etc.) | | /api/v1/consumables.json | Potions, bandages, grenades | | /api/v1/skills.json | Weapon skill trees (sword, axe, bow, staff, gun) | | /api/v1/professions.json | Profession definitions and metadata | | /api/v1/races.json | 6 playable races with bonuses, lore, and faction affiliations | | /api/v1/classes.json | 4 classes with abilities, weapon/armor types, and signature moves | | /api/v1/factions.json | 3 factions (Crusade, Legion, Fabled) with race mappings | | /api/v1/attributes.json | 8 attribute definitions with stat formulas |

🔗 Supported Projects

ObjectStore integrates with all Grudge Studio repositories:

High Priority

  • Warlord-Crafting-Suite — React/TypeScript crafting system with Arsenal tab
  • GrudgeWarlords — Unity WebGL MMO with real-time item loading
  • GrudgeStudioNPM — NPM package aggregator for all Grudge modules

Medium Priority

  • grudge-warlords — Voxel RPG with ItemRegistry integration
  • PuterGrudge — Backend server with AI image generation endpoints
  • GrudgeGameIslands — WebGL island exploration with materials system

All Projects

35+ repositories including: grudge-match-webgl, grudge-angeler, nexus-webgl, TheForge, Grudge-Realms, GrudgeController, and more.

See Integration Guide for complete implementation examples.


📦 Legacy SDK

Note: For new projects, use @grudge-studio/core instead. This legacy SDK is maintained for backward compatibility.

import { GrudgeSDK } from 'https://molochdagod.github.io/ObjectStore/sdk/grudge-sdk.js';

const sdk = new GrudgeSDK();

// Get all weapons
const weapons = await sdk.getWeapons();

// Get weapons by category
const swords = await sdk.getWeaponsByCategory('swords');

// Get materials by tier
const t5Materials = await sdk.getMaterialsByTier(5);

// Search across all data
const results = await sdk.search('iron');

// Get icon URLs
const iconUrl = sdk.getWeaponIconUrl('swords', 0, 5); // Sword icon, tier 5

// Get races, classes, factions
const races = await sdk.getRaces();
const warrior = await sdk.getClass('warrior');
const crusade = await sdk.getFaction('crusade');
const attrs = await sdk.getAttributes();

🤖 AI Integration

For AI agents that need game data without authentication:

// Direct fetch example
const response = await fetch('https://molochdagod.github.io/ObjectStore/api/v1/weapons.json');
const data = await response.json();

// Get all fire staves
const fireStaves = data.categories.fireStaves.items;

🗄️ Data Architecture

Static Data (This Repository)

  • Game definitions (what items/races/classes exist)
  • No authentication required
  • Hosted on GitHub Pages (free CDN)

Dynamic Data (GRUDA-Wars API)

For player-specific data, arena, and accounts — hosted on grudgewarlords.com:

| Resource | Endpoint | |----------|----------| | Accounts & Auth | /api/auth/*, /api/discord/* | | Characters & Inventory | /api/db/characters, /api/db/inventory | | Arena PvP | /api/arena/lobby, /api/arena/battle/simulate | | Leaderboards | /api/arena/leaderboard, /api/public/leaderboard | | Save/Load | /api/db/save-game, /api/db/load-game |

See GRUDA-Wars README for full API reference.

📊 Data Structure

Weapons

{
  "categories": {
    "swords": {
      "iconBase": "Sword",
      "iconMax": 40,
      "items": [
        {
          "id": "bloodfeud-blade",
          "name": "Bloodfeud Blade",
          "primaryStat": "damage",
          "secondaryStat": "lifesteal",
          "emoji": "⚔️"
        }
      ]
    }
  }
}

Materials

{
  "categories": {
    "ore": {
      "items": [
        {
          "id": "iron-ore",
          "name": "Iron Ore",
          "tier": 2,
          "gatheredBy": "Miner",
          "emoji": "⛏️"
        }
      ]
    }
  }
}

🎨 Icons

Icons are hosted at:

  • Weapons: /icons/weapons/{Type}_{##}.png
  • Armor: /icons/armor/{Slot}_{##}.png
  • Resources: /icons/resources/Res_{##}.png

Example: /icons/weapons/Sword_01.png

📁 Project Structure

ObjectStore/
├── api/v1/                   # Static JSON data
│   ├── weapons.json        # 17 categories, 816+ items
│   ├── materials.json       # Ore, wood, cloth, leather, gems, essence
│   ├── armor.json           # Helm, chest, boots, gloves, etc.
│   ├── consumables.json     # Potions, food, engineer items
│   ├── skills.json          # Weapon skill trees
│   ├── professions.json     # Miner, Forester, Mystic, Chef, Engineer
│   ├── races.json           # Human, Orc, Elf, Undead, Barbarian, Dwarf
│   ├── classes.json         # Warrior, Mage Priest, Worge, Ranger
│   ├── factions.json        # Crusade, Legion, Fabled
│   └── attributes.json      # STR, INT, VIT, DEX, END, WIS, AGI, TAC
├── integrations/            # 🆕 NEW: Cross-project integrations
│   ├── grudge-studio-core.js                      # Main API client
│   ├── warlord-crafting-suite-integration.tsx     # React/TS component
│   └── GrudgeWarlords-Unity-Integration.cs        # Unity C# API
├── utils/                   # 🆕 NEW: Utility modules
│   ├── item-registry.js      # Single source of truth
│   └── image-generator.js    # AI image generation
├── css/                     # 🆕 NEW: Styling
│   └── tier-system.css       # T1-T8 visual system
├── sdk/                     # Legacy SDK
│   └── grudge-sdk.js         # Original SDK (backward compat)
├── icons/                   # 659+ PNG sprite icons
│   ├── weapons/
│   ├── armor/
│   └── resources/
├── docs/                    # API documentation
├── INTEGRATION-GUIDE.md     # 🆕 NEW: Complete integration guide
├── WIKI-HOME.md             # 🆕 NEW: GitHub wiki home
├── WIKI-DEPLOYMENT.md       # 🆕 NEW: Deployment guide
├── package.json             # 🆕 NEW: NPM package config
├── SPRITE_DATABASE.html     # Visual sprite browser
├── index.html               # Landing page
└── README.md

🚀 Deployment

GitHub Pages (Static API)

This repository is deployed automatically:

  1. Push to main branch
  2. GitHub Actions builds and deploys
  3. Available at https://molochdagod.github.io/ObjectStore
  4. API Docs: https://molochdagod.github.io/ObjectStore/docs/

NPM Package Publishing

Publish @grudge-studio/core to NPM:

cd D:\GrudgeLink\OneDrive\Desktop\ObjectStore
npm login
npm publish --access public

Update version:

npm version patch  # 2.1.0 -> 2.1.1
npm version minor  # 2.1.0 -> 2.2.0
npm version major  # 2.1.0 -> 3.0.0

See WIKI-DEPLOYMENT.md for full deployment guide.

📄 License

© 2026 Grudge Studio. Game data provided for use with Grudge Studio applications.