Files
Server/src/engine/documentation/Handler Specific Documentation/dbItemHandler_Documentation.md
T

2.2 KiB

dbItemHandler Documentation

Overview

This document describes the database relationships and interactions for the dbItemHandler class. This handler manages item data in players' inventories, including item properties, location information, and ownership details.

Handler Class

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

Database Tables

Main Item Table

  • Table Name: obj_item
  • Description: Stores information about items in player inventories, including location, ownership, and attributes
  • Columns:
    • UID (Primary Key)
    • ownerUID
    • containerID
    • itemBaseID
    • item_container
    • equipSlot
    • flags
    • customName

Key Queries

Get Item by UID

SELECT * FROM obj_item WHERE `UID` = ?

File: dbItemHandler.java, Line ~25

Save Item

INSERT INTO `obj_item` (`ownerUID`, `containerID`, `itemBaseID`, `item_container`, `equipSlot`, `flags`, `customName`) VALUES(?,?,?,?,?,?,?)

File: dbItemHandler.java, Line ~40

Get Items by Owner

SELECT * FROM obj_item WHERE `ownerUID` = ?

File: dbItemHandler.java, Line ~55

Relationships

  1. Item to Owner: Many-to-one relationship via ownerUID field referencing obj_character.UID
  2. Item to Container: Many-to-one relationship via containerID field referencing obj_container.UID
  3. Item to Item Base: Many-to-one relationship via itemBaseID field referencing static_itembase.UID

Java Field to Database Column Mappings

Java Field Database Column Notes
UID obj_item.UID Unique identifier for the item
ownerUID obj_item.ownerUID UID of the character who owns this item
containerID obj_item.containerID Container ID where item is stored
itemBaseID obj_item.itemBaseID UID of the base item definition
item_container obj_item.item_container Container type (inventory, equip, bank, etc.)
equipSlot obj_item.equipSlot Slot where item is equipped
flags obj_item.flags Item flags for special properties
customName obj_item.customName Custom name of the item
other fields... Various columns Other item-specific properties