mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-06-03 18:12:54 +00:00
Merge branch '4jcraft:dev' into dev
This commit is contained in:
commit
898375b51e
28
.github/workflows/build-doxygen.yml
vendored
28
.github/workflows/build-doxygen.yml
vendored
|
|
@ -18,7 +18,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Set up Doxygen
|
||||
run: sudo apt-get update && sudo apt-get install -y doxygen graphviz build-essential libsdl2-dev libgl-dev libglu1-mesa-dev libpthread-stubs0-dev
|
||||
|
|
@ -26,25 +26,9 @@ jobs:
|
|||
run: git submodule update --init --recursive
|
||||
- name: Generate Docs
|
||||
run: cd docs && doxygen
|
||||
- name: Configure Pages
|
||||
uses: actions/configure-pages@v4
|
||||
- name: Upload Pages Artifacts
|
||||
uses: actions/upload-pages-artifact@v4
|
||||
- name: Deploy to GitHub Pages
|
||||
uses: peaceiris/actions-gh-pages@v4
|
||||
with:
|
||||
path: ./docs/html
|
||||
deploy:
|
||||
needs: build
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
permissions:
|
||||
pages: write
|
||||
id-token: write
|
||||
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
steps:
|
||||
- name: Deploy Github Pages
|
||||
uses: actions/deploy-pages@v4
|
||||
id: deployment
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: ./docs/html
|
||||
force_orphan: true
|
||||
|
|
|
|||
57
.gitignore
vendored
57
.gitignore
vendored
|
|
@ -1,30 +1,29 @@
|
|||
# ----- Build output directories -----
|
||||
build/
|
||||
builddir/
|
||||
.cache/
|
||||
.idea/
|
||||
build_meson/
|
||||
# Exclude everything by default
|
||||
/*
|
||||
/subprojects/.wraplock
|
||||
|
||||
# meson subprojects (git clone'd on build)
|
||||
/subprojects/*
|
||||
!/subprojects/*.wrap
|
||||
|
||||
# Nix flake output
|
||||
result
|
||||
|
||||
# Meson generated artifacts (inside source tree, e.g. per-subdir)
|
||||
meson-private/
|
||||
meson-info/
|
||||
meson-logs/
|
||||
|
||||
# ----- IDE / editor -----
|
||||
.cache/
|
||||
.idea/
|
||||
.vscode/
|
||||
*.code-workspace
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
|
||||
# ----- Documentation -----
|
||||
docs/
|
||||
# Except for tracked top-level project directories
|
||||
!/.devcontainer/
|
||||
!/.github/
|
||||
!/.github-assets/
|
||||
!/4J.Input/
|
||||
!/4J.Profile/
|
||||
!/4J.Render/
|
||||
!/4J.Storage/
|
||||
!/docs/
|
||||
!/Minecraft.Assets/
|
||||
!/Minecraft.Client/
|
||||
!/Minecraft.World/
|
||||
!/scripts/
|
||||
!/subprojects/
|
||||
!/.clang-format
|
||||
!/.git-blame-ignore-revs
|
||||
!/.gitattributes
|
||||
!/.gitignore
|
||||
!/.gitmodules
|
||||
!/CONTRIBUTING.md
|
||||
!/flake.lock
|
||||
!/flake.nix
|
||||
!/meson.build
|
||||
!/meson.options
|
||||
!/README.md
|
||||
|
|
|
|||
|
|
@ -311,6 +311,8 @@ void C4JRender::SetFullscreen(bool fs) { s_fullscreen = fs; }
|
|||
|
||||
bool C4JRender::ShouldClose() { return !s_window || s_shouldClose; }
|
||||
|
||||
void C4JRender::Close() { s_window = nullptr; }
|
||||
|
||||
void C4JRender::Shutdown() {
|
||||
// Destroy the main window and clean up SDL resources so that
|
||||
// destructors running after the game loop don't touch a dead context.
|
||||
|
|
|
|||
|
|
@ -227,6 +227,7 @@ public:
|
|||
|
||||
// Linux window management
|
||||
bool ShouldClose();
|
||||
void Close();
|
||||
void Shutdown();
|
||||
};
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -120,7 +120,7 @@
|
|||
</data>
|
||||
|
||||
<data name="IDS_WARNING_ARCADE_TITLE">
|
||||
<value>Return to Xbox Dashboard</value>
|
||||
<value>Return to Desktop</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_WARNING_ARCADE_TEXT">
|
||||
|
|
@ -208,4 +208,4 @@ Would you like to unlock the full game?</value>
|
|||
<data name="IDS_PRO_PROFILEPROBLEM_TEXT">
|
||||
<value>You are being returned to the main menu because of a problem reading your profile.</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
</data>
|
||||
|
||||
<data name="IDS_WARNING_ARCADE_TITLE">
|
||||
<value>Return to Xbox Dashboard</value>
|
||||
<value>Return to Desktop</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_PRO_RETURNEDTOTITLESCREEN_TEXT">
|
||||
|
|
@ -102,4 +102,4 @@
|
|||
<data name="IDS_PRO_PROFILEPROBLEM_TEXT">
|
||||
<value>You are being returned to the main menu because of a problem reading your profile.</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
|
|
|||
|
|
@ -185,7 +185,7 @@
|
|||
</data>
|
||||
|
||||
<data name="IDS_WARNING_ARCADE_TITLE">
|
||||
<value>Return to Xbox Dashboard</value>
|
||||
<value>Return to Desktop</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_WARNING_ARCADE_TEXT">
|
||||
|
|
@ -315,7 +315,7 @@ Would you like to unlock the full game?</value>
|
|||
</data>
|
||||
|
||||
<data name="IDS_WARNING_ARCADE_TITLE">
|
||||
<value>Return to Xbox Dashboard</value>
|
||||
<value>Return to Desktop</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_PRO_RETURNEDTOTITLESCREEN_TEXT">
|
||||
|
|
@ -8604,4 +8604,4 @@ If you try to save while using the trial version, you will be given the option t
|
|||
<data name="IDS_ERROR_NETWORK_TITLE">
|
||||
<value>Network Error</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
</data>
|
||||
|
||||
<data name="IDS_WARNING_ARCADE_TITLE">
|
||||
<value>Return to Xbox Dashboard</value>
|
||||
<value>Return to Desktop</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_PRO_RETURNEDTOTITLESCREEN_TEXT">
|
||||
|
|
@ -102,4 +102,4 @@
|
|||
<data name="IDS_PRO_PROFILEPROBLEM_TEXT">
|
||||
<value>You are being returned to the main menu because of a problem reading your profile.</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
|
|
|||
|
|
@ -250,7 +250,7 @@
|
|||
</data>
|
||||
|
||||
<data name="IDS_WARNING_ARCADE_TITLE">
|
||||
<value>Return to Xbox Dashboard</value>
|
||||
<value>Return to Desktop</value>
|
||||
</data>
|
||||
|
||||
<data name="IDS_PRO_RETURNEDTOTITLESCREEN_TEXT">
|
||||
|
|
@ -8398,4 +8398,4 @@ Xbox 360 본체용 Minecraft는 멀티 플레이 게임이 기본값으로 되
|
|||
<data name="IDS_HOST_OPTION_DISABLES_ACHIEVEMENTS">
|
||||
<value>이 옵션을 켜면 도전 과제를 획득할 수 없으며 순위표에 기록되지 않습니다. 플레이 도중에 옵션을 켜거나 옵션을 켠 후 저장한 게임을 다시 불러와도 마찬가지입니다.</value>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@
|
|||
<value>Enter a name for your savegame</value>
|
||||
</data>
|
||||
<data name="IDS_WARNING_ARCADE_TITLE">
|
||||
<value>Return to Xbox Dashboard</value>
|
||||
<value>Return to Desktop</value>
|
||||
</data>
|
||||
<data name="IDS_WARNING_ARCADE_TEXT">
|
||||
<value>Are you sure you want to exit the game?</value>
|
||||
|
|
|
|||
|
|
@ -546,8 +546,9 @@ void Minecraft::setScreen(Screen* screen) {
|
|||
screen = new TitleScreen();
|
||||
} else if (player != NULL && !ui.GetMenuDisplayed(player->GetXboxPad()) &&
|
||||
player->getHealth() <= 0) {
|
||||
// screen = new DeathScreen();
|
||||
|
||||
#ifdef ENABLE_JAVA_GUIS
|
||||
screen = new DeathScreen();
|
||||
#else
|
||||
// 4J Stu - If we exit from the death screen then we are saved as being
|
||||
// dead. In the Java game when you load the game you are still dead, but
|
||||
// this is silly so only show the dead screen if we have died during
|
||||
|
|
@ -557,6 +558,7 @@ void Minecraft::setScreen(Screen* screen) {
|
|||
} else {
|
||||
ui.NavigateToScene(player->GetXboxPad(), eUIScene_DeathMenu, NULL);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
if (dynamic_cast<TitleScreen*>(screen) != NULL) {
|
||||
|
|
|
|||
|
|
@ -342,6 +342,7 @@ bool UILayer::NavigateToScene(int iPad, EUIScene scene, void *initData)
|
|||
// Frontend
|
||||
case eUIScene_TrialExitUpsell:
|
||||
newScene = new UIScene_TrialExitUpsell(iPad, initData, this);
|
||||
app.DebugPrintf("UILayer::NavigateToScene AFTER UIScene_TrialExitUpsell CALL\n");
|
||||
break;
|
||||
case eUIScene_Intro:
|
||||
newScene = new UIScene_Intro(iPad, initData, this);
|
||||
|
|
|
|||
|
|
@ -226,9 +226,12 @@ void UIScene::setSafeZone(S32 safeTop, S32 safeBottom, S32 safeLeft, S32 safeRig
|
|||
void UIScene::initialiseMovie()
|
||||
{
|
||||
loadMovie();
|
||||
mapElementsAndNames();
|
||||
app.DebugPrintf("UIScene::initialiseMovie AFTER loadMovie CALL\n");
|
||||
mapElementsAndNames();
|
||||
app.DebugPrintf("UIScene::initialiseMovie AFTER mapElementsAndNames CALL\n");
|
||||
|
||||
updateSafeZone();
|
||||
app.DebugPrintf("UIScene::initialiseMovie AFTER updateSafeZone CALL\n");
|
||||
|
||||
m_bUpdateOpacity = true;
|
||||
}
|
||||
|
|
@ -1283,4 +1286,4 @@ int UIScene::parseSlotId(const char16_t *s) {
|
|||
}
|
||||
|
||||
return id;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -301,7 +301,9 @@ void UIScene_MainMenu::handlePress(F64 controlId, F64 childId)
|
|||
ui.PlayUISFX(eSFX_Press);
|
||||
|
||||
signInReturnedFunc = &UIScene_MainMenu::CreateLoad_SignInReturned;
|
||||
app.DebugPrintf("UIScene_MainMenu::handlePress AFTER &UIScene_MainMenu::CreateLoad_SignInReturned\n");
|
||||
#endif
|
||||
app.DebugPrintf("UIScene_MainMenu::handlePress FINISH eControl_PlayGame \n");
|
||||
break;
|
||||
case eControl_Leaderboards:
|
||||
//CD - Added for audio
|
||||
|
|
@ -334,7 +336,6 @@ void UIScene_MainMenu::handlePress(F64 controlId, F64 childId)
|
|||
m_eAction=eAction_RunUnlockOrDLC;
|
||||
signInReturnedFunc = &UIScene_MainMenu::UnlockFullGame_SignInReturned;
|
||||
break;
|
||||
#if defined _XBOX
|
||||
case eControl_Exit:
|
||||
if( ProfileManager.IsFullVersion() )
|
||||
{
|
||||
|
|
@ -342,16 +343,19 @@ void UIScene_MainMenu::handlePress(F64 controlId, F64 childId)
|
|||
uiIDA[0]=IDS_CANCEL;
|
||||
uiIDA[1]=IDS_OK;
|
||||
ui.RequestMessageBox(IDS_WARNING_ARCADE_TITLE, IDS_WARNING_ARCADE_TEXT, uiIDA, 2, XUSER_INDEX_ANY,&UIScene_MainMenu::ExitGameReturned,this);
|
||||
app.DebugPrintf("UIScene_MainMenu::handlePress AFTER ui.RequestMessageBox(IDS_WARNING_ARCADE_TITLE, IDS_WARNING_ARCADE_TEXT, uiIDA, 2, XUSER_INDEX_ANY,&UIScene_MainMenu::ExitGameReturned,this) CALL\n");
|
||||
}
|
||||
#if defined _XBOX //|| _ENABLEIGGY
|
||||
else
|
||||
{
|
||||
#ifdef _XBOX_ONE
|
||||
ui.ShowPlayerDisplayname(true);
|
||||
#endif
|
||||
ui.NavigateToScene(primaryPad,eUIScene_TrialExitUpsell);
|
||||
app.DebugPrintf("UIScene_MainMenu::handlePress AFTER ui.NavigateToScene(primaryPad,eUIScene_TrialExitUpsell) CALL\n");
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
break;
|
||||
|
||||
#ifdef _DURANGO
|
||||
case eControl_XboxHelp:
|
||||
|
|
@ -1034,6 +1038,7 @@ int UIScene_MainMenu::ExitGameReturned(void *pParam,int iPad,C4JStorage::EMessag
|
|||
{
|
||||
//XLaunchNewImage(XLAUNCH_KEYWORD_DASH_ARCADE, 0);
|
||||
app.ExitGame();
|
||||
app.DebugPrintf("UIScene_MainMenu::ExitGameReturned AFTER app.ExitGame() CALL\n");
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
UIScene_TrialExitUpsell::UIScene_TrialExitUpsell(int iPad, void *initData, UILayer *parentLayer) : UIScene(iPad, parentLayer)
|
||||
{
|
||||
// Setup all the Iggy references we need for this scene
|
||||
app.DebugPrintf("UIScene_TrialExitUpsell::UIScene_TrialExitUpsell BEFORE initialiseMovie CALL\n");
|
||||
initialiseMovie();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@
|
|||
<value>Enter a name for your savegame</value>
|
||||
</data>
|
||||
<data name="IDS_WARNING_ARCADE_TITLE">
|
||||
<value>Return to Xbox Dashboard</value>
|
||||
<value>Return to Desktop</value>
|
||||
</data>
|
||||
<data name="IDS_WARNING_ARCADE_TEXT">
|
||||
<value>Are you sure you want to exit the game?</value>
|
||||
|
|
|
|||
|
|
@ -23,7 +23,10 @@ void CConsoleMinecraftApp::SetRichPresenceContext(int iPad, int contextId) {
|
|||
}
|
||||
|
||||
void CConsoleMinecraftApp::StoreLaunchData() {}
|
||||
void CConsoleMinecraftApp::ExitGame() {}
|
||||
void CConsoleMinecraftApp::ExitGame() {
|
||||
app.DebugPrintf("Linux_App CConsoleMinecraftApp::ExitGame AFTER START\n");
|
||||
RenderManager.Close();
|
||||
}
|
||||
void CConsoleMinecraftApp::FatalLoadError() {
|
||||
app.DebugPrintf(
|
||||
"CConsoleMinecraftApp::FatalLoadError - asserting 0 and dying...\n");
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@
|
|||
<value>Enter a name for your savegame</value>
|
||||
</data>
|
||||
<data name="IDS_WARNING_ARCADE_TITLE">
|
||||
<value>Return to Xbox Dashboard</value>
|
||||
<value>Return to Desktop</value>
|
||||
</data>
|
||||
<data name="IDS_WARNING_ARCADE_TEXT">
|
||||
<value>Are you sure you want to exit the game?</value>
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@
|
|||
<value>Enter a name for your savegame</value>
|
||||
</data>
|
||||
<data name="IDS_WARNING_ARCADE_TITLE">
|
||||
<value>Return to Xbox Dashboard</value>
|
||||
<value>Return to Desktop</value>
|
||||
</data>
|
||||
<data name="IDS_WARNING_ARCADE_TEXT">
|
||||
<value>Are you sure you want to exit the game?</value>
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@
|
|||
</data>
|
||||
<data name="4J_strings.IDS_KEYBOARDUI_SAVEGAME_TEXT"><value><!-- _locID_text="4J_strings.IDS_KEYBOARDUI_SAVEGAME_TEXT" _locComment="" -->Enter a name for your savegame</value>
|
||||
</data>
|
||||
<data name="4J_strings.IDS_WARNING_ARCADE_TITLE"><value><!-- _locID_text="4J_strings.IDS_WARNING_ARCADE_TITLE" _locComment="" -->Return to Xbox Dashboard</value>
|
||||
<data name="4J_strings.IDS_WARNING_ARCADE_TITLE"><value><!-- _locID_text="4J_strings.IDS_WARNING_ARCADE_TITLE" _locComment="" -->Return to Desktop</value>
|
||||
</data>
|
||||
<data name="4J_strings.IDS_WARNING_ARCADE_TEXT"><value><!-- _locID_text="4J_strings.IDS_WARNING_ARCADE_TEXT" _locComment="" -->Are you sure you want to exit the game?</value>
|
||||
</data>
|
||||
|
|
|
|||
|
|
@ -30,8 +30,9 @@ void DeathScreen::buttonClicked(Button* button) {
|
|||
// minecraft.setScreen(new NewLevelScreen(this));
|
||||
}
|
||||
if (button->id == 2) {
|
||||
minecraft->setLevel(NULL);
|
||||
minecraft->setScreen(new TitleScreen());
|
||||
// TODO: proper world exits
|
||||
// minecraft->setLevel(NULL);
|
||||
// minecraft->setScreen(new TitleScreen());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -49,11 +50,11 @@ void DeathScreen::render(int xm, int ym, float a) {
|
|||
Screen::render(xm, ym, a);
|
||||
|
||||
// 4J - debug code - remove
|
||||
static int count = 0;
|
||||
if (count++ == 100) {
|
||||
count = 0;
|
||||
buttonClicked(buttons[0]);
|
||||
}
|
||||
// static int count = 0;
|
||||
// if (count++ == 100) {
|
||||
// count = 0;
|
||||
// buttonClicked(buttons[0]);
|
||||
// }
|
||||
}
|
||||
|
||||
bool DeathScreen::isPauseScreen() { return false; }
|
||||
|
|
@ -6,10 +6,6 @@
|
|||
|
||||
4JCraft is a modified version of the Minecraft Console Legacy Edition, aimed at porting old Minecraft to different platforms (such as Linux, Android, Emscripten, etc.) and refactoring the codebase to improve organization and use modern C++ features.
|
||||
|
||||
Join our community:
|
||||
* **Discord:** https://discord.gg/zFCwRWkkUg
|
||||
* **Steam:** https://steamcommunity.com/groups/4JCraft
|
||||
|
||||
## Scope & Platform Support
|
||||
|
||||
At the moment, we're aiming to support the following platforms:
|
||||
|
|
@ -31,6 +27,10 @@ Please note that these percentages are **estimates** and do not necessarily refl
|
|||
|
||||
---
|
||||
|
||||
## Join our community:
|
||||
* **Discord:** https://discord.gg/zFCwRWkkUg
|
||||
* **Steam:** https://steamcommunity.com/groups/4JCraft
|
||||
|
||||
## Building (Linux)
|
||||
|
||||
### Dependencies
|
||||
|
|
|
|||
26
flake.lock
26
flake.lock
|
|
@ -2,11 +2,11 @@
|
|||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1772433332,
|
||||
"narHash": "sha256-izhTDFKsg6KeVBxJS9EblGeQ8y+O8eCa6RcW874vxEc=",
|
||||
"lastModified": 1773734432,
|
||||
"narHash": "sha256-IF5ppUWh6gHGHYDbtVUyhwy/i7D261P7fWD1bPefOsw=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "cf59864ef8aa2e178cccedbe2c178185b0365705",
|
||||
"rev": "cda48547b432e8d3b18b4180ba07473762ec8558",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -18,7 +18,25 @@
|
|||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": "nixpkgs",
|
||||
"shiggy": "shiggy"
|
||||
}
|
||||
},
|
||||
"shiggy": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1773545684,
|
||||
"narHash": "sha256-NI2qw4nROLciRgVZW1CM68vLQbeLmQeqdZ/QxufL6d4=",
|
||||
"owner": "4jcraft",
|
||||
"repo": "shiggy",
|
||||
"rev": "7adc6c47882409c31e4f2d66fbfabdf4a3a98fd1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "4jcraft",
|
||||
"ref": "main",
|
||||
"repo": "shiggy",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
|||
14
flake.nix
14
flake.nix
|
|
@ -3,9 +3,13 @@
|
|||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
shiggy = {
|
||||
url = "github:4jcraft/shiggy/main";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, ... }:
|
||||
outputs = { self, nixpkgs, shiggy, ... }:
|
||||
let
|
||||
allSystems = [
|
||||
"x86_64-linux"
|
||||
|
|
@ -13,7 +17,6 @@
|
|||
"x86_64-darwin"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
|
||||
forAllSystems = f: nixpkgs.lib.genAttrs allSystems (system: f {
|
||||
pkgs = import nixpkgs { inherit system; };
|
||||
});
|
||||
|
|
@ -24,9 +27,13 @@
|
|||
default = pkgs.clangStdenv.mkDerivation {
|
||||
pname = "4jcraft";
|
||||
version = "0.1.0";
|
||||
|
||||
src = ./.;
|
||||
|
||||
preConfigure = ''
|
||||
mkdir -p subprojects/shiggy
|
||||
cp -r ${shiggy}/. subprojects/shiggy/
|
||||
'';
|
||||
|
||||
buildInputs = with pkgs; [
|
||||
openssl.dev
|
||||
libGL
|
||||
|
|
@ -47,7 +54,6 @@
|
|||
installPhase = ''
|
||||
mkdir -p $out/share/4jcraft
|
||||
cp -r Minecraft.Client/. $out/share/4jcraft/
|
||||
|
||||
mkdir -p $out/bin
|
||||
makeWrapper $out/share/4jcraft/Minecraft.Client \
|
||||
$out/bin/4jcraft \
|
||||
|
|
|
|||
Loading…
Reference in a new issue