Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
293 commits
Select commit Hold shift + click to select a range
0d4b39e
Multiplayer F3 Heap Corruption Bugfix (#194)
BrentDaMage Sep 30, 2025
861fc9d
Tile Cleanup (#195)
BrentDaMage Oct 1, 2025
d909f76
Fix LevelChunk::setData() not returning a value
BrentDaMage Oct 3, 2025
f874d71
Fixed in-game GUI buttons not working for touch (#196)
BrentDaMage Oct 12, 2025
034ca1c
Network Protocol V3 Support (#197)
BrentDaMage Oct 29, 2025
be4dec3
General Cleanup (#199)
BrentDaMage Oct 30, 2025
06a468e
Add missing level checks to ClientSideNetworkHandler (#201)
bluepilledgreat Nov 26, 2025
4564cbd
Fix crash when removing the oldest chat message (#202)
bluepilledgreat Nov 26, 2025
bc5e9e2
Fix entity's chunk Y-coordinate not updating (#205)
bluepilledgreat Nov 30, 2025
8999327
Add text pasting support (#204)
bluepilledgreat Nov 30, 2025
6fcfb44
Fix missing onTextBoxUpdated call in pasteText (#206)
bluepilledgreat Nov 30, 2025
528f926
Fix bad ToChunkCoordinate (#207)
bluepilledgreat Nov 30, 2025
d81ac0f
Add CMake build for iOS (#208)
Un1q32 Dec 5, 2025
4fdf77e
fix (#210)
Un1q32 Dec 6, 2025
4fbc54e
Fix typo (#211)
Un1q32 Dec 6, 2025
d47346d
CMake always use C++98 (#212)
Un1q32 Dec 6, 2025
d722c84
Rendering Abstraction Layer (HAL) (#209)
BrentDaMage Dec 7, 2025
20426e3
Link stb_image on iOS CMake (#216)
Un1q32 Dec 7, 2025
c8274d5
Fix compiler warns about abs (#215)
Un1q32 Dec 7, 2025
9f9330f
Fix build IPA script (#217)
Un1q32 Dec 7, 2025
ba34a27
Fixed app suspension (#218)
BrentDaMage Dec 7, 2025
0519827
Minor HAL bugfixes (#219)
BrentDaMage Dec 7, 2025
a558e76
Instability & graphical bugfixes (#223)
BrentDaMage Dec 7, 2025
8c349b2
Font fallback with default.png (#225)
Un1q32 Dec 10, 2025
99ca4d8
Improvements to the iOS build process (#222)
Un1q32 Dec 10, 2025
25d6ee7
Improve reliability of platform macros (#224)
Un1q32 Dec 10, 2025
5a33e48
Fix platform macros (#227)
Un1q32 Dec 10, 2025
78d97fb
GLSL Shaders (#228)
BrentDaMage Dec 11, 2025
f5255bf
Fixed shaders for GLES 2 (#229)
BrentDaMage Dec 12, 2025
12e3c9c
Remove out-of-place artifact from README.md section (#220)
ljcool2006 Dec 12, 2025
a37bc38
Always disable LTO on iOS debug builds (#230)
Un1q32 Dec 13, 2025
8088829
Update iOS Min Version in README (#231)
Un1q32 Dec 13, 2025
bec1b98
Updated README.md
BrentDaMage Dec 17, 2025
ae335e9
Use cctools-port lipo for iOS build instead of llvm-lipo (#234)
Un1q32 Dec 18, 2025
8432a29
Basic iOS build documentation (#233)
Un1q32 Dec 18, 2025
51e8d56
Fixed crash on old iOS versions when using libstdc++ (#236)
Un1q32 Dec 19, 2025
e0ba0db
Fixed Lag in HAL Shaders (#235)
rep-stosd Dec 20, 2025
61eb084
Cache iOS SDK (#238)
Un1q32 Dec 23, 2025
f3d417e
Fixed Undefined Behaviors (#240)
Un1q32 Dec 28, 2025
41cb51b
GUI Improvements (#226)
Vimd0 Dec 31, 2025
16a4e95
Direct3D11 Renderer (#244)
BrentDaMage Jan 4, 2026
afbaf28
Fixed rendering bugs from bad merge (#245)
BrentDaMage Jan 4, 2026
f7dfb02
Make ore and plant generation a bit more accurate (#241)
ljcool2006 Jan 4, 2026
1e6b420
Crash fix on iOS when shaders are enabled (#246)
Un1q32 Jan 4, 2026
72104a2
Fixed Compiler Warnings (#239)
Un1q32 Jan 4, 2026
93274c2
Fixed warnings and building with Clang on Windows (#247)
BrentDaMage Jan 4, 2026
dc84a54
Fixed Building on Xcode 3 (#243)
Un1q32 Jan 5, 2026
1b131a1
Fixed more compiler warns (#248)
Un1q32 Jan 5, 2026
1983166
CMake Cleanup (#249)
BrentDaMage Jan 5, 2026
4181761
Fixed building on MSVC (#250)
BrentDaMage Jan 5, 2026
8502eb9
Support building for C++98 on GLIBC using a vsnprintf wrapper. (#242)
Un1q32 Jan 5, 2026
558aada
Fixed linking on MSVC (#251)
BrentDaMage Jan 5, 2026
44ab546
Networking macro toggle (#252)
BrentDaMage Jan 5, 2026
7706d6f
Cache iOS cctools-port Build (#254)
Un1q32 Jan 6, 2026
493f2db
WIP Xbox 360 Support (#255)
BrentDaMage Jan 8, 2026
c636703
Updated ZLib (#256)
Un1q32 Jan 8, 2026
1ee6f49
ZLib MSVC Build Fix (#257)
Un1q32 Jan 10, 2026
abe572b
More compiler warns (#253)
Un1q32 Jan 10, 2026
3884caa
Fix item stacking logic in addItem function (#262)
danqzq Jan 11, 2026
9858631
Added m_fAlpha Field for Buttons (#259)
Vimd0 Jan 11, 2026
0e518fa
Added newlines to source files (#258)
Un1q32 Jan 11, 2026
560942e
Fixed incorrect free operator use (#270)
Un1q32 Jan 12, 2026
b970e5c
Initialize FireTexture array (#271)
Un1q32 Jan 14, 2026
4c38510
-pedantic warns (#268)
Un1q32 Jan 14, 2026
0c1a77a
Added Credits Screen (#260)
Un1q32 Jan 14, 2026
46df91c
Xbox 360 Support (#273)
BrentDaMage Jan 15, 2026
af928c0
Update platform support details in README
BrentDaMage Jan 15, 2026
857b992
Fix credits when credits.txt is DOS format. (#278)
Un1q32 Jan 15, 2026
4e631a2
Removed vsnprintf Workaround (#280)
Un1q32 Jan 15, 2026
fde77ae
Added Support for Platform-specific Titles (#281)
BrentDaMage Jan 16, 2026
96ab928
Fixed duplicate OGG data in memory (#282)
BrentDaMage Jan 16, 2026
addf49c
Fixed uninitialized pointer in StartMenuScreen (#283)
BrentDaMage Jan 16, 2026
9f03b14
Better Controller Navigation for GUIs (#284)
BrentDaMage Jan 19, 2026
827239c
Fix OpenGL Performance on macOS ARM64 (#277)
Un1q32 Jan 19, 2026
0f1f3a5
Fixed onGraphicsReset & onAppSuspended StartMenu Crash (#287)
BrentDaMage Jan 19, 2026
805692b
Fixed a bug in BufferD3DX::updateBuffer functions (#288)
BrentDaMage Jan 19, 2026
fd5c902
Fixed TntRenderer Crash (#289)
Un1q32 Jan 23, 2026
26f0650
Fixed Vertex Data Corruption on Xbox 360 (#291)
BrentDaMage Jan 23, 2026
857c3ed
Use constant CI versions instead of -lastest (#294)
Un1q32 Jan 24, 2026
cdd977b
Used size_t when available (#286)
Un1q32 Jan 24, 2026
bb2daa7
Added XAudio2 Support (#298)
BrentDaMage Jan 25, 2026
dccfbcf
Nintendo Switch Support (#295)
Bagietas Jan 26, 2026
d5a3c0b
Added Missing Overrides (#301)
Un1q32 Jan 27, 2026
de5464e
Added Resource Packs(#276)
Un1q32 Jan 27, 2026
f1f22d5
Container Logic (#290)
Wilyicaro Jan 27, 2026
6e86c97
Added controller scrolling for GUIs (#306)
BrentDaMage Jan 28, 2026
4ff3c16
Added water overlay (#307)
BrentDaMage Jan 28, 2026
f00596b
DirectSound Streaming (#302)
Wilyicaro Jan 28, 2026
6ccd0d4
Container UI (#308)
Wilyicaro Jan 29, 2026
900ba96
Fixed Door Lighting (#309)
samdotjpg Jan 30, 2026
4432a15
Added options saving support for Xbox 360 (#311)
BrentDaMage Jan 30, 2026
f4065d8
Removed reliance on tripod texture in terrain.png for camera (#312)
BrentDaMage Jan 30, 2026
7eee091
Xbox 360 Project Cleanup (#313)
BrentDaMage Jan 30, 2026
41e68cd
Fixed bad fabs usage in CCRakNetSlidingWindow (#317)
BrentDaMage Jan 31, 2026
2df178d
CI Updates (#319)
Un1q32 Jan 31, 2026
3af6200
Fixed Android Warns (#318)
Un1q32 Jan 31, 2026
1702201
Fixed Item Rendering Issues (#320)
BrentDaMage Jan 31, 2026
b51a2a2
Pickaxe, Hatchet, & Shovel (#314)
samdotjpg Feb 1, 2026
7ecf4a9
Added missing files to VS project (#321)
BrentDaMage Feb 1, 2026
9b4ddcf
fix credits breaking when window is resized (#315)
Un1q32 Feb 1, 2026
61a1d8f
Support For b1.7.3 Assets (#310)
Vimd0 Feb 1, 2026
6b69b4e
fix compile error with gcc 15 (#322)
Un1q32 Feb 1, 2026
216f370
Added support for built-in resource packs (#323)
BrentDaMage Feb 1, 2026
e3a1c66
Copyright-Free Assets (#296)
Un1q32 Feb 1, 2026
53039e2
Fixed Camera Texture & Item IDs (#324)
Un1q32 Feb 1, 2026
6910b0e
Fix missing overrides (#325)
Un1q32 Feb 1, 2026
90c66b6
CI Artifacts (#326)
Un1q32 Feb 1, 2026
6525149
Color reset when rendering outline selection (#331)
samdotjpg Feb 2, 2026
439fbdc
fix not including unstripped executable in windows artifacts (#336)
Un1q32 Feb 2, 2026
834279a
fix switch artifact folder structure (#340)
Un1q32 Feb 2, 2026
c990f7d
just only provide unstripped binaries (#341)
Un1q32 Feb 2, 2026
92a50eb
Added inventory.png (#333)
Un1q32 Feb 3, 2026
cb601de
Network Protocol V4 (#344)
BrentDaMage Feb 3, 2026
12d4ef8
Support ccache in GitHub Actions (#345)
Un1q32 Feb 3, 2026
9edf9e9
ci nits (#346)
Un1q32 Feb 3, 2026
b7a6b3d
Crafting (#334)
Wilyicaro Feb 3, 2026
0b4ce09
Close inventory by pressing E (#356)
samdotjpg Feb 3, 2026
0d3ddc8
World Saving I/O Error Handling (#351)
Un1q32 Feb 3, 2026
177b3c4
Fixed sheep wool drop (#358)
BrentDaMage Feb 3, 2026
6d417c2
Added all the container UI textures (#349)
Un1q32 Feb 3, 2026
3a10826
Sword and Bow (#350)
samdotjpg Feb 4, 2026
fda5364
Use logf instead of log in Random::nextGaussian (#369)
Un1q32 Feb 5, 2026
bb925aa
Build artifacts with LTO when possible (#370)
Un1q32 Feb 5, 2026
fc12baa
Drop contents of bush type tiles when broken (#352)
samdotjpg Feb 5, 2026
09de424
Network Protocol V5 (#375)
BrentDaMage Feb 5, 2026
772d867
Updated VS Project (#377)
BrentDaMage Feb 5, 2026
dcb8127
Added Icon for MinGW Win32 (#368)
Un1q32 Feb 5, 2026
cbd485c
Added release publish workflow (#362)
Un1q32 Feb 5, 2026
9f006cf
Swords should be tools (#371)
samdotjpg Feb 5, 2026
a1a3f81
Linux shader artifacts (#376)
Un1q32 Feb 5, 2026
ef5fb29
Updated Version Number to 0.3.2 (#380)
BrentDaMage Feb 5, 2026
f989560
Fix msvc build after #368 (#387)
Un1q32 Feb 5, 2026
8c29d3f
Remove some new null checks and throw a bad_alloc exception for a mal…
Un1q32 Feb 5, 2026
c20e725
iOS incremental builds (#386)
Un1q32 Feb 6, 2026
9d558c2
Fixed Item/Entity Shaders (#390)
BrentDaMage Feb 6, 2026
9742496
Dyes & Mob Interactions (#385)
samdotjpg Feb 6, 2026
fe26355
MSVC in CI (#393)
Un1q32 Feb 6, 2026
cbad124
Fixed item-overlay appearence when using shaders (#394)
BrentDaMage Feb 6, 2026
cd19e31
Set shader parameters for item always (#396)
BrentDaMage Feb 6, 2026
51edf47
iOS: delete old builds when build settings change (#395)
Un1q32 Feb 6, 2026
366ed74
Android APK Signing (#407)
Un1q32 Feb 6, 2026
c165dbd
Add touch interaction with entities (#408)
Vimd0 Feb 7, 2026
fb39509
Touchscreen hearts rendering order fix (#415)
samdotjpg Feb 7, 2026
2929d82
GLES lighting fix (#416)
samdotjpg Feb 8, 2026
2b78a8a
Made Options Save Asynchronously + Fixed Music Bugs (#411)
BrentDaMage Feb 8, 2026
c46fc92
macOS universal artifact part 1 (#417)
Un1q32 Feb 8, 2026
e3f1576
Option Instances (and GuiElement Improvements) (#409)
Wilyicaro Feb 8, 2026
bfa2129
Don't cache the macOS artifact (#418)
Un1q32 Feb 8, 2026
1a48b73
Fix macOS build caching (#422)
Un1q32 Feb 8, 2026
f3797b5
make view bobbing default to on (#423)
Un1q32 Feb 8, 2026
008d8e3
Added on-screen keyboard support for Xbox 360 (#427)
BrentDaMage Feb 9, 2026
357bcd7
Fixed lack of onTextBoxUpdated call when setting text of TextBox dire…
BrentDaMage Feb 9, 2026
1bce7bf
Updated SDL2 Submodule (#429)
Un1q32 Feb 9, 2026
7be9d0c
Normal Flying (#421)
samdotjpg Feb 9, 2026
c5441bb
Skip APK signing step if ANDROID_KEYSTORE secret isn't set (#430)
Un1q32 Feb 9, 2026
9914d61
update grass side snow (#433)
Un1q32 Feb 9, 2026
c9f1220
Mob Spawning (#435)
samdotjpg Feb 10, 2026
6aedd82
Food (#438)
samdotjpg Feb 10, 2026
d10b021
Fixed block overlay rendering issues (#445)
BrentDaMage Feb 11, 2026
c0d4cd0
Armor and Farming (#444)
samdotjpg Feb 11, 2026
cc3acab
macOS universal artifact part 2; i386 Tiger (#439)
Un1q32 Feb 12, 2026
26924b6
Fixed Crops Being Invisible (#452)
BrentDaMage Feb 12, 2026
9750a3f
Game Mode Switcher on World Creation Screen (#446)
samdotjpg Feb 12, 2026
a87b4cc
Fixed bad ClientSideNetworkHandler::areAllChunksLoaded() logic (#454)
BrentDaMage Feb 12, 2026
d13b84b
Fixed network tile desync issues (#455)
BrentDaMage Feb 12, 2026
95726c7
Fixed Skeletons Having a Fat Left Leg (#458)
samdotjpg Feb 13, 2026
fbed941
Touch Button Improvements (#437)
Vimd0 Feb 13, 2026
2957fd4
Fixed Xbox 360 Networking (#459)
BrentDaMage Feb 13, 2026
92d7451
Fixed Crash (#460)
BrentDaMage Feb 13, 2026
b14c543
Fixed options GUI scaling (#461)
BrentDaMage Feb 13, 2026
60a2f4e
Update README with beta assets usage instructions
BrentDaMage Feb 13, 2026
38191b8
Updated Minecraft resource pack handling (#462)
BrentDaMage Feb 13, 2026
8c55da4
macOS build script fixes (#466)
Un1q32 Feb 14, 2026
0df0aef
disable linux 32 bit builds for now (#467)
Un1q32 Feb 14, 2026
6c18d26
Legacy Console Edition UI Theme (#316)
Wilyicaro Feb 15, 2026
3ae8ac7
Minor future level storage version compat (#469)
BrentDaMage Feb 15, 2026
726daf5
flip half armor icon (#476)
Un1q32 Feb 15, 2026
be5d51e
Fixed mismatched ImageData allocs (#475)
Un1q32 Feb 15, 2026
155e73d
update switch workflow (#479)
Un1q32 Feb 16, 2026
92d87ca
Network Protocol V6 (#472)
BrentDaMage Feb 17, 2026
884567b
Added grasscolor.png (#486)
Un1q32 Feb 18, 2026
0b8e1b5
Chat & Pause buttons for touch screens (#485)
Vimd0 Feb 18, 2026
dafd4c7
Fixes in macOS artifact build (#491)
Un1q32 Feb 18, 2026
6bb6981
Xbox 360 / Console Bug Fixes (#492)
BrentDaMage Feb 19, 2026
cff514f
Fixed Xbox 360 Hanging on Startup (#493)
BrentDaMage Feb 20, 2026
ec29651
Mipmap Icons for Android (#488)
Vimd0 Feb 20, 2026
f4c30ac
Restored Unused Camera Flash Texture (#494)
Vimd0 Feb 20, 2026
b7aafe0
Fix default UI theme, also fix Minecraft::isTouchscreen always being …
Un1q32 Feb 21, 2026
343edc5
Android build update (#487)
Un1q32 Feb 21, 2026
6a2067b
Fixed crash (#497)
BrentDaMage Feb 21, 2026
b3e07ef
XDG base directory spec compliance (#498)
Un1q32 Feb 21, 2026
a31e7ce
Fixed ClassicCraftingScreen_Console positioning (#499)
BrentDaMage Feb 21, 2026
7bdeeec
Enabled Auto-Jump by Default for Touchscreens (#500)
Un1q32 Feb 21, 2026
87d4323
Cleaned up EntityRenderDispatcher (#502)
BrentDaMage Feb 22, 2026
9d26f96
Added FancyTreeFeature (#495)
Vimd0 Feb 22, 2026
f7172c0
Fixed #480 (#506)
BrentDaMage Feb 22, 2026
82ad45b
make createFolderIfNotExists create parent directories (#503)
Un1q32 Feb 22, 2026
38e1a1a
Make PR CI faster (#505)
Un1q32 Feb 22, 2026
e1418f6
Added touch buttons for Pocket UI theme (#507)
BrentDaMage Feb 22, 2026
b9937ce
Fixed UI theme bugs (#508)
BrentDaMage Feb 22, 2026
d30b076
Cache toolchain build for macOS and iOS artifacts (#510)
Un1q32 Feb 22, 2026
ee6908c
Disable LevelDataPacket reading (#511)
BrentDaMage Feb 23, 2026
0e6fce4
fix use-after-free (#509)
Un1q32 Feb 23, 2026
10a3b9c
macOS Fixes (#512)
BrentDaMage Feb 23, 2026
2cf00c4
PowerPC macOS Artifact (#513)
Un1q32 Feb 23, 2026
184da36
PPC artifact script fixes (#514)
Un1q32 Feb 24, 2026
b4e2130
spawn items when falling tiles break (#516)
Un1q32 Feb 24, 2026
0f3fb73
Fixed SDL external storage path (#517)
BrentDaMage Feb 24, 2026
98f6272
Fix missing textures on Android (#519)
Un1q32 Feb 25, 2026
c03e464
Minor fixes (#520)
BrentDaMage Feb 25, 2026
a2f19b7
Player rendering parity & Coal Item (#521)
Vimd0 Feb 26, 2026
70ab1db
Add Linux Flatpak Build + ARM64 Artifacts (#523)
Un1q32 Feb 27, 2026
7dbca31
Re-added 32-bit Linux Builds (#524)
Un1q32 Feb 27, 2026
6436a69
Named Some Unnamed Fields (#526)
BrentDaMage Feb 28, 2026
cb20d5e
Updated README.md
BrentDaMage Mar 1, 2026
42878c2
Finished Rebrand to NBCraft (#528)
BrentDaMage Mar 1, 2026
8e67b88
Updated launch images (#529)
BrentDaMage Mar 1, 2026
4e4a38e
Fix Android native build (#533)
iProgramMC Mar 1, 2026
bc67e6b
Fixes in CI + more rebrand + updates to android native build (#532)
Un1q32 Mar 2, 2026
24f2d0f
Final rename cleanup (#534)
Un1q32 Mar 2, 2026
4d6519b
Xbox 360 Bugfixes (#535)
BrentDaMage Mar 2, 2026
9390545
Gamma for Xbox 360 + Cleanup (#537)
BrentDaMage Mar 3, 2026
65fa274
Fixed float sliders being too precise on options screen (#538)
BrentDaMage Mar 3, 2026
359daca
Fixed Sound Rolloff (#540)
BrentDaMage Mar 3, 2026
2e5c05a
Windows XP Build Script (#536)
Un1q32 Mar 3, 2026
4b9c0da
Fixed SDL2 Gamma Crash (#541)
BrentDaMage Mar 3, 2026
24ed6eb
Cleaned Up Renderer (#542)
BrentDaMage Mar 4, 2026
dfbb555
Java Parity Changes (#544)
BrentDaMage Mar 5, 2026
20a0303
Better createFolderIfNotExists (#545)
Un1q32 Mar 5, 2026
68348b0
Improved unsigned normals (#546)
BrentDaMage Mar 6, 2026
531f2ec
Fixed building on PowerPC (#547)
BrentDaMage Mar 6, 2026
61040b1
Change RC file from UTF-8-BOM to normal UTF-8 (#551)
iProgramMC Mar 7, 2026
d85dde2
Lowered OpenGL init requirement from 2.0 to 1.5 (#556)
BrentDaMage Mar 7, 2026
f7b41ac
Updated Build Instructions (#557)
Un1q32 Mar 8, 2026
ee10efa
Enable LTO in the MinGW Win2K build script (#558)
Un1q32 Mar 8, 2026
5e762a2
Remove leftover fsnprintf files (#560)
BrentDaMage Mar 8, 2026
0133d8d
Added a script to extract resource from JAR file (#565)
TC999 Mar 10, 2026
f83762d
Updated README.md
BrentDaMage Mar 10, 2026
acb0f0e
VS SDL1 project fixes (#567)
BrentDaMage Mar 14, 2026
78cc0e5
Updated zlib to 1.3.2 and static link zlib (#562)
Un1q32 Mar 14, 2026
a448348
Dynamically Load XInput (#559)
Un1q32 Mar 15, 2026
2a050ca
Minor Improvements to Win32 GL Init (#568)
BrentDaMage Mar 15, 2026
8807933
Fix GL stuff (#569)
BrentDaMage Mar 16, 2026
a783edf
stupid log (#570)
Un1q32 Mar 16, 2026
93f8845
remove evil log that crashes the game (#571)
Un1q32 Mar 26, 2026
ea717e9
Windows 9x Support (#572)
Un1q32 Mar 28, 2026
8256bdf
Enabled rotation rebound when loading Entity save data (#573)
BrentDaMage Mar 28, 2026
1c0259d
Decreased OpenGL Minimum Requirement from 1.5 to 1.1 (#574)
BrentDaMage Mar 29, 2026
e735a63
Improved redundancy of Win32 VBO availability check (#575)
BrentDaMage Mar 29, 2026
cfd7308
allow sound to just be silent when its not available instead of crash…
Un1q32 Apr 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
423 changes: 423 additions & 0 deletions .github/workflows/artifacts.yml

Large diffs are not rendered by default.

304 changes: 251 additions & 53 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: 'Build'

on:
- push
- pull_request

jobs:
Expand All @@ -10,109 +9,308 @@ jobs:
fail-fast: false
matrix:
include:
- name: OpenGL ES
flags: "-DUSE_GLES1_COMPATIBILITY_LAYER=ON"
- name: OpenGL
flags: "-DUSE_GLES1_COMPATIBILITY_LAYER=OFF"
- name: SDL 2
flags: '-DNBC_PLATFORM=sdl2 -DNBC_GFX_API=OGL'
packages: 'libsdl2-dev'
- name: SDL 1.2
flags: '-DNBC_PLATFORM=sdl1 -DNBC_GFX_API=OGL'
packages: 'libsdl1.2-dev'
name: Linux (${{ matrix.name }})
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Get Time
id: get-time
run: echo "time=$(date -u '+%Y-%m-%d-%H:%M:%S')" >> $GITHUB_OUTPUT
- uses: actions/cache@v5
with:
path: ~/ccache.tar.xz
key: linux-${{ matrix.name }}-${{ steps.get-time.outputs.time }}
restore-keys: linux-${{ matrix.name }}-
- name: Unpack cache
run: cd ~ && [ -f ccache.tar.xz ] && tar xf ccache.tar.xz || true
- name: Checkout Repository
uses: actions/checkout@v3
uses: actions/checkout@v6
with:
submodules: true
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends -y build-essential cmake ninja-build libopenal-dev libsdl2-dev zlib1g-dev
sudo apt-get install --no-install-recommends -y \
build-essential \
cmake ninja-build \
ccache \
libopenal-dev \
${{ matrix.packages }}
- name: Build
run: |
cd platforms/sdl
mkdir build
cd build
cmake -GNinja ${{ matrix.flags }} ..
cmake .. -GNinja \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DWERROR=ON \
${{ matrix.flags }}
cmake --build .
- name: Pack cache
run: cd ~ && tar cJf ccache.tar.xz .cache/ccache

wasm:
name: WASM
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Get Time
id: get-time
run: echo "time=$(date -u '+%Y-%m-%d-%H:%M:%S')" >> $GITHUB_OUTPUT
- uses: actions/cache@v5
with:
path: ~/ccache.tar.xz
key: wasm-${{ steps.get-time.outputs.time }}
restore-keys: wasm-
- name: Unpack cache
run: cd ~ && [ -f ccache.tar.xz ] && tar xf ccache.tar.xz || true
- name: Checkout Repository
uses: actions/checkout@v3
uses: actions/checkout@v6
with:
submodules: true
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends -y cmake ninja-build
sudo apt-get install --no-install-recommends -y cmake ninja-build ccache
- name: Build
run: ./build-wasm.sh
run: |
./platforms/emscripten/build.sh \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DWERROR=ON
- name: Pack cache
run: cd ~ && tar cJf ccache.tar.xz .cache/ccache

macos:
name: macOS
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
include:
- name: SDL 2
backend_name: 'SDL2'
packages: 'sdl2'
- name: SDL 1.2
backend_name: 'SDL1'
packages: 'sdl12-compat'
name: macOS (${{ matrix.name }})
runs-on: macos-15
steps:
- name: Checkout Repository
uses: actions/checkout@v3
uses: actions/checkout@v6
with:
submodules: true
- name: Install MacPorts
uses: melusina-org/setup-macports@v1
- name: Install Dependencies
run: |
sudo port install libsdl2 +universal
sudo port install libpng +universal
run: brew install ${{ matrix.packages }}
- name: Build macOS Archive
run: |
cd platforms/macos/projects/Minecraft
xcodebuild -scheme "MinecraftClient.SDL2" \
-archivePath $RUNNER_TEMP/GitHubActions_MacOS_SDL2.xcarchive \
cd projects/xcode
xcodebuild -scheme "NBCraftClient.${{ matrix.backend_name }}" \
-archivePath $RUNNER_TEMP/GitHubActions_MacOS_${{ matrix.backend_name }}.xcarchive \
-sdk macosx \
-configuration "Release (Default)" \
-configuration "Release [${{ matrix.backend_name }}] (Default)" \
-destination generic/platform=macOS \
GCC_PREPROCESSOR_DEFINITIONS='MISSING_SOUND_DATA $(GCC_PREPROCESSOR_DEFINITIONS)' \
GCC_PREPROCESSOR_DEFINITIONS='$(GCC_PREPROCESSOR_DEFINITIONS)' \
ARCHS=arm64 \
-quiet \
clean archive
# @NOTE: Newer versions of Xcode will complain and refuse to build old XIB files or target old iOS versions
#ios:
# runs-on: macos-latest
# steps:
# - name: Checkout Repository
# uses: actions/checkout@v3
# with:
# submodules: true
# - name: Build iOS Archive
# run: |
# cd platforms/macos/projects/Minecraft
# xcodebuild -scheme "minecraftpe" \
# -archivePath $RUNNER_TEMP/GitHubActions_iOS.xcarchive \
# -sdk iphoneos \
# -configuration "Release (iOS)" \
# -destination generic/platform=iOS \
# GCC_PREPROCESSOR_DEFINITIONS='MISSING_SOUND_DATA $(GCC_PREPROCESSOR_DEFINITIONS)' \
# -quiet \
# clean archive
clean archive

ios:
strategy:
fail-fast: false
name: iOS
runs-on: ubuntu-24.04
steps:
- name: Checkout Repository
uses: actions/checkout@v6
with:
submodules: true
- name: Get Time
id: get-time
run: echo "time=$(date -u '+%Y-%m-%d-%H:%M:%S')" >> $GITHUB_OUTPUT
- uses: actions/cache@v5
with:
path: ~/ccache.tar.xz
key: ios-${{ steps.get-time.outputs.time }}
restore-keys: ios-
- name: Unpack cache
run: |
cd ~
[ -f ccache.tar.xz ] && tar xf ccache.tar.xz || true
[ -f workspacecache.tar ] && mv workspacecache.tar ${{ github.workspace }} || true
- name: Install Dependencies
run: |
wget https://apt.llvm.org/llvm.sh
sudo bash llvm.sh 21
sudo apt-get update
sudo apt-get install --no-install-recommends -y \
cmake \
ccache \
clang-21 \
libplist-utils \
libplist-dev \
libssl-dev
- name: Build
run: |
[ -f workspacecache.tar ] && tar xf workspacecache.tar || true
./platforms/ios/build.sh
tar cf workspacecache.tar platforms/ios/build/work/toolchain
mv workspacecache.tar ~
env:
CLANG: clang-21
AR: llvm-ar-21
RANLIB: llvm-ranlib-21
LLVM_CONFIG: llvm-config-21
NBC_NO_IPA: 1
WERROR: ON
- name: Pack cache
run: cd ~ && tar cJf ccache.tar.xz .cache/ccache workspacecache.tar

android:
strategy:
fail-fast: false
matrix:
include:
- name: SDL
directory: platforms/sdl/android
- name: SDL 2
directory: platforms/sdl/sdl2/android
- name: Native
directory: platforms/android/project
name: Android (${{ matrix.name }})
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Get Time
id: get-time
run: echo "time=$(date -u '+%Y-%m-%d-%H:%M:%S')" >> $GITHUB_OUTPUT
- uses: actions/cache@v5
with:
path: ~/ccache.tar.xz
key: android-${{ matrix.name }}-${{ steps.get-time.outputs.time }}
restore-keys: android-
- name: Unpack cache
run: cd ~ && [ -f ccache.tar.xz ] && tar xf ccache.tar.xz || true
- name: Checkout Repository
uses: actions/checkout@v3
uses: actions/checkout@v6
with:
submodules: true
- name: Setup JDK
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Install Dependencies
run: sudo apt-get install --no-install-recommends -y ccache
- name: Build
run: |
cd ${{ matrix.directory }}
./gradlew build
./gradlew assembleDebug -Pandroid.injected.build.abi=arm64-v8a
env:
USE_CCACHE: 1
CCACHE_COMPILERCHECK: "%compiler% -v"
- name: Pack cache
run: cd ~ && tar cJf ccache.tar.xz .cache/ccache

mingw:
strategy:
fail-fast: false
matrix:
include:
- name: Win32 (OGL)
flags: '-DNBC_PLATFORM=windows -DNBC_GFX_API=OGL'
- name: Win32 (OGL + Shaders)
flags: '-DNBC_PLATFORM=windows -DNBC_GFX_API=OGL_SHADERS'
- name: Win32 (D3D11)
flags: '-DNBC_PLATFORM=windows -DNBC_GFX_API=D3D11'
- name: SDL2
flags: "-DNBC_PLATFORM=sdl2 -DNBC_GFX_API=OGL"
# CMake can't find it
#- name: SDL 1.2
# flags: '-DNBC_PLATFORM=sdl1 -DNBC_GFX_API=OGL'
name: MinGW-w64 (${{ matrix.name }})
runs-on: ubuntu-24.04
steps:
- name: Get Time
id: get-time
run: echo "time=$(date -u '+%Y-%m-%d-%H:%M:%S')" >> $GITHUB_OUTPUT
- uses: actions/cache@v5
with:
path: ~/ccache.tar.xz
key: mingw-${{ steps.get-time.outputs.time }}
restore-keys: mingw-
- name: Unpack cache
run: cd ~ && [ -f ccache.tar.xz ] && tar xf ccache.tar.xz || true
- name: Checkout Repository
uses: actions/checkout@v6
with:
submodules: true
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends -y \
build-essential \
cmake ninja-build \
ccache \
mingw-w64
- name: Build
run: |
mkdir build
cd build
cmake .. -GNinja \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DWERROR=ON \
-DCMAKE_TOOLCHAIN_FILE=../cmake/mingw-w64-toolchain.cmake \
${{ matrix.flags }}
cmake --build .
- name: Pack cache
run: cd ~ && tar cJf ccache.tar.xz .cache/ccache

switch:
name: Nintendo Switch
runs-on: ubuntu-24.04
container:
image: devkitpro/devkita64@sha256:7ca6fb93e8f576a65bbfe07b537b67664a974e06eabe4e94359e3e026a0f0b0c
steps:
- name: Get Time
id: get-time
run: echo "time=$(date -u '+%Y-%m-%d-%H:%M:%S')" >> $GITHUB_OUTPUT
- uses: actions/cache@v5
with:
path: ~/ccache.tar.xz
key: switch-${{ steps.get-time.outputs.time }}
restore-keys: switch-
- name: Unpack cache
run: cd ~ && [ -f ccache.tar.xz ] && tar xf ccache.tar.xz || true
- name: Checkout Repository
uses: actions/checkout@v6
with:
submodules: true
- name: Install Dependencies
run: apt-get install --no-install-recommends -y ccache
- name: Build Switch binary
run: |
mkdir build
cd build
/opt/devkitpro/portlibs/switch/bin/aarch64-none-elf-cmake .. -GNinja \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DWERROR=ON
/opt/devkitpro/portlibs/switch/bin/aarch64-none-elf-cmake --build .
- name: Pack cache
run: cd ~ && tar cJf ccache.tar.xz .cache/ccache

windows:
name: MSVC (Win32 (OGL))
runs-on: windows-2025
steps:
- name: Checkout Repository
uses: actions/checkout@v6
with:
submodules: true
- uses: ilammy/msvc-dev-cmd@v1
- name: Build
run: msbuild NBCraftClient.Win32\NBCraftClient.Win32.vcxproj /p:PlatformToolset=v143 /p:Configuration=Debug
working-directory: projects/visual-studio
Loading