Development and Releases
Local Build
Requirements:
- Java 25
- Maven
Build:
mvn package
Artifact:
- target/doubledoors-<version>.jar
Source Layout
- src/main/java/szabee13/doubledoors
- src/main/java/szabee13/doubledoors/config
- src/main/java/szabee13/doubledoors/listeners
- src/main/java/szabee13/doubledoors/util
- src/main/resources/config.yml
- src/main/resources/plugin.yml
Coding Rules
- Java 25 features are acceptable.
- Keep public methods documented.
- Avoid wildcard imports.
- Avoid direct block-state reads at MONITOR before scheduled delay.
Manual Test Focus
- Mirrored double door sync.
- Recursive gate/trapdoor components.
- Redstone-triggered state transitions.
- Villager open and close events.
- GriefPrevention claim boundary behavior.
- Per-player preference toggles and persistence.
Release Checklist
- Update version in pom.xml.
- Update version in src/main/resources/plugin.yml.
- Build with mvn package.
- Smoke-test on Paper 1.21.
- Create release notes under releases/v<version>/RELEASE_NOTE.md.
- Publish GitHub release with built jar.
Documentation Checklist
- Keep wiki configuration keys in sync with src/main/resources/config.yml.
- Keep command/permission docs in sync with src/main/resources/plugin.yml and command handler behavior.
- Update troubleshooting page if behavior around recursive opening or compatibility changes.