Add annotation to ignore mixins
This commit is contained in:
parent
0836ac6eef
commit
65ecdd6231
|
|
@ -22,11 +22,13 @@ import javax.tools.Diagnostic;
|
|||
import net.fabricmc.api.Environment;
|
||||
|
||||
import org.embeddedt.modernfix.annotation.ClientOnlyMixin;
|
||||
import org.embeddedt.modernfix.annotation.IgnoreMixin;
|
||||
import org.fury_phoenix.mixinAp.util.TypedAccessorMap;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
|
||||
import static com.google.auto.common.AnnotationMirrors.getAnnotationValue;
|
||||
import static java.util.AbstractMap.SimpleImmutableEntry;
|
||||
import static java.util.function.Predicate.not;
|
||||
|
||||
public class ClientMixinValidator {
|
||||
|
||||
|
|
@ -80,7 +82,8 @@ public class ClientMixinValidator {
|
|||
}
|
||||
|
||||
public boolean targetsClient(TypeElement annotatedMixinClass) {
|
||||
return targetsClient(getTargets(annotatedMixinClass));
|
||||
return targetsClient(getTargets(annotatedMixinClass)) &&
|
||||
!isIgnored(annotatedMixinClass);
|
||||
}
|
||||
|
||||
private boolean targetsClient(Collection<?> classTargets) {
|
||||
|
|
@ -122,6 +125,15 @@ public class ClientMixinValidator {
|
|||
return false;
|
||||
}
|
||||
|
||||
private boolean isIgnored(TypeElement te) {
|
||||
if(te.getAnnotation(IgnoreMixin.class) != null) {
|
||||
messager.printMessage(Diagnostic.Kind.WARNING,
|
||||
toSourceString(te.toString()) + " is ignored!");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean warn(Object o) {
|
||||
messager.printMessage(Diagnostic.Kind.WARNING,
|
||||
toSourceString(o.toString()) + " can't be loaded, so it is skipped!");
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@ plugins {
|
|||
id 'java-library'
|
||||
}
|
||||
|
||||
version = '1.0.0'
|
||||
version = '1.1.0'
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
package org.embeddedt.modernfix.annotation;
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
@Target(ElementType.TYPE)
|
||||
public @interface IgnoreMixin {
|
||||
}
|
||||
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
package org.embeddedt.modernfix.forge.mixin.perf.async_locator;
|
||||
|
||||
import net.minecraft.world.entity.projectile.EyeOfEnder;
|
||||
import org.embeddedt.modernfix.annotation.ClientOnlyMixin;
|
||||
import org.embeddedt.modernfix.annotation.IgnoreMixin;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||
|
||||
@Mixin(EyeOfEnder.class)
|
||||
@ClientOnlyMixin
|
||||
@IgnoreMixin
|
||||
public interface EyeOfEnderAccess {
|
||||
@Accessor
|
||||
void setLife(int life);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package org.embeddedt.modernfix.forge.mixin.perf.async_locator;
|
||||
|
||||
import net.minecraft.world.entity.projectile.EyeOfEnder;
|
||||
import org.embeddedt.modernfix.annotation.ClientOnlyMixin;
|
||||
import org.embeddedt.modernfix.annotation.IgnoreMixin;
|
||||
import org.embeddedt.modernfix.forge.structure.logic.EyeOfEnderData;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
|
|
@ -9,7 +9,7 @@ import org.spongepowered.asm.mixin.injection.Inject;
|
|||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(EyeOfEnder.class)
|
||||
@ClientOnlyMixin
|
||||
@IgnoreMixin
|
||||
public class EyeOfEnderMixin implements EyeOfEnderData {
|
||||
private boolean locateTaskOngoing = false;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user