Skip to content

GeyserMC & Floodgate support #381

@spikehidden

Description

@spikehidden

I'm surprised that no one suggested this earlier as there is a huge potential what you can do with Geyser & Floodgate.
Especially the forms that you can show Bedrock Players which are easier to use than chest UIs especially for console players.

Geyser Wiki for Floodgate API: https://wiki.geysermc.org/floodgate/api/

Down are a few ideas of what could be implemented.

Tags

  • <playerTag.geyser.is_bedrock> - returns if the player joined via Geyser
  • <playerTag.floodgate.version> - gets the clients version
  • <playerTag.floodgate.device> - returns the player's device (Java, Win10, iOS, android, Xbox, ect.)
  • <playerTag.floodgate.locale> - returns which language the player has set
  • <playerTag.floodgate.xuid> - gets the players XUID
  • <playerTag.floodgate.is_linked> - returns if the Bedrock Player has a linked Java Account
  • <playerTag.floodgate.linktype> - returns if the Account is globally or locally linked
  • <playerTag.floodgate.whitelist> - returns the floodgate player whitelist as list
  • <playerTag.floodgate.username> - returns the Xbox live playertag of the player

Events

  • geyser player pushes <button> in <form> - For button pushes in simple and modal "forms"
  • <context.type> - returns the form type
  • <context.button> - returns the position of the pushed button
  • <context.button_name> - returns the text of the pushed button
  • <context.form> - returns the form script ID
  • geyser player submits <customForm> - For submits of custom "forms"
  • <context.type> - returns the form type
  • <context.data> - returns the submited data as a map tag
  • <context.form> - returns the form script ID

New Player Event Switches

isGeyserPlayer:[true/false]
device:[Java/Win10/iOS/android/Xbox/...]

Commands

  • cumulus [open/close] (for:<playerTag>|<playerTag>|...) (form:<formID>) - to open a form for the Bedrock player

Cumulus Script container

Modal Forms

CumulusScript:
  type: cumulus
  formType: modal
  fields:
    title: title
    content: content
    buttons:
      1: Button1
      2: Button2

Simple forms

CumulusScript:
  type: cumulus
  formType: simple
  fields:
    title: title
    content: text
    buttons:
      1:
        texture: textures/i/glyph_world_template.png
        text: Button with texture image
      2: 
        url: https://github.com/GeyserMC.png?size=200
        text: Button with URL image
      3:
        text: Button without an image

Custom forms

CumulusScript:
  type: cumulus
  formType: custom
  fields:
    title: title
    buttons:
      1:
        type: dropdown
        title: title
        options: option1|option2|...
      2: 
        type: input
        title: title
        placeholder: placeholder
      3:
        type: toggle
        title: title
      4:
        type: slider
        title: title
        slider: 0|1|5|10|the|cake|is|a|lie

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions