GeyserMC / Geyser

A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition.
https://geysermc.org
MIT License
4.73k stars 680 forks source link

Coral Blocks Displayed as Flowers and Cannot Be Added to Inventory in Creative Mode #4730

Closed ByteExceptionM closed 4 months ago

ByteExceptionM commented 4 months ago

Describe the bug

Coral blocks are incorrectly displayed as flowers when obtained using commands such as /give. Additionally, in Creative Mode, players are unable to add these coral blocks to their inventory when obtained in this manner.

To Reproduce

  1. Log in to a server using GeyserMC.
  2. Use a command like /give to obtain coral blocks (e.g., /give minecraft:brain_coral_block 1).
  3. Observe that the coral blocks are displayed as flowers in the inventory.
  4. Attempt to add the coral blocks to the inventory and note that they cannot be added.

  5. Log in to a server using GeyserMC.
  6. Switch to Creative Mode.
  7. Search for coral blocks in the inventory.
  8. Attempt to add coral blocks to the inventory and note that they cannot be added.

Expected behaviour

Coral blocks should be displayed correctly as coral blocks and should be addable to the inventory in GameMode 1, even when obtained via commands.

Screenshots / Videos

https://github.com/GeyserMC/Geyser/assets/47250043/f61c7263-60db-449a-9e28-926c837be6e4 https://github.com/GeyserMC/Geyser/assets/47250043/c7abe4c6-a321-4aa8-9ada-07a9f9ed2836

Server Version and Plugins

Paper-196 (1.20.1) - Waterfall 1.20-R0.3-SNAPSHOT:a65bb68:578

Geyser Dump

Not possible due to sensitive data.

Geyser Version

2.3.2-SNAPSHOT (git-master-18ad652)

Minecraft: Bedrock Edition Device/Version

Windows Edition, v.1.20.81

Additional Context

Unfortunately, providing a Geyser dump is not possible as it contains sensitive data. However, I am available to provide any other information needed and answer any questions to help resolve this issue.

onebeastchris commented 4 months ago

As mentioned in the last issue - please provide a Geyser dump in issues in the future.

If you don't want to leak "sensitive data" (worth noting here that the dump doesn't include ip addresses, nor other sensitive player info) - then please replicate the issue on some testing setup (e.g. a paper server/or simple bungee-paper setup if required) and send a dump from that testing setup. If you're worried about exposing plugins, just don't add them on that test setup.

The reason I'm so insistent on providing a Geyser dump is that it shows reliable information that issue reports may not show. Any developer will tell you that a plugin list is vital to rule out potential issues resulting from other plugins, similarly, a dump shows the exact commit/branch, etc (to rule out issues caused by forks).

I hope you understand that this isn't done because we're evil and want to expose something, but rather because it's essentially the best way to ensure that we are able to exactly replicate setups and their respective issues. Thanks.

Camotoy commented 4 months ago

The latest commit should fix this issue. Please test and report back.

We've merged in a couple larger changes, so it was fairly easy to track down issues here. Further issues for these recently merged commits only may not require a separate testing area, but if you have the time to do a quick test, we would very much appreciate it.

ByteExceptionM commented 4 months ago

Thank you for the update. I appreciate the work you’ve done to address this issue.

I understand the importance of providing a Geyser dump for accurate troubleshooting and the value of reliable information in debugging. As a developer with 8 years of experience, I recognize the need for such data. However, our setup primarily includes self-developed plugins with only 1-2 downloadable plugins that are unrelated to this issue.

On our proxy, there are no plugins that could cause this issue. We use a minimal number of downloadable plugins, which I am confident do not relate to the problem. The rest of our environment consists of custom-developed plugins, which also cannot be the cause. After thoroughly reviewing the Geyser dump, I found that the information provided did not seem relevant to diagnosing this specific problem, aside from some details about the machine's architecture.

In response to the point that the Geyser dump does not contain sensitive data, I would like to clarify that it does include IP addresses due to our use of the Proxy Protocol, as well as the names of plugins we use. If there are known security vulnerabilities in any of these plugins, revealing this information could make us a target. Additionally, details about our processor and other hardware are included, which could be of interest to competitors.

Therefore, I did not see the necessity of providing a dump in this case. I assure you, this decision was not made lightly or with any intention of withholding useful information, but rather from a standpoint of protecting sensitive data that we must keep secure as a well-known network with a substantial daily player base.

That said, I understand the concerns and explanations provided regarding the need for a Geyser dump. I respect the need for detailed and specific data to ensure accurate replication and troubleshooting of issues. Moving forward, I will do my best to replicate any issues on a controlled testing setup if required, ensuring that all necessary information is shared without compromising our security.

I will proceed to test the latest commit and report back with the results. Thank you for your efforts and understanding.

ByteExceptionM commented 4 months ago

Fixed.