mirror of
https://github.com/TeamMidnightDust/MidnightControls.git
synced 2025-12-13 23:25:10 +01:00
Apply mixins conditionally & bump version
This commit is contained in:
@@ -8,7 +8,7 @@ yarn_mappings=1.20.5+build.1
|
|||||||
loader_version=0.15.10
|
loader_version=0.15.10
|
||||||
|
|
||||||
# Mod Properties
|
# Mod Properties
|
||||||
mod_version = 1.9.4
|
mod_version = 1.9.5
|
||||||
maven_group = eu.midnightdust
|
maven_group = eu.midnightdust
|
||||||
archives_base_name = midnightcontrols
|
archives_base_name = midnightcontrols
|
||||||
modrinth_id = bXX9h73M
|
modrinth_id = bXX9h73M
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
package eu.midnightdust.midnightcontrols.client.compat;
|
package eu.midnightdust.midnightcontrols.client.compat;
|
||||||
|
|
||||||
|
import eu.midnightdust.lib.util.PlatformFunctions;
|
||||||
import net.fabricmc.loader.api.FabricLoader;
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
@@ -22,23 +23,16 @@ import java.util.Set;
|
|||||||
/**
|
/**
|
||||||
* This plugin is only present for the conditional mixins.
|
* This plugin is only present for the conditional mixins.
|
||||||
*
|
*
|
||||||
* @author LambdAurora
|
* @author LambdAurora & Motschen
|
||||||
* @version 1.5.0
|
* @version 1.6.0
|
||||||
* @since 1.2.0
|
* @since 1.2.0
|
||||||
*/
|
*/
|
||||||
public class MidnightControlsMixinPlugin implements IMixinConfigPlugin {
|
public class MidnightControlsMixinPlugin implements IMixinConfigPlugin {
|
||||||
private final HashMap<String, Boolean> conditionalMixins = new HashMap<>();
|
private String mixinPackage;
|
||||||
|
|
||||||
public MidnightControlsMixinPlugin() {
|
|
||||||
//this.putConditionalMixin("SodiumOptionsGUIAccessor", FabricLoader.getInstance().isModLoaded("sodium"));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void putConditionalMixin(@NotNull String path, boolean condition) {
|
|
||||||
this.conditionalMixins.put("eu.midnightdust.midnightcontrols.client.compat.mixin." + path, condition);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLoad(String mixinPackage) {
|
public void onLoad(String mixinPackage) {
|
||||||
|
this.mixinPackage = mixinPackage + ".";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -48,7 +42,13 @@ public class MidnightControlsMixinPlugin implements IMixinConfigPlugin {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean shouldApplyMixin(String targetClassName, String mixinClassName) {
|
public boolean shouldApplyMixin(String targetClassName, String mixinClassName) {
|
||||||
return this.conditionalMixins.getOrDefault(mixinClassName, Boolean.TRUE);
|
final String mixinName = mixinClassName.substring(this.mixinPackage.length());
|
||||||
|
final String packageName = mixinName.substring(0, mixinName.lastIndexOf('.'));
|
||||||
|
|
||||||
|
if (packageName.startsWith("sodium") && !PlatformFunctions.isModLoaded("sodium"))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package eu.midnightdust.midnightcontrols.client.compat;
|
|||||||
|
|
||||||
import eu.midnightdust.midnightcontrols.MidnightControls;
|
import eu.midnightdust.midnightcontrols.MidnightControls;
|
||||||
import eu.midnightdust.midnightcontrols.client.MidnightControlsConfig;
|
import eu.midnightdust.midnightcontrols.client.MidnightControlsConfig;
|
||||||
import eu.midnightdust.midnightcontrols.client.compat.mixin.SodiumOptionsGUIAccessor;
|
import eu.midnightdust.midnightcontrols.client.compat.mixin.sodium.SodiumOptionsGUIAccessor;
|
||||||
import me.jellysquid.mods.sodium.client.gui.SodiumOptionsGUI;
|
import me.jellysquid.mods.sodium.client.gui.SodiumOptionsGUI;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package eu.midnightdust.midnightcontrols.client.compat.mixin;
|
package eu.midnightdust.midnightcontrols.client.compat.mixin.sodium;
|
||||||
|
|
||||||
import me.jellysquid.mods.sodium.client.gui.SodiumOptionsGUI;
|
import me.jellysquid.mods.sodium.client.gui.SodiumOptionsGUI;
|
||||||
import me.jellysquid.mods.sodium.client.gui.options.OptionPage;
|
import me.jellysquid.mods.sodium.client.gui.options.OptionPage;
|
||||||
@@ -53,13 +53,10 @@
|
|||||||
"depends": {
|
"depends": {
|
||||||
"fabricloader": ">=0.11.3",
|
"fabricloader": ">=0.11.3",
|
||||||
"fabric": ">=0.71.0",
|
"fabric": ">=0.71.0",
|
||||||
"minecraft": "~1.20",
|
"minecraft": ">=1.20.5",
|
||||||
"spruceui": ">=3.2.0",
|
"spruceui": ">=3.2.0",
|
||||||
"java": ">=17"
|
"java": ">=17"
|
||||||
},
|
},
|
||||||
"recommends": {
|
|
||||||
"modmenu": ">=1.12.2"
|
|
||||||
},
|
|
||||||
"suggests": {
|
"suggests": {
|
||||||
"kontrolo": "*"
|
"kontrolo": "*"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"plugin": "eu.midnightdust.midnightcontrols.client.compat.MidnightControlsMixinPlugin",
|
"plugin": "eu.midnightdust.midnightcontrols.client.compat.MidnightControlsMixinPlugin",
|
||||||
"compatibilityLevel": "JAVA_16",
|
"compatibilityLevel": "JAVA_16",
|
||||||
"client": [
|
"client": [
|
||||||
"SodiumOptionsGUIAccessor"
|
"sodium.SodiumOptionsGUIAccessor"
|
||||||
],
|
],
|
||||||
"injectors": {
|
"injectors": {
|
||||||
"defaultRequire": 1
|
"defaultRequire": 1
|
||||||
|
|||||||
Reference in New Issue
Block a user