Skip to content

Roadmap to release #24

@5w14

Description

@5w14

Systems:

  • Event queue for planned events (i.e. executing an event on a specific in-game day)
  • Global intrusiveness (feat: very basic implementation of intrusiveness #23)
  • Local-area intrusiveness
  • Intrusiveness-based event pacing (one more intrusive event, then a couple of less intrusive ones)
  • Careful location selection algorithm for more-intrusive events (avoid player-built structures, etc.)
  • Player inventory/location snapshots
  • Prevent event repeats (for some time/forever)
  • Custom storage flags (i.e. a behaviour that sets a flag and a condition that reads a flag)
  • A NumberProvider for values from config
  • GUI for onboarding/first time setup
  • GUI for configuration
  • Backports

Developer experience:

  • /event check (a dry-run check whether an event could start) ?
  • Example addons: datapack and mod
  • Documentation overhaul
  • Refactor configuration system to make our config API accessible to mods

More event sources/triggers:

  • Teleporting through a nether/end portal
  • Player death (including cancel) ?

Behaviour and condition names may change, check the wiki (once it's done 😅)

Behaviours:

  • spawn_entity
  • spawn_entities (spawn multiple entities of the same type in a range around context's location)
  • spawn_group_override (allow only one mob type to spawn while the event is ongoing)
  • sky_color_override (set day/night sky color while event is ongoing)
  • fog_override (set fog settings while event is ongoing)
  • gamerule_override (overrides a game rule while the event is ongoing)
  • time_offset (better alternative for /time command, that doesn't reset the day count)
  • invoke_keybind (a remote keybind-press) ?
  • queue_event ?
  • open_screen (open a custom GUI screen, this is for addons) ?
  • add_hud_element (add a custom text/sprite to hud, this is for addons) ?
  • Player (tab) list management (add/remove fake/real players) ?
  • Client-sided player overrides (for changes in HUD, like hardcore hearts) ?

Conditions:

  • on_surface (whether the player is on/near the world's surface)
  • in_dimension (check for dimension id)
  • game_day (check for game day range)
  • health (check whether player's health is in range)
  • has_item (check for items in player's inventory)
  • has_nearby_structure (check for structures of a certain type in range)
  • any_gui_open (whether the player has any screen open)
  • is_afk (whether the player has made no movements in some time)
  • event_ongoing (whether (any/a specific) event (global/player) is ongoing) ?
  • has_mod_installed (whether server/player has a specific mod installed) ?
    • For multiplayer, this should be behind a config setting or something, like "This server requires a resource pack" screen

Context mutators:
None

Items with a italic question mark (?) at the end are not finalized.

📓 Any suggestions for this list are welcome on our discord server, or in comments to this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions