Minecraft-AMS / Carpet-AMS-Addition

A fabric-carpet extension mod. It offers some interesting and useful features.
https://minecraft-ams.github.io/carpetamsaddition/
GNU Lesser General Public License v3.0
57 stars 7 forks source link

Better compatibility of the `largeShulkerBox` rule with other mods #89

Closed Kir-Antipov closed 8 months ago

Kir-Antipov commented 8 months ago

Description

This PR aims to improve the compatibility of the largeShulkerBox rule with other mods.

Currently, this mod quietly replaces a vanilla screen handler with a custom one (largeShulkerBoxScreenHandler) during a player's interaction with a shulker box block. While this approach works fine on its own, it leaves no easy way for other modders to open a "proper" shulker box screen when a shulker box is not materialized in its block form in the world. The issue is not critical, as it doesn't lead to crashes or serious bugs, but it's far from ideal because players in such scenarios can only access half of the expected capacity of their shulker boxes.

The PR removes the custom screen handler entirely and instead patches the vanilla one. This way, anyone using ShulkerBoxScreenHandler can expect the right screen to pop up, regardless of whether the largeShulkerBox rule is enabled or not.

Tested on 1.16.5, 1.17.1, 1.18.2, 1.19.4, and 1.20.4, both client and server-side.

Fixed Issues

Fixes #81 Fixes Kir-Antipov/packed-inventory#14