From 4e09d061bf7efb8852d2819d67a498f2fe6d64dd Mon Sep 17 00:00:00 2001 From: Joseph Healy Date: Thu, 5 Nov 2026 23:41:51 +1030 Subject: [PATCH 1/2] Add clay and flint into the items --- mods/base/assets/lang/en_us.lang | 4 +++- .../textures/block/{clay.png => clayblock.png} | Bin mods/base/assets/textures/item/clay.png | Bin 0 -> 268 bytes mods/base/assets/textures/item/flint.png | Bin 0 -> 275 bytes mods/base/src/blocks.rs | 11 +++++++++-- mods/base/src/items.rs | 9 +++++++++ mods/base/src/worldgen.rs | 6 ++---- 7 files changed, 23 insertions(+), 7 deletions(-) rename mods/base/assets/textures/block/{clay.png => clayblock.png} (100%) create mode 100644 mods/base/assets/textures/item/clay.png create mode 100644 mods/base/assets/textures/item/flint.png diff --git a/mods/base/assets/lang/en_us.lang b/mods/base/assets/lang/en_us.lang index 0833f92e..1b0b5284 100644 --- a/mods/base/assets/lang/en_us.lang +++ b/mods/base/assets/lang/en_us.lang @@ -34,7 +34,7 @@ block.base.grass = Grass Block block.base.snowy_grass = Snowy Grass block.base.sand = Sand block.base.gravel = Gravel -block.base.clay = Clay +block.base.clayblock = Clay Block block.base.sandstone = Sandstone block.base.snow = Snow block.base.ice = Ice @@ -113,6 +113,8 @@ item.base.leather = Leather item.base.bone = Bone item.base.string = String item.base.sugar = Sugar +item.base.clay = Clay +item.base.flint = Flint item.base.wood_pickaxe = Wooden Pickaxe item.base.wood_axe = Wooden Axe item.base.wood_shovel = Wooden Shovel diff --git a/mods/base/assets/textures/block/clay.png b/mods/base/assets/textures/block/clayblock.png similarity index 100% rename from mods/base/assets/textures/block/clay.png rename to mods/base/assets/textures/block/clayblock.png diff --git a/mods/base/assets/textures/item/clay.png b/mods/base/assets/textures/item/clay.png new file mode 100644 index 0000000000000000000000000000000000000000..37b3537f1ecc613266392feaa28313dbe7e6dfc2 GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGf*{OTpAtV2D7eql z#WBRfKRH3---30u=jsKHJq>oV;O2aA=|afNriF6O49gmdKI;Vst01CfbP5=M^ literal 0 HcmV?d00001 diff --git a/mods/base/assets/textures/item/flint.png b/mods/base/assets/textures/item/flint.png new file mode 100644 index 0000000000000000000000000000000000000000..fec5e7d087adc6acbba2fe9e55fab5150b71b68a GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GGf*{OTpAtV2D0tM< z#WBRf|LnxQTrCDX$BU0&3}jK?zOI(#{(niU9h^;*tt`qudfZ}(PCov)PT}lzdwGrz z%;#?PY>%*7zI9q0-;^s-8zkBi73|xJvv@o9y+3-bBFo`&dNER9XPUtSiUqcC&wj=!&4!hW;YFfL0l V6%5%w(+%h$22WQ%mvv4FO#l`6Y)SwC literal 0 HcmV?d00001 diff --git a/mods/base/src/blocks.rs b/mods/base/src/blocks.rs index 799402fa..aeae3820 100644 --- a/mods/base/src/blocks.rs +++ b/mods/base/src/blocks.rs @@ -11,7 +11,7 @@ pub static GRASS: Block = Block::named("grass"); pub static SNOWY_GRASS: Block = Block::named("snowy_grass"); pub static SAND: Block = Block::named("sand"); pub static GRAVEL: Block = Block::named("gravel"); -pub static CLAY: Block = Block::named("clay"); +pub static CLAYBLOCK: Block = Block::named("clayblock"); pub static SANDSTONE: Block = Block::named("sandstone"); pub static SNOW: Block = Block::named("snow"); pub static ICE: Block = Block::named("ice"); @@ -206,11 +206,18 @@ pub fn register(r: &mut Registry) { .mineable("shovel") .falling() .tab(&crate::tabs::NATURAL); - r.block(&CLAY) + r.loot(&GRAVEL).pool( + Pool::new() + .when(Cond::Harvested) + .entry(Entry::item("flint").count(1, 1).weight(1)) + .entry(Entry::item("gravel").count(1, 1).weight(9)), + ); + r.block(&CLAYBLOCK) .sound_group("gravel") .hardness(0.6) .mineable("shovel") .tag("clay") + .drops("clay", 4) .tab(&crate::tabs::NATURAL); r.block(&SANDSTONE) .sound_group("stone") diff --git a/mods/base/src/items.rs b/mods/base/src/items.rs index e7707128..33c4a417 100644 --- a/mods/base/src/items.rs +++ b/mods/base/src/items.rs @@ -8,6 +8,8 @@ pub static DIAMOND: Item = Item::named("diamond"); pub static WHEAT_SEEDS: Item = Item::named("wheat_seeds"); pub static WHEAT: Item = Item::named("wheat"); pub static BUCKET: Item = Item::named("bucket"); +pub static FLINT: Item = Item::named("flint"); +pub static CLAY: Item = Item::named("clay"); pub use base_api::{ARMOR, Armor, FLAMMABLE, FOOD, FUEL, Food}; /// Tags of armor pieces, head to feet; `/` picks the recipe (see recipes.rs). @@ -64,6 +66,13 @@ pub fn register(r: &mut Registry) { r.item(&WHEAT) .tag("crops/wheat") .tab(&crate::tabs::INGREDIENTS); + // Other block drops; clay and flint for now + r.item(&FLINT) + .tag("materials/flint") + .tab(&crate::tabs::INGREDIENTS); + r.item(&CLAY) + .tag("materials/clay") + .tab(&crate::tabs::INGREDIENTS); // Filled buckets come with their liquids (blocks.rs); the engine fills and pours them. r.item(&BUCKET).max_stack(16).tab(&crate::tabs::TOOLS); r.set("lava_bucket", &FUEL, 20000); diff --git a/mods/base/src/worldgen.rs b/mods/base/src/worldgen.rs index 4ff65206..96aed8ea 100644 --- a/mods/base/src/worldgen.rs +++ b/mods/base/src/worldgen.rs @@ -356,10 +356,8 @@ fn decorate(g: &mut Gen) { // Threshold for clay generation if clay > ONE / 4 { let surface = g.get(x, y, z); - if SAND.is(surface) - || GRAVEL.is(surface) - { - g.set(x, y, z, CLAY.id()); + if SAND.is(surface) || GRAVEL.is(surface) { + g.set(x, y, z, CLAYBLOCK.id()); } } } From 1394f9c17bcc139b07fdc6be1e756a0134816fca Mon Sep 17 00:00:00 2001 From: Joseph Healy Date: Thu, 5 Nov 2026 23:46:57 +1030 Subject: [PATCH 2/2] Add clay block recipe --- mods/base/src/recipes.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/mods/base/src/recipes.rs b/mods/base/src/recipes.rs index 8cf900f4..b3fed7dc 100644 --- a/mods/base/src/recipes.rs +++ b/mods/base/src/recipes.rs @@ -30,6 +30,7 @@ pub fn register(r: &mut Registry) { r.shaped(C, "glowstone", 1, &["ttt", "tgt", "ttt"], &[('t', "#torches"), ('g', "#glass")]); r.shapeless(C, "#lamps/{m}", 1, &["#glowstone", "#dyes/{m}"], 0); r.shapeless(C, "#stained_glass/{m}", 1, &["#glass", "#dyes/{m}"], 0); + r.shaped(C, "clayblock", 1, &["##", "##"], &[('#', "#clay")]); // Every mod's `ore_blocks/` packs its `ingots/` or `gems/`, and its ores smelt into them. for kind in ["#ingots/{m}", "#gems/{m}"] {