feat: Add Nexo integration and economy-based respawn costs
- Integrated Nexo API for handling custom furniture and block events:
- Added `NexoFurnitureListener` to handle Nexo furniture placement and breaking.
- Added `NexoBlockListener` to handle Nexo note block placement and breaking.
- Implemented economy-based respawn costs:
- Updated `RespawnEconomy` to include `chargeForRespawn` method.
- Made respawn costs configurable via `config.yml`.
- Updated `PwingGraves` to register Nexo listeners conditionally based on plugin availability.
- Enhanced configuration:
- Added settings for Nexo furniture and block IDs in `config.yml`.
- Updated `messages.yml` to include economy-related messages.
- Fixed malformed code in `RespawnEconomy.java`.
- Updated `plugin.yml` to declare Nexo as a soft dependency.
- Cleaned up and refactored listeners for better modularity and maintainability.
### Example Usage:
1. **Nexo Furniture**:
- Place a Nexo furniture item with the configured ID (e.g., `nexo:beacon`) to create a respawn point.
- Break the furniture to remove the associated respawn point.
2. **Nexo Block**:
- Place a Nexo note block with the configured ID (e.g., `nexo:beacon`) to create a respawn point.
- Break the block to remove the associated respawn point.