В обфускации не вижу смысла, но плагин работает, все классно
import org.bukkit.Material;
import org.bukkit.block.ShulkerBox;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.block.BlockStateMeta;
public class ShulkerBoxListener implements Listener {
@EventHandler
public void onPlayerInteract(PlayerInteractEvent event) {
Player player = event.getPlayer();
ItemStack item = event.getItem();
if (player.isSneaking() && item != null && item.getType().toString().endsWith("_SHULKER_BOX")) {
event.setCancelled(true);
BlockStateMeta meta = (BlockStateMeta) item.getItemMeta();
ShulkerBox shulkerBox = (ShulkerBox) meta.getBlockState();
player.openInventory(shulkerBox.getInventory());
shulkerBox.getInventory().getHolder().getInventory().getContents();
meta.setBlockState(shulkerBox);
item.setItemMeta(meta);
}
}
}