Files
lakebane/src/engine/documentation/Handler Specific Documentation/dbWarehouseHandler_Documentation.md
T

2.9 KiB

Warehouse Handler Documentation

Overview

This document describes the database relationships and interactions for the dbWarehouseHandler class. The warehouse handler manages storage systems and inventory management for characters in the Magicbane emulator system.

Handler Class

File: src/engine/db/handlers/dbWarehouseHandler.java Class: dbWarehouseHandler Extends: dbHandlerBase

Database Tables

Main Table(s)

  • Table Name: obj_warehouse
  • Description: Core warehouse information including storage capacity and location
  • Columns:
    • UID (Primary Key)
    • name
    • description
    • characterID
    • storageCapacity
    • currentStorage
    • locationX
    • locationY
    • locationZ
    • isPublic
Table Name Description Relationship
obj_warehouse_item Tracks items stored in warehouses WarehouseID → obj_warehouse.UID, ItemID → obj_item.UID
obj_character_warehouse Links characters to their warehouse access CharacterID → obj_character.UID, WarehouseID → obj_warehouse.UID

Key Queries

Get Warehouse by ID

SELECT * FROM `obj_warehouse` WHERE `UID`=?

File: dbWarehouseHandler.java, Line ~60

Get Character's Warehouses

SELECT w.* FROM `obj_warehouse` w 
INNER JOIN `obj_character_warehouse` cw ON w.`UID` = cw.`WarehouseID` 
WHERE cw.`CharacterID`=?

File: dbWarehouseHandler.java, Line ~85

Get Warehouse Items

SELECT i.*, wi.quantity 
FROM `obj_item` i 
INNER JOIN `obj_warehouse_item` wi ON i.`UID` = wi.`ItemID` 
WHERE wi.`WarehouseID`=?

File: dbWarehouseHandler.java, Line ~120

Relationships

  1. Warehouse to Items: Many-to-many through obj_warehouse_item table
  2. Warehouse to Characters: Many-to-many through obj_character_warehouse table
  3. Warehouse to Storage Capacity: Tracks current and maximum storage limits

Java Field to Database Column Mappings

Java Field Database Column Notes
name obj_warehouse.name Warehouse name
description obj_warehouse.description Description of the warehouse
characterID obj_warehouse.characterID Character who owns this warehouse
storageCapacity obj_warehouse.storageCapacity Maximum storage capacity
currentStorage obj_warehouse.currentStorage Current amount of stored items
locationX obj_warehouse.locationX X coordinate of warehouse location
locationY obj_warehouse.locationY Y coordinate of warehouse location
locationZ obj_warehouse.locationZ Z coordinate of warehouse location
isPublic obj_warehouse.isPublic Whether the warehouse is publicly accessible

Notes

  • Warehouses provide extended storage for character inventories
  • Multiple characters can access shared warehouses
  • The system tracks both storage capacity and current usage