diff --git a/build.gradle b/build.gradle index 127a492..fdd134c 100644 --- a/build.gradle +++ b/build.gradle @@ -3,9 +3,6 @@ buildscript { maven { url = 'https://repo.spongepowered.org/repository/maven-public/' } mavenCentral() } - dependencies { - classpath 'org.spongepowered:mixingradle:0.7-SNAPSHOT' - } } plugins { @@ -95,7 +92,7 @@ sourceSets.main.resources { srcDir 'src/generated/resources' } repositories { mavenLocal() maven { - url "https://cursemaven.com" + url = "https://cursemaven.com" content { includeGroup "curse.maven" } @@ -112,15 +109,15 @@ repositories { } } maven { // Registrate - url "https://maven.tterrag.com/" + url = "https://maven.tterrag.com/" } maven { name = "Illusive Soulworks maven" url = "https://maven.theillusivec4.top/" } maven { - name "firstdarkdev" - url "https://maven.firstdarkdev.xyz/snapshots" + name = "firstdarkdev" + url = "https://maven.firstdarkdev.xyz/snapshots" } maven { name = "Jared's maven" diff --git a/src/main/java/lu/kolja/expandedae/mixin/MixinPlugin.java b/src/main/java/lu/kolja/expandedae/mixin/MixinPlugin.java index 8009a98..cd8b2a9 100644 --- a/src/main/java/lu/kolja/expandedae/mixin/MixinPlugin.java +++ b/src/main/java/lu/kolja/expandedae/mixin/MixinPlugin.java @@ -20,13 +20,17 @@ public class MixinPlugin implements IMixinConfigPlugin { public static final Object2ObjectMap mixinMap = new Object2ObjectOpenHashMap<>( new String[]{ "lu.kolja.expandedae.mixin.patternprovider.MixinPatternProviderLogic", + "lu.kolja.expandedae.mixin.patternprovider.MixinPatternProviderLogicHost", "lu.kolja.expandedae.mixin.patternprovider.MixinPatternProviderMenu", - "lu.kolja.expandedae.mixin.patternprovider.MixinPatternProviderScreen" + "lu.kolja.expandedae.mixin.patternprovider.MixinPatternProviderScreen", + "lu.kolja.expandedae.mixin.cpu.MixinCraftingCPUCluster" }, new String[]{ "appflux", "appflux", - "appflux" + "appflux", + "appflux", + "extendedae_plus" } ); diff --git a/src/main/java/lu/kolja/expandedae/mixin/misc/MixinControllerValidator.java b/src/main/java/lu/kolja/expandedae/mixin/misc/MixinControllerValidator.java index e9479c7..15bcd32 100644 --- a/src/main/java/lu/kolja/expandedae/mixin/misc/MixinControllerValidator.java +++ b/src/main/java/lu/kolja/expandedae/mixin/misc/MixinControllerValidator.java @@ -3,13 +3,15 @@ import appeng.blockentity.networking.ControllerBlockEntity; import appeng.me.pathfinding.ControllerValidator; import java.util.Collection; + +import com.llamalad7.mixinextras.injector.wrapoperation.Operation; +import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import lu.kolja.expandedae.ExpConfig; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Constant; import org.spongepowered.asm.mixin.injection.ModifyConstant; -import org.spongepowered.asm.mixin.injection.Redirect; @Mixin(value = ControllerValidator.class, remap = false) public abstract class MixinControllerValidator { @@ -27,14 +29,14 @@ private static int modifyMaxSize(int constant) { return ExpConfig.maxControllerSize; } - @Redirect( + @WrapOperation( method = "calculateState", at = @At( value = "INVOKE", target = "Lappeng/me/pathfinding/ControllerValidator;hasControllerCross(Ljava/util/Collection;)Z" ) ) - private static boolean ignoreControllerRules(Collection controller) { - return !ExpConfig.ignoreControllerRules && hasControllerCross(controller); + private static boolean ignoreControllerRules(Collection controller, Operation original) { + return !ExpConfig.ignoreControllerRules && original.call(controller); } } \ No newline at end of file diff --git a/src/main/java/lu/kolja/expandedae/mixin/misc/MixinSettingToggleButton.java b/src/main/java/lu/kolja/expandedae/mixin/misc/MixinSettingToggleButton.java index d9d581e..0640426 100644 --- a/src/main/java/lu/kolja/expandedae/mixin/misc/MixinSettingToggleButton.java +++ b/src/main/java/lu/kolja/expandedae/mixin/misc/MixinSettingToggleButton.java @@ -1,8 +1,6 @@ package lu.kolja.expandedae.mixin.misc; -import appeng.api.config.CondenserOutput; import appeng.api.config.Setting; -import appeng.api.config.Settings; import appeng.client.gui.Icon; import appeng.client.gui.widgets.SettingToggleButton; import appeng.core.localization.ButtonToolTips; @@ -10,7 +8,10 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import java.util.function.Predicate; import static lu.kolja.expandedae.definition.ExpSettings.BLOCKING_MODE; import static lu.kolja.expandedae.enums.BlockingMode.*; @@ -26,18 +27,15 @@ private static > void registerApp(Icon icon, Setting settin private static > void registerApp(Icon icon, Setting setting, T val, ButtonToolTips title, Component... tooltipLines) {} - @Redirect(method = "(Lappeng/api/config/Setting;Ljava/lang/Enum;Ljava/util/function/Predicate;Lappeng/client/gui/widgets/SettingToggleButton$IHandler;)V", + @Inject( + method = "(Lappeng/api/config/Setting;Ljava/lang/Enum;Ljava/util/function/Predicate;Lappeng/client/gui/widgets/SettingToggleButton$IHandler;)V", at = @At(value = "INVOKE", target = "Lappeng/client/gui/widgets/SettingToggleButton;registerApp(Lappeng/client/gui/Icon;Lappeng/api/config/Setting;Ljava/lang/Enum;Lappeng/core/localization/ButtonToolTips;Lappeng/core/localization/ButtonToolTips;)V", - ordinal = 0), - remap = false) - private > void register(Icon icon, Setting setting, T val, ButtonToolTips title, - ButtonToolTips hint) { - - registerApp(Icon.CONDENSER_OUTPUT_TRASH, Settings.CONDENSER_OUTPUT, CondenserOutput.TRASH, - ButtonToolTips.CondenserOutput, - ButtonToolTips.Trash); - + ordinal = 0, + shift = At.Shift.AFTER + ) + ) + private > void register(Setting setting, T val, Predicate isValidValue, SettingToggleButton.IHandler> onPress, CallbackInfo ci) { registerApp(Icon.CLEAR, BLOCKING_MODE, ALL, ButtonToolTips.InterfaceBlockingMode, Component.translatable("gui.expandedae.blocking_mode.all")