From 7e3f74f55ad22f6bfedfec1c35f148f8b85edd7f Mon Sep 17 00:00:00 2001 From: JohnBraham Date: Fri, 30 Oct 2026 12:49:35 +0000 Subject: [PATCH] Update BOP pieces for Building Pieces 0.3.7 --- .github/workflows/deploy-release.yml | 2 ++ CHANGELOG.md | 7 +++++++ README.md | 2 +- build.gradle | 2 ++ docs/BUILDING.md | 2 +- docs/RECIPES.md | 4 +++- docs/RELEASE-0.2.3.112021.md | 11 +++++++++++ docs/RELEASING.md | 2 ++ docs/WORLD-UPGRADES.md | 3 +++ gradle.properties | 2 +- gradle/core-dependency.properties | 6 +++--- .../mc/skysbuildingpiecesbop/probe/BopChecks.java | 3 ++- .../skysbuildingpiecesbop/SkysBuildingPiecesBop.java | 4 ++-- .../mc/skysbuildingpiecesbop/BopCatalogueTest.java | 9 +++++++-- .../PublicationContractTest.java | 1 + .../mc/skysbuildingpiecesbop/RepositoryTest.java | 2 +- 16 files changed, 49 insertions(+), 13 deletions(-) create mode 100644 docs/RELEASE-0.2.3.112021.md diff --git a/.github/workflows/deploy-release.yml b/.github/workflows/deploy-release.yml index e86a2830..45b07415 100644 --- a/.github/workflows/deploy-release.yml +++ b/.github/workflows/deploy-release.yml @@ -576,6 +576,8 @@ jobs: with: curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }} curseforge-id: ${{ needs.preflight.outputs.curseforge_project_id }} + # A timeout or HTTP 500 can follow an accepted upload. Check the file before retrying. + curseforge-retry-attempts: 1 curseforge-dependencies: | 1754162(required) 220318(required) diff --git a/CHANGELOG.md b/CHANGELOG.md index 18a017e5..aae89a9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## 0.2.3.112021 + +- Updated for Building Pieces 0.3.7.112021. Matching corners can be crafted back + into steps, and matching steps back into regular slabs. +- Kept the BOP materials, saved pieces and Flower Basket contents unchanged. +- Fixed the Minecraft version warning when refreshing the project in Eclipse. + ## 0.2.2.112021 - Shortened names for gem and wood pieces across all 18 languages. diff --git a/README.md b/README.md index 8baad9d1..2285d5ab 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ holds plant blocks, not ordinary seeds or unrelated items. Use the versions for **Minecraft 1.12.2**, with **Forge 14.23.5.2859** and **Java 8**. You'll need: -- **Sky's Building Pieces 0.3.6.112021** and this add-on. +- **Sky's Building Pieces 0.3.7.112021** and this add-on. - **Biomes O' Plenty 7.0.1.2445**. Put all three main jars in `mods` on both the client and server. diff --git a/build.gradle b/build.gradle index fb0356a9..8f74faed 100644 --- a/build.gradle +++ b/build.gradle @@ -109,6 +109,8 @@ minecraft { runs { configureEach { workingDir.convention layout.projectDirectory.dir(developmentRunDirectory) + // Supply the legacy version before ForgeGradle expands the launch environment. + environment 'MC_VERSION', project.minecraft_version.toString() systemProperty 'forge.logging.console.level', 'debug' systemProperty 'fml.coreMods.load', 'zone.moddev.mc.skysbuildingpieces.legacy.LoaderPlugin' } diff --git a/docs/BUILDING.md b/docs/BUILDING.md index 8ebe44be..d1d41de9 100644 --- a/docs/BUILDING.md +++ b/docs/BUILDING.md @@ -4,7 +4,7 @@ Use Java 17 for Gradle and Temurin 8.0.502+7 for production. Set `SBP_JAVA8_HOME` to the Java 8 installation. The wrapper uses Gradle 9.6.1 and ForgeGradle 7.0.34 for Minecraft 1.12.2. -Check out Building Pieces 0.3.6.112021 at the exact source commit in +Check out Building Pieces 0.3.7.112021 at the exact release commit in `gradle/core-dependency.properties`, then run its `gradlew jar` task. Build this add-on with: diff --git a/docs/RECIPES.md b/docs/RECIPES.md index 83f76b1a..cc6633af 100644 --- a/docs/RECIPES.md +++ b/docs/RECIPES.md @@ -1,11 +1,13 @@ # Crafting -Use core 0.3.6.112021 for ordinary crafting recipes. No template or cutting tool +Use core 0.3.7.112021 for ordinary crafting recipes. No template or cutting tool is required. All ingredients must be the same material, including wood type. - Three full blocks in a row make six horizontal slabs. - Two matching slabs diagonally in a 2 by 2 square make four steps. - Two steps side by side make four corners. +- Two matching corners stacked vertically make one step. +- Two matching steps stacked vertically make one regular slab. - Six full blocks in the usual stair pattern make four stairs. - Six full blocks in two columns of three make six walls. diff --git a/docs/RELEASE-0.2.3.112021.md b/docs/RELEASE-0.2.3.112021.md new file mode 100644 index 00000000..55f9fb20 --- /dev/null +++ b/docs/RELEASE-0.2.3.112021.md @@ -0,0 +1,11 @@ +# Sky's Building Pieces — Biomes O' Plenty 0.2.3 for Minecraft 1.12.2 + +This update uses Building Pieces 0.3.7.112021. Stack two matching corners in the +crafting grid to make a step, or two matching steps to make a regular slab. +Materials with native BOP slabs use those slabs. + +The material catalogue, block IDs and saved pieces are unchanged. Flower +Baskets keep their storage and automatic plant collection. + +Use Forge 14.23.5.2859, Building Pieces 0.3.7.112021 and Biomes O' Plenty +7.0.1.2445. Grass Slabs is optional; use its 1.1.1.112021 release when installed. diff --git a/docs/RELEASING.md b/docs/RELEASING.md index b01d7d05..a3ee6b2b 100644 --- a/docs/RELEASING.md +++ b/docs/RELEASING.md @@ -29,3 +29,5 @@ If publication stops, inspect the completed stages before retrying. Keep the same commit and immutable bundle; rerun only failed jobs when an upload has already succeeded. Do not create another CurseForge file while one is awaiting approval. An existing release with the same jar does not need another upload. +CurseForge uploads have one attempt; check the project files before retrying a +timeout, since the upload may already have been accepted. diff --git a/docs/WORLD-UPGRADES.md b/docs/WORLD-UPGRADES.md index 933bf4d1..324b517d 100644 --- a/docs/WORLD-UPGRADES.md +++ b/docs/WORLD-UPGRADES.md @@ -102,3 +102,6 @@ Together with the core's 236 IDs, that is 310 additional IDs. Existing native BOP blocks are not counted again. New pieces use fixed metadata palettes rather than material tile entities; saved material and orientation assignments stay unchanged. The Flower Basket adds no block IDs. + +Core 0.3.7 adds two path-piece IDs, making that combination 312 IDs instead. +The add-on's own catalogue remains at 74 IDs. diff --git a/gradle.properties b/gradle.properties index 3c20e3a0..39a0e1af 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,7 +20,7 @@ release_enabled=true curseforge_project_id=1755976 mod_name=Sky's Building Pieces - Biomes O Plenty mod_license=LGPL-2.1-only -mod_version=0.2.2.112021 +mod_version=0.2.3.112021 mod_group=zone.moddev.mc.skysbuildingpiecesbop mod_authors=SkyBlade1978 mod_description=Biomes O Plenty building pieces with ordinary crafting recipes and optional legacy recovery. No world generation. diff --git a/gradle/core-dependency.properties b/gradle/core-dependency.properties index 1aaa6b9c..c5020dbb 100644 --- a/gradle/core-dependency.properties +++ b/gradle/core-dependency.properties @@ -1,6 +1,6 @@ -repository=SkyBlade1978/SkysBuildingPieces -commit=78360eefcf6f7637c7959f34dc45bdb9efb6ba12 -version=0.3.6.112021 +repository=MinecraftModDevelopmentMods/SkysBuildingPieces +commit=813de06e066d405aa55828daf3b03f56ef38afef +version=0.3.7.112021 api=1 bop_file=3558882 bop_sha256=1C53D3EE39F557162591F618C58B79DC6861D24522EF785794EE4A815F8A3908 diff --git a/src/integrationTest/java/zone/moddev/mc/skysbuildingpiecesbop/probe/BopChecks.java b/src/integrationTest/java/zone/moddev/mc/skysbuildingpiecesbop/probe/BopChecks.java index 9be10d41..c745da7e 100644 --- a/src/integrationTest/java/zone/moddev/mc/skysbuildingpiecesbop/probe/BopChecks.java +++ b/src/integrationTest/java/zone/moddev/mc/skysbuildingpiecesbop/probe/BopChecks.java @@ -42,7 +42,8 @@ public static void run(WorldServer world) { } } - require(Catalogue.INSTANCE.modules.get("vanilla").palettes.size() == 235, "core palette budget"); + int pathPalettes = Catalogue.INSTANCE.materials.containsKey("minecraft:grass_path") ? 2 : 0; + require(Catalogue.INSTANCE.modules.get("vanilla").palettes.size() == 235 + pathPalettes, "core palette budget"); int registryCount = 0; int highest = 0; diff --git a/src/main/java/zone/moddev/mc/skysbuildingpiecesbop/SkysBuildingPiecesBop.java b/src/main/java/zone/moddev/mc/skysbuildingpiecesbop/SkysBuildingPiecesBop.java index b26a4286..4150a4bf 100644 --- a/src/main/java/zone/moddev/mc/skysbuildingpiecesbop/SkysBuildingPiecesBop.java +++ b/src/main/java/zone/moddev/mc/skysbuildingpiecesbop/SkysBuildingPiecesBop.java @@ -11,9 +11,9 @@ name = "Sky's Building Pieces - Biomes O Plenty", version = SkysBuildingPiecesBop.VERSION, acceptedMinecraftVersions = "[1.12.2]", - dependencies = "required-after:skysbuildingpieces@[0.3.6.112021,0.4);required-after:biomesoplenty@[7.0.1,8.0);before:buildingbricks") + dependencies = "required-after:skysbuildingpieces@[0.3.7.112021,0.4);required-after:biomesoplenty@[7.0.1,8.0);before:buildingbricks") public final class SkysBuildingPiecesBop { - public static final String ID = "skysbuildingpiecesbop", VERSION = "0.2.2.112021"; + public static final String ID = "skysbuildingpiecesbop", VERSION = "0.2.3.112021"; @Mod.Instance(ID) public static SkysBuildingPiecesBop INSTANCE; diff --git a/src/test/java/zone/moddev/mc/skysbuildingpiecesbop/BopCatalogueTest.java b/src/test/java/zone/moddev/mc/skysbuildingpiecesbop/BopCatalogueTest.java index cae0f27f..f71e6a41 100644 --- a/src/test/java/zone/moddev/mc/skysbuildingpiecesbop/BopCatalogueTest.java +++ b/src/test/java/zone/moddev/mc/skysbuildingpiecesbop/BopCatalogueTest.java @@ -28,8 +28,13 @@ void fixedCatalogueBudgetAndAllMetadata() throws Exception { Catalogue core = new Catalogue(); - assertEquals(235, core.palettes.size()); - assertEquals(303, core.palettes.size() + 2 + catalogueModule.palettes.size()); + int pathPalettes = core.materials.containsKey("minecraft:grass_path") ? 2 : 0; + assertEquals(235 + pathPalettes, core.palettes.size()); + assertEquals(303 + pathPalettes, core.palettes.size() + 2 + catalogueModule.palettes.size()); + if (pathPalettes != 0) { + assertEquals("path_step_00", core.palettes.get(235).id); + assertEquals("path_corner_00", core.palettes.get(236).id); + } Catalogue.Palette dirt = core.palettes.get(234); diff --git a/src/test/java/zone/moddev/mc/skysbuildingpiecesbop/PublicationContractTest.java b/src/test/java/zone/moddev/mc/skysbuildingpiecesbop/PublicationContractTest.java index 37cdaf86..1a9b30f1 100644 --- a/src/test/java/zone/moddev/mc/skysbuildingpiecesbop/PublicationContractTest.java +++ b/src/test/java/zone/moddev/mc/skysbuildingpiecesbop/PublicationContractTest.java @@ -29,6 +29,7 @@ void publicationNeedsThisModsMetadataAndExplicitApproval() throws Exception { String workflow = text(".github/workflows/deploy-release.yml"); assertTrue(workflow.contains("confirm_live_publication")); + assertTrue(workflow.contains("curseforge-retry-attempts: 1")); assertTrue(workflow.contains("default: false")); assertTrue(workflow.contains("value release_enabled")); assertTrue(workflow.contains("Build, test, and audit")); diff --git a/src/test/java/zone/moddev/mc/skysbuildingpiecesbop/RepositoryTest.java b/src/test/java/zone/moddev/mc/skysbuildingpiecesbop/RepositoryTest.java index ea0aa11b..05a366f9 100644 --- a/src/test/java/zone/moddev/mc/skysbuildingpiecesbop/RepositoryTest.java +++ b/src/test/java/zone/moddev/mc/skysbuildingpiecesbop/RepositoryTest.java @@ -16,7 +16,7 @@ void newerCoreOverrideIsLocalOnly() throws Exception { String pin = text("gradle/core-dependency.properties"); - assertTrue(pin.contains("version=0.3.6.112021")); + assertTrue(pin.contains("version=0.3.7.112021")); assertTrue(pin.contains("api=1")); }