ClassiCube é um cliente personalizado compatível com Minecraft Classic escrito em C do zero.
Importante
ClassiCube não é afiliado (ou apoiado por) Mojang AB, Minecraft ou Microsoft de forma alguma.
ClassiCube não está tentando replicar o Minecraft moderno.
Ele nunca oferecerá suporte à sobrevivência, contas do Minecraft ou servidores modernos do Minecraft.
ClassiCube pretende replicar o cliente Minecraft Classic de 2009, ao mesmo tempo que oferece melhorias opcionais para melhorar a jogabilidade. ClassiCube pode ser executado em muitos sistemas, incluindo desktop, web, dispositivos móveis e até mesmo alguns consoles.
Você pode baixar o ClassiCube aqui e as versões mais recentes aqui.
ClassiCube se esforça para replicar a experiência original do Minecraft Classic, aderindo estritamente à abordagem de engenharia reversa de sala limpa .
Se você estiver interessado em documentar ou verificar o comportamento do Minecraft Classic original, entre em contato no ClassiCube Discord
Inicialmente, você precisará executar ClassiCube.exe para baixar os ativos necessários de minecraft.net e classicube.net.
Basta clicar em 'OK' no menu de diálogo que aparece quando você inicia o inicializador.
Nota: Ao executar no VirtualBox, desative a integração do mouse, caso contrário a câmera do jogo não funcionará corretamente.
Modo Singleplayer Execute ClassiCube.exe e clique em Singleplayer no menu principal.
Modo multijogador Execute ClassiCube.exe. Você pode se conectar a servidores LAN/hospedados localmente e a servidores classicube.net se tiver uma conta ClassiCube.
O motivo mais comum para travar no OpenGL 1.1 são os drivers de GPU que não funcionam - portanto, se possível, você deve tentar instalar ou atualizar os drivers para sua GPU.
De outra forma:
-DCC_BUILD_GL11
à linha de comando de compilação para que o jogo compilado suporte OpenGL 1.1.ClassiCube funciona em:
libcurl
e libopenal
E também funciona em:
libcurl
e libopenal
libexecinfo
, curl
e openal-soft
(pode baixar aqui)libexecinfo
, curl
e openal-soft
(pode baixar aqui)libexecinfo
, curl
e openal
curl
e openal
openal
(se você tiver uma conta no GitHub, pode fazer o download aqui)curl
e openal
SDL2
Nota: As instruções abaixo compilam automaticamente o ClassiCube com os padrões recomendados para a plataforma.
Se você (não recomendado) deseja substituir os padrões (por exemplo, para compilar a compilação OpenGL no Windows), veja aqui para obter detalhes.
Se você receber um erro de compilação The Windows SDK version 5.1 was not found
, veja aqui como corrigir
cl.exe *.c /link user32.lib gdi32.lib winmm.lib dbghelp.lib shell32.lib comdlg32.lib /out:ClassiCube.exe
Supondo que você usou o instalador de https://sourceforge.net/projects/mingw-w64/ :
gcc -fno-math-errno *.c -o ClassiCube.exe -mwindows -lwinmm
Supondo que você usou o instalador de https://osdn.net/projects/mingw/ :
gcc -fno-math-errno *.c -o ClassiCube.exe -mwindows -lwinmm
Configurando o TCC:
tcc-0.9.27-win64-bin.zip
de https://bellard.org/tcc/winapi-full-for-0.9.27.zip
em https://bellard.org/tcc/winapi
e _mingw_dxhelper.h
de winapi-full-for-0.9.27.zip
para a pasta include
TCCCompilando com TCC:
ExtMath.c
, altere fabsf
para fabs
e sqrtf
para sqrt
tcc.exe -o ClassiCube.exe *.c -lwinmm -lgdi32 -luser32 -lcomdlg32 -lshell32
tcc.exe
em vez de apenas tcc.exe
) libx11-dev
, libxi-dev
e libgl1-mesa-dev
make linux
oucc -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
Embora os sinalizadores regulares de compilação do Linux funcionem bem, para aproveitar ao máximo o hardware:
gcc -fno-math-errno src/*.c -o ClassiCube -DCC_BUILD_RPI -rdynamic -lpthread -lX11 -lXi -lEGL -lGLESv2 -ldl
make darwin
oucc -fno-math-errno src/*.c src/*.m -o ClassiCube -framework Cocoa -framework OpenGL -framework IOKit -lobjc
misc/macOS/CCMAC.xcodeproj
no Xcode NOTA: Se você estiver distribuindo uma versão modificada, altere o ID do pacote de com.classicube.android.client
para outro - caso contrário, os usuários do Android não poderão ter o ClassiCube e sua versão modificada instalados ao mesmo tempo em seus Dispositivo Android
Abra a pasta android
no Android Studio (TODO explica mais detalhadamente)
Execute gradlew
na pasta Android (TODO explica mais detalhadamente)
A versão iOS terá problemas porque está incompleta e só foi testada no iOS Simulator
NOTA: Se você estiver distribuindo uma versão modificada, altere o ID do pacote de com.classicube.ios.client
para outro - caso contrário, os usuários do iOS não poderão ter o ClassiCube e sua versão modificada instalados ao mesmo tempo em seus dispositivo iOS
misc/ios/CCIOS.xcodeproj
no Xcode xcodebuild -sdk iphoneos -configuration Debug
(TODO explica mais detalhadamente)
make web
ouemcc src/*.c -s ALLOW_MEMORY_GROWTH=1 -s TOTAL_STACK=1Mb --js-library interop_web.js
O arquivo javascript gerado apresenta alguns problemas. Veja aqui como consertar
Para detalhes sobre como integrar o webclient em um site, veja aqui
Todas as portas de console precisam da ajuda de alguém com experiência em desenvolvimento de homebrew - se você estiver interessado, entre em contato no ClassiCube Discord.
Execute make switch
. Você precisará de libnx e mesa
NOTA: É altamente recomendado que você instale os pacotes devkitpro pré-compilados a partir daqui - você precisa do grupo switch-dev
e dos pacotes switch-mesa switch-glm
)
Execute make wiiu
. Você vai precisar de tudo
NOTA: É altamente recomendado que você instale os pacotes devkitpro pré-compilados daqui - você precisa do grupo wiiu-dev
)
Execute make 3ds
. Você precisará do libctru
NOTA: É altamente recomendado que você instale os pacotes devkitpro pré-compilados aqui - você precisa do grupo 3ds-dev
)
Execute o make wii
. Você precisará de libogc
NOTA: É altamente recomendado que você instale os pacotes devkitpro pré-compilados daqui - você precisa do grupo wii-dev
)
Execute make gamecube
. Você precisará de libogc
NOTA: É altamente recomendável que você instale os pacotes devkitpro pré-compilados aqui - você precisa do grupo gamecube-dev
)
Execute make ds
. Você precisará do BlocksDS
Execute make n64
. Você precisará do branch opengl da libdragon
Corre make vita
. Você precisará do VitaSDK
Execute make psp
. Você precisará do pspsdk
NOTA: É recomendado que você instale a versão pré-compilada do pspsdk aqui
Execute make ps3
. Você precisará do PSL1GHT
Execute make ps2
. Você precisará do ps2sdk
Execute make ps1
. Você precisará do PSn00bSDK
Execute make 360
. Você precisará de libxenon
Execute make xbox
. Você precisará de nxdk
Execute make dreamcast
. Você precisará do KallistiOS
Corra make saturn
. Você vai precisar de libyaul
libxi
, libexecinfo
, curl
e openal-soft
se necessáriomake freebsd
oucc src/*.c -o ClassiCube -I /usr/local/include -L /usr/local/lib -lm -lpthread -lX11 -lXi -lGL -lexecinfo
libexecinfo
, curl
e openal
se necessáriomake opensd
oucc 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
e openal-soft
se necessáriomake netbsd
oucc 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
e openal-soft
se necessáriomake dragonfly
oucc src/*.c -o ClassiCube -I /usr/local/include -L /usr/local/lib -lm -lpthread -lX11 -lXi -lGL -lexecinfo
make sunos
ougcc -fno-math-errno src/*.c -o ClassiCube -lsocket -lX11 -lXi -lGL
gcc
, haiku_devel
, openal_devel
se necessáriomake haiku
oucc -fno-math-errno src/*.c src/*.cpp -o ClassiCube -lGL -lnetwork -lstdc++ -lbe -lgame -ltracker
make beos
oucc -fno-math-errno src/*.c src/*.cpp -o ClassiCube -lGL -lbe -lgame -ltracker
make irix
oumake serenityos
oucc src/*.c -o ClassiCube -lgl -lSDL2
make macclassic_68k
(para uma compilação M68k)make macclassic_ppc
(para uma construção PPC)A compilação PowerPC geralmente terá um desempenho muito melhor
Você terá que escrever o código necessário. Você deve ler portability.md
na pasta doc.
Funções e variáveis em arquivos .h são principalmente documentadas.
Mais informações (por exemplo, estilo) do código-fonte do ClassiCube podem ser encontradas nas pastas doc e misc.
Correções para erros de compilação ao usar musl ou glibc antigo para biblioteca padrão C
Pressione escapar (depois de entrar em um mundo) ou pausar para alternar para o menu de pausa.
Menu de pausa -> Opções -> Controles lista todas as combinações de teclas usadas pelo cliente.
Observe que ativar 'vsync' minimizará o uso da CPU, enquanto desativar maximizará a velocidade de carregamento do bloco.
Pressione F para percorrer a distância de visualização. Distâncias de visão mais baixas podem melhorar o desempenho.
Se o servidor tiver desabilitado hacks, combinações de teclas como voar e velocidade não farão nada.
Para ver a lista de comandos integrados, digite /client
.
Para ver a ajuda de um determinado comando integrado, digite /client help <command name>
.
ClassiCube usa sons do Freesound.org
Os créditos completos estão listados em doc/sound-credits.md