Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
97fb099
build: remove unused modern-schema verifier from 1.12
SkyBlade1978 Sep 30, 2026
2063fba
feat: add Phase 4 locale choices to Forge 1.12
SkyBlade1978 Sep 30, 2026
7408fcf
feat: port twin-torch sconces to Forge 1.12
SkyBlade1978 Sep 30, 2026
2bf87de
feat: add standalone candles and tallow for Forge 1.12
SkyBlade1978 Sep 30, 2026
2e11ac1
feat: add carried-candle smoke in Forge 1.12
SkyBlade1978 Sep 30, 2026
a9dacac
feat: preserve removable shield data on Forge 1.12 chairs
SkyBlade1978 Sep 30, 2026
642d0a3
feat: establish multiblock chair and colour contract on 1.12
SkyBlade1978 Sep 30, 2026
af08627
feat: prepare colour-aware Phase 4 furniture models for 1.12
SkyBlade1978 Sep 30, 2026
cce4726
feat: generate Phase 4 wingback chairs and thrones for Forge 1.12
SkyBlade1978 Sep 30, 2026
bbb06dd
feat: adapt multiblock bed state and colour foundation to Forge 1.12
SkyBlade1978 Sep 30, 2026
42005fa
feat: generate Phase 4 beds for Forge 1.12
SkyBlade1978 Sep 30, 2026
5c5f357
fix: match coloured bed ingredients with NBT in 1.12
SkyBlade1978 Sep 30, 2026
89e3552
feat: establish optional metal persistence for Forge 1.12
SkyBlade1978 Sep 30, 2026
52cb958
feat: add optional Mineralogy rock-salt sconces to Forge 1.12
SkyBlade1978 Sep 30, 2026
84df436
feat: port mounted candle sconces to Forge 1.12
SkyBlade1978 Sep 30, 2026
3a3d6a4
feat: add metal sconce variants to Forge 1.12 Phase 4
SkyBlade1978 Sep 30, 2026
266dcb1
feat: migrate legacy CFM chairs in Forge 1.12 Phase 4
SkyBlade1978 Sep 30, 2026
cd754ee
feat: release powered wall lava sconces in Forge 1.12 Phase 4
SkyBlade1978 Sep 30, 2026
bdd1de9
build: organize Forge 1.12 Phase 4 checks and version
SkyBlade1978 Sep 30, 2026
ad3d24d
test: verify Forge 1.12 Phase 4 legacy worlds
SkyBlade1978 Sep 30, 2026
dbd14e6
Restore historical Natura redwood furniture in 1.12 Phase 4
SkyBlade1978 Sep 30, 2026
fe886a7
Preserve padded bench colours when harvested on Forge 1.12
SkyBlade1978 Sep 30, 2026
ecdfaa6
Preserve lava sconce metals and Silk Touch drops on Forge 1.12
SkyBlade1978 Oct 1, 2026
43d53f3
Separate Forge 1.12 furniture recipe-book entries
SkyBlade1978 Oct 1, 2026
68acaad
Preserve Forge 1.12 bed colours through wooden and canopy crafting
SkyBlade1978 Oct 1, 2026
febe611
Make all wooden and canopy bed parts flammable on Forge 1.12
SkyBlade1978 Oct 1, 2026
327a8a8
Align first-person candle smoke with the held flame on Forge 1.12
SkyBlade1978 Oct 1, 2026
5b0ad7c
Document optional held-candle lighting setup
SkyBlade1978 Oct 1, 2026
8b323d4
Cover all carried lights in Dynamic Lights setup
SkyBlade1978 Oct 1, 2026
07b623f
Prepare Forge 1.12 Phase 4 release notes and optional dependencies
SkyBlade1978 Oct 2, 2026
e121a5c
Correct the CurseForge project link
SkyBlade1978 Oct 2, 2026
3a8cbff
Merge tested Forge 1.12 Phase 4 update
SkyBlade1978 Oct 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,9 @@ jobs:
if-no-files-found: error
retention-days: 30
path: |
build/libs/iron-age-furniture-0.3.0.112021.jar
build/libs/iron-age-furniture-0.3.0.112021-sources.jar
build/libs/iron-age-furniture-0.3.0.112021-javadoc.jar
build/libs/iron-age-furniture-0.4.0.112021.jar
build/libs/iron-age-furniture-0.4.0.112021-sources.jar
build/libs/iron-age-furniture-0.4.0.112021-javadoc.jar
build/release/SHA256SUMS
CHANGELOG.md

