ClassiCube 是一个自定义的 Minecraft Classic 兼容客户端,用 C 从头开始编写。
重要的
ClassiCube 不以任何方式隶属于 Mojang AB、Minecraft 或 Microsoft(或受其支持)。
ClassiCube 并不是试图复制现代 Minecraft。
它永远不会支持生存、Minecraft 帐户或现代 Minecraft 服务器。
ClassiCube 旨在复制 2009 年 Minecraft Classic 客户端,同时提供可选增强功能以改进游戏玩法。 ClassiCube 可以在许多系统上运行,包括桌面、网络、移动设备,甚至一些控制台。
您可以在此处下载 ClassiCube ,并在此处下载最新版本。
ClassiCube严格遵循洁净室逆向工程方法,力求复制原始的 Minecraft Classic 体验。
如果您有兴趣记录或验证原始 Minecraft Classic 的行为,请通过 ClassiCube Discord 联系
最初,您需要运行 ClassiCube.exe 从 minecraft.net 和 classiccube.net 下载所需的资源。
只需在启动启动器时出现的对话框菜单中单击“确定”即可。
注意:在 VirtualBox 中运行时,请禁用鼠标集成,否则游戏中的相机将无法正常工作。
单人游戏模式运行ClassiCube.exe,然后单击主菜单中的单人游戏。
多人游戏模式运行 ClassiCube.exe。如果您有 ClassiCube 帐户,则可以连接到 LAN/本地托管服务器和 classicube.net 服务器。
卡在 OpenGL 1.1 上的最常见原因是 GPU 驱动程序不工作 - 因此,如果可能,您应该尝试安装或更新 GPU 驱动程序。
否则:
-DCC_BUILD_GL11
,以便编译的游戏支持OpenGL 1.1。ClassiCube 运行于:
libcurl
和libopenal
并且还运行在:
libcurl
和libopenal
libexecinfo
、 curl
和openal-soft
软件包(可以从这里下载)libexecinfo
、 curl
和openal-soft
软件包(可以从这里下载)libexecinfo
、 curl
和openal
包curl
和openal
包openal
包(如果你有 GitHub 帐户,可以从这里下载)curl
和openal
包SDL2
注意:以下说明会使用平台推荐的默认值自动编译 ClassiCube。
如果您(不推荐)想要覆盖默认值(例如在 Windows 上编译 OpenGL 版本),请参阅此处了解详细信息。
如果您收到The Windows SDK version 5.1 was not found
编译错误,请参阅此处了解如何修复
cl.exe *.c /link user32.lib gdi32.lib winmm.lib dbghelp.lib shell32.lib comdlg32.lib /out:ClassiCube.exe
假设您使用 https://sourceforge.net/projects/mingw-w64/ 中的安装程序:
gcc -fno-math-errno *.c -o ClassiCube.exe -mwindows -lwinmm
假设您使用 https://osdn.net/projects/mingw/ 中的安装程序:
gcc -fno-math-errno *.c -o ClassiCube.exe -mwindows -lwinmm
设置TCC:
tcc-0.9.27-win64-bin.zip
winapi-full-for-0.9.27.zip
winapi
文件夹和_mingw_dxhelper.h
从winapi-full-for-0.9.27.zip
复制到 TCC 的include
文件夹中使用 TCC 编译:
ExtMath.c
中,将fabsf
更改为fabs
, sqrtf
更改为sqrt
tcc.exe -o ClassiCube.exe *.c -lwinmm -lgdi32 -luser32 -lcomdlg32 -lshell32
tcc.exe
的完整路径,而不仅仅是tcc.exe
) libx11-dev
、 libxi-dev
和libgl1-mesa-dev
软件包make linux
或cc -fno-math-errno src/*.c -o ClassiCube -rdynamic -lpthread -lX11 -lXi -lGL -ldl
gcc-mingw-w64
软件包)i686-w64-mingw32-gcc -fno-math-errno src/*.c -o ClassiCube.exe -mwindows -lwinmm
gcc-mingw-w64
软件包)x86_64-w64-mingw32-gcc -fno-math-errno src/*.c -o ClassiCube.exe -mwindows -lwinmm
尽管常规的 Linux 编译标志可以正常工作,但要充分利用硬件:
gcc -fno-math-errno src/*.c -o ClassiCube -DCC_BUILD_RPI -rdynamic -lpthread -lX11 -lXi -lEGL -lGLESv2 -ldl
make darwin
或cc -fno-math-errno src/*.c src/*.m -o ClassiCube -framework Cocoa -framework OpenGL -framework IOKit -lobjc
misc/macOS/CCMAC.xcodeproj
项目注意:如果您要分发修改版本,请将包 ID 从com.classicube.android.client
更改为其他内容- 否则 Android 用户将无法在其设备上同时安装 ClassiCube 和您的修改版本安卓设备
在 Android Studio 中打开android
文件夹(TODO 解释更详细)
在 android 文件夹中运行gradlew
(TODO 解释更详细)
iOS 版本会存在问题,因为它不完整并且仅在 iOS 模拟器中进行了测试
注意:如果您要分发修改版本,请将捆绑 ID 从com.classicube.ios.client
更改为其他内容- 否则 iOS 用户将无法在其设备上同时安装 ClassiCube 和您的修改版本iOS设备
misc/ios/CCIOS.xcodeproj
项目 xcodebuild -sdk iphoneos -configuration Debug
(TODO 解释更详细)
make web
或emcc src/*.c -s ALLOW_MEMORY_GROWTH=1 -s TOTAL_STACK=1Mb --js-library interop_web.js
生成的 javascript 文件存在一些问题。请参阅此处了解如何修复
有关如何将网络客户端集成到网站的详细信息,请参阅此处
所有控制台端口都需要具有自制程序开发经验的人员的帮助 - 如果您有兴趣,请通过 ClassiCube Discord 联系。
运行make switch
。你需要 libnx 和 mesa
注意:强烈建议您从此处安装预编译的 devkitpro 软件包 - 您需要switch-dev
组和switch-mesa switch-glm
软件包)
运行make wiiu
。你需要吴
注意:强烈建议您从此处安装预编译的 devkitpro 软件包 - 您需要wiiu-dev
组)
运行make 3ds
。你需要 libctru
注意:强烈建议您从此处安装预编译的 devkitpro 软件包 - 您需要3ds-dev
组)
运行make wii
。你需要 libogc
注意:强烈建议您从此处安装预编译的 devkitpro 软件包 - 您需要wii-dev
组)
运行make gamecube
。你需要 libogc
注意:强烈建议您从此处安装预编译的 devkitpro 软件包 - 您需要gamecube-dev
组)
运行make ds
。你需要 BlocksDS
运行make n64
。你需要 libdragon 的 opengl 分支
运行make vita
。你需要 vitasdk
运行make psp
。你需要 pspsdk
注意:建议您从此处安装预编译的 pspsdk 版本
运行make ps3
。您需要 PSL1GHT
运行make ps2
。你需要ps2sdk
运行make ps1
。您需要 PSn00bSDK
运行make 360
。你需要 libxenon
运行make xbox
。你需要nxdk
运行make dreamcast
。你需要 KallistiOS
运行make saturn
。你需要 libyaul
libxi
、 libexecinfo
、 curl
和openal-soft
软件包make freebsd
或cc src/*.c -o ClassiCube -I /usr/local/include -L /usr/local/lib -lm -lpthread -lX11 -lXi -lGL -lexecinfo
libexecinfo
、 curl
和openal
包make opensd
或cc src/*.c -o ClassiCube -I /usr/X11R6/include -I /usr/local/include -L /usr/X11R6/lib -L /usr/local/lib -lm -lpthread -lX11 -lXi -lGL -lexecinfo
libexecinfo
、 curl
和openal-soft
软件包make netbsd
或cc src/*.c -o ClassiCube -I /usr/X11R7/include -I /usr/pkg/include -L /usr/X11R7/lib -L /usr/pkg/lib -lpthread -lX11 -lXi -lGL -lexecinfo
libxi
、 libexecinfo
、 curl
和openal-soft
软件包make dragonfly
或cc src/*.c -o ClassiCube -I /usr/local/include -L /usr/local/lib -lm -lpthread -lX11 -lXi -lGL -lexecinfo
make sunos
或gcc -fno-math-errno src/*.c -o ClassiCube -lsocket -lX11 -lXi -lGL
gcc
、 haiku_devel
、 openal_devel
软件包make haiku
或cc -fno-math-errno src/*.c src/*.cpp -o ClassiCube -lGL -lnetwork -lstdc++ -lbe -lgame -ltracker
make beos
或cc -fno-math-errno src/*.c src/*.cpp -o ClassiCube -lGL -lbe -lgame -ltracker
make irix
或make serenityos
或cc src/*.c -o ClassiCube -lgl -lSDL2
make macclassic_68k
(对于 M68k 版本)make macclassic_ppc
(对于 PPC 构建)PowerPC 版本通常会表现得更好
您必须编写必要的代码。您应该阅读 doc 文件夹中的portability.md
。
.h 文件中的函数和变量大部分都有文档记录。
有关 ClassiCube 源代码的更多信息(例如样式)可以在 doc 和 Misc 文件夹中找到。
修复了使用 musl 或旧 glibc 作为 C 标准库时的编译错误
按退出键(加入世界后)或暂停键切换到暂停菜单。
暂停菜单 -> 选项 -> 控制列出了客户端使用的所有组合键。
请注意,将“vsync”切换为打开将最大限度地减少 CPU 使用率,而关闭将最大限度地提高块加载速度。
按 F 循环查看距离。较短的视距可以提高性能。
如果服务器禁用了黑客攻击,则飞行和速度等组合键将不起作用。
要查看内置命令的列表,请键入/client
。
要查看给定内置命令的帮助,请键入/client help <command name>
。
ClassiCube 使用来自 Freesound.org 的声音
完整的学分列在 doc/sound-credits.md 中