-
Notifications
You must be signed in to change notification settings - Fork 0
features
Mailboxes provide delayed player and server deliveries containing a written letter and optional items. Offline notifications are delivered on join, and a player-specific hologram indicates waiting mail. Runtime text, dialog labels, messages, and delivery timing are configurable under mailboxes.
Features are discovered from dev.stemcraft.feature and loaded through BaseFeature.
| Feature | Purpose |
|---|---|
HubFeature |
Defines the hub world, join routing, and /hub command behavior |
TeleportUtils |
Registers warps, spawn, world teleport, /back, /top, /jump, and related travel commands |
RandomFirstSpawn |
Applies per-world random first spawn rules and persistence |
Coordinates |
Action bar and boss bar coordinate displays through /coord and /coordbar
|
NamedRegions |
Permanently names discovered biome territories and structures, with coordinate-bar and optional Pl3xMap presentation; see Named Regions |
GameModeAliases |
Registers short aliases such as gms, gmc, gma, and gmsp
|
UnderhallsFeature |
Persistent end-stone maze, discoverable doorways and fixed exit rooms; see The Underhalls |
GameModeInventories |
Keeps inventory state separate across gamemode profiles |
| Feature | Purpose |
|---|---|
CustomBooks |
Configurable books plus /book command surfaces |
QuestFeature |
Private NPC quests, updating owner-bound books, objective progress, prerequisites, and rewards |
InteractiveMenus |
Book/form-based interactive menu system with admin editing |
CustomCommands |
Config-defined command aliases with player/server sender control |
PlayerTabList |
Header/footer tab list rendering and update loop |
PlayerGameMessages |
Join, quit, death, and related configurable player messages |
PlayerTabList treats its header, footer, and name_format as MiniMessage. Both gray and grey tag spellings
are accepted. {world} uses the shared player-facing world name, while {world-raw} exposes the underlying
world folder name. By default, underscores become words and multi-part map names treat their first word as a
category: bedwars_amazon becomes Bedwars: Amazon, while dimension suffixes remain natural, such as
survival_nether becoming Survival Nether and bedwars_forest_nether becoming
Bedwars: Forest Nether. Override any generated name for Player Tab and Coordinates with:
worlds:
world:
display-name: "World"| Feature | Purpose |
|---|---|
SkipNight |
Sleep vote handling and night skipping |
DragonRespawnFeature |
Scheduled Ender Dragon respawn handling |
DistanceDifficulty |
Scales hostile difficulty by player/world distance rules |
PhantomSpawning |
Phantom spawn restrictions or adjustments |
LeafDecayRandomTickFeature |
Custom leaf decay processing and world setting integration |
LeafDecayTickSpeedSetting |
World setting companion used by the leaf decay system |
SurvivalQolFeature |
Farming, transport, inventory, mob information, and equipment warnings |
AgricultureFeature |
Data-pack-driven persistent crops and biome-aware forage drops |
ChiselFeature |
Rotates safe building-block states with the cross-platform Chisel item |
AnimalBarrels |
Animal Crates for carrying supported small animals |
FriedEggs |
Cooked eggs with configurable food values and cooking methods |
CometFeature |
API-launched destructive sky events with heat, crash scars, geodes, and optional loot |
| Feature | Purpose |
|---|---|
Graves |
Grave creation and recovery workflows on death |
GraveStorageSupport |
Grave persistence/storage support |
DropPlayerHeads |
Drops player heads on death under configured conditions |
GunpowderBarrels |
Gunpowder barrel behavior |
NoAnvilRepairCost |
Removes or adjusts anvil repair penalties |
NoThrowingPotions |
Restricts throwable potion usage |
| Feature | Purpose |
|---|---|
RestrictCreative |
Restricts sensitive creative-mode actions unless explicitly permitted |
DenySpawnEggs |
Blocks spawn egg usage where configured |
NaughtyMode |
Restricts players to a controlled command and behavior set |
RebalanceIronGolem |
Adjusts iron golem balance/behavior |
Common feature characteristics:
- config-driven enablement
- self-registration of listeners and commands
- preference for existing services instead of direct Bukkit utility code
- focused ownership over one gameplay concern
If a new capability is optional and domain-specific, it usually belongs in dev.stemcraft.feature.
Notice boards provide graphical lobby boards containing player-authored headers, short messages, and author names. Posts expire automatically and are displayed through the reusable image-map service.
| Feature | Runtime contract |
|---|---|
StemBotFeature |
Owner-only Citizens guide and action interpreter; see STEMBot |
ProfessionsFeature |
Eight level-1-to-100 skills with world/mode filtering; see Professions |
FormattedSigns |
Supported ampersand codes and glyphs, explicit stemcraft.sign.format grant |
VotingFeature |
Challenge voting state and per-player allowance; inspect current event configuration |
GeneratorMaps |
Optional generator-owned basic-map replacement; see map renderers |
Afk |
Optional inactivity announcements, tab styling and kicks; see AFK, introduced in PR #157 |
See Permissions for individual player/admin grants. There is no required stemcraft.player bundle. Custom commands enforce a permission only when one is configured; fixed /survival and /creative shortcuts run their teleport as the server.
HeldLightFeature lights the area around players holding a torch or lantern in
either hand. Torches emit level 14, lanterns 15, and soul variants 10; the stronger
hand wins. It is enabled globally by default:
held-light:
enabled: trueEvery five ticks, an invisible server-side LIGHT block follows the player's head (or feet if the head space is occupied). It only borrows air, so it does not work while fully submerged or encased in solid blocks. Nearby players see the light without a client mod. Overlapping holders share the strongest light.
Moving, changing held items, quitting, chunk unloading and plugin shutdown remove unused lights. Chunk metadata restores saved temporary lights after a restart. Player placements replace temporary lights normally, including in the Underhalls; maze terrain remains protected. Temporary lights use Minecraft's real block lighting, so they also affect light-dependent gameplay such as mob spawning.
- 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