Skip to content

Conversation

TheThanathor
Copy link
Member

@TheThanathor TheThanathor commented Oct 13, 2024

This datapack allows you to craft and use a wide variety of furniture.

loot commands can be used to obtain the items instead:
/loot give @s loot gm4_furniture:items/furniture_station
/loot give @s loot gm4_furniture:items/paintbrush

Beet is required to build the datapack!
Resource Pack is required!


Features

  • Furniture Station
    Can be crafted in a Custom Crafter, the Furniture Station is a 2 high block that can be used to craft other furniture
    image
    • add crafting recipe
    • add placement logic
    • add category selection
    • add category generation

  • Furniture Crafting
    Furniture can be crafted from a Villager trading menu (shown recipes are a WIP). Furniture is divided in separate categories, which can be switched by selecting a different tool on the Furniture Station.
    image
    • add all furniture and categories
    • add logical recipes

  • Furniture Placement
    Furniture is placed with similar logic to paintings, e.g. a 2 long bench will extend to the right, while longer benches will extend 1 to the left, then continue to the right. Depth and Height will prefer away from the player and up respectively.
    Furniture can be specified as ground, wall or ceiling placed, these will always prefer to place away from their respective surface (e.g. a wall placed furniture's depth will be placed away from the wall only).
    Wall and Ceiling furniture must be placed on their specified surface or placement will fail, if the block they were placed on is destroyed so is the furniture.
    • add placement logic
    • add wall-only logic
    • add ceiling-only logic

  • Furniture Mechanics
    Seating: right clicking furniture with a seat will allow the player to sit on them
    Table: furniture with a solid top side will allow placement on top of them, this also means these furniture cannot be broken from the top side.
    Dyable: some furniture has dyable surfaces. These can be painted using a Paintbrush, which can be crafted in a Custom Crafter
    image
    A Paintbrush can be colored using dyes, similar to leather items, and paint can be removed using a water cauldron.
    Colorable furniture will remember its color (shown in lore) when picked back up.
    • add sittable furniture
    • add tables
    • add dyable furniture

@TheThanathor TheThanathor marked this pull request as draft October 13, 2024 16:41
@Bloo-dev Bloo-dev added the submission Brand new community submitted module label Oct 13, 2024
TheThanathor and others added 9 commits December 5, 2024 22:10
- update to 1.21.8
- add vanilla recipes for paintbrush and furniture station
- fix furniture station villager appearing for a single tick on place
- fix furniture station not assuming the correct tool on reactivation
- remove dec to hex converter as it is not needed with the dyed_color component
- fix furniture and paintbrush being wearable, and removed the associated logic for horses and paintbrushes as it's not needed
- remove load score check from place furniture advancement as it wasn't working correctly and was preventing the advancement from triggering
- add item models for all furniture items to get dyeing working again. These should probably be auto generated by beet, but that's a later problem
- all core shaders are broken, the folder has been marked as such, but otherwise untouched because I don't know anything about core shaders and they scare me
- added a check to break furniture nearby an active Wither
- a few random formatting or header changes, I don't remember why I did them...
Furniture 1.21.8 & Other Changes
@Bloo-dev Bloo-dev changed the title Furniture 1.21 [IKEA] Furniture 1.21 Sep 9, 2025
@runcows runcows mentioned this pull request Sep 10, 2025
42 tasks
@Bloo-dev
Copy link
Member

Closing this as it is superseded by #1158.

@Bloo-dev Bloo-dev closed this Sep 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

submission Brand new community submitted module

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants