PivotPoly Configuration
PivotPoly currently uses YAML-based storage for door data. Configuration options may be expanded in future versions.
File Structure
plugins/PivotPoly/
├── doors.yml # Door data storage (auto-generated)
└── config.yml # Main config (if implemented in future)
Door Data Storage
doors.yml
This file stores all created door information and is managed automatically by the plugin.
Location: plugins/PivotPoly/doors.yml
Format: YAML
Auto-generated: Yes (created on first door creation)
Example Structure:
doors:
CastleGate:
world: world
pos1:
x: 100
y: 64
z: 200
pos2:
x: 105
y: 70
z: 200
pivot:
x: 102
y: 64
z: 200
rotation_angle: 90
animation_speed: 20
sound_open: BLOCK_IRON_DOOR_OPEN
sound_close: BLOCK_IRON_DOOR_CLOSE
SecretDoor:
world: world
# ... door data ...
Managing Door Data
Backup:
# Always backup before making manual edits!
cp plugins/PivotPoly/doors.yml plugins/PivotPoly/doors.yml.backup
Editing:
- ⚠️ Not recommended to edit manually
- Use in-game commands and GUI instead
- If editing manually, stop the server first
- Validate YAML syntax before restarting
Restoring:
# If something goes wrong
cp plugins/PivotPoly/doors.yml.backup plugins/PivotPoly/doors.yml
Door Settings
Door behavior can be configured through the GUI (/pp gui). Current customizable options:
Rotation Settings
- Rotation Angle: Degrees to rotate (0-360)
- Rotation Direction: Clockwise/Counter-clockwise
- Animation Speed: Ticks for animation duration
Sound Effects
- Open Sound: Sound played when door opens
- Close Sound: Sound played when door closes
- Sound Volume: 0.0 - 1.0
- Sound Pitch: 0.5 - 2.0
Visual Settings
- Glow Effect: Enable/disable glowing during animation
- Display Brightness: BlockDisplay brightness level
Future Configuration Options
These options may be added in future versions:
# config.yml (not yet implemented)
settings:
max_doors_per_world: 50
max_selection_size: 10000 # blocks
auto_save_interval: 300 # seconds
enable_sounds: true
default_animation_speed: 20
allow_overlapping_doors: false
permissions:
require_permission_to_use: false
performance:
max_concurrent_animations: 10
update_interval: 1 # ticks
Data Persistence
How Data is Saved
-
Automatic Saving: Doors automatically save when:
- A new door is created
- A door is deleted
- A door is modified
- Server shuts down gracefully
-
Manual Saving: Triggered by:
- Server reload/restart
- Plugin reload (if implemented)
Data Loading
Doors are loaded:
- On server startup
- When plugin enables
- Automatically restores all BlockDisplay entities
World-Specific Considerations
Multi-World Setups
Doors are world-specific:
- Each door is tied to the world where it was created
- Door names must be unique per world
- Deleting a world removes associated doors
Moving Doors Between Worlds
Currently not supported. To replicate a door:
- Use blueprint system:
/pp blueprint save <door> <name> - Load world where you want the copy
- Use blueprint paste:
/pp blueprint paste <newname> <name>
Performance Optimization
Best Practices
✅ Limit door complexity: Keep selections reasonably sized
✅ Avoid overlapping doors: Don't create doors in same space
✅ Regular backups: Backup doors.yml regularly
✅ Clean up unused doors: Delete doors you no longer need
When to Optimize
Monitor these signs:
- Server TPS drops during door animations
- Lag spikes when multiple doors activate
- High entity count in
/minecraft:entity list
Solutions:
- Reduce number of concurrent door animations
- Simplify complex door designs
- Delete unused doors
Troubleshooting Configuration
| Issue | Solution |
|---|---|
| Doors not saving | Check file permissions on plugins/PivotPoly/ |
| Doors missing after restart | Verify doors.yml exists and is valid YAML |
| Cannot create new doors | Check doors.yml for corruption, restore from backup |
| Strange behavior | Delete doors.yml (will lose all doors) and recreate |
Configuration Commands
While there's no dedicated reload command yet, you can manage configuration through:
# List all doors (verify what's loaded)
/pp list
# Remove problematic door
/pp delete <name>
# Recreate door
/pp create <name>
Advanced: Manual Recovery
If doors.yml becomes corrupted:
- Stop server
- Backup current file:
cp doors.yml doors.yml.broken - Try to fix YAML syntax using online validator
- Or restore from backup:
cp doors.yml.backup doors.yml - Start server and check console for errors
Next: Learn practical usage with the Usage Guide