ClassiCube est un client compatible Minecraft Classic personnalisé écrit en C à partir de zéro.
Important
ClassiCube n'est en aucun cas affilié (ou pris en charge par) Mojang AB, Minecraft ou Microsoft.
ClassiCube n'essaie pas de reproduire le Minecraft moderne.
Il ne prendra jamais en charge la survie, les comptes Minecraft ou les serveurs Minecraft modernes.
ClassiCube vise à reproduire le client Minecraft Classic 2009 tout en offrant des améliorations facultatives pour améliorer le gameplay. ClassiCube peut fonctionner sur de nombreux systèmes, notamment les ordinateurs de bureau, le Web, les mobiles et même certaines consoles.
Vous pouvez télécharger ClassiCube ici et les toutes dernières versions ici.
ClassiCube s'efforce de reproduire l'expérience originale de Minecraft Classic en adhérant strictement à l'approche d'ingénierie inverse en salle blanche .
Si vous souhaitez documenter ou vérifier le comportement du Minecraft Classic original, veuillez nous contacter sur le Discord ClassiCube.
Dans un premier temps, vous devrez exécuter ClassiCube.exe pour télécharger les ressources requises depuis minecraft.net et classicube.net.
Cliquez simplement sur « OK » dans le menu de dialogue qui apparaît lorsque vous démarrez le lanceur.
Remarque : lors de l'exécution depuis VirtualBox, désactivez l'intégration de la souris, sinon la caméra du jeu ne fonctionnera pas correctement.
Mode solo Exécutez ClassiCube.exe, puis cliquez sur Solo dans le menu principal.
Mode multijoueur Exécutez ClassiCube.exe. Vous pouvez vous connecter aux serveurs LAN/hébergés localement et aux serveurs classicube.net si vous avez un compte ClassiCube.
La raison la plus courante de blocage sur OpenGL 1.1 est le fait que les pilotes GPU ne fonctionnent pas. Si possible, vous devriez donc essayer d'installer ou de mettre à jour les pilotes de votre GPU.
Sinon:
-DCC_BUILD_GL11
à la ligne de commande de compilation pour que le jeu compilé supporte OpenGL 1.1.ClassiCube fonctionne sur :
libcurl
et libopenal
Et fonctionne également sur :
libcurl
et libopenal
libexecinfo
, curl
et openal-soft
(peuvent être téléchargés à partir d'ici)libexecinfo
, curl
et openal-soft
(peuvent être téléchargés à partir d'ici)libexecinfo
, curl
et openal
curl
et openal
openal
(si vous avez un compte GitHub, vous pouvez le télécharger ici)curl
et openal
SDL2
Remarque : Les instructions ci-dessous compilent automatiquement ClassiCube avec les valeurs par défaut recommandées pour la plateforme.
Si vous souhaitez (non recommandé) remplacer les valeurs par défaut (par exemple pour compiler la version OpenGL sous Windows), voir ici pour plus de détails.
Si vous obtenez une erreur de compilation The Windows SDK version 5.1 was not found
, voyez ici pour savoir comment y remédier.
cl.exe *.c /link user32.lib gdi32.lib winmm.lib dbghelp.lib shell32.lib comdlg32.lib /out:ClassiCube.exe
En supposant que vous ayez utilisé le programme d'installation de https://sourceforge.net/projects/mingw-w64/ :
gcc -fno-math-errno *.c -o ClassiCube.exe -mwindows -lwinmm
En supposant que vous ayez utilisé le programme d'installation de https://osdn.net/projects/mingw/ :
gcc -fno-math-errno *.c -o ClassiCube.exe -mwindows -lwinmm
Mise en place du TCC :
tcc-0.9.27-win64-bin.zip
depuis https://bellard.org/tcc/winapi-full-for-0.9.27.zip
depuis https://bellard.org/tcc/winapi
et _mingw_dxhelper.h
de winapi-full-for-0.9.27.zip
dans le dossier include
de TCCCompilation avec TCC :
ExtMath.c
, remplacez fabsf
par fabs
et sqrtf
par sqrt
tcc.exe -o ClassiCube.exe *.c -lwinmm -lgdi32 -luser32 -lcomdlg32 -lshell32
tcc.exe
au lieu de simplement tcc.exe
) libx11-dev
, libxi-dev
et 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
Bien que les options de compilation Linux classiques fonctionnent correctement, pour tirer pleinement parti du matériel :
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
dans Xcode REMARQUE : Si vous distribuez une version modifiée, veuillez modifier l'ID du package com.classicube.android.client
par quelque chose d'autre - sinon les utilisateurs d'Android ne pourront pas installer ClassiCube et votre version modifiée en même temps sur leur ordinateur. Appareil Android
Ouvrez le dossier android
dans Android Studio (TODO explique plus en détail)
Exécutez gradlew
dans le dossier Android (TODO explique plus en détail)
La version iOS aura des problèmes car elle est incomplète et testée uniquement dans iOS Simulator
REMARQUE : Si vous distribuez une version modifiée, veuillez remplacer l'ID du bundle com.classicube.ios.client
par autre chose . Sinon, les utilisateurs iOS ne pourront pas installer ClassiCube et votre version modifiée en même temps sur leur ordinateur. Appareil iOS
misc/ios/CCIOS.xcodeproj
dans Xcode xcodebuild -sdk iphoneos -configuration Debug
(TODO explique plus en détail)
make web
ouemcc src/*.c -s ALLOW_MEMORY_GROWTH=1 -s TOTAL_STACK=1Mb --js-library interop_web.js
Le fichier javascript généré présente quelques problèmes. Voir ici pour savoir comment réparer
Pour plus de détails sur la façon d'intégrer le client Web dans un site Web, voir ici
Tous les ports de console ont besoin de l'aide d'une personne expérimentée dans le développement homebrew - si vous êtes intéressé, veuillez nous contacter sur le Discord ClassiCube.
Exécutez make switch
. Vous aurez besoin de libnx et mesa
REMARQUE : Il est fortement recommandé d'installer les packages devkitpro précompilés à partir d'ici - vous avez besoin du groupe switch-dev
et des packages switch-mesa switch-glm
)
Exécutez make wiiu
. Tu auras besoin de quoi
REMARQUE : Il est fortement recommandé d'installer les packages devkitpro précompilés à partir d'ici - vous avez besoin du groupe wiiu-dev
)
Exécutez make 3ds
. Vous aurez besoin de libctru
REMARQUE : Il est fortement recommandé d'installer les packages devkitpro précompilés à partir d'ici (vous avez besoin du groupe 3ds-dev
).
Exécutez make wii
. Vous aurez besoin de libogc
REMARQUE : Il est fortement recommandé d'installer les packages devkitpro précompilés à partir d'ici - vous avez besoin du groupe wii-dev
)
Exécutez make gamecube
. Vous aurez besoin de libogc
REMARQUE : Il est fortement recommandé d'installer les packages devkitpro précompilés à partir d'ici - vous avez besoin du groupe gamecube-dev
)
Exécutez make ds
. Vous aurez besoin de BlocksDS
Exécutez make n64
. Vous aurez besoin de la branche opengl de libdragon
Exécutez make vita
. Vous aurez besoin de Vitasdk
Exécutez make psp
. Vous aurez besoin de pspsdk
REMARQUE : Il est recommandé d'installer la version précompilée de pspsdk à partir d'ici
Exécutez make ps3
. Vous aurez besoin de PSL1GHT
Exécutez make ps2
. Vous aurez besoin de ps2sdk
Exécutez make ps1
. Vous aurez besoin du PSn00bSDK
Exécutez make 360
. Vous aurez besoin de libxenon
Exécutez make xbox
. Tu auras besoin de nxdk
Exécutez make dreamcast
. Vous aurez besoin de KallistiOS
Exécutez make saturn
. Tu auras besoin de Libye
libxi
, libexecinfo
, curl
et openal-soft
si nécessairemake freebsd
oucc src/*.c -o ClassiCube -I /usr/local/include -L /usr/local/lib -lm -lpthread -lX11 -lXi -lGL -lexecinfo
libexecinfo
, curl
et openal
si nécessairemake 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
et openal-soft
si nécessairemake 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
et openal-soft
si nécessairemake 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
si nécessairemake 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
(Pour une version M68k)make macclassic_ppc
(Pour une version PPC)La version PowerPC fonctionnera généralement bien mieux
Vous devrez écrire le code nécessaire. Vous devriez lire portability.md
dans le dossier doc.
Les fonctions et variables des fichiers .h sont pour la plupart documentées.
De plus amples informations (par exemple, le style) sur le code source de ClassiCube peuvent être trouvées dans les dossiers doc et misc.
Corrections d'erreurs de compilation lors de l'utilisation de musl ou de l'ancienne glibc pour la bibliothèque standard C
Appuyez sur Échap (après avoir rejoint un monde) ou sur pause pour passer au menu pause.
Le menu Pause -> Options -> Contrôles répertorie toutes les combinaisons de touches utilisées par le client.
Notez que l'activation de « vsync » minimisera l'utilisation du processeur, tandis que la désactivation maximisera la vitesse de chargement des morceaux.
Appuyez sur F pour parcourir la distance de visualisation. Des distances de vue plus faibles peuvent améliorer les performances.
Si le serveur a désactivé les hacks, les combinaisons de touches telles que fly et speed ne feront rien.
Pour voir la liste des commandes intégrées, tapez /client
.
Pour afficher l'aide sur une commande intégrée donnée, tapez /client help <command name>
.
ClassiCube utilise les sons de Freesound.org
Les crédits complets sont répertoriés dans doc/sound-credits.md