| layout | default |
|---|---|
| title | Testing Guide |
| nav_order | 5 |
| has_children | false |
| permalink | /admin/testing/ |
Current Status: Plugin has been built, unit tested (13/13 passing), and is ready for real-world testing.
What HAS been verified:
- ✅ Plugin compiles successfully
- ✅ Unit tests pass (13/13)
- ✅ JAR file created:
DragonEggLightning-1.0.0.jar - ✅ Docker environment configured
- ✅ All code implements requested features
What NEEDS testing:
- ❌ In-game functionality verification
- ❌ Paper server integration
- ❌ Visual effects rendering
- ❌ Performance under load
# Verify all tools are installed
java -version # Must show Java 21+
docker --version
docker-compose --version
mvn --version# Run the complete automated test
./test-plugin.shThis will:
- Build the plugin
- Start the Paper server
- Wait for server to initialize
- Display testing instructions
- Provide server connection details
If ./test-plugin.sh doesn't work, follow these manual steps:
cd /Users/mulgogi/src/augustus/elemental-dragon
mvn clean packageExpected Output:
[INFO] BUILD SUCCESS
[INFO] Building jar: /Users/mulgogi/src/augustus/elemental-dragon/target/DragonEggLightning-1.0.0.jar
# Start server with plugin
docker-compose up -d
# Wait for startup (30-60 seconds)
docker logs -f papermc-dragoneggLook for these messages:
[INFO] Done (30.842s)! For help, type "help"
[INFO] DragonEggLightning enabled
- Open Minecraft 1.21.8+
- Multiplayer → Add Server
- Server Address:
localhost:25565 - Join server
In Minecraft Chat:
# 1. Get Dragon Egg
/give @p minecraft:dragon_egg
# 2. Move to offhand (press F key)
# 3. Test command
/ability 1
# 4. Verify results
# - Should see purple lightning
# - Should get success message
# - Should see cooldown timer- Minecraft Version: 1.21.8
- Paper Version: Latest build for 1.21.8
- Java Version: OpenJDK 21
- Memory: 2GB allocated
- Location: localhost:25565
- Minecraft Client: 1.21.8 or higher
- Graphics: Set particle effects to "All" for best visibility
- Performance: Reduce render distance if needed for smooth gameplay
Command: /plugins
Expected Result:
- ✅ Shows "DragonEggLightning" in plugin list
- ✅ No error messages in console
- ✅ Server startup shows "[INFO] DragonEggLightning enabled"
If Failed:
# Check server logs
docker logs papermc-dragonegg
# Common issues:
# - Java version wrong (must be 21+)
# - Plugin JAR not in plugins/ directory
# - Server hasn't been restarted after plugin installationCommand: /ability 1
Expected Result:
- ✅ Command is recognized (no "Unknown command" error)
- ✅ If no Dragon Egg in offhand: "You must hold a Dragon Egg in your offhand!"
- ✅ If Dragon Egg in offhand but no target: "No valid target found!"
If Failed:
# Check command registration in server logs
# Should see: "Registering commands..."Steps:
- Remove Dragon Egg from offhand
- Run
/ability 1 - Put Dragon Egg back in offhand
- Run
/ability 1again
Expected Result:
- ✅ Without Dragon Egg: Error message about missing Dragon Egg
- ✅ With Dragon Egg: Ability attempts to execute
- ✅ Clear error messaging
Steps:
- Get Dragon Egg:
/give @p minecraft:dragon_egg - Move to offhand: Press
Fkey - Find a target entity (zombie, cow, villager, etc.)
- Look at the entity
- Execute:
/ability 1
Expected Results:
- ✅ Visual: Purple lightning strikes appear
- ✅ Timing: 3 strikes with 0.5-second intervals
- ✅ Damage: Target takes 1.5 hearts per strike
- ✅ Message: "Lightning ability activated!"
- ✅ Sound: Thunder sound for each strike
Visual Effects Checklist:
- Purple/magenta lightning beam from sky to target
- Electric spark particles along the beam
- Explosion effect at impact point
- Flash effect for dramatic impact
- Higher pitched thunder sound than normal
Steps:
- Execute
/ability 1successfully - Immediately try
/ability 1again - Wait 60 seconds
- Try
/ability 1again
Expected Results:
- ✅ First attempt: Works normally
- ✅ Second attempt: Fails with cooldown message
- ✅ HUD Display: Shows countdown (59s, 58s, etc.)
- ✅ After 60s: Ability works again
- ✅ Ready State: Shows "⚡ Lightning ready"
Test Scenarios:
- Valid Target: Look at entity within 50 blocks
- No Target: Look at empty area
- Behind Wall: Look at entity blocked by blocks
- Too Far: Look at entity >50 blocks away
Expected Results:
- ✅ Valid: Lightning targets closest entity in line of sight
- ✅ Empty: "No valid target found!" message
- ✅ Blocked: "No valid target found!" message
- ✅ Far: "No valid target found!" message
Test Scenarios:
- Item Removal During Cast: Start ability, remove Dragon Egg mid-execution
- Target Death During Cast: Kill target while lightning is striking
- Multiple Players: Multiple players use ability simultaneously
Expected Results:
- ✅ Item Removal: "Ability cancelled! Dragon Egg removed from offhand."
- ✅ Target Death: Remaining strikes stop gracefully
- ✅ Multiple Players: No interference between players
- ✅ No Crashes: Server remains stable
Monitoring Commands:
# In server console or with paper plugins:
/tps # Should be around 20
/mem # Check memory usage
# Monitor during lightning use:
# - TPS should not drop significantly
# - Memory should not spike
# - No console errorsExpected Performance:
- ✅ TPS Impact: <1% reduction during lightning strikes
- ✅ Memory: No continuous growth
- ✅ Stability: No server crashes or lag spikes
Client-Side Testing:
- Low-End Machine: Test with reduced graphics settings
- High-End Machine: Test with maximum particle effects
- Multiple Lightning: Cast ability rapidly (within cooldown)
Expected Results:
- ✅ Low-End: Lightning still visible with reduced particles
- ✅ High-End: Full visual effects render smoothly
- ✅ Rapid Use: Cooldown prevents excessive lightning
Symptoms:
/pluginsdoesn't show DragonEggLightning- Server console has errors
/ability 1shows "Unknown command"
Solutions:
# 1. Check Java version
java -version # Must be 21+
# 2. Verify JAR file location
ls -la plugins/DragonEggLightning*.jar
# 3. Check server logs
docker logs papermc-dragonegg | grep -i dragon
# 4. Restart server
docker-compose restartSymptoms:
- "Unknown command" message
- Permission denied errors
Solutions:
# 1. Check permissions
op <username> # Make player operator
# 2. Verify plugin loaded
/plugins
# 3. Check server console for errorsSymptoms:
- Command works but no visual effects
- Target doesn't take damage
- No sound effects
Solutions:
# 1. Check graphics settings
# In Minecraft: Options → Video Settings → Particles → All
# 2. Check for conflicts
# Disable other combat/particle plugins temporarily
# 3. Monitor performance
# Low FPS can cause particle lagSymptoms:
- TPS drops during lightning
- Server becomes unresponsive
- High memory usage
Solutions:
# 1. Increase JVM memory
# Edit docker-compose.yml, change MEMORYSIZE=4G
# 2. Monitor TPS
/tps # Should be 20
# 3. Check for memory leaks
# Memory should not grow continuously- Plugin loads without errors
-
/ability 1command recognized - Dragon Egg requirement enforced
- Lightning strikes appear visually
- Lightning deals correct damage
- Three strikes with correct timing
- Cooldown system works
- HUD displays cooldown timer
- Target detection accurate
- Edge cases handled gracefully
- Performance impact minimal
- No server crashes
- TPS remains stable
- Memory usage stable
- Compatible with Paper 1.21.8
- Works with multiple players
- Clear error messages
- Intuitive gameplay
- Satisfying visual effects
- Balanced gameplay
- Easy to learn
Congratulations! The plugin is working as designed.
Next Steps:
- Document any minor issues found
- Test with additional players
- Test in different game modes (survival, creative)
- Test with other plugins installed
Please document the following:
# Environment Information
- Operating System:
- Java Version:
- Minecraft Version:
- Paper Version:
# Test Results
- Which tests failed:
- Error messages received:
- Console output:
- Server logs:
# Steps to Reproduce
1.
2.
3.
# Expected vs Actual
Expected:
Actual:- Critical: Server crashes, data loss, unplayable
- Major: Core features don't work, poor performance
- Minor: Cosmetic issues, confusing messages
- Enhancement: Feature requests, optimizations
Before Reporting Issues:
- ✅ Check this troubleshooting guide
- ✅ Verify all prerequisites are met
- ✅ Test with minimal plugins
- ✅ Check server console logs
- ✅ Try restarting the server
When Reporting:
- Include complete error messages
- Provide steps to reproduce
- List your system specifications
- Mention any other plugins installed
Documentation:
- Check
README.mdfor technical details - Check
TESTING_GUIDE.mdfor comprehensive testing - Check
INSTALLATION_GUIDE.mdfor setup help
Ready to Test? Run ./test-plugin.sh or follow the manual steps above. The plugin is built and ready - now we just need to verify it works in the real Minecraft environment!
Plugin Version: 1.0.0 Last Updated: December 24, 2025 Status: Ready for real-world testing