From 3c432eddc022a465a5c1be75954ea15a84ea50a9 Mon Sep 17 00:00:00 2001 From: isXander Date: Wed, 29 Mar 2023 23:02:41 +0100 Subject: [PATCH] 1.1 changelog, bump version, update comparison --- build.gradle.kts | 2 +- changelogs/1.1.0+1.19.4.md | 29 +++++++++++++++++++++++++++++ comparison.md | 36 ++++++++++++++++++------------------ 3 files changed, 48 insertions(+), 19 deletions(-) create mode 100644 changelogs/1.1.0+1.19.4.md diff --git a/build.gradle.kts b/build.gradle.kts index 2771bfd..1b0b6ab 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -15,7 +15,7 @@ plugins { } group = "dev.isxander" -version = "1.0.0+1.19.4" +version = "1.1.0+1.19.4" repositories { mavenCentral() diff --git a/changelogs/1.1.0+1.19.4.md b/changelogs/1.1.0+1.19.4.md new file mode 100644 index 0000000..a9c8e89 --- /dev/null +++ b/changelogs/1.1.0+1.19.4.md @@ -0,0 +1,29 @@ +# Controlify 1.1 + +A noteable update to Controlify, with a lot of new features. + +## New Features + +- Reach-around block interaction that imitates Bedrock Edition's exact behaviour. +- Reduce bow sensitivity option. When aiming a bow, the sensitivity is reduced and more fine control is given. +- Modded keybinds are now automatically registered as controller binds. +- Bindings are now grouped into categories. +- Compound joysticks, allowing for an infinite amount of inputs. This currently has no UI, and you have to create a joystick mapping resource-pack yourself. This will come in a future update. +- Two abstract gui controller binds are available for mod developers to use in any screen context. +- Button guide in screens, with a new API for mod developers to add their own button guides. +- New registry for screenop API, as an alternative to mixing into UIs, you now register `ScreenProcessor`s and `ComponentProcessor`s on the Controlify entrypoint. +- New builder API for controller bindings, deprecating the old constructor-based approach. + +## Changes + +There are multiple breaking API changes in this update, but as of writing, I am not aware of any +mods that utilise any of Controlify's APIs. This will not happen in minor updates when this mod is more popular. + +- Ingame guide registry now takes a function that provides `IngameGuideContext`, rather than many parameters, this + future-proofs the API if more parameters are added. +- Some ingame guide classes have moved inside the `api` package. +- Partial Chinese translation by [@GodGun968](https://github.com/GodGun968). + +## Bug Fixes + +- Fixed a bug where some in-game binds worked in containers. ([#35](https://github.com/isXander/Controlify/issues/35)) diff --git a/comparison.md b/comparison.md index d086e99..6df2562 100644 --- a/comparison.md +++ b/comparison.md @@ -1,18 +1,18 @@ -# Comparison between Controlify 1.0.0 and Midnight Controls 1.8.0 - -| | Controlify | Midnight Controls | -| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -| **Custom Screen Compatibility** | Convenient APIs to hook into controller support directly from `Screen` implementation. | No API. Sometimes necessary to mixin into Midnight Controls and edge-case code required. | -| **Screen Navigation** | 4-axis navigation, emulating arrow key navigation | 4-axis navigation, emulating arrow key navigation | -| **In-game button guide** | Extensible by 3rd party mods | Harcoded buttons and positions | -| **Reach-around block placement** | ⛔ Planned | ✅ | -| **Controller detection** | Powered by resource packs for unlimited detection | Hardcoded identifiers in code | -| **Controller button rendering** | Powered by resource pack controller detection | Texture atlas for hardcoded identifiers | -| **In-game look sensitivity & behaviour** | Emulated Bedrock Edition with good defaults and snappy behaviour | testing required - reported bad defaults | -| **Container interaction** | Controlled cursor snaps to container slots (with API) with power of left click, right click and shift click | No slot snapping, testing required | -| **Touchscreen support** | ⛔ | ✅ | -| **Joystick support** | ✅ Only one joystick can be used at a time (currently) | ✅ Multiple joysticks can be combined together | -| **Joystick mapping** | Powered by resource packs, unlimited amount of buttons available | All combined joysticks limited to gamepad input. Powered by SDL mappings | -| **Configurability** | Each controller has individual settings with the ability to map every single controller action. No hardcoding! | needs testing | -| **Mod keybindings** | Mods must explicitly support Controlify for their keybinds | All keybinds work out of box after mapping buttons | -| | | | +# Comparison between Controlify 1.1.0 and Midnight Controls 1.8.0 + +| | Controlify | Midnight Controls | +|------------------------------------------|----------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------| +| **Custom Screen Compatibility** | Convenient APIs to hook into controller support directly from `Screen` implementation. | No API. Sometimes necessary to mixin into Midnight Controls and edge-case code required. | +| **Screen Navigation** | 4-axis navigation, emulating arrow key navigation | 4-axis navigation, emulating arrow key navigation | +| **In-game button guide** | Extensible by 3rd party mods | Harcoded buttons and positions | +| **Reach-around block placement** | ✅ Emulates Bedrock Edition reach-around | ✅ Takes custom liberties and has behaviour not present in bedrock | +| **Controller detection** | Powered by resource packs for unlimited data-driven detection | Hardcoded identifiers in code | +| **Controller button rendering** | Powered by resource pack controller detection | Texture atlas for hardcoded identifiers | +| **In-game look sensitivity & behaviour** | Emulated Bedrock Edition with good defaults and snappy behaviour | testing required - reported bad defaults | +| **Container interaction** | Controlled cursor snaps to container slots (with API) with power of left click, right click and shift click | No slot snapping, testing required | +| **Touchscreen support** | ⛔ | ✅ | +| **Joystick support** | ✅ Multiple joysticks can be combined together (no UI yet) | ✅ Multiple joysticks can be combined together | +| **Joystick mapping** | Powered by resource packs, unlimited amount of buttons available | All combined joysticks limited to gamepad input. Powered by SDL mappings | +| **Configurability** | Each controller has individual settings with the ability to map every single controller action. No hardcoding! | needs testing | +| **Mod keybindings** | All keybinds work out of box after mapping buttons | All keybinds work out of box after mapping buttons | +| | | |