Skip to content

Commit 3f12111

Browse files
authored
Merge pull request #490 from SkyBlade1978/master-1.18
Update Base Metals 1.18 README
2 parents 4ce3608 + 1500617 commit 3f12111

1 file changed

Lines changed: 134 additions & 44 deletions

File tree

‎README.md‎

Lines changed: 134 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,151 @@
1-
# Base Metals 3.0.0
1+
[![Discord](https://img.shields.io/badge/Discord-MMD-green.svg?style=flat&logo=Discord)](https://discord.moddev.zone)
2+
[![CurseForge downloads](https://cf.way2muchnoise.eu/full_base-metals_downloads.svg)](https://www.curseforge.com/minecraft/mc-mods/base-metals)
3+
[![Supported Minecraft versions](https://cf.way2muchnoise.eu/versions/Minecraft_base-metals_all.svg)](https://www.curseforge.com/minecraft/mc-mods/base-metals)
4+
[![Build, test, and audit](https://github.com/MinecraftModDevelopmentMods/BaseMetals/actions/workflows/ci.yml/badge.svg?branch=master-1.18)](https://github.com/MinecraftModDevelopmentMods/BaseMetals/actions/workflows/ci.yml?query=branch%3Amaster-1.18)
25

3-
Base Metals 3.0.0 is the Minecraft 1.18.2/Forge 40 port of Base Metals. It adds
4-
22 metals and alloys, their blocks and equipment, molten fluids, the Crack
5-
Hammer, scythes, material shields, bows, bolt-launching crossbows, trades,
6+
# Base Metals
7+
8+
Base Metals adds historically common metals, useful alloys, and fantasy metals
9+
to Minecraft. Depending on the material, these are available as ores, storage
10+
and decorative blocks, molten fluids, crafting components, tools, armour,
11+
shields, bows, crossbows, arrows, and bolts. The mod also includes Crack
12+
Hammers, scythes, metal anvils, the human detector, villager trades,
613
advancements, and structure loot.
714

8-
This branch is a native Java 17 mod. It does not contain or require MMDLib,
9-
Additional Loot Tables, Mineralogy, or a legacy ore generator.
15+
The Minecraft 1.18.2 line is a native Forge/Java 17 port. Its current version is
16+
`3.0.1.118021`: functional version `3.0.1`, built for the `118021` target
17+
(Minecraft 1.18.2, Forge). It preserves the historical `basemetals` registry
18+
IDs while replacing MMDLib, Additional Loot Tables, and the old Base Metals
19+
world generator with modern Forge and data-pack systems.
1020

1121
## Requirements
1222

13-
- Minecraft 1.18.2
14-
- Forge 40.3.0 or newer in the Forge 40 line
15-
- OreSpawn 4.0.1 or newer, but lower than 5.0.0
23+
- Minecraft `1.18.2`
24+
- Forge `40.3.0` or newer in the Minecraft 1.18.2 Forge 40 line
25+
- Java 17
26+
- OreSpawn `[4.0.1,5.0.0)` on both client and server
27+
28+
This version is built and qualified against OreSpawn `4.0.16.118021`. Put
29+
`BaseMetals-3.0.1.118021.jar` and a compatible OreSpawn JAR in the `mods`
30+
directory. MMDLib and Additional Loot Tables must not be carried forward from
31+
an older installation. Mineralogy is optional.
32+
33+
## Materials and gameplay
34+
35+
Base Metals provides 22 materials:
36+
37+
- Natural and industrial metals: Antimony, Bismuth, Copper, Lead, Mercury,
38+
Nickel, Platinum, Silver, Tin, and Zinc.
39+
- Alloys: Brass, Bronze, Cupronickel, Electrum, Invar, Pewter, and Steel.
40+
- Fantasy materials: Adamantine, Aquarium, Cold Iron, Mithril, and Starsteel.
41+
42+
The available forms intentionally vary by material to preserve the established
43+
Base Metals content. Forge tags are used throughout recipes, so compatible
44+
ores, ingots, powders, plates, rods, gears, and other components from different
45+
mods can interoperate without a Java API dependency.
46+
47+
Notable mechanics include:
48+
49+
- Crack Hammers crush supported mined blocks through the data-driven
50+
`basemetals:crushing` recipe type. They can also crush dropped items by using
51+
the hammer on the block beneath them; sneaking processes as much of a stack
52+
as the hammer's remaining durability allows.
53+
- Supported ore powders can be smelted into ingots, and alloy blends provide the
54+
historical furnace-based alloying route.
55+
- Scythes harvest a horizontal 3x3 area while respecting normal Forge block
56+
break and protection events, drops, enchantments, and durability.
57+
- Material shields can be upgraded at an anvil with one strictly harder tagged
58+
plate while retaining their enchantments.
59+
- Base Metals bows fire its material arrows. Its legacy-style crossbows are
60+
draw-and-release weapons which fire material bolts.
61+
- Configurable armour and melee effects give Adamantine, Aquarium, Cold Iron,
62+
Lead, Mithril, and Starsteel their distinctive behaviour. Held Starsteel
63+
equipment repairs by one durability every 200 server ticks; Starsteel armour
64+
does not regenerate.
65+
- Molten-metal buckets place and collect the corresponding fluid blocks. These
66+
fluids are world blocks and compatibility resources rather than a second
67+
Base Metals processing system.
68+
69+
The common configuration deliberately contains only four default-enabled
70+
switches: special equipment effects, Starsteel regeneration, mercury immersion
71+
effects, and villager trades. Registries, materials, recipes, and world
72+
generation are stable data contracts and cannot be disabled individually by
73+
the common configuration.
74+
75+
## Ore generation
76+
77+
[OreSpawn](https://www.curseforge.com/minecraft/mc-mods/mmd-orespawn) is the
78+
only ore-placement engine used by this port. Base Metals contains no native or
79+
fallback world generator.
80+
81+
Fresh installations enable ten ore rules. Cold Iron and Adamantine generate in
82+
the Nether, Starsteel generates in the End, and the remaining enabled ores use
83+
explicit 1.18 height ranges in ordinary dimensions other than the Nether and
84+
End. Vanilla copper generation remains enabled. The Base Metals Copper,
85+
Antimony, and Bismuth ore blocks remain registered for compatibility and data
86+
packs, but do not generate by default.
87+
88+
Base Metals does not add rock strata. If Mineralogy is installed, OreSpawn uses
89+
the same Base Metals rules and its declared rock-family host tags, avoiding a
90+
second copy of each ore.
91+
92+
See [World generation](docs/WORLDGEN.md) for the complete provider contract,
93+
default distributions, and data-pack override guidance.
94+
95+
## Updating an old world
96+
97+
The port supports direct upgrades from Base Metals 1.10 and 1.12, including the
98+
original Cyano 2.4 line and the later MMD 2.5 line. The first 1.18 launch makes
99+
world-local backups before converting legacy numeric chunks, registry aliases,
100+
inventories, equipment, block entities, fluids, and OreSpawn 3 configuration.
101+
Migration stops instead of guessing when required legacy registry information
102+
is unavailable.
103+
104+
Always perform the first upgrade on a copy of the world and keep the untouched
105+
original. Read [Migration](docs/MIGRATION.md) before starting an upgraded world.
106+
107+
## Mod and data-pack compatibility
108+
109+
Forge item, block, and fluid tags are Base Metals' public compatibility API.
110+
Conditional data is included for:
16111

17-
Put `BaseMetals-1.18.2-3.0.0.jar` and a compatible OreSpawn JAR in the `mods`
18-
directory on both client and server.
112+
- Mekanism 10.2
113+
- Thermal Expansion 9
114+
- Tinkers' Construct 3.7
115+
- Ender IO 6 alpha
19116

20-
## World generation
117+
See [Compatibility](docs/COMPATIBILITY.md) for the supported processing chains,
118+
tag aliases, copper rules, and intentionally retired legacy integrations. See
119+
[Supported versions](docs/VERSIONS.md) for the exact dependency and Maven
120+
contracts.
21121

22-
OreSpawn is Base Metals' only ore-placement engine. Fresh installations leave
23-
vanilla copper generation enabled and do not generate Base Metals copper,
24-
antimony, or bismuth ore. The other ten configured ores use explicit 1.18
25-
height ranges and dimension selectors. Base Metals provides no rock strata;
26-
Mineralogy is optional and its rock-family tags are used automatically when it
27-
is installed.
122+
## Building and contributing
28123

29-
See [docs/WORLDGEN.md](docs/WORLDGEN.md) for the complete provider contract and
30-
[docs/MIGRATION.md](docs/MIGRATION.md) before upgrading an existing world.
124+
Base Metals uses ForgeGradle `7.0.34`, Gradle `9.6.1`, official Minecraft
125+
mappings, and the Java 17 toolchain. A normal command-line build resolves the
126+
qualified OreSpawn release from CurseMaven:
31127

32-
Direct Base Metals 1.12 worlds are pre-flattened before Forge loads their
33-
chunks. Original region files are retained in a world-local backup, and the
34-
migrator fails closed if it encounters an unknown third-party numeric block
35-
ID. Always perform the first start on a copy.
128+
```text
129+
./gradlew clean check build javadoc
130+
```
36131

37-
## Gameplay
132+
Generate and verify Eclipse launches with:
38133

39-
- Crack Hammers apply `basemetals:crushing` recipes to mined blocks. Right-click
40-
below dropped items to crush one item, or sneak to crush as much of the stack
41-
as the hammer's remaining durability permits.
42-
- Scythes harvest a server-authoritative horizontal 3x3 area and route every
43-
neighbour through Forge's normal block-break and protection events.
44-
- A material shield can be upgraded in an anvil with one strictly harder plate.
45-
- Base Metals bows accept Base Metals arrows; the legacy-style crossbows draw
46-
and release Base Metals bolts.
47-
- Held Starsteel equipment repairs by one durability every 200 server ticks.
48-
Starsteel armour intentionally does not regenerate.
134+
```text
135+
./gradlew genEclipseRuns eclipse isolateEclipseProductionRuns verifyEclipseProductionClasspath
136+
```
49137

50-
The common configuration contains only four default-true switches: special
51-
equipment effects, Starsteel regeneration, mercury immersion effects, and
52-
villager trades. Registries, recipes, materials, and world generation are
53-
data-pack contracts and are not configuration-gated.
138+
The CI workflow also runs all required GameTests, generated-data drift checks,
139+
packaged client and dedicated-server smokes, release-JAR audits, dependency
140+
identity checks, and a second clean build to prove byte-identical release
141+
artifacts. GameTests, smoke probes, migration fixtures, and reference sources
142+
are isolated from the published JAR.
54143

55-
## Data-pack compatibility
144+
Release artifacts use Maven coordinate
145+
`zone.moddev.mc.basemetals:BaseMetals:3.0.1.118021`.
56146

57-
Forge item, block, and fluid tags are the public compatibility API. Conditional
58-
data is included for Mekanism 10.2, Thermal Expansion 9, Tinkers' Construct 3.7,
59-
and Ender IO 6 alpha. See [docs/COMPATIBILITY.md](docs/COMPATIBILITY.md).
147+
Report defects and compatibility problems through the
148+
[Base Metals issue tracker](https://github.com/MinecraftModDevelopmentMods/BaseMetals/issues).
60149

61-
Base Metals is licensed under LGPL-2.1.
150+
Base Metals is licensed under [LGPL-2.1](LICENSE). Bundled or derived third-party
151+
art is covered by the accompanying attribution and licence files.

0 commit comments

Comments
 (0)