diff --git a/public/midnightcontrols/antimicrox.png b/public/midnightcontrols/antimicrox.png new file mode 100644 index 0000000..c8493be Binary files /dev/null and b/public/midnightcontrols/antimicrox.png differ diff --git a/public/midnightcontrols/automobility.png b/public/midnightcontrols/automobility.png new file mode 100644 index 0000000..7dc4bab Binary files /dev/null and b/public/midnightcontrols/automobility.png differ diff --git a/public/midnightcontrols/feature-touchscreen.webp b/public/midnightcontrols/feature-touchscreen.webp new file mode 100644 index 0000000..f84e56b Binary files /dev/null and b/public/midnightcontrols/feature-touchscreen.webp differ diff --git a/public/midnightcontrols/front-block-placing.webp b/public/midnightcontrols/front-block-placing.webp new file mode 100644 index 0000000..e0ba421 Binary files /dev/null and b/public/midnightcontrols/front-block-placing.webp differ diff --git a/public/midnightcontrols/gamepad-tool.png b/public/midnightcontrols/gamepad-tool.png new file mode 100644 index 0000000..97aa054 Binary files /dev/null and b/public/midnightcontrols/gamepad-tool.png differ diff --git a/public/midnightcontrols/mapping-editor.png b/public/midnightcontrols/mapping-editor.png new file mode 100644 index 0000000..1a5da2a Binary files /dev/null and b/public/midnightcontrols/mapping-editor.png differ diff --git a/public/midnightcontrols/open-settings.png b/public/midnightcontrols/open-settings.png new file mode 100644 index 0000000..c792d50 Binary files /dev/null and b/public/midnightcontrols/open-settings.png differ diff --git a/public/midnightcontrols/pause-lost-focus.png b/public/midnightcontrols/pause-lost-focus.png new file mode 100644 index 0000000..f8ece68 Binary files /dev/null and b/public/midnightcontrols/pause-lost-focus.png differ diff --git a/public/midnightcontrols/unfocused-input.png b/public/midnightcontrols/unfocused-input.png new file mode 100644 index 0000000..cd1c907 Binary files /dev/null and b/public/midnightcontrols/unfocused-input.png differ diff --git a/public/midnightcontrols/virtual-mouse.png b/public/midnightcontrols/virtual-mouse.png new file mode 100644 index 0000000..a233611 Binary files /dev/null and b/public/midnightcontrols/virtual-mouse.png differ diff --git a/public/midnightlib-example-code.webp b/public/midnightlib/midnightlib-example-code.webp similarity index 100% rename from public/midnightlib-example-code.webp rename to public/midnightlib/midnightlib-example-code.webp diff --git a/public/midnightlib-example.png b/public/midnightlib/midnightlib-example.png similarity index 100% rename from public/midnightlib-example.png rename to public/midnightlib/midnightlib-example.png diff --git a/src/components/CallToAction.astro b/src/components/CallToAction.astro index 4315aaa..4dbeea1 100644 --- a/src/components/CallToAction.astro +++ b/src/components/CallToAction.astro @@ -1,19 +1,19 @@ --- -const { text, url_gh, url_mr, url_cf, url_wiki = "" } = Astro.props +const { text, url_gh, url_mr, url_cf, url_wiki = "", mod = "default" } = Astro.props import { Icon } from 'astro-icon/components' ---
-
+

{text}

