From 655baee054657cb9a9f89e050ca382f4394ac9b6 Mon Sep 17 00:00:00 2001 From: JohnBraham Date: Tue, 10 Nov 2026 12:58:04 +0000 Subject: [PATCH 1/2] Use ore overlays on Minecraft 1.12.2 Let resource packs change the rock behind each ore without covering up the ore markings. Thanks to KiriCattus for the textures. --- CHANGELOG.txt | 7 ++ README.md | 18 ++- build.gradle | 1 + gradle.properties | 2 +- gradle/ide/eclipse.gradle | 10 ++ gradle/ore-models.gradle | 114 ++++++++++++++++++ gradle/release/artifacts.gradle | 7 ++ gradle/verification/support.gradle | 4 +- .../com/mcmoddev/basemetals/BaseMetals.java | 2 +- .../basemetals/block/OverlayOreBlock.java | 20 +++ .../com/mcmoddev/basemetals/init/Blocks.java | 21 +++- .../com/mcmoddev/basemetals/init/Items.java | 4 + .../models/block/adamantine_ore.json | 6 - .../basemetals/models/block/antimony_ore.json | 6 - .../basemetals/models/block/bismuth_ore.json | 6 - .../basemetals/models/block/coldiron_ore.json | 6 - .../basemetals/models/block/copper_ore.json | 6 - .../basemetals/models/block/lead_ore.json | 6 - .../basemetals/models/block/mercury_ore.json | 6 - .../basemetals/models/block/nickel_ore.json | 6 - .../basemetals/models/block/platinum_ore.json | 6 - .../basemetals/models/block/silver_ore.json | 6 - .../models/block/starsteel_ore.json | 6 - .../basemetals/models/block/tin_ore.json | 6 - .../basemetals/models/block/zinc_ore.json | 6 - .../blocks/ore_overlays/adamantine_ore.png | Bin 0 -> 635 bytes .../blocks/ore_overlays/antimony_ore.png | Bin 0 -> 325 bytes .../blocks/ore_overlays/bismuth_ore.png | Bin 0 -> 325 bytes .../blocks/ore_overlays/coldiron_ore.png | Bin 0 -> 569 bytes .../blocks/ore_overlays/copper_ore.png | Bin 0 -> 262 bytes .../textures/blocks/ore_overlays/lead_ore.png | Bin 0 -> 311 bytes .../blocks/ore_overlays/mercury_ore.png | Bin 0 -> 262 bytes .../blocks/ore_overlays/nickel_ore.png | Bin 0 -> 348 bytes .../blocks/ore_overlays/platinum_ore.png | Bin 0 -> 328 bytes .../blocks/ore_overlays/silver_ore.png | Bin 0 -> 398 bytes .../blocks/ore_overlays/starsteel_ore.png | Bin 0 -> 3837 bytes .../textures/blocks/ore_overlays/tin_ore.png | Bin 0 -> 249 bytes .../textures/blocks/ore_overlays/zinc_ore.png | Bin 0 -> 331 bytes .../test/BaseMetalsRuntimeProbe.java | 2 +- 39 files changed, 199 insertions(+), 91 deletions(-) create mode 100644 gradle/ore-models.gradle create mode 100644 src/main/java/com/mcmoddev/basemetals/block/OverlayOreBlock.java delete mode 100644 src/main/resources/assets/basemetals/models/block/adamantine_ore.json delete mode 100644 src/main/resources/assets/basemetals/models/block/antimony_ore.json delete mode 100644 src/main/resources/assets/basemetals/models/block/bismuth_ore.json delete mode 100644 src/main/resources/assets/basemetals/models/block/coldiron_ore.json delete mode 100644 src/main/resources/assets/basemetals/models/block/copper_ore.json delete mode 100644 src/main/resources/assets/basemetals/models/block/lead_ore.json delete mode 100644 src/main/resources/assets/basemetals/models/block/mercury_ore.json delete mode 100644 src/main/resources/assets/basemetals/models/block/nickel_ore.json delete mode 100644 src/main/resources/assets/basemetals/models/block/platinum_ore.json delete mode 100644 src/main/resources/assets/basemetals/models/block/silver_ore.json delete mode 100644 src/main/resources/assets/basemetals/models/block/starsteel_ore.json delete mode 100644 src/main/resources/assets/basemetals/models/block/tin_ore.json delete mode 100644 src/main/resources/assets/basemetals/models/block/zinc_ore.json create mode 100644 src/main/resources/assets/basemetals/textures/blocks/ore_overlays/adamantine_ore.png create mode 100644 src/main/resources/assets/basemetals/textures/blocks/ore_overlays/antimony_ore.png create mode 100644 src/main/resources/assets/basemetals/textures/blocks/ore_overlays/bismuth_ore.png create mode 100644 src/main/resources/assets/basemetals/textures/blocks/ore_overlays/coldiron_ore.png create mode 100644 src/main/resources/assets/basemetals/textures/blocks/ore_overlays/copper_ore.png create mode 100644 src/main/resources/assets/basemetals/textures/blocks/ore_overlays/lead_ore.png create mode 100644 src/main/resources/assets/basemetals/textures/blocks/ore_overlays/mercury_ore.png create mode 100644 src/main/resources/assets/basemetals/textures/blocks/ore_overlays/nickel_ore.png create mode 100644 src/main/resources/assets/basemetals/textures/blocks/ore_overlays/platinum_ore.png create mode 100644 src/main/resources/assets/basemetals/textures/blocks/ore_overlays/silver_ore.png create mode 100644 src/main/resources/assets/basemetals/textures/blocks/ore_overlays/starsteel_ore.png create mode 100644 src/main/resources/assets/basemetals/textures/blocks/ore_overlays/tin_ore.png create mode 100644 src/main/resources/assets/basemetals/textures/blocks/ore_overlays/zinc_ore.png diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 1e036f6ea..8274d2c2d 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,3 +1,10 @@ +Base Metals 2.6.3.112021 — Minecraft 1.12.2 + +- Brought KiriCattus's ore overlays to Minecraft 1.12.2. If your resource + pack changes stone, netherrack or end stone, Base Metals ores now match + the surrounding rock and keep their ore markings. +- Ore placement and existing worlds are unchanged. + Base Metals 2.6.2.112021 — Minecraft 1.12.2 - Updated to OreSpawn 4.1.6.112021. Install it on both the client and server. diff --git a/README.md b/README.md index bc89a612e..3ba6a8a72 100644 --- a/README.md +++ b/README.md @@ -10,11 +10,10 @@ Base Metals adds metals, alloys, equipment, building blocks, and the crackhammer Crush ores into powder, smelt the powder into ingots, or combine it into alloy blends. The metals also work with supported processing and tool-building mods. -This branch builds **2.6.2.112021** for Minecraft 1.12.2 and Forge. I've -updated OreSpawn support so saved ore settings carry over when you move an -older world. This update also fixes shallow molten metal not burning on -contact and gives players a clear message if their Fantasy Level doesn't -match the server's. See the [changelog](CHANGELOG.txt) for the details. +Version **2.6.3.112021** brings the ore overlays from newer versions of +Base Metals to Minecraft 1.12.2. Ores now match your resource pack's rock +textures. You can update an existing world without changing where ores spawn. +See the [changelog](CHANGELOG.txt) for what's changed. ## Installation @@ -61,6 +60,11 @@ End. Copper, Silver, Tin, Lead, Zinc, Mercury, Nickel, and Platinum generate in ordinary dimensions. Antimony and Bismuth ore blocks are available, but they do not generate by default. Aquarium and Mithril are alloys, not ores. +Base Metals ores use your resource pack's stone, netherrack and end stone. +The ore markings are a separate layer, using textures by KiriCattus. Pack +makers can replace those markings in +`assets/basemetals/textures/blocks/ore_overlays/`. + Make alloys by combining powders in a crafting grid and smelting the resulting blend. For example, Bronze uses Copper and Tin; Steel uses Iron and carbon. Vanilla Bits adds useful forms for vanilla materials, such as Iron powder, @@ -144,11 +148,13 @@ toolchain and dependency versions are recorded in `gradle.properties`. `prepareEclipse` creates client and server launches with processed resources and keeps optional compile-only mods and test code out of normal launches. +After updating an existing Eclipse project, use **Gradle → Refresh Gradle +Project** so Eclipse picks up the generated ore models. The [build-script guide](gradle/README.md) explains the supporting scripts. The [release guide](docs/releasing.md) covers publication from the MMD Actions tab. Release artifacts use the Maven coordinates -`zone.moddev.mc.basemetals:BaseMetals:2.6.2.112021`. Java packages remain under +`zone.moddev.mc.basemetals:BaseMetals:2.6.3.112021`. Java packages remain under `com.mcmoddev.basemetals`; this release does not move saved registry names. Report bugs through the [issue tracker](https://github.com/MinecraftModDevelopmentMods/BaseMetals/issues). diff --git a/build.gradle b/build.gradle index 1b4ca8657..7531da017 100644 --- a/build.gradle +++ b/build.gradle @@ -195,6 +195,7 @@ repositories { } apply from: 'gradle/dependencies.gradle' +apply from: 'gradle/ore-models.gradle' apply from: 'gradle/data/recipe-advancements.gradle' apply from: 'gradle/data/gameplay-advancements.gradle' diff --git a/gradle.properties b/gradle.properties index fc77db254..898d2e631 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ org.gradle.parallel=false net.minecraftforge.gradle.merge-source-sets=false mod_group=zone.moddev.mc.basemetals -mod_version=2.6.2.112021 +mod_version=2.6.3.112021 # Generic release-dispatcher metadata. minecraft_version=1.12.2 diff --git a/gradle/ide/eclipse.gradle b/gradle/ide/eclipse.gradle index 123e294b3..8cf5dded4 100644 --- a/gradle/ide/eclipse.gradle +++ b/gradle/ide/eclipse.gradle @@ -1,3 +1,5 @@ +import groovy.xml.XmlSlurper + // Eclipse support repairs ForgeGradle's generated launches without changing product dependencies. idea { module { @@ -184,6 +186,14 @@ tasks.register('verifyEclipseProductionClasspath') { || eclipseClasspath ==~ /(?s).*]+path="[A-Za-z]:[\\\/].*/) { throw new GradleException('Eclipse must expose dependencies through the Buildship container only') } + File generatedOreModels = tasks.named('generateOreModels').get().outputs.files.singleFile + String oreModelSource = project.relativePath(generatedOreModels).replace('\\', '/') + def classpathEntries = new XmlSlurper().parseText(eclipseClasspath).classpathentry + if (!classpathEntries.any { entry -> + entry.@kind.text() == 'src' && entry.@path.text() == oreModelSource && entry.@output.text() == 'bin/main' + }) { + throw new GradleException("Eclipse must copy the generated ore models from ${oreModelSource} into bin/main") + } List runtimeArchives = configurations.runtimeClasspath.files.collect { it.canonicalFile } diff --git a/gradle/ore-models.gradle b/gradle/ore-models.gradle new file mode 100644 index 000000000..d60b4f164 --- /dev/null +++ b/gradle/ore-models.gradle @@ -0,0 +1,114 @@ +import groovy.json.JsonOutput +import groovy.json.JsonSlurper + +import javax.imageio.ImageIO + +// KiriCattus's two-layer model uses the legacy texture paths on these Forge versions. +def hosts = [ + adamantine_ore: 'netherrack', antimony_ore: 'stone', bismuth_ore: 'stone', + coldiron_ore: 'netherrack', copper_ore: 'stone', lead_ore: 'stone', + mercury_ore: 'stone', nickel_ore: 'stone', platinum_ore: 'stone', + silver_ore: 'stone', starsteel_ore: 'end_stone', tin_ore: 'stone', zinc_ore: 'stone' +].asImmutable() +ext.baseMetalsOreOverlayIds = hosts.keySet().toList().asImmutable() + +def assets = layout.projectDirectory.dir('src/main/resources/assets/basemetals') +def textures = assets.dir('textures/blocks/ore_overlays') +def overlayFiles = fileTree(textures) { include '*_ore.png' } +def oreStates = fileTree(assets.dir('blockstates')) { include '*_ore.json' } +def oreItems = fileTree(assets.dir('models/item')) { include '*_ore.json' } +def generated = layout.buildDirectory.dir('generated/ore-models') +def sides = ['down', 'up', 'north', 'south', 'west', 'east'] + +def cube = { Number from, Number to, String texture -> + def faces = sides.collectEntries { side -> + [(side): [texture: texture, cullface: side, uv: [0, 0, 16, 16]]] + } + [from: [from, from, from], to: [to, to, to], faces: faces] +} + +def models = [ore_overlay: [ + parent: 'minecraft:block/block', + elements: [cube(0, 16, '#base'), cube(-0.05, 16.05, '#overlay')] +]] +hosts.each { id, host -> + def base = "minecraft:blocks/${host}".toString() + models[id] = [ + parent: 'basemetals:block/ore_overlay', + textures: [particle: base, base: base, overlay: "basemetals:blocks/ore_overlays/${id}".toString()] + ] +} + +def generateOreModels = tasks.register('generateOreModels') { + group = 'build' + description = 'Generates the ore models from KiriCattus’s textures and vanilla rock.' + inputs.files(overlayFiles, oreStates, oreItems).withPathSensitivity(PathSensitivity.RELATIVE) + inputs.property('models', JsonOutput.toJson(models)) + outputs.dir(generated) + + doLast { + def found = overlayFiles.files.collect { it.name - '.png' }.toSet() + if (found != hosts.keySet()) { + throw new GradleException("Ore textures do not match the model list: missing ${hosts.keySet() - found}, extra ${found - hosts.keySet()}") + } + + def json = new JsonSlurper() + hosts.keySet().each { id -> + def state = json.parse(assets.file("blockstates/${id}.json").asFile) + def item = json.parse(assets.file("models/item/${id}.json").asFile) + if (state.variants?.normal?.model != "basemetals:${id}" || item.parent != "basemetals:block/${id}") { + throw new GradleException("The block and item must both use the generated model for ${id}") + } + + def image = ImageIO.read(textures.file("${id}.png").asFile) + if (image == null) throw new GradleException("Cannot read the overlay for ${id}") + def alpha = image.getRGB(0, 0, image.width, image.height, null, 0, image.width).collect { it >>> 24 } + if (!alpha.contains(0) || !alpha.any { it >= 128 }) { + throw new GradleException("The overlay for ${id} must show both the ore and the rock behind it") + } + } + + def dir = generated.get().dir('assets/basemetals/models/block').asFile + dir.mkdirs() + models.each { id, model -> + new File(dir, "${id}.json").setText(JsonOutput.prettyPrint(JsonOutput.toJson(model)) + '\n', 'UTF-8') + } + dir.listFiles().findAll { it.isFile() && it.name.endsWith('.json') && !models.containsKey(it.name - '.json') }.each { + if (!it.delete()) throw new GradleException("Could not remove stale generated model ${it.name}") + } + } +} + +// Eclipse copies these models into bin/main just like the other game resources. +sourceSets.main.resources.srcDir(generateOreModels) + +['genEclipseRuns', 'eclipseClasspath'].each { taskName -> + tasks.named(taskName) { dependsOn generateOreModels } +} + +def processResources = tasks.named('processResources', ProcessResources) + +def verifyOreOverlayModels = tasks.register('verifyOreOverlayModels') { + group = 'verification' + description = 'Checks that the processed block and item resources use the generated ore overlays.' + dependsOn processResources + + doLast { + def root = new File(processResources.get().destinationDir, 'assets/basemetals') + def json = new JsonSlurper() + models.each { id, expected -> + def path = new File(root, "models/block/${id}.json") + if (!path.isFile() || json.parse(path) != expected) { + throw new GradleException("Missing or incorrect processed ore model: ${id}") + } + } + hosts.keySet().each { id -> + def packaged = new File(root, "textures/blocks/ore_overlays/${id}.png") + if (!packaged.isFile() || !Arrays.equals(packaged.bytes, textures.file("${id}.png").asFile.bytes)) { + throw new GradleException("Missing or changed processed ore overlay: ${id}") + } + } + } +} + +tasks.named('check') { dependsOn verifyOreOverlayModels } diff --git a/gradle/release/artifacts.gradle b/gradle/release/artifacts.gradle index 52fd2bdcd..c9ed2ec9a 100644 --- a/gradle/release/artifacts.gradle +++ b/gradle/release/artifacts.gradle @@ -189,6 +189,13 @@ tasks.register('verifyReleaseArtifacts') { List generatedRecipeAdvancements = currentInventory.findAll { String entry -> entry ==~ /assets\/basemetals\/advancements\/recipes\/materials\/[^\/]+\/[^\/]+\.json/ } + allowedAddedEntries.addAll([ + 'com/mcmoddev/basemetals/block/OverlayOreBlock.class', + 'assets/basemetals/models/block/ore_overlay.json' + ]) + allowedAddedEntries.addAll(project.baseMetalsOreOverlayIds.collect { + "assets/basemetals/textures/blocks/ore_overlays/${it}.png".toString() + }) allowedAddedEntries.addAll([ 'this_is_new', 'blocktastic', 'geologist', 'metallurgy', 'aquarium_maker', 'brass_maker', 'bronze_maker', 'cupronickel_maker', diff --git a/gradle/verification/support.gradle b/gradle/verification/support.gradle index 87a4fe7b2..9f213c524 100644 --- a/gradle/verification/support.gradle +++ b/gradle/verification/support.gradle @@ -82,7 +82,7 @@ tasks.register('verifyReleaseConfiguration') { description = 'Validates the complete Base Metals 1.12 release identity and dependency contract.' dependsOn tasks.named('verifyReleaseToolchains') doLast { - if (project.mod_version != '2.6.2.112021' + if (project.mod_version != '2.6.3.112021' || project.minecraft_version != '1.12.2' || project.forge_version != '14.23.5.2859' || project.mappings_channel != 'stable' @@ -130,7 +130,7 @@ tasks.register('verifyReleaseConfiguration') { throw new GradleException('Unexpected published OreSpawn 4.1 CurseForge artifact identity') } String source = file('src/main/java/com/mcmoddev/basemetals/BaseMetals.java').getText('UTF-8') - if (!source.contains('VERSION = "2.6.2.112021"') + if (!source.contains('VERSION = "2.6.3.112021"') || !source.contains('certificateFingerprint = ""') || !source.contains("required-after:orespawn@[${project.orespawn4_version},5.0.0)")) { throw new GradleException('Base Metals source version or unsigned fingerprint contract drifted') diff --git a/src/main/java/com/mcmoddev/basemetals/BaseMetals.java b/src/main/java/com/mcmoddev/basemetals/BaseMetals.java index f9f15724e..76edbda4f 100644 --- a/src/main/java/com/mcmoddev/basemetals/BaseMetals.java +++ b/src/main/java/com/mcmoddev/basemetals/BaseMetals.java @@ -45,7 +45,7 @@ public final class BaseMetals { protected static final String NAME = "Base Metals"; /** Release version in the shared MMD major.minor.patch.target format. */ - protected static final String VERSION = "2.6.2.112021"; + protected static final String VERSION = "2.6.3.112021"; protected static final String UPDATEJSON = SharedStrings.UPDATE_JSON_URL + "BaseMetals/master/update.json"; diff --git a/src/main/java/com/mcmoddev/basemetals/block/OverlayOreBlock.java b/src/main/java/com/mcmoddev/basemetals/block/OverlayOreBlock.java new file mode 100644 index 000000000..b8be1bbb8 --- /dev/null +++ b/src/main/java/com/mcmoddev/basemetals/block/OverlayOreBlock.java @@ -0,0 +1,20 @@ +package com.mcmoddev.basemetals.block; + +import com.mcmoddev.lib.block.BlockMMDOre; +import com.mcmoddev.lib.material.MMDMaterial; +import net.minecraft.util.BlockRenderLayer; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; + +/** Lets the rock show through the ore texture's transparent pixels. */ +public final class OverlayOreBlock extends BlockMMDOre { + public OverlayOreBlock(final MMDMaterial material) { + super(material); + } + + @Override + @SideOnly(Side.CLIENT) + public BlockRenderLayer getRenderLayer() { + return BlockRenderLayer.CUTOUT_MIPPED; + } +} diff --git a/src/main/java/com/mcmoddev/basemetals/init/Blocks.java b/src/main/java/com/mcmoddev/basemetals/init/Blocks.java index 56d6db8aa..be80a2c1a 100644 --- a/src/main/java/com/mcmoddev/basemetals/init/Blocks.java +++ b/src/main/java/com/mcmoddev/basemetals/init/Blocks.java @@ -5,6 +5,7 @@ import com.google.common.collect.ImmutableList; import com.mcmoddev.basemetals.BaseMetals; +import com.mcmoddev.basemetals.block.OverlayOreBlock; import com.mcmoddev.basemetals.data.MaterialNames; import com.mcmoddev.lib.block.BlockHumanDetector; import com.mcmoddev.lib.data.Names; @@ -13,6 +14,7 @@ import com.mcmoddev.lib.init.ItemGroups; import com.mcmoddev.lib.init.Materials; import com.mcmoddev.lib.material.MMDMaterial; +import com.mcmoddev.lib.util.Oredicts; import net.minecraft.block.Block; import net.minecraftforge.common.MinecraftForge; @@ -46,7 +48,7 @@ public static void init(final MMDLibRegisterBlocks event) { create(Names.BLOCK, material); create(Names.PLATE, material); - create(Names.ORE, material); + createOre(material); create(Names.BARS, material); create(Names.DOOR, material); create(Names.TRAPDOOR, material); @@ -79,7 +81,7 @@ private static void createMercury() { if (Materials.hasMaterial(MaterialNames.MERCURY)) { final MMDMaterial mercury = Materials.getMaterialByName(MaterialNames.MERCURY); - create(Names.ORE, mercury); + createOre(mercury); if (mercury.hasBlock(Names.ORE)) { mercury.getBlock(Names.ORE).setHardness(3.0f).setResistance(5.0f); @@ -87,6 +89,21 @@ private static void createMercury() { } } + private static void createOre(final MMDMaterial material) { + if (!material.hasOre() || material.hasBlock(Names.ORE) || !isNameEnabled(Names.ORE)) { + return; + } + + final Block ore = addBlock(new OverlayOreBlock(material), Names.ORE, material, + ItemGroups.getTab(SharedStrings.TAB_BLOCKS)); + material.addNewBlock(Names.ORE, ore); + + final String prefix = getOredictFromName(Names.ORE); + if (prefix != null) { + Oredicts.registerOre(prefix + material.getCapitalizedName(), ore); + } + } + /** Adds the previously created blocks to Forge's block registry. */ @SubscribeEvent public static void registerBlocks(final RegistryEvent.Register event) { diff --git a/src/main/java/com/mcmoddev/basemetals/init/Items.java b/src/main/java/com/mcmoddev/basemetals/init/Items.java index a4b44b7f7..14b6db5a2 100644 --- a/src/main/java/com/mcmoddev/basemetals/init/Items.java +++ b/src/main/java/com/mcmoddev/basemetals/init/Items.java @@ -5,12 +5,14 @@ import com.google.common.collect.ImmutableList; import com.mcmoddev.basemetals.BaseMetals; +import com.mcmoddev.basemetals.block.OverlayOreBlock; import com.mcmoddev.basemetals.data.MaterialNames; import com.mcmoddev.basemetals.items.ItemBaseMetalsArrow; import com.mcmoddev.basemetals.items.ItemBaseMetalsBolt; import com.mcmoddev.basemetals.items.ItemBaseMetalsBow; import com.mcmoddev.basemetals.items.ItemBaseMetalsCrossbow; import com.mcmoddev.basemetals.items.ItemBaseMetalsHoe; +import com.mcmoddev.lib.block.BlockMMDOre; import com.mcmoddev.lib.data.Names; import com.mcmoddev.lib.data.SharedStrings; import com.mcmoddev.lib.events.MMDLibRegisterItems; @@ -38,6 +40,8 @@ private Items() { /** Creates material forms before Forge opens the item registry. */ @SubscribeEvent public static void registerItems(MMDLibRegisterItems ev) { + addClassSorting(OverlayOreBlock.class, BlockMMDOre.class); + final List materials = Arrays.asList(MaterialNames.ADAMANTINE, MaterialNames.ANTIMONY, MaterialNames.AQUARIUM, MaterialNames.BISMUTH, MaterialNames.BRASS, MaterialNames.BRONZE, MaterialNames.COLDIRON, diff --git a/src/main/resources/assets/basemetals/models/block/adamantine_ore.json b/src/main/resources/assets/basemetals/models/block/adamantine_ore.json deleted file mode 100644 index a7a3b7c77..000000000 --- a/src/main/resources/assets/basemetals/models/block/adamantine_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "basemetals:blocks/adamantine_ore" - } -} diff --git a/src/main/resources/assets/basemetals/models/block/antimony_ore.json b/src/main/resources/assets/basemetals/models/block/antimony_ore.json deleted file mode 100644 index 46bcb758b..000000000 --- a/src/main/resources/assets/basemetals/models/block/antimony_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "basemetals:blocks/antimony_ore" - } -} diff --git a/src/main/resources/assets/basemetals/models/block/bismuth_ore.json b/src/main/resources/assets/basemetals/models/block/bismuth_ore.json deleted file mode 100644 index 6a4ff9ceb..000000000 --- a/src/main/resources/assets/basemetals/models/block/bismuth_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "basemetals:blocks/bismuth_ore" - } -} diff --git a/src/main/resources/assets/basemetals/models/block/coldiron_ore.json b/src/main/resources/assets/basemetals/models/block/coldiron_ore.json deleted file mode 100644 index 0053a3db0..000000000 --- a/src/main/resources/assets/basemetals/models/block/coldiron_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "basemetals:blocks/coldiron_ore" - } -} diff --git a/src/main/resources/assets/basemetals/models/block/copper_ore.json b/src/main/resources/assets/basemetals/models/block/copper_ore.json deleted file mode 100644 index 78d8c56ab..000000000 --- a/src/main/resources/assets/basemetals/models/block/copper_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "basemetals:blocks/copper_ore" - } -} diff --git a/src/main/resources/assets/basemetals/models/block/lead_ore.json b/src/main/resources/assets/basemetals/models/block/lead_ore.json deleted file mode 100644 index eb0dd5638..000000000 --- a/src/main/resources/assets/basemetals/models/block/lead_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "basemetals:blocks/lead_ore" - } -} diff --git a/src/main/resources/assets/basemetals/models/block/mercury_ore.json b/src/main/resources/assets/basemetals/models/block/mercury_ore.json deleted file mode 100644 index 43a930396..000000000 --- a/src/main/resources/assets/basemetals/models/block/mercury_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "basemetals:blocks/mercury_ore" - } -} diff --git a/src/main/resources/assets/basemetals/models/block/nickel_ore.json b/src/main/resources/assets/basemetals/models/block/nickel_ore.json deleted file mode 100644 index d56eb9218..000000000 --- a/src/main/resources/assets/basemetals/models/block/nickel_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "basemetals:blocks/nickel_ore" - } -} diff --git a/src/main/resources/assets/basemetals/models/block/platinum_ore.json b/src/main/resources/assets/basemetals/models/block/platinum_ore.json deleted file mode 100644 index 4b9c08a95..000000000 --- a/src/main/resources/assets/basemetals/models/block/platinum_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "basemetals:blocks/platinum_ore" - } -} diff --git a/src/main/resources/assets/basemetals/models/block/silver_ore.json b/src/main/resources/assets/basemetals/models/block/silver_ore.json deleted file mode 100644 index 186435b26..000000000 --- a/src/main/resources/assets/basemetals/models/block/silver_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "basemetals:blocks/silver_ore" - } -} diff --git a/src/main/resources/assets/basemetals/models/block/starsteel_ore.json b/src/main/resources/assets/basemetals/models/block/starsteel_ore.json deleted file mode 100644 index cc135ccca..000000000 --- a/src/main/resources/assets/basemetals/models/block/starsteel_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "basemetals:blocks/starsteel_ore" - } -} diff --git a/src/main/resources/assets/basemetals/models/block/tin_ore.json b/src/main/resources/assets/basemetals/models/block/tin_ore.json deleted file mode 100644 index 76e6d32df..000000000 --- a/src/main/resources/assets/basemetals/models/block/tin_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "basemetals:blocks/tin_ore" - } -} diff --git a/src/main/resources/assets/basemetals/models/block/zinc_ore.json b/src/main/resources/assets/basemetals/models/block/zinc_ore.json deleted file mode 100644 index f6be5b4fe..000000000 --- a/src/main/resources/assets/basemetals/models/block/zinc_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "basemetals:blocks/zinc_ore" - } -} diff --git a/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/adamantine_ore.png b/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/adamantine_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..c3fe185edd311d34883d76d4f9a59da7988e647b GIT binary patch literal 635 zcmV->0)+jEP)z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy32;bRa{vGf6951U69E94oEQKA0pv+UK~y-6rBYpM6HyR7cXzYf zO}ZbE#A?!peuPpQC5l0VSOpay1O?yyW&IsKD)yyd5R4C^p%|gfM~xdz;%&0o-E>EG zp@BBh1UwG|bMDN!XYO3!Kf$Jvh0Ge|vw5_*g;($Qr`DW7xJcYuStT`|gflute>9ru zK)OhzQtPPw{0?hD#oKa;ttFBqND791j%7nfsa|9M6fl$+xNg83d0`&Y;#e{h@O>Yb zO#>2Rv|l@7e;uLHs6rru5fQ_DJH3INu>$ARgT*-%Gl2(NIXbInGlvB5=w^}hsE+nY z7oA=gal-`X93Q`ZVdos&&2G|@!VbN>|7?6ifH&oLtn~QD20MW* zB?jAbK=?i3qSN;gJIUM#{p|xSZi%RQwuJME*M2rM} z4cZ|giXwjWx>JkOs!C6<=V?Nqc~F5YFM^0*JHyG{0@yU;CS7>bW zs%DU?$nabjBhSULZI91%MWyF=9^+H}D>O~RU@$;b5+E^u_8JS>ZBk>4NNRCdyo2b1 ziowu^<2Yzp&H4U8fEUGk)V5v7QY37y993~ik>?i(@bKCVs?_U14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>~Q? zgt*q%*O!!(^!N8?WMmvUd3@jDgS!vx+kJ4~p%X{9?%J{c=%Jna_Z~cUJNEA0 zclf~ey}Neq+kJHZ!9!gCrvVLNED7=pW^j0RBMr#mEbxddW?gd)z4*}Q$iB}T#0+Y literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/bismuth_ore.png b/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/bismuth_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..c80e34b633515fd00ee0296b01a52c07e8e412bd GIT binary patch literal 325 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6XVU3I`u#fOS+@4BLl<6 ze(pbstU$g(vPY0F14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>~Q? zgt*q%*O!!(^!N8?WMmvWy!YU~9ea0e*|&S^(L;N7Y+ZkF-_AWdHy=K*>&U@9yS8sU zuy^~;?HhOR*nD*VK{26*`#?h&OM?7@862M7NCR>>3p^r=85p>QL70(Y)*K0-V2r1W zV~E7mUOz{!0|p$Y9g{b%EBXKbO-6Pi&#`B&!jlCa9Pj8}d%BppNlt#<$LAXpIVCl1 z#IG#Btroc8iuKz>KZ(n%3TzQ9(f4=lnk^V$`XFcK>b4i0%Qjv6eo6fOawg%@Wxs$H PGB9|$`njxgN@xNA5pH;= literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/coldiron_ore.png b/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/coldiron_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..f94f58ac5118e39e52d631d291f9f175016285da GIT binary patch literal 569 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6XVU3I`u#fOS+@4BLl<6 ze(pbstU$g(vPY0F14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>8+w-DI*hWV)AflV{d?+A{W>6z`#jR z#icDI6s@NRv^vGYVncemITx3vuyBZ;-u%!|X9a~sb8}rTuJuI`^Af!at*inyG~88H z4Mat`xVUaMHQifOZ!ROVzbP$1L*sI7?TYN+DhG!obMp#&`+2dkMqFI!R#vX6s?uCs zrz$F%eSDIQj82x9uZoFD&!1J}=x8V@nPF2@Gq-k|4ie28U-i(tsS!0*}aI1_o|n5N2eU zHAey{=;Z0*7$Pw>IpF|HOvDj`#wI1BqX!mnTxMG;x|7FYQ;dLK%rr)op4&n@3JZc4 vzIwRnM9qws62C-t27GB;W8R^3ESy14g=Nm$c`_4#rZITB`njxgN@xNAz}u+R literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/copper_ore.png b/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/copper_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..6ae4ca5151a9d3b214440e37fed6745a8e2591a9 GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6XVU3I`u#fOS+@4BLl<6 ze(pbstU$g(vPY0F14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>b4A@8cIxQl@bD<~h&uGT vWi;G8)V75AWR*#%hRupt4#^bb4@?Y+vJA%>U!VL6G={;`)z4*}Q$iB}a12a^ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/lead_ore.png b/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/lead_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..6367761e912809456381fd85b9e49af6b0cc1ec5 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6XVU3I`u#fOS+@4BLl<6 ze(pbstU$g(vPY0F14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>{Zu9WiW@kJ9-D`v#z_a&B2`Tzfa zNsRYSpkBt3AirP+hi5m^fE>;OkH}&M25w;xW@MN(M*=7q?&;zfA~Chs&ynwd0mq|& z6yGoZ@5knpMov?mEzau7P14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>tWf_h&zCQUCXbgj=tDnm{r-UW|1&m49 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/nickel_ore.png b/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/nickel_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..a3e7ab527201e88c68263d5cfe35f01951b52ca8 GIT binary patch literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6XVU3I`u#fOS+@4BLl<6 ze(pbstU$g(vPY0F14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>Eak7F}1fZkgq|3$N4uSpP=KhC;!|{4|wz#UaWgt8f*NZy(c!q=bCSR z>wUX*x9r{sCmXdjDDyx0)Ui8G{9()cZMrF}DpjlsrWVeJ1OA@rtm|Mf5T3C5o0Zc? fE?dp0Z_Buy|1+}*KTqie+Q;DO>gTe~DWM4fE+=pe literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/platinum_ore.png b/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/platinum_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..de247751dc2c1b72dbf0779c1c410586124683dd GIT binary patch literal 328 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6XVU3I`u#fOS+@4BLl<6 ze(pbstU$g(vPY0F14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>~Q? zgt*q%*O!!(^!N8?WMusO|L@bEA8)^Ze)r?ckN^Lke|Yox&(F8tK7IT5=llP^uReeH z`0M+tPw(D*`2^H$)q70=NHLZK`2{mLJiCzwvL>4nJa0`PlBg3pY5*S`Cn?Dxu-xB#@*eSHW_fr~sSIv$;>z+>wowPh7 z`qI32Hjb?;?;3JWZZeHwIO00bq55XMvXm2}Fk44ofvPP)Tsw@SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=d3- zBeIx*fm;}a85w5HkpK#Q_jGX#(U_Pzabe*R0}+?|=Vxdh@HxP`qq#(|fVD+-2UA~l z(`2DbhZ{F&D_%Im%F)4jBx2@NB}?N-rQWjt_xHzd+YtOvqOo`8m*=?|EdmYh2`MRu znXUN+I9cXx&X~cWB9#AAb@dG~x1fbe^RnZ1MjO9i^7_miyg!%6+M16&#(2*xyoeXOjS5_*Ko$1^b$#-0$V8l`Q7Bep06674a$RT=YbrC0T|- zJD&IlOG$?Om%68ynmo&iP3Zc<@O^8Je7U=5-mHasZ#D0q+3q^m+x72~;A=du)Stzl oaSPdaSuOh4PX25Aq94i6Js5L)no8|1U=T2Py85}Sb4q9e0B~@U1poj5 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/starsteel_ore.png b/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/starsteel_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..2e8267e09f5550daacd9781acb4fb62f79ee64cd GIT binary patch literal 3837 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/tin_ore.png b/src/main/resources/assets/basemetals/textures/blocks/ore_overlays/tin_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..03d13a75b7ba327fee9bea2e5272abe342b191c8 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6XVU3I`u#fOS+@4BLl<6 ze(pbstU$g(vPY0F14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>aimk{;f=`KMY%suIt^ngZHX^%;R;* z2k)Nt2t2=JxwYEH=0|gvNwWqkG1xiyIPKMoJ>4eYAa&t$;DraK2Sc`fi~Gg$`45xY U?#Yh&KzkTGUHx3vIVCg!01y{>D*ylh literal 0 HcmV?d00001 diff --git a/src/test/java/com/mcmoddev/basemetals/test/BaseMetalsRuntimeProbe.java b/src/test/java/com/mcmoddev/basemetals/test/BaseMetalsRuntimeProbe.java index ae98584e7..d9e91c431 100644 --- a/src/test/java/com/mcmoddev/basemetals/test/BaseMetalsRuntimeProbe.java +++ b/src/test/java/com/mcmoddev/basemetals/test/BaseMetalsRuntimeProbe.java @@ -149,7 +149,7 @@ public void serverStarted(final FMLServerStartedEvent event) throws IOException final String mmdLibVersion = version("mmdlib"); final String oreSpawnVersion = version("orespawn"); - require("2.6.2.112021".equals(baseMetalsVersion), + require("2.6.3.112021".equals(baseMetalsVersion), "Unexpected Base Metals version " + baseMetalsVersion); // MMDLib rc2.36 still reports "rc2" in its mod metadata. require("1.0.0-rc2".equals(mmdLibVersion), From a6e28902a68a7193d98b36608776845a45c59d3c Mon Sep 17 00:00:00 2001 From: JohnBraham Date: Tue, 10 Nov 2026 13:11:06 +0000 Subject: [PATCH 2/2] Use the current version for CI release files --- .github/workflows/ci.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e2eb71ed8..c2ac50b2c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -157,6 +157,7 @@ jobs: cp build/release/SHA256SUMS "$RUNNER_TEMP/first-SHA256SUMS" - name: Verify reproducible release archives + id: release_archives shell: bash run: | set -euo pipefail @@ -170,6 +171,9 @@ jobs: ) ./gradlew "${gradle_args[@]}" cmp "$RUNNER_TEMP/first-SHA256SUMS" build/release/SHA256SUMS + version="$(sed -n 's/^mod_version=//p' gradle.properties)" + [[ "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]] + echo "version=$version" >> "$GITHUB_OUTPUT" - name: Upload audited release candidate uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 @@ -178,9 +182,9 @@ jobs: if-no-files-found: error retention-days: 30 path: | - build/libs/BaseMetals-2.6.2.112021.jar - build/libs/BaseMetals-2.6.2.112021-sources.jar - build/libs/BaseMetals-2.6.2.112021-javadoc.jar + build/libs/BaseMetals-${{ steps.release_archives.outputs.version }}.jar + build/libs/BaseMetals-${{ steps.release_archives.outputs.version }}-sources.jar + build/libs/BaseMetals-${{ steps.release_archives.outputs.version }}-javadoc.jar build/release/SHA256SUMS CHANGELOG.txt