diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d92d8db..7e7c5ca 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,18 +2,25 @@ on: pull_request: push: workflow_dispatch: - + jobs: build: runs-on: windows-latest steps: - - name: Checkout repository - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - uses: xmake-io/github-action-setup-xmake@v1 + # with: + # xmake-version: branch@master + + - uses: actions/cache@v5 with: - xmake-version: 3.0.0 - + path: | + ~/AppData/Local/.xmake + key: xmake-${{ hashFiles('xmake.lua') }} + restore-keys: | + xmake- + - run: | xmake repo -u @@ -23,7 +30,7 @@ jobs: - run: | xmake -w -y - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: ${{ github.event.repository.name }}-windows-x64-${{ github.sha }} path: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index eaeaf23..0c43a97 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -7,12 +7,20 @@ jobs: build: runs-on: windows-latest steps: - - name: Checkout repository - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - uses: xmake-io/github-action-setup-xmake@v1 + # with: + # xmake-version: branch@master + + - uses: actions/cache@v5 with: - xmake-version: 3.0.0 + path: | + ~/AppData/Local/.xmake + key: xmake-${{ hashFiles('xmake.lua') }} + restore-keys: | + xmake- + - run: | xmake repo -u @@ -23,7 +31,7 @@ jobs: - run: | xmake -w -y - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: ${{ github.event.repository.name }}-windows-x64-${{ github.sha }} path: | @@ -37,10 +45,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Download Mod - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v7 with: name: ${{ github.event.repository.name }}-windows-x64-${{ github.sha }} path: artifact @@ -55,7 +63,7 @@ jobs: working-directory: artifact - name: Create GitHub Release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v3 with: files: | ${{ github.event.repository.name }}-windows-x64.zip \ No newline at end of file diff --git a/src/CompatibilityApi.cpp b/src/CompatibilityApi.cpp index 02b713e..80b4bae 100644 --- a/src/CompatibilityApi.cpp +++ b/src/CompatibilityApi.cpp @@ -443,25 +443,16 @@ void Export_Compatibility_API() { }); RemoteCall::exportAs("GMLIB_API", "getWorldSpawn", []() -> std::pair { constexpr static HashedString SPAWN_POS{"spawnPos"}; - using mUnkfc867e = std::variant< - int, - bool, - float, - std::string, - GeneratorType, - GameType, - BlockPos, - LevelSeed64, - LevelDataValue::Tag, - DaylightCycle>; + auto& levelData = GMLevel::getInstance()->getLevelData(); if (auto it = levelData.mValues->find(SPAWN_POS); it != levelData.mValues->end()) { - if (auto value = std::get_if(&it->second.mUnkfc867e.as()); value) { + + if (auto value = std::get_if(&it->second.mValue.get()); value) { return {*value, 0}; } } if (auto it = levelData.mOverrides->find(SPAWN_POS); it != levelData.mOverrides->end()) { - if (auto value = std::get_if(&it->second.mUnkfc867e.as()); value) { + if (auto value = std::get_if(&it->second.mValue.get()); value) { return {*value, 0}; } } @@ -471,7 +462,8 @@ void Export_Compatibility_API() { if (pos.second != 0) return false; GMLevel::getInstance()->getLevelData().setSpawnPos(pos.first); auto pkt = SetSpawnPositionPacket(); - pkt.mSpawnBlockPos = NetworkBlockPosition(pos.first); + pkt.mSpawnBlockPos = pos.first; + pkt.mDimensionType = 0; pkt.mSpawnPosType = SpawnPositionType::WorldSpawn; pkt.sendToClients(); @@ -752,7 +744,7 @@ void Export_Compatibility_API() { return entity->getNameTag(); }); RemoteCall::exportAs("GMLIB_API", "ItemisUnbreakable", [](ItemStack const* item) -> bool { - return ((GMItemStack*)item)->isUnbreakable(); + return ((GMItemStack*)item)->getUnbreakable(); }); RemoteCall::exportAs("GMLIB_API", "setItemUnbreakable", [](ItemStack const* item, bool value) -> void { ((GMItemStack*)item)->setUnbreakable(value); diff --git a/src/Global.h b/src/Global.h index 8c63435..0c42886 100644 --- a/src/Global.h +++ b/src/Global.h @@ -22,8 +22,8 @@ using namespace modapi; #define PLUGIN_NAME fmt::format(fg(fmt::color::light_green), "GMLIB-LRCA") #define LIB_VERSION_MAJOR 1 -#define LIB_VERSION_MINOR 7 -#define LIB_VERSION_PATCH 1 +#define LIB_VERSION_MINOR 8 +#define LIB_VERSION_PATCH 0 #define LIB_VERSION_PRERELEASE std::nullopt #ifdef LIB_VERSION_PRERELEASE diff --git a/tooth.json b/tooth.json index 60c9bfe..a70d2e0 100644 --- a/tooth.json +++ b/tooth.json @@ -2,7 +2,7 @@ "format_version": 3, "format_uuid": "289f771f-2c9a-4d73-9f3f-8492495a924d", "tooth": "github.com/GroupMountain/GMLIB-LegacyRemoteCallApi", - "version": "1.9.0", + "version": "1.10.0", "info": { "name": "GMLIB-LegacyRemoteCallApi", "description": "Legacy RemoteCall API for GMLIB", @@ -19,10 +19,10 @@ { "platform": "win-x64", "dependencies": { - "github.com/LiteLDev/LeviLamina": ">=1.7.0", - "github.com/GroupMountain/GMLIB-Release": ">=1.7.0", - "github.com/GroupMountain/ModAPI-Release": ">=0.3.0", - "github.com/MiracleForest/iListenAttentively-Release": ">=0.10.0" + "github.com/LiteLDev/LeviLamina": ">=26.10.0", + "github.com/GroupMountain/GMLIB-Release": ">=26.10.0", + "github.com/GroupMountain/ModAPI-Release": ">=26.10.0", + "github.com/MiracleForest/iListenAttentively-Release": ">=0.12.0" }, "assets": [ { @@ -44,4 +44,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/xmake.lua b/xmake.lua index 4308c8f..506691d 100644 --- a/xmake.lua +++ b/xmake.lua @@ -8,12 +8,12 @@ if not has_config("vs_runtime") then set_runtimes("MD") end -add_requires("levilamina 050b392575227db10340075328e833c1a0f41e27", {configs = {target_type = "server"}}) +add_requires("levilamina 26.10.5", {configs = {target_type = "server"}}) add_requires("legacyremotecall") add_requires("levibuildscript 0.6.0") -add_requires("ilistenattentively 0.11.0") -add_requires("gmlib 1.9.0") -add_requires("modapi 0.4.0") +add_requires("ilistenattentively 0.12.0") +add_requires("gmlib 26.10.0") +add_requires("modapi 26.10.0") target("GMLIB-LegacyRemoteCallApi") add_cxflags(