Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Minecraft-Community-Edition/client/llms.txt

Use this file to discover all available pages before exploring further.

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