Skip to content

Commit

Permalink
Merging changes from old wiki (#7)
Browse files Browse the repository at this point in the history
* Bunch of QOL fixes (#293)

* Update hurricane.md

* Make plain text to hyperlink

* Make plain text to code in extensions.md

* Replace plain text to code.

The double quotation marks do not look conspicuous, but rather a little abrupt compared to the previous style

* Replace the quotes content into code blocks

I find these quotes look awkward

* Update extensions.md

* make plain text to hyperlink

* add Skin Package Introduction

* Mark plain text to hyperlink

* Update geyseroptionalpack.md

* Update _docs/geyser/api.md

Co-authored-by: chris <[email protected]>

---------

Co-authored-by: chris <[email protected]>

* Update using-geyser-with-consoles.md to include a Nintendo switch guide (#286)

* Update using-geyser-with-consoles.md

added text directions for switch so that more devices can view it

* Update _docs/geyser/using-geyser-with-consoles.md

* Update _docs/geyser/using-geyser-with-consoles.md

---------

Co-authored-by: chris <[email protected]>

* remove global api page, yeet broken line break

* remove dead links

---------

Co-authored-by: qscbm187531 <[email protected]>
Co-authored-by: KabosuDoge <[email protected]>
  • Loading branch information
3 people authored Jul 21, 2024
1 parent bd701dd commit 29375d1
Show file tree
Hide file tree
Showing 11 changed files with 48 additions and 51 deletions.
3 changes: 1 addition & 2 deletions sidebars.ts
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,7 @@ const sidebars: SidebarsConfig = {
'geyser/forms'
],
},
'geyser/extensions',
'geyser/global-api'
'geyser/extensions'
],

floodgateSidebar: [
Expand Down
2 changes: 1 addition & 1 deletion wiki/floodgate/features.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ The permission node is `floodgate.command.fwhitelist`.
Skins of Bedrock player should be visible to Java players on servers with Floodgate 2.0 installed.
If they aren't, it's most likely that the skin uploading queue has grown too large and can take a while to upload your skin.

Skin uploading is also a part of the [Global Api](/wiki/geyser/global-api). It is responsible for converting Bedrock skins to Java skins and uploading them to Mojang servers make them show up on Java Edition.
Skin uploading is also a part of the [Global Api](/wiki/api/api.geysermc.org/global-api/). It is responsible for converting Bedrock skins to Java skins and uploading them to Mojang servers make them show up on Java Edition.

We're using MineSkin internally. MineSkin is running on accounts donated by the community. So if you want to support MineSkin and make the upload times faster, feel free to look at [this page](https://mineskin.org/account) for more info.

Expand Down
2 changes: 1 addition & 1 deletion wiki/floodgate/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ This is something you install in addition to Geyser. Unlike Geyser, Floodgate ca
## What has Floodgate 2.0 to offer? {#what-has-floodgate-20-to-offer}
Floodgate 2.0 is a rewrite of Floodgate 1.0, with various bugfixes and improvements. It also introduces new features: being able to [see Bedrock player skins on Java edition](/wiki/floodgate/features#what-is-skin-uploading),
being able to [use Bedrock forms](/wiki/geyser/forms/), link your account once and login on every server that has [Global Linking](/wiki/floodgate/linking#what-is-global-linking) enabled,
and the [Global Api](/wiki/geyser/global-api).
and the [Global Api](/wiki/api/api.geysermc.org/global-api/).
2 changes: 1 addition & 1 deletion wiki/floodgate/linking.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Before we introduced Global Linking, you always had to link your Java and Bedroc

Keep in mind: While having your accounts linked, you will use the Java account's location, inventory data, and achievements etc. regardless of which platform you sign in from (therefore, "synchronising" the player data). The player data from the Bedrock account will not be accessible until you unlink again. As a result, you should transfer everything (ender chest contents, items, armor) to the Java account before linking to not "lose" your Bedrock progress. If you forgot to do this, you can unlink, transfer everything over, and link again.

Global Linking is part of the [Global Api](/wiki/geyser/global-api) and uses the GlobalLinkServer to link your account. To be able to link your account you have to do the following:
Global Linking is part of the [Global Api](/wiki/api/api.geysermc.org/global-api/) and uses the GlobalLinkServer to link your account. To be able to link your account you have to do the following:
1. Join the GlobalLinkServer with both your Java and Bedrock account
(IP: `link.geysermc.org`, Java port: `25565`, Bedrock port: `19132`)
2. Start the linking process by typing `/linkaccount` on your Java **or** Bedrock account
Expand Down
3 changes: 3 additions & 0 deletions wiki/geyser/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,9 @@ The network package contains basic information about the remote server via the
interface, such as the server's IP address and port, and the protocol version of the remote server. Or the auth type.
You can also get the port/IP that Geyser listens to via the [BedrockListener](https://github.com/GeyserMC/Geyser/blob/master/api/src/main/java/org/geysermc/geyser/api/network/BedrockListener.java) interface.

### [Skin](https://github.com/GeyserMC/Geyser/tree/master/api/src/main/java/org/geysermc/geyser/api/skin) {#skin}
The skin package contains some records representing skin data. If you want to change the skin of players, you can listen to the `SessionSkinApplyEvent`, and set a new skin, skin geometry or cape there.

#### [Pack](https://github.com/GeyserMC/Geyser/tree/master/api/src/main/java/org/geysermc/geyser/api/pack) {#pack}
The pack package contains classes and interfaces related to resource packs in Geyser. You can create custom resource packs and send them to individual sessions before they log in using the [SessionLoadResourcePacksEvent](https://github.com/GeyserMC/Geyser/blob/master/api/src/main/java/org/geysermc/geyser/api/event/bedrock/SessionLoadResourcePacksEvent.java).
If you wish to send a resource pack to all sessions, you can use the [GeyserLoadResourcePacksEvent](https://github.com/GeyserMC/Geyser/blob/master/api/src/main/java/org/geysermc/geyser/api/event/lifecycle/GeyserLoadResourcePacksEvent.java).
Expand Down
18 changes: 9 additions & 9 deletions wiki/geyser/current-limitations.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,19 @@ The following things cannot be fixed without changes to Bedrock or the Java prot
- Anything that relies on tab complete or typing in the chat UI (related to the above) - Bedrock sends no packet that indicates they are in this menu
- Unable to see banner layers past 6
- Movement issues around bamboo due to offset differences between Java and Bedrock: [Hurricane](/wiki/other/hurricane) can work around it.
- Custom anvil recipes or custom smithing table ingredients/patterns (https://github.com/GeyserMC/Geyser/issues/4706)
- Heights lower than -64 or higher than 320 in the overworld with extended height enabled, and heights lower than 0 or higher than 256 in other dimensions (https://github.com/GeyserMC/Geyser/issues/3804)
- Custom anvil recipes or custom smithing table ingredients/patterns ([GeyserMC/Geyser#4706](https://github.com/GeyserMC/Geyser/issues/4706))
- Heights lower than -64 or higher than 320 in the overworld with extended height enabled, and heights lower than 0 or higher than 256 in other dimensions ([GeyserMC/Geyser#3804](https://github.com/GeyserMC/Geyser/issues/3804))
- Dolphin's Grace potion effect visuals (effects should still work correctly)
- Invisible item frames
- Blocks (excluding jack-o-lantern) on entity heads (E.G. armor stands, players)
- Some block state changes are controlled client side, and are not influenced by the debug stick - fences for example. (https://github.com/GeyserMC/Geyser/issues/3125)
- Custom beacon base blocks (https://github.com/GeyserMC/Geyser/issues/2301) - these are hardcoded on Bedrock edition.
- Climbable blocks changed by datapacks (https://github.com/GeyserMC/Geyser/issues/4051)
- Custom enchantments/sweeping edge (https://github.com/GeyserMC/Geyser/issues/3121)
- "Bordure Indented" pattern shape not appearing on the Bedrock side in the loom (https://github.com/GeyserMC/Geyser/issues/3183)
- Some block state changes are controlled client side, and are not influenced by the debug stick - fences for example. ([GeyserMC/Geyser#3125](https://github.com/GeyserMC/Geyser/issues/3125))
- Custom beacon base blocks ([GeyserMC/Geyser#2301](https://github.com/GeyserMC/Geyser/issues/2301)) - these are hardcoded on Bedrock edition.
- Climbable blocks changed by datapacks ([GeyserMC/Geyser#4051](https://github.com/GeyserMC/Geyser/issues/4051))
- Custom enchantments/sweeping edge ([GeyserMC/Geyser#3121](https://github.com/GeyserMC/Geyser/issues/3121))
- "Bordure Indented" pattern shape not appearing on the Bedrock side in the loom ([GeyserMC/Geyser#3183](https://github.com/GeyserMC/Geyser/issues/3183))
- Gliding without elytras/custom elytras (https://github.com/GeyserMC/Geyser/issues/3255, https://github.com/GeyserMC/Geyser/issues/3299)
- Custom furnace cook times (https://github.com/GeyserMC/Geyser/issues/4104)
- Maximum sign length different on Java/Bedrock edition (https://github.com/GeyserMC/Geyser/issues/4130)
- Custom furnace cook times ([GeyserMC/Geyser#4104](https://github.com/GeyserMC/Geyser/issues/4104))
- Maximum sign length different on Java/Bedrock edition ([GeyserMC/Geyser#4130](https://github.com/GeyserMC/Geyser/issues/4130))

## Fixable With GeyserOptionalPack {#fixable-with-geyseroptionalpack}

Expand Down
12 changes: 6 additions & 6 deletions wiki/geyser/extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ If you have an extension you'd like to see on this list, feel free to open a PR!

## Installing Extensions {#installing-extensions}

To install an extension, simply put the extension .jar file into Geyser's 'extensions' folder.
To install an extension, simply put the extension .jar file into Geyser's `extensions` folder.
Then, restart Geyser (or the server Geyser runs on).

## Creating Geyser Extensions {#creating-geyser-extensions}
Expand Down Expand Up @@ -61,14 +61,14 @@ Explanations for the individual fields:

## Creating the main class {#creating-the-main-class}

The main class, the entrypoint for the extension, needs to [implement the 'Extension' interface provided by Geyser](https://github.com/GeyserMC/GeyserExampleExtension/blob/master/src/main/java/org/geyser/extension/exampleid/ExampleExtension.java#L12).
That way, Geyser recognizes the extension, and gives you access to important methods - such as 'logger()', to get your extensions logger.
The main class, the entrypoint for the extension, needs to [implement the **Extension** interface provided by Geyser](https://github.com/GeyserMC/GeyserExampleExtension/blob/master/src/main/java/org/geyser/extension/exampleid/ExampleExtension.java#L12).
That way, Geyser recognizes the extension, and gives you access to important methods - such as `logger()`, to get your extensions logger.
To see all the methods provided by that interface, see [here](https://github.com/GeyserMC/Geyser/blob/master/api/src/main/java/org/geysermc/geyser/api/extension/Extension.java).

Unlike plugins, extensions do not have a `onEnable` or `onDisable` method. Instead, most actions are done in events at different stages during Geyser's lifecycle using events.
Some important ones are:
- `GeyserPreInitializeEvent`: This event is fired when Geyser starts to initialize. If you e.g. need to register extension commands that are configured in your config,
you would need to load the config here to ensure that your config is ready before the GeyserDefineCommandsEvent is fired.
you would need to load the config here to ensure that your config is ready before the `GeyserDefineCommandsEvent` is fired.
- `GeyserPostInitializeEvent`: It is called when Geyser has completed initializing. The bulk of your code should go here, as the GeyserAPI is fully available at this stage.
- `GeyserShutdownEvent`: Called when Geyser is shutting down. You can use this to e.g. save data, or clean up resources.

Expand All @@ -86,7 +86,7 @@ and register them in the event. You can find an example for custom items [here](
To build your extension, run the Gradle build task, and install the extension.

## Creating commands with Geyser Extensions {#creating-commands-with-geyser-extensions}
To create a command, you would need to use the "Commands" package in the Geyser API. Brief rundown:
To create a command, you would need to use the `Commands` package in the Geyser API. Brief rundown:
- [Command.java](https://github.com/GeyserMC/Geyser/blob/master/api/src/main/java/org/geysermc/geyser/api/command/Command.java)
This interface represents a command in Geyser - to make one, you can use the CommandBuilder. You can register it with the
[GeyserDefineCommandsEvent](https://github.com/GeyserMC/Geyser/blob/master/api/src/main/java/org/geysermc/geyser/api/event/lifecycle/GeyserDefineCommandsEvent.java)
Expand Down Expand Up @@ -125,7 +125,7 @@ public void onDefineCommands(GeyserDefineCommandsEvent event) {
If everything went right, you should be able to execute the command in-game by running `/extesionid [command]` - in our case, `/exampleid examplecommand`.
Here, it would send "Hello World" to the source that ran the command.
Since we also set aliases, you could also run `/exampleid example` or `/exampleid ex` for the same command.
To provide args, simple run `/exampleid examplecommand [args]` - replacing [args] with the arguments you want to pass to the command.
To provide args, simple run `/exampleid examplecommand [args]` - replacing `[args]` with the arguments you want to pass to the command.

## Listening to Events {#listening-to-events}
See [here](/wiki/geyser/events) for documentation. You do not need to register the event listener, Geyser will do that for you.
Expand Down
25 changes: 0 additions & 25 deletions wiki/geyser/global-api.md

This file was deleted.

11 changes: 11 additions & 0 deletions wiki/geyser/using-geyser-with-consoles.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,17 @@ or the [Public GeyserConnect](https://www.geyserconnect.net) which allows connec

[![Nintendo Switch BedrockConnect](https://img.youtube.com/vi/zalT_oR1nPM/0.jpg)](https://www.youtube.com/watch?v=zalT_oR1nPM)

Text directions:
1. Select “System Settings” from the HOME Menu of your Nintendo Switch console.
2. Select “Internet”, and then “Internet Settings”. Your Nintendo Switch console will automatically search for nearby Wi-Fi signals.
3. Select your network from the list of networks located under “Registered Networks”.
4. Select “Change Settings”, then scroll down and select "DNS Settings".
5. Select "Manual".
6. Select "Primary DNS" with the A Button, and then hold down the B Button to delete the DNS (it defaults to zeros).
7. Enter the BedrockConnect IP for the preferred Primary DNS (Multiple options depending on region can be found on the [BedrockConnect Github Page](https://github.com/Pugmatt/BedrockConnect)).
8. Select "Secondary DNS" with the A Button, and then hold down the B Button to delete the existing DNS.
9. Enter a secondary DNS. Google's or Cloudfare's IP (8.8.8.8 or 1.1.1.1) are recommended.

## PlayStation 4 {#playstation-4}

1. Go to your PS4 Home screen.
Expand Down
17 changes: 13 additions & 4 deletions wiki/other/geyseroptionalpack.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,20 @@ description: GeyserOptionalPack is a Bedrock resource pack that fixes parity iss

GeyserOptionalPack is a Bedrock resource pack that adds more features to Geyser to bring Bedrock Edition in line with Java Edition. A resource pack allows various features and bug fixes to be implemented in Bedrock, including:

- Armor stand poses and arm/baseplate visibility
- Illusioner texture
- Missing particles, like sweep attack
- Armor base arms/baseplate visibility
- Armor stand poses
- Illusioners
- Missing particles
- Offhand animations
- Shulker invisibility parity
- Spectral arrow entity texture

- Bypass for the scoreboard character limit
- Hides UI elements that do not exist on Java edition, such as:
- Text input field in the cartography table
- 2x2 crafting grid while in creative mode
- Tick-delay and rename fields in the command block menu
- Structure block options that do not exist on Java

A more complete list can be found on the optional pack's [README](https://github.com/GeyserMC/GeyserOptionalPack/blob/master/README.md). Implementation details for those interested in how features are added can be found [here](https://github.com/GeyserMC/GeyserOptionalPack/blob/master/developer_documentation.md).

While recommended, it is not required to install the resource pack on the server - clients can install it themselves. Additionally, if you use a proxy like WaterdogPE, you can install the pack on the server without impacting gameplay on other Bedrock servers.
Expand Down
4 changes: 2 additions & 2 deletions wiki/other/hurricane.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ Supported Versions:

## Download {#download}
- Spigot/Paper: [GitHub releases](https://github.com/GeyserMC/Hurricane/releases)
- Fabric: [Modrinth](https://modrinth.com/mod/hurricane)
- Fabric/NeoForge: [Modrinth](https://modrinth.com/mod/hurricane/versions)

## Source {#source}
- Main: [GeyserMC/Hurricane](https://github.com/GeyserMC/Hurricane)
- Unofficial fabric fork: [onebeastchris/Hurricane-fabric](https://github.com/onebeastchris/hurricane-fabric)
- Unofficial mod fork: [onebeastchris/Hurricane-Modded](https://github.com/onebeastchris/Hurricane-Modded)

0 comments on commit 29375d1

Please sign in to comment.