Skip to content

Commit cd4f9f5

Browse files
committedJun 14, 2024
[Change] Begin v2.4.1 Development
- Gradle shadow plugin retired - The Gradle plugin "com.github.johnrengelman.shadow" has been retired. - See GradleUp/shadow#908 for further info. - Switched to the fork "io.github.goooler.shadow"
1 parent f46c2ee commit cd4f9f5

File tree

3 files changed

+7
-129
lines changed

3 files changed

+7
-129
lines changed
 

‎Changes.md

+4-126
Original file line numberDiff line numberDiff line change
@@ -1,142 +1,20 @@
11
# CraftPresence Changes
22

3-
## v2.4.0 (06/13/2024)
3+
## v2.4.1 (??/??/2024)
44

55
_A Detailed Changelog from the last release is
6-
available [here](https://gitlab.com/CDAGaming/CraftPresence/-/compare/release%2Fv2.3.9...release%2Fv2.4.0)_
6+
available [here](https://gitlab.com/CDAGaming/CraftPresence/-/compare/release%2Fv2.4.0...release%2Fv2.4.1)_
77

88
See the Mod Description or [README](https://gitlab.com/CDAGaming/CraftPresence) for more info regarding the mod.
99

1010
### Changes
1111

1212
* (Backend) Updated Build Dependencies (Please see the appropriate repositories for changes)
13-
* Unimined (`1.2.3` -> `1.2.7`)
14-
* JVMDowngrader (`local` -> `0.7.1`)
15-
* ModPublisher (`2.1.1` -> `2.1.4`)
16-
* ModFusioner (`1.0.10` -> `1.0.12`)
17-
* Fabric Loader (`0.15.10` -> `0.15.11`)
18-
* Lenni Reflect (`1.3.2` -> `1.3.4`)
19-
* UniCore (`1.0.10` -> `1.1.9`)
20-
* DiscordIPC (`0.8.7` -> `0.9.1`)
21-
* Starscript (`0.3.0` -> `0.3.3`)
22-
* SpotBugs Annotations (`4.8.4` -> `4.8.5`)
23-
* ClassGraph (`4.8.172` -> `4.8.173`)
24-
* All versions of the mod are now built using Java 21, rather than being dependent on legacy Java
25-
* This allows us to have a consistent API as well as develop under the current modern standards
26-
* In versions where a downgrade is needed, this is performed using `JVMDowngrader` to ensure API compatibility
27-
* Adjusted the way `Dimension` and `Biome` module data is loaded in MC 1.16+
28-
* These changes are designed to support auto-locating data related to data pack additions
29-
* These changes also resolve issues where repeated Registry Lookups could cause a crash in both modules
30-
* Additional performance improvements have also been implemented for all MC versions for these modules
31-
* Added a new script function, `getComponent`, to support the new `DataComponent` system introduced in MC 1.20.5+
32-
* Usage: `getComponent(data=DataComponentHolder, path=String)`
33-
* On versions below MC 1.20.5, an error will appear instead
34-
* Removed the `hasAlphaNumeric`, `hasWhitespace`, and `replace` script functions due to being obsolete
35-
* The backend for these functions was barely functional and has been largely obsolete for a while
36-
* Added new `.identifier` placeholders for the `Biome` and `Dimension` modules
37-
* (Backend) The default formatting for a slider's display value is now `%.1f` instead of a raw append
38-
* Added a `Sync End Color` button to the `Color Editor` UI
39-
* Pressing this button, will set the `endData` to the current `startColor` data, effectively useful for quickly
40-
removing the `endColor` data from the final saving
41-
* Adjusted Mod Initialization in MC 1.7.10 and below to better detect (and avoid) running the mod on server-side
42-
* This uses a similar system implemented for MC 1.13+ in v2.2.4
43-
* This change is only applied for Forge, Risugami ModLoader, or users on similar modloaders
44-
* Added a new `Advanced` Config Setting to toggle `ClassGraph` functionality
45-
* This option allows disabling several backend functions, improving memory usage at the cost of some module
46-
functionality
47-
* Disabling this feature will prevent module auto-lookup functionality in some cases, but is set by default to be
48-
disabled in response to several concerns over memory usage
49-
* (Backend) Adjusted Module Auto-Retrieval Processes for improved usability and error prevention
50-
* `Module#getAllData` has been split into `Module#getInternalData` and `Module#getConfigData`
51-
* `Module#scanForData` has been similarly split up, with separate threads now spawned for each part of the
52-
auto-lookup
53-
* `Module#canFetchData` has been split into `Module#canFetchInternals` and `Module#canFetchConfig`
54-
* `Module#hasScanned...` and `Module#queue...` functions have also been added for configuring when to scan for what
55-
data
56-
* To align better with MC 1.20.5 and above, the scan order has been inverted for modules, with `config` data being
57-
scanned first before `internal` data
58-
* (Backend) Added `printException` for Config Modules, now used in `setProperty`
59-
* These exceptions will only display while `Debug Mode` is enabled
60-
* Adjusted the way the `general.mods` placeholder is calculated (`Constants#getModCount`)
61-
* Now uses a `Supplier` from each implemented loader rather than Reflection
62-
Statements (`Constants#MOD_COUNT_SUPPLIER`)
63-
* Quilt now falls back to `getRawModCount` due to not having an independent build layer
64-
* Added support for Rift, Flint, and Risugami ModLoader mod counts
65-
* Fixes placeholder functionality for Forge 1.13+
66-
* (Backend) Improved performance for various placeholder argument options as well as compiling data
67-
* These changes should conform better towards how Starscript was meant to be used
68-
* (Breaking) Overhauled the `Override` system for Placeholder Arguments
69-
* `overrides.` placeholders have been removed, with overrides now applied directly to the placeholder
70-
when `useAsMain` is false and such override data exists
71-
* Empty Parts of the `Presence Editor` are no longer ignored if `useAsMain` was false
72-
* For `useAsMain` mode, the `forcedData` iteration has been adjusted to now use the first non-null entry, rather
73-
than the last
13+
* Shadow (`com.github.johnrengelman.shadow@8.1.1` -> `io.github.goooler.shadow@8.1.7`)
7414

7515
### Fixes
7616

77-
* (Backend) Modified `ExtendedScreen#getButtonY` to properly respond to `ScrollPane` padding and to better clarify the
78-
logic
79-
* For screens where this is used, this places UI elements in the proper position comparable to v1.x versions
80-
* Old Calculation: `(40 + (25 * (order - 1)))`
81-
* New Calculation `topPosition + (DEFAULT_ELEMENT_PADDING * (order + 1)) + (DEFAULT_ELEMENT_HEIGHT * order)`
82-
* (Backend) Fixed an issue where `ColorData#setEndColor` and `ColorData#setTexLocation` could be applied incorrectly
83-
* This fix was previously present in `ColorEditorGui#setCurrentData` but has been moved into `ColorData` to remove
84-
duplicated logic and to resolve some edge-cases
85-
* Fixed redundant formatting in `Color Editor` Slider UI elements
86-
* The RGBA sliders now use `Integer` formatting instead of `Float`
87-
* The `Tint Factor` slider now uses a percentage value instead of `Float`
88-
* Fixed edge-cases in the `Color Editor` where editing a null `endColor` after editing `startColor` would result in an
89-
incorrect result
90-
* This is caused from the `getEnd` call pulling the `startColor` if null, and only adjusting the value of one slider
91-
rather than all four
92-
* An additional case has been resolved where the `endColor` data wasn't being created, if the new `startColor`
93-
differs when it didn't before when using `setStartColor`
94-
* (Backend) Fixed memory leaks that could occur through repeated `Module#toString` calls
95-
* This occurs due to this function utilizing GSON, and since we used this in `Module#hashCode` and `Module#equals`,
96-
it was being called excessively
97-
* With this fix, `hashCode` and `equals` functions for all Config Categories should be much more performant,
98-
following `PresenceData` formatting with `Objects#hash` and `Objects#equals` usage
99-
* (Backend) Fixed memory leaks that could occur through repeated `FileUtils#findValidClass` calls
100-
* Caching has been added to this method, preventing repetitive calls to `Class#forName`
101-
* (Backend) Fixed a possible discrepancy between using `FileUtils#findValidClass` and `FileUtils#scanClasses`
102-
* This relates to the `useClassLoader` param in `findValidClass`, which now only defaults to true if below Java 16
103-
* This behavior matches the behavior used in `ClassGraph` within `scanClasses
104-
* (Backend) Fixed memory leaks that could occur through `Lenni Reflect` reflection operations
105-
* This issue effects `StringUtils#getFields`, `StringUtils#getMethods`, and methods using these functions
106-
* Caching has been implemented to the `RStream#of`, `RStream#methods`, and `RStream#fields` functions to avoid
107-
repetitive allocation
108-
* (Backend) Fixed memory leaks caused from unnecessary `DiscordUtils#removeArguments` calls
109-
* This issue occurred in `DiscordUtils#syncPlaceholders` in how we were synchronizing `custom.` arguments
110-
* The old method has been replaced with a new more performant system
111-
for removals and iteration
112-
* Several methods have also been adjusted to avoid excessive calls to this function as well
113-
* Fixed the `Sync Config` button in the `Main Gui` not properly applying settings
114-
* This was caused by the `Config#applyFrom(Config)` function not being called
115-
* (Backend) Fixed an issue where the `Server` module was improperly checking for new `ServerList` entries in some cases
116-
* This also fixes an issue where adjusting `config` data could trigger an `internal` scan
117-
* (Backend) Fixed an issue where the `ReplayMod` module could be improperly cleared in some cases
118-
* (Backend) Fixed memory leaks that could occur through `MappingUtils` due to excessive `String#replace` operations
119-
* Both `MappingUtils` and the way the mappings file is generated have been improved to avoid this issue
120-
* (Backend) Fixed memory leaks that could occur through `FileUtils#getClassNamesMatchingSuperType`
121-
and `FileUtils#isSubclassOf`
122-
* Both functions have been rewritten to be significantly more performant compared to past releases
123-
* (Backend) Fixed memory leaks that could occur due to excessive Reflection Usage in Config Modules
124-
* This additionally improves the performance of `Config#handleVerification`
125-
* This fix primarily effects `Module#getProperty` and `Module#setProperty` usage to be static-defined rather than
126-
relying on reflection
127-
* Fixed an issue where `entitySettings#ridingData` was being incorrectly read
128-
* The `entity.riding.message` and `entity.riding.icon` placeholders should work properly again
129-
* Resolved an issue where parts of the mod may show up un-localized when using a different language
130-
* This was caused by a regression when `TranslationUtils#getLocalizedMessage` was introduced
131-
* Resolved a typo causing an issue in the `SimpleRPC` to `CraftPresence` config migration layer where
132-
the `%replaytimeleft%` placeholder, if present, was incorrectly converted to an invalid Starscript expression
133-
* This issue would cause a Starscript exception if the value was present in a `SimpleRPC` config
134-
* (Backend) Fixed an issue preventing `DiscordAssetUtils#setUrl` from triggering in `DiscordAssetUtils#loadAssets`
135-
* This fix also brings a performance improvement to `DiscordAssetUtils#getUrl(list, key)`
136-
* (Backend) Fixed a `DiscordIPC` Issue preventing Mod Functionality on Java 22
137-
* This primarily effected Windows users or those using a non-standard filesystem
138-
* Users effected would receive a false `Unable to connect to Discord...` message
139-
* Several other error messages have also been improved alongside this fix
17+
* TBD
14018

14119
___
14220

‎build.gradle.kts

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ plugins {
1313
id("xyz.wagyourtail.unimined") version "1.2.7" apply false
1414
id("xyz.wagyourtail.jvmdowngrader") version "0.7.1"
1515
id("com.diffplug.gradle.spotless") version "6.25.0" apply false
16-
id("com.github.johnrengelman.shadow") version "8.1.1" apply false
16+
id("io.github.goooler.shadow") version "8.1.7" apply false
1717
id("com.hypherionmc.modutils.modfusioner") version "1.0.12"
1818
}
1919

@@ -54,7 +54,7 @@ subprojects {
5454
apply(plugin = "xyz.wagyourtail.unimined")
5555
apply(plugin = "xyz.wagyourtail.jvmdowngrader")
5656
apply(plugin = "com.diffplug.spotless")
57-
apply(plugin = "com.github.johnrengelman.shadow")
57+
apply(plugin = "io.github.goooler.shadow")
5858

5959
val versionInfoLabel by extra(extVersionInfoLabel)
6060
val baseVersionLabel by extra(extBaseVersionLabel)

‎gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ fml_version_range=
2929
forge_game_version_range=1.12.2
3030
forge_loader_version_range=
3131
# Deployment Info
32-
versionId=2.4.0
32+
versionId=2.4.1
3333
deploymentType=Release
3434
versionLabel=Release
3535
additional_mc_versions=

0 commit comments

Comments
 (0)
Failed to load comments.