Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GeyserMC & Floodgate support #381

Open
spikehidden opened this issue Jul 30, 2022 · 1 comment
Open

GeyserMC & Floodgate support #381

spikehidden opened this issue Jul 30, 2022 · 1 comment

Comments

@spikehidden
Copy link

spikehidden commented Jul 30, 2022

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
@apatuka
Copy link

apatuka commented Sep 29, 2022

I was just looking if Depenizens has Floodgate support but doesn't so i can confirm as spikehidden, this is something that could bring a tremendous amount of potential. At least the Tags.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants