What Is Minecraft Java Edition and How Does It Differ From Bedrock Edition?
Updated
Minecraft Java Edition is the original PC version of Minecraft, written in Java and distributed through the official Minecraft launcher on Windows, macOS, and Linux. It is the edition that supports the widest range of community mods, server plugins, and third-party server software. If you want to run a heavily modded world, join a plugin-driven multiplayer server, or use protocol translation tools like ViaVersion, Java Edition is the edition you need. Bedrock Edition, by contrast, is the cross-platform edition built for consoles, mobile, and Windows, and it does not run Java mods or plugins.
Java Edition vs Bedrock Edition at a glance
| Dimension | Java Edition | Bedrock Edition |
|---|---|---|
| Platforms | Windows, macOS, Linux (desktop) | Windows, consoles, mobile, and more |
| Modding | Large ecosystem of Java mods (Forge, Fabric, etc.) | Add-ons and marketplace content, different model |
| Server plugins | Yes — server software supports plugins | Different server model, not Java plugins |
| Cross-play | Not natively with Bedrock | Designed for cross-platform play |
| Version behavior | Each release is a distinct protocol version | Updates roll out across platforms |
The practical takeaway: Java Edition and Bedrock Edition are separate products with separate multiplayer ecosystems. A Java server and a Bedrock server are not the same thing, and content built for one generally does not run on the other.
How Java Edition versions work
Java Edition is released as a series of versions (for example, 1.8, 1.16, 1.20, and so on). Each version speaks a particular network protocol — the set of rules clients and servers use to exchange packets. When Mojang changes that protocol in an update, a client on one version and a server on another version can no longer talk to each other by default.
This is why servers often run an older or newer version than the one a player has installed. A server may stay on an older version because its plugins are not yet updated, while players have already updated their clients. Without help, those players cannot connect.
Why version differences block players
The core problem is protocol mismatch. A client sends packets in the format its version expects; a server reads packets in the format its version expects. If the two versions disagree on packet structure, the connection fails or behaves incorrectly.
Protocol translation tools solve this by sitting between the client and server and converting packets from one version's format to another. ViaVersion is one such project. According to the ViaVersion Project site, its projects "allow you to connect with various Minecraft versions" and support "all common platforms and our own standalone proxy to join from basically any client version on any server version from the past decade." The project was founded in 2016 by FormallyMyles and has been maintained by a team of developers since.
What this means for choosing Java Edition
Choose Java Edition if any of the following apply to you:
- You want to install mods from the Java modding ecosystem.
- You want to run or join a server that uses plugins.
- You want to use protocol translation so players on different versions can connect.
- You are on desktop (Windows, macOS, or Linux) and want the version most community tooling targets.
Choose Bedrock Edition if you mainly want to play across consoles, mobile, and Windows with built-in cross-play, and you do not need Java mods or plugins.
Getting started with a version-flexible Java server
If your goal is to let players on different Java versions join the same server, the general path is:
- Set up a Java Edition server on the version you want to run.
- Install a protocol translation plugin or proxy that matches your server platform.
- Have players connect with their own client versions.
- Verify by joining from at least two different client versions and confirming both can play.
The ViaVersion Project provides an installation guide and a Quick Start entry point on its site, along with downloads, setup documentation, and a community Discord for support. It also lists ways to contribute, including opening a pull request, donating services, and contributing through its GitHub page.
Common sticking points
- Edition mismatch: A Bedrock client cannot join a Java server through Java protocol translation alone; the editions are separate.
- Plugin compatibility: A server pinned to an older version may not support the newest plugins, which is often why it stays behind.
- Proxy vs plugin: Translation can run as a server plugin or as a standalone proxy; the right choice depends on your server setup.
- Version range: Translation covers a broad range of versions, but you should confirm the specific versions you need are supported before committing.
For most players who want mods, plugins, and flexible version support, Java Edition is the edition to build around.