Expand Down
48 changes: 48 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,51 @@
# IronAgeFurniture 0.4.0.112021

Phase 4 furniture and lighting update for Minecraft 1.12.2 and Forge
14.23.5.2859.

- Add multiblock wooden and canopy beds, wingback chairs, and thrones, with
sixteen upholstery colours preserved through placement, drops, and reloads.
- Let wooden and canopy beds burn like chairs. Fire consuming any bed part
removes the whole bed, without leaving stray parts or dropping an intact bed.
- Let shield chairs release and reattach their shields without losing the
shield's damage, banner design, enchantments, name, or other item data.
- Add twin-torch sconces, standalone and mounted candles, Mineralogy rock-salt
sconces, and gold and Base Metals sconce materials. Older iron sconces remain
iron; metal choices survive mining and pick block.
- Show a small flame and smoke when a candle is held. OptiFine Dynamic Lights
recognises IAF's emitting block items automatically. The README includes
AtomicStryker Dynamic Lights 1.12.2 settings for candles, glow lamps and lava
lamps, while keeping unpowered red lamps dark. IAF adds no lighting engine.
- Raise first-person candle smoke above the flame and keep it beside the candle
when looking up or down, rather than letting it start near the holder.
- Release a wall-sconce lava lamp on a redstone signal when air is available
below it. Falling lamps shatter and can start a fire outside Creative mode.
- Add the seventeen locale choices used across the Phase 4 furniture set.
- Add conditional conversion recipes for six MrCrayfish's Furniture Mod
wooden chairs. Recover their old placed and stored identities when that mod
is absent; conversion while it remains installed is optional and off by
default.
- Preserve the Phase 3 registry identities and existing padded-bench colours.
Older furniture with no `Color` value remains red, and sconces with no
`Metal` value remain iron.
- Keep all sixteen padded-bench colours when either bench style is mined;
previously a coloured bench could drop as red.
- Give each furniture design, wood and upholstery colour its own recipe-book
entry instead of cycling all seating through one cell. Alternate recipes
for the same chair remain together; bed combining and recolouring recipes
also stay separate for each wood and bed style.
- Keep the original sconce metal when mining a lava-lamp sconce. Silk Touch
returns the empty sconce and intact lamp; ordinary mining drops the empty
sconce and shatters the lamp into fire.
- Restore Natura redwood furniture under its historical registry names, so
worlds that used that wood can retain their chairs and benches.
- Organize the build checks, Eclipse setup, and release tasks into smaller
Gradle files without changing the Forge 1.12 toolchain or publication gate.
- Refresh artifact checksums when jars change during an incremental build.
- Preserve all sixteen vanilla bed colours when crafting wooden beds. Adding
another matching plank upgrades a wooden bed to a canopy bed without changing
its colour; carpet is now used only for deliberate bed recolouring.

# IronAgeFurniture 0.3.0.112021

