mirror of
https://github.com/TeamMidnightDust/CullLeaves.git
synced 2025-12-16 14:15:10 +01:00
- Support Sodium 0.6+ - Allow resourcepacks to force culling and hide fully-encircled leaf blocks - Force leaf culling when the smart leaves pack is enabled - Reload world when the config changes - Only apply Sodium mixins when Sodium is actually installed (Removes log spam)
32 lines
1.3 KiB
Java
32 lines
1.3 KiB
Java
package eu.midnightdust.cullleaves;
|
|
|
|
import eu.midnightdust.lib.util.PlatformFunctions;
|
|
import org.objectweb.asm.tree.ClassNode;
|
|
import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin;
|
|
import org.spongepowered.asm.mixin.extensibility.IMixinInfo;
|
|
|
|
import java.util.List;
|
|
import java.util.Set;
|
|
|
|
public class CullLeavesMixinPlugin implements IMixinConfigPlugin {
|
|
private String mixinPackage;
|
|
|
|
@Override
|
|
public void onLoad(String mixinPackage) {
|
|
this.mixinPackage = mixinPackage + ".";
|
|
}
|
|
|
|
@Override
|
|
public boolean shouldApplyMixin(String targetClassName, String mixinClassName) {
|
|
final String mixinName = mixinClassName.substring(this.mixinPackage.length());
|
|
|
|
if (mixinName.indexOf('.') < 0) return true;
|
|
return PlatformFunctions.isModLoaded(mixinName.substring(0, mixinName.indexOf('.')));
|
|
}
|
|
|
|
@Override public List<String> getMixins() { return null; }
|
|
@Override public String getRefMapperConfig() { return null; }
|
|
@Override public void acceptTargets(Set<String> myTargets, Set<String> otherTargets) {}
|
|
@Override public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {}
|
|
@Override public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {}
|
|
} |