-
Notifications
You must be signed in to change notification settings - Fork 0
notice boards
Notice boards are physical graphical map displays for short player-created survival notices. They support asynchronous requests such as asking for materials, exploration help, or companions for an activity. Trades and arrangements remain manual between players.
Each visible post contains a header, short message, and author. Creation and expiry timestamps are stored internally but are not shown. Posts are removed automatically after 14 days by default.
Players click any map tile on a physical board. Java item-frame interactions and Bedrock interactions translated by Geyser use the same image-map callback.
- A player without an active notice receives the create dialog.
- A player with an active notice receives Edit, Delete, and Cancel choices.
- Editing pre-fills the current header and message and resets the 14-day lifetime when saved.
- Clicking limits each player to one active notice.
Players with stemcraft.noticeboard.admin can create a board while looking at its bottom-left backing block:
/noticeboard board create <id> [columns] [rows]
The default board is four maps wide and three maps high. The board faces the player creating it. Remove it with /noticeboard board delete <id>. All physical boards display the same server notice collection.
All /noticeboard command paths require stemcraft.noticeboard.admin. Administrators can use /noticeboard post to create additional notices without the one-active-notice click limit. /noticeboard list [page] shows every active post and provides ChatMenu Edit, Expiry, and Delete actions. /noticeboard edit <post-id> opens a pre-filled dialog for any player's post; console can use /noticeboard edit <post-id> <header> | <message>. /noticeboard remove <post-id> removes any post from either player or console.
Set a post's remaining lifetime with /noticeboard expiry <post-id> <duration>, for example 1d, 14h, or a compound value such as 1d12h. Use -1 for a permanent post. Admin edits preserve the existing expiry; player edits through the board reset their post to the configured retention period.
Each notice column is approximately two maps wide, so a 4×3 board has two notice columns, a 6×3 board has three, and an 8×3 board has four. Notice cards retain a consistent readable width instead of stretching across wider boards.
When there are more active notices than fit on the display, the board rotates to the next group automatically every 30 seconds.
notice-boards:
enabled: true
retention-days: 14
server-author: "STEMCraft"
title: "SERVER NOTICE / REQUEST BOARD ★★★★★"
# Optional PNG, relative to plugins/STEMCraft (or an absolute path).
# The configured title text is used when it is blank, missing, or unreadable.
title-image: ""
dialog:
manage-title: "Your notice"
create-title: "Post a notice"
edit-title: "Edit your notice"
admin-edit-title: "Edit notice by {author}"
lifetime: "Notices remain on the board for {days} days."
header-label: "Header"
message-label: "Short message"
edit-label: "Edit"
delete-label: "Delete"
post-label: "Post"
save-label: "Save"
cancel-label: "Cancel"
messages:
dialog-open-failed: "/error/Could not open the notice dialog."
required: "/error/A header and message are required."
already-active: "/error/You already have an active notice. Click the board to edit or delete it."
posted: "/success/Your notice has been posted for {days} days."
save-failed: "/error/Could not save your notice."
updated: "/success/Your notice has been updated for another {days} days."
unavailable: "/error/That notice is no longer available."
deleted: "/success/Your notice has been deleted."The commands subsection in the bundled configuration also exposes every administrator command response and list heading. Message values pass through the message service, so type/context directives such as /success/ and /survival//info/ are supported. {days}, {id}, {header}, {author}, and {expiry} are replaced where applicable.
The server console can post without a dialog:
/noticeboard post Server maintenance | Survival will restart in ten minutes.
The pipe separates the header from the message. Server notices use the configured server-author, bypass the one-notice player limit, and expire normally.
Board and notice text uses Minecraft's map font at a consistent 1.5× scale. Notices use several paper colours, stable slight rotations and offsets, a pin, and three fully supported message lines. Available board slots are deterministically shuffled per board and page, leaving natural gaps when a page is not full without moving posts on every refresh.
The independent image-map service can be used by other features and plugins:
api.imageMaps().create("quests:lobby", bottomLeftBlock, BlockFace.NORTH, 4, 3);
api.imageMaps().render("quests:lobby", bufferedImage);
api.imageMaps().onClick("quests:lobby", click -> {
Player player = click.player();
int column = click.tileColumn();
int row = click.tileRow();
});
api.imageMaps().delete("quests:lobby");The location is the bottom-left backing block as viewed from the front. The service scales and splits the image into 128×128 map tiles, manages the item frames, and reports the clicked display tile.
- Home
- Architecture
- Services
- Features
- Build a Custom Tool
- Agriculture and Cooking
- Survival quality of life
- Custom items
- Slime and Magma Buckets
- Comets
- Rotten Flesh Uses
- Iron Golem Poppy Luring
- Gifts
- Mailboxes
- Notice boards
- Named regions
- Interactive guide callbacks
- Quests
- Commands
- API
- Minigames
- Minigame placeholders
- Tab completion
- Configuration
- Entitlements and badges
- Player reset service