forked from MagicBane/Server
72 lines
2.7 KiB
Markdown
72 lines
2.7 KiB
Markdown
# dbItemBaseHandler Documentation
|
|||
|
|
|
||
|
|
## Overview
|
||
|
|
This document describes the database relationships and interactions for the `dbItemBaseHandler` class. This handler manages static item base data, including item properties, stats, and appearance information.
|
||
|
|
|
||
|
|
## Handler Class
|
||
|
|
**File:** `src/engine/db/handlers/dbItemBaseHandler.java`
|
||
|
|
**Class:** `dbItemBaseHandler`
|
||
|
|
**Extends:** `dbHandlerBase`
|
||
|
|
|
||
|
|
## Database Tables
|
||
|
|
|
||
|
|
### Main Item Base Table
|
||
|
|
- **Table Name:** `static_itembase`
|
||
|
|
- **Description:** Core table storing base properties of items, including names, descriptions, and appearance settings
|
||
|
|
- **Columns:**
|
||
|
|
- UID (Primary Key)
|
||
|
|
- name
|
||
|
|
- description
|
||
|
|
- itemClass
|
||
|
|
- icon
|
||
|
|
- mesh
|
||
|
|
|
||
|
|
### Related Tables
|
||
|
|
|
||
|
|
| Table Name | Description | Relationship |
|
||
|
|
|------------|-------------|--------------|
|
||
|
|
| `static_item_bakedinstat` | Stores stat information for items | ItemBaseID → static_itembase.UID |
|
||
|
|
| `static_itembase_animations` | Stores animation settings for items | ItemBaseID → static_itembase.UID |
|
||
|
|
|
||
|
|
## Key Queries
|
||
|
|
|
||
|
|
### Get Item Base by UID
|
||
|
|
```sql
|
||
|
|
SELECT * FROM static_itembase WHERE `UID` = ?
|
||
|
|
```
|
||
|
|
**File:** `dbItemBaseHandler.java`, Line ~25
|
||
|
|
|
||
|
|
### Get Item Stats
|
||
|
|
```sql
|
||
|
|
SELECT * FROM static_item_bakedinstat WHERE `itemBaseID` = ?
|
||
|
|
```
|
||
|
|
**File:** `dbItemBaseHandler.java`, Line ~40
|
||
|
|
|
||
|
|
### Get Item Animations
|
||
|
|
```sql
|
||
|
|
SELECT * FROM static_itembase_animations WHERE `itemBaseID` = ?
|
||
|
|
```
|
||
|
|
**File:** `dbItemBaseHandler.java`, Line ~55
|
||
|
|
|
||
|
|
## Relationships
|
||
|
|
|
||
|
|
1. **Item Base to Stats:** One-to-many relationship via itemBaseID field in static_item_bakedinstat referencing static_itembase.UID
|
||
|
|
2. **Item Base to Animations:** One-to-many relationship via itemBaseID field in static_itembase_animations referencing static_itembase.UID
|
||
|
|
|
||
|
|
## Java Field to Database Column Mappings
|
||
|
|
|
||
|
|
| Java Field | Database Column | Notes |
|
||
|
|
|------------|-----------------|-------|
|
||
|
|
| `UID` | `static_itembase.UID` | Unique identifier for the item |
|
||
|
|
| `name` | `static_itembase.name` | Name of the item |
|
||
|
|
| `description` | `static_itembase.description` | Description of the item |
|
||
|
|
| `itemClass` | `static_itembase.itemClass` | Class of the item |
|
||
|
|
| `icon` | `static_itembase.icon` | Icon identifier for the item |
|
||
|
|
| `mesh` | `static_itembase.mesh` | Mesh identifier for the item |
|
||
|
|
| `fromUse` | `static_item_bakedinstat.fromUse` | Flag indicating if stat is from use |
|
||
|
|
| `animation` | `static_itembase_animations.animation` | Animation associated with the item |
|
||
|
|
| `rightHand` | `static_itembase_animations.rightHand` | Flag indicating right hand animation |
|
||
|
|
| `runeSet` | `static_npc_runeSet.runeSet` | NPC rune set identifier |
|
||
|
|
| `runeBase` | `static_npc_runeSet.runeBase` | Base rune identifier |
|
||
|
|
| `other fields...` | Various columns | Other properties related to item base data |
|