Phase 3 lighting release for Minecraft 1.12.2 and Forge 14.23.5.2859.
Expand Down
111 changes: 96 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,27 @@
[![Discord](https://img.shields.io/badge/Discord-MMD-green.svg?style=flat&logo=Discord)](https://discord.moddev.zone)
[![CurseForge](https://img.shields.io/badge/CurseForge-Iron%20Age%20Furniture-orange.svg)](https://www.curseforge.com/minecraft/mc-mods/iron-age-furniture)
[![CurseForge](https://img.shields.io/badge/CurseForge-Iron%20Age%20Furniture-orange.svg)](https://www.curseforge.com/minecraft/mc-mods/ironagefurniture)
[![Build, test, and audit](https://github.com/MinecraftModDevelopmentMods/IronAgeFurniture/actions/workflows/ci.yml/badge.svg?branch=master-1.12)](https://github.com/MinecraftModDevelopmentMods/IronAgeFurniture/actions/workflows/ci.yml?query=branch%3Amaster-1.12)

# IronAgeFurniture

IronAgeFurniture adds chairs, stools, benches, lamps, sconces, and other ye
olde-style furniture to Minecraft. Seating is functional, furniture supports
the appropriate vanilla and optional-mod materials, and lighting includes
falling and throwable lava lamps.
IronAgeFurniture adds functional chairs, stools, benches, beds, lamps, and
sconces in an old-fashioned style. Furniture uses vanilla woods and, when
installed, matching materials from supported mods.

This branch provides IronAgeFurniture `0.3.0.112021` for Minecraft 1.12.2 and
Forge 14.23.5.2859. It requires Java 8 and can be installed on both clients and
dedicated servers.
This branch contains the `0.4.0.112021` Phase 4 update for Minecraft
1.12.2 and Forge 14.23.5.2859. The game requires Java 8; the mod runs on
clients and dedicated servers.

Phase 4 adds multiblock wooden and canopy beds, wingback and throne chairs,
removable shields on shield chairs, twin-torch sconces, candles, rock-salt
sconces, and metal sconce choices. A carried candle shows a small flame and
smoke. Optional dynamic lighting can also light the area around it while held;
see the setup instructions below. A powered wall lava-lamp sconce releases its
lamp when there is room below; it can fall, shatter, and start a fire.

Mining a lava-lamp sconce with a suitable Silk Touch pickaxe returns the empty
sconce and intact lamp separately. Without Silk Touch, the sconce still drops
in its original metal, but the lamp shatters and starts a fire.

Padded benches and padded back benches support all sixteen vanilla carpet
colours without adding block or item IDs. Existing benches and data-zero items
Expand All @@ -20,6 +30,19 @@ NBT string through crafting, Creative inventory, placement, drops, pick block,
connected-shape changes and chunk reloads. Mixed-colour runs remain governed by
the unchanged bench joining algorithm.

The recipe book lists furniture designs, woods and upholstery colours
separately, so you can find the piece you want without cycling through the
whole seating collection. Alternate recipes for the same chair share an entry.

Beds keep their colour as you build them up. Craft a vanilla bed with one plank
of your chosen wood to make a wooden bed, then add another matching plank to
make a canopy bed. Combine two single beds of the same wood, style and colour
to make a double bed. To change any IAF bed's colour deliberately, craft it
with a carpet in the colour you want.

Wooden and canopy beds are flammable like chairs. If fire consumes any part,
the whole bed burns away.

## Optional integrations

IronAgeFurniture adds matching furniture and recipes when these mods are
Expand All @@ -29,21 +52,76 @@ installed:
- Natura
- Forestry
- Immersive Engineering
- Mineralogy (rock-salt lighting)
- Base Metals (extra sconce materials)
- MrCrayfish's Furniture Mod (chair conversion recipes)

They are optional. Their recipes and advancements load only when the relevant
mod is installed. The available Base Metals sconce variants follow the
installed Base Metals build.

## Carried-light setup

IAF supplies the candle's flame and smoke, but does not include a dynamic
lighting engine. Without a separate lighting mod, a candle lights its
surroundings only when placed.

With OptiFine, enable **Dynamic Lights** in Video Settings (Fast or Fancy).
OptiFine recognises the existing block light levels of IAF candles and lamps
automatically; no extra IAF configuration is needed. This also applies to the
Forge 1.10 candle.

They are optional. Their recipes and recipe advancements are conditionally
loaded, so a normal installation does not need any of them.
If you use [AtomicStryker's Dynamic Lights for Minecraft 1.12.2](https://www.curseforge.com/minecraft/mc-mods/dynamic-lights/files/2563244)
instead, start the game once to create its configuration, then close it. In
`config/dynamiclights_theplayer.cfg`, append these entries to the comma-separated
`S:LightItems` list, keeping the existing entries:

```text
ironagefurniture:light_metal_ironage_candle_floor=12,ironagefurniture:light_metal_ironage_block_floor_glow_clear=15,ironagefurniture:light_metal_ironage_block_floor_lava_clear=15,ironagefurniture:light_metal_ironage_block_floor_red_clear=0
```

| Carried item | Light level |
| --- | --- |
| Candle | 12 |
| Glow dust lamp | 15 |
| Lava lamp | 15 |
| Red lamp | 0 until placed and powered |

Red lamps need a redstone signal, so carrying one must not make it glow.
Empty sconces and obsidian chunks give off no light. Filled sconces, wall
lights, and powered or unlit variants are placed-block states, not separate
inventory items; their normal block lighting needs no item-list entry.
Rock-salt sconces hold Mineralogy's own lamp item rather than a separate IAF
rock-salt item.

Restart the game after saving the file. To light items carried by other
players or dropped on the ground as well, add the same entries to `S:LightItems`
in `dynamiclights_otherplayers.cfg` and `dynamiclights_dropitems.cfg`.

These lights are a client-side visual effect, not a replacement for placed
lighting that prevents mobs from spawning. Use one dynamic-lighting solution
at a time.

## Compatibility

The persistent mod ID, registry names, resource paths, configuration names,
entities, and saved-world identity remain under `ironagefurniture`. Existing
1.12.2 worlds therefore retain the same runtime identities.
The persistent mod ID, surviving registry names, resource paths,
configuration names, and saved-world identity remain under
`ironagefurniture`. Older padded benches without colour data stay red; older
sconces without metal data stay iron. Beds and other upholstered furniture
keep their colour when placed, moved, broken, and reloaded. Shield chairs
retain the complete attached shield item, including its wear, design, name,
and enchantments.

If MrCrayfish's Furniture Mod is removed from an older world, this build can
recover its six wooden chair types as IAF classic chairs. Conversion while
both mods remain installed is a separate option, off by default. Back up any
world before opening it with a new mod version.

The supported Java source namespace is now
`zone.moddev.mc.ironagefurniture`. Add-ons compiled against the former
`com.mcmoddev.ironagefurniture` packages must update their imports. The Maven
coordinate is
`zone.moddev.mc:iron-age-furniture:0.3.0.112021`.
`zone.moddev.mc:iron-age-furniture:0.4.0.112021`.

Furniture add-ons can register subclasses of the public IAF furniture blocks
under their own mod namespace and place their items in the IAF creative tab.
Expand All @@ -53,7 +131,8 @@ sixteen-colour padded-bench renderer. Add-ons should retain ownership of their
own registry and resource IDs rather than registering new content as
`ironagefurniture`.

See [CHANGELOG.md](CHANGELOG.md) for the release notes and
See [CHANGELOG.md](CHANGELOG.md) for the release notes,
[docs/UPGRADING.md](docs/UPGRADING.md) for tested old-world upgrades, and
[docs/VERSIONS.md](docs/VERSIONS.md) for the versioning scheme. Bugs can be
reported through the
[MMD issue tracker](https://github.com/MinecraftModDevelopmentMods/IronAgeFurniture/issues).
Expand All @@ -76,6 +155,8 @@ Generate reproducible Eclipse/Buildship metadata with:
gradlew.bat prepareEclipse verifyEclipseProductionClasspath
```

The build tasks are described in [gradle/README.md](gradle/README.md).

Release publication is initiated manually from the protected default-branch
dispatcher after the exact target commit has passed hosted CI. Building
locally does not tag or publish a release.
Expand Down
Loading
Loading