π Language / Idioma / LΓngua / Langue / Π―Π·ΡΠΊ / θ―θ¨
π¬π§ English β’
πͺπΈ EspaΓ±ol β’
π§π· PortuguΓͺs β’
π«π· FranΓ§ais β’
π·πΊ Π ΡΡΡΠΊΠΈΠΉ β’
π¨π³ δΈζ
π Tutorials β’ π Security Docs
The in-game plugin development environment for Minecraft servers.
Create, compile, and test Java plugins directly on your server. No IDE required. No Maven setup. Just code, restart, and play.
JDevTools is currently in BETA (v0.1.0)
This means:
- β Core features work and are tested
β οΈ Some bugs may exist - please report them!β οΈ Not recommended for large production servers yet- πΎ Always backup your
workspace/folder- π« No hot-reload (server restart required for changes)
- π« No debugging or autocompletion (use for learning/prototyping)
Best for: Beginners learning plugin development, rapid prototyping, small servers, and testing ideas quickly.
π¬ Need help? Open an issue on GitHub - Discord coming soon!
Traditional plugin development requires 8 steps:
- Install JDK
- Install IDE (IntelliJ/Eclipse)
- Create Maven/Gradle project
- Configure pom.xml with dependencies
- Write your code
- Run
mvn package - Copy JAR to server
- Restart server
With JDevTools, it's just 3 steps:
/jd create MyPlugin- Edit the .java file
- Restart server (auto-compiles!)
Result: 10x faster development. Perfect for beginners and rapid prototyping.
| Feature | Traditional IDE | JDevTools |
|---|---|---|
| Setup time | 30-60 minutes | 0 minutes |
| JDK installation | Required | Not needed |
| Maven/Gradle | Required | Not needed |
| Auto-compile | External tools | Built-in |
| Security scanning | Manual | Automatic |
| Learning curve | Steep | Minimal |
| Autocompletion | β Yes | β No |
| Debugging | β Yes | β No |
| Best for | Production plugins | Learning & prototyping |
When to use JDevTools: Learning, prototyping, small plugins, testing ideas
When to use a traditional IDE: Large projects, production plugins, complex debugging
- Download the JAR file above
- Drop it in your server's
plugins/folder - Restart your server
- β
You should see
[JDevTools] Plugin enabled!in console
/jd create HelloWorldThat's it! A working plugin is now in plugins/JDevTools/workspace/HelloWorld/
- Open
workspace/HelloWorld/src/dev/project/HelloWorld.java - Make your changes
- Restart the server
- Your plugin is automatically compiled and loaded!
π Want more examples? Check out our Tutorials
package dev.project;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
public class HelloWorld extends JavaPlugin implements Listener {
@Override
public void onEnable() {
// Register this class to listen for events
getServer().getPluginManager().registerEvents(this, this);
getLogger().info("HelloWorld enabled!");
}
@EventHandler
public void onJoin(PlayerJoinEvent event) {
// Send a welcome message when a player joins
event.getPlayer().sendMessage("Β§aWelcome, " + event.getPlayer().getName() + "!");
}
}| Feature | Description |
|---|---|
| Auto-Compile on Startup | Write Java code, restart server, plugin compiles automatically |
| Zero Configuration | No JDK installation, no IDE, no Maven required |
| In-Game GUI | Visual project manager with color-coded status |
| 6 Languages | π¬π§ πͺπΈ π§π· π«π· π·πΊ π¨π³ Full multi-language support |
| Dependency Management | Auto-download from Maven Central, JitPack, PaperMC |
| Export System | Export as production JAR or source ZIP |
| Live Logging | Stream plugin logs directly to chat |
| Event Inspector | Debug event listeners in real-time |
| Built-in Security | Blocks dangerous code patterns automatically |
| Command | Description | Permission |
|---|---|---|
/jd create <name> [author] |
Create a new plugin project | jdevtools.create |
/jd list |
List all projects in workspace | jdevtools.create |
/jd info <project> |
Show project details and status | jdevtools.create |
/jd delete <project> |
Delete a project permanently | jdevtools.create |
/jd export jar <project> |
Export as production-ready JAR | jdevtools.export |
/jd export zip <project> |
Export source code as ZIP | jdevtools.export |
/jd gui |
Open visual project manager | jdevtools.gui |
/jd log error <plugin> |
View compilation errors | jdevtools.log |
/jd log live <plugin> |
Toggle live log streaming to chat | jdevtools.log |
/jd events <event|plugin> |
Inspect event listeners | jdevtools.events |
/jd security <project> |
View security scan report | jdevtools.security.view |
/jd reload |
Reload JDevTools configuration | jdevtools.reload |
/jd help |
Show help message | - |
Open with /jd gui - A visual inventory-based project manager.
| Color | Meaning |
|---|---|
| π’ Green | Compiled successfully |
| π‘ Yellow | Not compiled yet |
| π΄ Red | Compilation error |
- Left Click β Export as JAR
- Shift + Left Click β Delete project (with confirmation)
Edit dependencies.yml in your project folder:
# Custom repositories (optional)
repositories:
- "https://jitpack.io/"
- "https://repo.papermc.io/repository/maven-public/"
# Dependencies (Maven format: groupId:artifactId:version)
dependencies:
- "org.apache.commons:commons-lang3:3.12.0"
- "com.google.code.gson:gson:2.10.1"
- "com.github.User:Repo:Tag" # JitPack formatDependencies are automatically:
- Downloaded from repositories
- Scanned for security vulnerabilities
- Packaged into your plugin JAR
JDevTools supports 6 languages out of the box:
| Flag | Language | Code |
|---|---|---|
| π¬π§ | English | en |
| πͺπΈ | EspaΓ±ol (Spanish) | es |
| π§π· | PortuguΓͺs (Portuguese) | pt |
| π«π· | FranΓ§ais (French) | fr |
| π·πΊ | Π ΡΡΡΠΊΠΈΠΉ (Russian) | ru |
| π¨π³ | δΈζ (Chinese) | zh |
# In config.yml
language: es # Options: en, es, pt, fr, ru, zhAll messages, GUI texts, and error messages are fully translated.
plugins/JDevTools/
βββ workspace/ # Your projects
β βββ MyPlugin/
β βββ src/
β β βββ dev/project/
β β βββ MyPlugin.java
β βββ plugin.yml # Auto-generated
β βββ dependencies.yml # Your dependencies
βββ generated/ # Compiled JARs
β βββ MyPlugin.jar
βββ config.yml # Main configuration
βββ lang/ # Language files
# Development mode (true = all features, false = export only)
development-mode: true
# Language: en, es, pt, fr, ru, zh
language: en
# Security settings
security:
safe-mode: true # Block dangerous code
console-warnings: true # Show warnings in console
# Anonymous metrics (bStats)
bstats-enabled: true- Server: Paper 1.17-1.21 (recommended) or Spigot 1.17-1.21
- Java: 17 or higher (included with your server)
- RAM: ~50MB additional for compiler
- Network: Required for downloading dependencies
Do I need to install Java/JDK?
No! JDevTools uses the Java runtime that comes with your Minecraft server. If your server runs, JDevTools will compile.
Is this plugin free?
Yes! JDevTools is 100% free and open source under GPL v3. You can donate on Ko-fi if you want to support development.
Can I use this in production?
JDevTools is primarily designed for development and learning. For production servers, we recommend exporting your plugin with /jd export jar and using it as a standalone JAR.
What if compilation fails?
Use /jd log error <project> to see detailed error messages. Common issues:
- Syntax errors in your Java code
- Missing imports
- Security scanner blocked dangerous code
Can I use multiple Java files?
Yes! Put all your .java files in the src/ folder and they'll all be compiled together.
How do I export my plugin?
Use /jd export jar <project> to create a production-ready JAR in the generated/ folder. You can then use this JAR on any server.
Is the security scanner safe?
Yes! The security scanner analyzes code before compilation and blocks dangerous patterns like shell commands, malicious network calls, and code injection. This protects your server from malicious code.
How do I change the language?
Edit config.yml and set language: es (or en, pt, fr, ru, zh). All 6 languages have 100% translation coverage.
JDevTools includes a built-in security scanner to protect your server.
- β Blocks dangerous code - Prevents shell commands, malware, and exploits
- β Scans dependencies - Checks libraries for known vulnerabilities
- β Warns about risky patterns - Alerts you to potentially unsafe code
Configure in config.yml:
| Level | Description |
|---|---|
PARANOID |
Maximum security - blocks almost everything suspicious |
STRICT |
High security - blocks known dangerous patterns |
MODERATE |
Balanced (default) - blocks critical, warns on suspicious |
PERMISSIVE |
Minimal - only warns, doesn't block |
For advanced security configuration, see Security Documentation.
Found a security issue? Please report it privately:
- Discord: zkazen
- GitHub: Open a Security Advisory
Please do NOT open public issues for security vulnerabilities.
JDevTools uses bStats for anonymous statistics to help improve the plugin.
| β Collected | β NOT Collected |
|---|---|
| Server version | Player names |
| Plugin version | Your code |
| Java version | Server IP |
| Player count (range) | Personal info |
Opt-out: Set bstats-enabled: false in config.yml
- Discord: Coming soon!
- Issues: GitHub Issues
- SpigotMC: Resource Page
JDevTools is 100% free and always will be. If you find it useful, consider supporting development!
Your support helps with:
- π New features and improvements
- π Bug fixes and maintenance
- π More language translations
Can't donate? Giving a β star on GitHub also helps a lot!
Contributions are welcome! See CONTRIBUTING.md for guidelines.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes
- Push to the branch
- Open a Pull Request
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Kazen - Creator and maintainer
- GitHub: @KazenDev
- SpigotMC: EucalyptusZen