- {(url_gh != '') ? - GitHub : ''} - {(url_mr != '') ? + {(url_mr != '') ? Modrinth : ''} - {(url_cf != '') ? + {(url_cf != '') ? CurseForge : ''} - {(url_wiki != '') ? + {(url_gh != '') ? + GitHub : ''} + {(url_wiki != '') ? Visit the new Wiki! : ''}
@@ -24,6 +24,16 @@ import { Icon } from 'astro-icon/components' color: var(--neutral-900); background-image: linear-gradient(40deg, var(--primary-100), var(--secondary-200)); } + .midnightcontrols { + color: var(--neutral-100); + background-image: linear-gradient(40deg, #E302A4, #9400C6); + } + .midnightcontrols-button-primary { + background-color: #ff6fff; + } + .midnightcontrols-button-secondary { + background-color: #b356ff; + } .call-to-action a:not(button), .call-to-action a:not(button):visited { diff --git a/src/components/Header.astro b/src/components/Header.astro index 1cdad61..695830e 100644 --- a/src/components/Header.astro +++ b/src/components/Header.astro @@ -18,6 +18,7 @@ import { Icon } from 'astro-icon/components' @@ -26,6 +27,7 @@ import { Icon } from 'astro-icon/components' diff --git a/src/pages/blog/[...page].astro b/src/pages/blog/[...page].astro index 0b13425..7413c31 100644 --- a/src/pages/blog/[...page].astro +++ b/src/pages/blog/[...page].astro @@ -16,7 +16,7 @@ const { page } = Astro.props
diff --git a/src/pages/midnightcontrols.astro b/src/pages/midnightcontrols.astro new file mode 100644 index 0000000..1f81b77 --- /dev/null +++ b/src/pages/midnightcontrols.astro @@ -0,0 +1,86 @@ +--- +import DefaultLayout from '../layouts/DefaultLayout.astro' +import Feature from '../components/Feature.astro' +import CallToAction from '../components/CallToAction.astro' +import ContentMedia from '../components/ContentMedia.astro' +--- + + +

MidnightControls

+ +

Play Minecraft whichever way you want!

+

+ MidnightControls allows the use of controllers, touchscreens and even eye trackers!
+ Minecraft Java was never more accessible. +

+
+ +

Broad mod compatibility

+

+ Many Fabric and Quilt mods are compatible with MidnightControls right out of the box.
+ The mod also exposes an API, allowing developers to easily add controller support to complex mods.
+

Shown here is Automobility, go check it out!

+

+
+
+
+

Features

+
+ + Use your favorite controller to play your favorite game.
Many controllers are supported without any configuration! +
+ + You only have a touchscreen? No problem! The only thing missing is multitouch support. + + + Eye Trackers are a great way for people with disabilities to still be able to enjoy this great game! + + + The MidnightLib-powered config is full of exciting features.
Use the advanced config screen for even more of them! +
+ + Invite your homies and loved ones for a local splitscreen Minecraft session! Consult the wiki for setup instructions. + + + MidnightControls has an amazing community that is always willing to help with any trouble! + +
+
+
+ +
+
+

MidnightControlsExtra

+ +

You want even more?

+

+ We got you!

+ MidnightControlsExtra provides useful features that might trigger anticheats.
+ Front block placing, anyone? +

+
+
+ + Place those pesky blocks almost as fast as Sonic would! + + + Place blocks in front of you without sneaking up to the edge of the block.
Many controllers are supported without any configuration! +
+ + Easily place something below the block you are standing on! + +
+
+
+ +
diff --git a/src/pages/midnightlib.astro b/src/pages/midnightlib.astro index 0beb9ab..de0e3bb 100644 --- a/src/pages/midnightlib.astro +++ b/src/pages/midnightlib.astro @@ -6,16 +6,17 @@ import ContentMedia from '../components/ContentMedia.astro' --- - +

MidnightLib

+

Implement configurations easier than ever before!

- Just create Java fields, annotate them with @Entry, + Just create Java fields, annotate them with @Entry, maybe add some more additional options, and boom!
This example can be found here, and helps you get started (almost) faster than speed of light!

- +

User-friendly config screens

Configuration screens are automatically created from config classes.
diff --git a/src/pages/wiki/midnightcontrols.mdx b/src/pages/wiki/midnightcontrols.mdx new file mode 100644 index 0000000..8001b37 --- /dev/null +++ b/src/pages/wiki/midnightcontrols.mdx @@ -0,0 +1,61 @@ +--- +layout: ../../layouts/MarkdownLayout.astro +title: MidnightControls Wiki +--- + +import { Icon } from 'astro-icon/components' +import { Notification } from 'accessible-astro-components' + +# MidnightControls Wiki + +Welcome to the MidnightControls wiki. +This documentation aims to show you how to correctly configure the mod for your use case. + +Explore MidnightControls' features on this page: +[Get to know the features](/midnightcontrols) + +### Opening the settings +Configure everything about the mod in the settings screen. +To open it, simply open the default Minecraft options screen, click on the `Controls` section, and click on the controller button. +

A visual guide for finding the options screen
+

Visual guide for finding the options screen

+ +### Creating and using custom controller mappings +Orange controller names indicate a missing controller mapping. +Download [GamepadTool](https://generalarcade.com/gamepadtool/), create and copy a mapping. +Alternatively, you can use [AntiMicroX](https://github.com/AntiMicroX/antimicroX) to create the mappings, in case the Gamepad Tool is not working for you. + +
+ Screenshot of GamepadTool + Screenshot of AntiMicroX +
+

Screenshots of Gamepad Tool and AntiMicroX

+ +Once you've obtained the mapping, go to MidnightControls' Mappings File Editor and paste the string. +
![Mapping Editor Screenshot](/midnightcontrols/mapping-editor.png)
+

MidnightControls' mappings file editor

+ +If that works, you might as well consider submitting the mapping by opening a PR in this GitHub repository: https://github.com/gabomdq/SDL_GameControllerDB +That will make sure other people using the same controller as you don't have to manually create a mapping anymore. + +### Setting up splitscreen +You need to setup multiple different instances of Minecraft to be able to play in splitscreen. +Make sure your PC can actually handle that; if so, install a launcher that allows you to run multiple instances of Minecraft in parallel (I recommend Prism Launcher). +In there, create a profile for the first controller, and install MidnightControls. + +Start the game and open the MidnightControls settings screen. +In General Options, turn on `Virtual Mouse` +Screenshot of Virtual Mouse Option +In Controller Options, activate `Unfocused Input` +Screenshot of Unfocused Input Option +Now, open a Minecraft world and press F3 + P to disable Minecraft pausing on lost focus. +Screenshot showing how to disable 'Pause on lost focus' in Minecraft + + + +

+ Info: Splitscreen support in one single instance wouldn't be feasible without rewriting a significant portion of the Minecraft codebase. + Minecraft Java is made only with one single local player in mind, so this would simply be a pain to update and break many mods. + The only possibility for single-instance splitscreen is if Mojang decided to implement it themselves. +

+
\ No newline at end of file