Am I able to use a controller to play the PC version of Minecraft? If so, can I just plug it in and play or do I have to do something else before being able use one?
There is no built-in controller support on the PC version of Minecraft. You will need something like Xpadder to change each controller input to a keyboard/mouse input in order to use a controller.
The Minecraft: Windows 10 Edition supports multiple control schemes, including controllers and touchscreens. Just connect the controller to your PC and play.
Keep in mind that the Windows 10 Edition is missing many features of the Java version. It is possible to convert Java worlds into Windows 10 Edition worlds, but this is not officially supported. Do it at your own risk.
With a mod, yes. You can use the Minecraft Joypad/Split Screen Mod for actual analog movement (not just eight directions like with XPadder) and UI modifications for the controller (instead of only using an analog stick to emulate a mouse). It also creates the possibility of playing split screen with a friend (but you can use it just to play full screen single-player with a controller): http://retro-hack.blogspot.com/p/minecraft-joypad-mod.html
If you're on Linux, you may have luck with Joy2Key, found here: http://sourceforge.net/projects/joy2key/
Debian package: http://packages.debian.org/search?keywords=joy2key
Another option is QJoyPad: http://qjoypad.sourceforge.net/ which also claims mouse support.
I haven't tested these myself.
I created an (open source) application called PlusPad, specifically for use with Minecraft: Java Edition. It runs in the background and uses MonoGame to capture gamepad input to translate into Windows API calls for mouse and keyboard actions.
It runs on
Windows and has been tested with Xbox 360 gamepads.
The simulated inputs are:
|Controller Input||Mapped to|
|Right Stick||Mouse movement|
|Back + Start||Enable/disable input|
|LB||Mouse wheel up|
|RB||Mouse wheel down|
|DPad up||Text input - next character|
|DPad down||Text input - previous character|
|DPad right||Text input - accept character|
I use Mr.Crayfish's Controllable mod, Which Requires just plugging in a controller before launching minecraft. Made for 1.12.2 and download here: Click me. link to offical website