Remove Diagonal Fences mixin on 1.20+, mod now uses dynres-compatible logic
Related: #199
This commit is contained in:
parent
2a6077cb65
commit
d358ea37a8
|
|
@ -27,8 +27,6 @@ dependencies {
|
||||||
transitive = false
|
transitive = false
|
||||||
}
|
}
|
||||||
|
|
||||||
modCompileOnly("curse.maven:diagonal-fences-458048:${diagonal_fences_version}")
|
|
||||||
|
|
||||||
modCompileOnly "curse.maven:spark-361579:${rootProject.spark_version}"
|
modCompileOnly "curse.maven:spark-361579:${rootProject.spark_version}"
|
||||||
// compile against the JEI API but do not include it at runtime
|
// compile against the JEI API but do not include it at runtime
|
||||||
modCompileOnly("mezz.jei:jei-${jei_minecraft_version}-common:${jei_version}")
|
modCompileOnly("mezz.jei:jei-${jei_minecraft_version}-common:${jei_version}")
|
||||||
|
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
||||||
package org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.diagonalfences;
|
|
||||||
|
|
||||||
import fuzs.diagonalfences.api.world.level.block.DiagonalBlock;
|
|
||||||
import fuzs.diagonalfences.client.model.MultipartAppender;
|
|
||||||
import fuzs.diagonalfences.mixin.client.accessor.ModelBakeryAccessor;
|
|
||||||
import net.minecraft.client.renderer.block.model.multipart.MultiPart;
|
|
||||||
import net.minecraft.client.resources.model.ModelBakery;
|
|
||||||
import net.minecraft.client.resources.model.UnbakedModel;
|
|
||||||
import net.minecraft.resources.ResourceLocation;
|
|
||||||
import net.minecraft.world.level.block.Block;
|
|
||||||
import net.minecraft.world.level.block.FenceBlock;
|
|
||||||
import net.minecraft.world.level.block.IronBarsBlock;
|
|
||||||
import org.apache.logging.log4j.util.BiConsumer;
|
|
||||||
import org.embeddedt.modernfix.ModernFixClient;
|
|
||||||
import org.embeddedt.modernfix.annotation.RequiresMod;
|
|
||||||
import org.embeddedt.modernfix.api.entrypoint.ModernFixClientIntegration;
|
|
||||||
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.Inject;
|
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|
||||||
|
|
||||||
@Mixin(MultipartAppender.class)
|
|
||||||
@RequiresMod("diagonalfences")
|
|
||||||
public abstract class MultipartAppenderMixin {
|
|
||||||
@Shadow(remap = false)
|
|
||||||
public static void appendDiagonalSelectors(BiConsumer<ResourceLocation, UnbakedModel> modelBakery, MultiPart multiPart, boolean rotateCenter) {
|
|
||||||
throw new AssertionError();
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean handlerInjected = false;
|
|
||||||
|
|
||||||
@Inject(method = "onPrepareModelBaking", at = @At("HEAD"), cancellable = true)
|
|
||||||
private static void setupHelper(CallbackInfo ci) {
|
|
||||||
ci.cancel();
|
|
||||||
if(handlerInjected)
|
|
||||||
return;
|
|
||||||
handlerInjected = true;
|
|
||||||
ModernFixClient.CLIENT_INTEGRATIONS.add(new ModernFixClientIntegration() {
|
|
||||||
@Override
|
|
||||||
public UnbakedModel onUnbakedModelLoad(ResourceLocation location, UnbakedModel originalModel, ModelBakery bakery) {
|
|
||||||
if(originalModel instanceof MultiPart multipart) {
|
|
||||||
Block block = multipart.definition.getOwner();
|
|
||||||
if((block instanceof FenceBlock || block instanceof IronBarsBlock) && block instanceof DiagonalBlock diagonalBlock && diagonalBlock.hasProperties()) {
|
|
||||||
try {
|
|
||||||
appendDiagonalSelectors(((ModelBakeryAccessor)bakery)::diagonalfences$callCacheAndQueueDependencies, multipart, block instanceof IronBarsBlock);
|
|
||||||
} catch(RuntimeException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return originalModel;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue
Block a user