Skip to main content
Minecraft Community Edition supports six major gaming platforms through a unified codebase with platform-specific optimizations. The game uses a shared core with platform abstraction layers to maximize code reuse while leveraging platform-specific features.

Supported Platforms

Windows 64-bit

Desktop platform with DirectX 11 rendering and keyboard/mouse support

Xbox 360

Legacy Xbox console with XUI interface and Xbox Live integration

Xbox One

Durango platform with enhanced graphics and cloud features

PlayStation 3

PS3 with SPU optimization and PlayStation Network

PlayStation 4

Orbis platform with modern rendering capabilities

PS Vita

Handheld platform with touch controls and ad-hoc networking

Build Targets

The main solution file MinecraftConsoles.sln defines build configurations for all platforms:

Platforms

  • Windows64 - 64-bit Windows desktop (x64)
  • Xbox 360 - Xbox 360 console
  • Durango - Xbox One (codename Durango)
  • PS3 - PlayStation 3
  • ORBIS - PlayStation 4 (codename Orbis)
  • PSVita - PlayStation Vita

Build Configurations

ConfigurationPurpose
DebugDevelopment builds with full debugging symbols
ReleaseOptimized builds for final deployment
ReleaseForArtSpecialized builds for asset pipeline testing
ContentPackagePackaging builds for content distribution
ContentPackage_NO_TUPackaging without title updates
CONTENTPACKAGE_SYMBOLSPackaging with debug symbols
Reference: MinecraftConsoles.sln:12-49

Platform Abstraction Strategy

The codebase uses several abstraction techniques to maintain cross-platform compatibility:

Shared Code Architecture

Minecraft.World/          # Platform-agnostic game logic
  ├── Level.h/cpp         # World management
  ├── Tile.h/cpp          # Block definitions
  ├── Entity.h/cpp        # Entity system
  └── Recipes.h/cpp       # Crafting system

Minecraft.Client/         # Platform-specific implementations
  ├── Common/             # Shared client code
  ├── Windows64/          # Windows-specific
  ├── Xbox/               # Xbox 360-specific
  ├── Durango/            # Xbox One-specific
  ├── PS3/                # PS3-specific
  ├── Orbis/              # PS4-specific
  └── PSVita/             # Vita-specific

Platform-Specific Directories

Each platform directory contains:
  • App Layer - Platform initialization and lifecycle management
  • Network Layer - Platform network APIs (Xbox Live, PSN, etc.)
  • UI Controller - Platform-specific UI rendering
  • Input Handling - Controller, keyboard, or touch input
  • Storage - Save game and settings management
  • Social Features - Achievements, leaderboards, friends

Network Abstraction

The networking layer uses platform-specific managers that implement a common interface:
PlatformNetwork ManagerTechnology
Xbox 360PlatformNetworkManagerXboxQNET
Xbox OnePlatformNetworkManagerDurangoDQRNetworkManager
PlayStationPlatformNetworkManagerSonySQRNetworkManager
WindowsPlatformNetworkManagerStubWinsock
Reference: Minecraft.Client/*/Network/

Common Macros and Definitions

All platforms share common macro definitions for data packing and game state management:

Slot Display Bitmasks

// 3 bit user index, 5 bits alpha, 1 bit decoration,
// 3 bits poptime, 6 bits count, 6 bits scale
#define MAKE_SLOTDISPLAY_DATA_BITMASK(uiUserIndex, uiAlpha, bDecorations, uiCount, uiScale, uiPopTime)

// 16 bits for id, 15 bits for aux value, 1 bit for foil
#define MAKE_SLOTDISPLAY_ITEM_BITMASK(uiId, uiAuxValue, bFoil)

Skin Selection Encoding

// Encode player skin selection (DLC vs custom)
#define MAKE_SKIN_BITMASK(bDlcSkin, dwSkinId)
#define GET_IS_DLC_SKIN_FROM_BITMASK(uiBitmask)
Reference: Minecraft.Client/*/Minecraft_Macros.h

Platform-Specific Features

  • DirectX 11 rendering pipeline
  • Keyboard and mouse input
  • HTTP-based storage for dev/testing
  • Winsock networking
  • Xbox Live integration (QNET for 360, DQR for One)
  • XUI interface system
  • Achievement and leaderboard support
  • Voice chat and party system
  • Cloud save synchronization (Xbox One)
  • PlayStation Network integration
  • SPU optimization (PS3 only)
  • Trophy support
  • Cross-save between PS3/PS4/Vita
  • Ad-hoc networking (Vita)

Memory and Performance

Each platform has unique constraints:
PlatformMain RAMVideo RAMCPU Architecture
Windows 64System-dependentGPU-dependentx64
Xbox 360512 MB shared-PowerPC tri-core
Xbox One8 GB (5 GB available)Sharedx64 8-core
PS3256 MB + 256 MB VRAM256 MBCell (PPU + 6 SPUs)
PS48 GB sharedSharedx64 8-core
PS Vita512 MB sharedSharedARM quad-core

Build Dependencies

The solution contains two main projects:
  1. Minecraft.World - Platform-independent game logic library
  2. Minecraft.Client - Platform-specific client (depends on Minecraft.World)
Reference: MinecraftConsoles.sln:4-10

Getting Started

Select your target platform to learn about specific build requirements and features:

Windows Development

Set up Windows 64-bit development environment

Xbox Development

Xbox 360 and Xbox One build configuration

PlayStation Development

PS3 and PS4 platform setup

PS Vita Development

Handheld platform optimization

Build docs developers (and LLMs) love