Skip to content

KazenDev/JDevTools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

JDevTools

🌍 Language / Idioma / LΓ­ngua / Langue / Π―Π·Ρ‹ΠΊ / 语言
πŸ‡¬πŸ‡§ English β€’ πŸ‡ͺπŸ‡Έ EspaΓ±ol β€’ πŸ‡§πŸ‡· PortuguΓͺs β€’ πŸ‡«πŸ‡· FranΓ§ais β€’ πŸ‡·πŸ‡Ί Русский β€’ πŸ‡¨πŸ‡³ δΈ­ζ–‡

πŸ“š Tutorials β€’ πŸ“– Security Docs


πŸ“‘ Table of Contents


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.

Download GitHub Stars License: GPL v3

Minecraft Java Languages Discord


⚠️ BETA Version - Important Notice

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!


πŸš€ Why JDevTools?

Traditional plugin development requires 8 steps:

  1. Install JDK
  2. Install IDE (IntelliJ/Eclipse)
  3. Create Maven/Gradle project
  4. Configure pom.xml with dependencies
  5. Write your code
  6. Run mvn package
  7. Copy JAR to server
  8. Restart server

With JDevTools, it's just 3 steps:

  1. /jd create MyPlugin
  2. Edit the .java file
  3. Restart server (auto-compiles!)

Result: 10x faster development. Perfect for beginners and rapid prototyping.


πŸ“Š Comparison

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


πŸ“¦ Quick Start

Step 1: Download & Install

Download JDevTools

  1. Download the JAR file above
  2. Drop it in your server's plugins/ folder
  3. Restart your server
  4. βœ… You should see [JDevTools] Plugin enabled! in console

Step 2: Create Your First Plugin

/jd create HelloWorld

That's it! A working plugin is now in plugins/JDevTools/workspace/HelloWorld/

Step 3: Edit and Test

  1. Open workspace/HelloWorld/src/dev/project/HelloWorld.java
  2. Make your changes
  3. Restart the server
  4. Your plugin is automatically compiled and loaded!

πŸ“š Want more examples? Check out our Tutorials

Example Plugin

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() + "!");
    }
}

✨ Features

Core Features

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

πŸ’» Commands

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 -

πŸ–₯️ In-Game GUI

Open with /jd gui - A visual inventory-based project manager.

Status Colors

Color Meaning
🟒 Green Compiled successfully
🟑 Yellow Not compiled yet
πŸ”΄ Red Compilation error

Actions

  • Left Click β†’ Export as JAR
  • Shift + Left Click β†’ Delete project (with confirmation)

πŸ“₯ Adding Dependencies

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 format

Dependencies are automatically:

  1. Downloaded from repositories
  2. Scanned for security vulnerabilities
  3. Packaged into your plugin JAR

🌍 Multi-Language Support

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

Change Language

# In config.yml
language: es  # Options: en, es, pt, fr, ru, zh

All messages, GUI texts, and error messages are fully translated.


βš™οΈ Configuration

Project Structure

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

config.yml

# 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

Requirements

  • 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

❓ FAQ

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.


πŸ”’ Security System

JDevTools includes a built-in security scanner to protect your server.

What it does (in simple terms):

  • βœ… 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

Security Levels

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.

Report Vulnerabilities

Found a security issue? Please report it privately:

Please do NOT open public issues for security vulnerabilities.


πŸ“ˆ Stats & Metrics

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

bStats


πŸ’¬ Community & Support


β˜• Support the Project

JDevTools is 100% free and always will be. If you find it useful, consider supporting development!

ko-fi

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!


🀝 Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

πŸ“œ License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.


πŸ‘€ Author

Kazen - Creator and maintainer


Made with ❀️ for the Minecraft community

Download

About

In-game plugin development for Minecraft servers. Create, compile, and test Java plugins without IDE or Maven setup.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages