mirror of
https://github.com/TeamMidnightDust/CullLeaves.git
synced 2025-12-16 22:25:09 +01:00
2.0.0 - Config and Smart Leaves resourcepack!
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
package eu.midnightdust.cullleaves;
|
||||
|
||||
import eu.midnightdust.cullleaves.config.CullLeavesConfig;
|
||||
import me.sargunvohra.mcmods.autoconfig1u.AutoConfig;
|
||||
import me.sargunvohra.mcmods.autoconfig1u.serializer.JanksonConfigSerializer;
|
||||
import net.fabricmc.api.ClientModInitializer;
|
||||
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class CullLeavesClient implements ClientModInitializer {
|
||||
public static CullLeavesConfig CL_CONFIG;
|
||||
|
||||
public void onInitializeClient() {
|
||||
AutoConfig.register(CullLeavesConfig.class, JanksonConfigSerializer::new);
|
||||
CL_CONFIG = AutoConfig.getConfigHolder(CullLeavesConfig.class).getConfig();
|
||||
|
||||
FabricLoader.getInstance().getModContainer("cullleaves").ifPresent(modContainer -> {
|
||||
ResourceManagerHelper.registerBuiltinResourcePack(new Identifier("cullleaves:smartleaves"), "resourcepacks/smartleaves", modContainer, true);
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package eu.midnightdust.cullleaves.config;
|
||||
|
||||
import me.sargunvohra.mcmods.autoconfig1u.ConfigData;
|
||||
import me.sargunvohra.mcmods.autoconfig1u.annotation.Config;
|
||||
import me.sargunvohra.mcmods.autoconfig1u.annotation.ConfigEntry;
|
||||
import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment;
|
||||
import net.minecraft.client.render.entity.PlayerModelPart;
|
||||
|
||||
@Config(name = "cullleaves")
|
||||
public class CullLeavesConfig implements ConfigData {
|
||||
|
||||
@ConfigEntry.Gui.PrefixText // Enable/Disable the mod. Requires Chunk Reload (F3 + A).
|
||||
public boolean enabled = true;
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package eu.midnightdust.cullleaves.config;
|
||||
|
||||
import io.github.prospector.modmenu.api.ConfigScreenFactory;
|
||||
import io.github.prospector.modmenu.api.ModMenuApi;
|
||||
import me.sargunvohra.mcmods.autoconfig1u.AutoConfig;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class ModMenuIntegration implements ModMenuApi {
|
||||
|
||||
@Override
|
||||
public ConfigScreenFactory<?> getModConfigScreenFactory() {
|
||||
return parent -> AutoConfig.getConfigScreen(CullLeavesConfig.class, parent).get();
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package eu.midnightdust.cullleaves.mixin;
|
||||
|
||||
import eu.midnightdust.cullleaves.CullLeavesClient;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.minecraft.block.Block;
|
||||
@@ -19,6 +20,9 @@ public class MixinLeavesBlock extends Block {
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean isSideInvisible(BlockState state, BlockState neighborState, Direction offset) {
|
||||
return neighborState.getBlock() instanceof LeavesBlock;
|
||||
if (CullLeavesClient.CL_CONFIG.enabled) {
|
||||
return neighborState.getBlock() instanceof LeavesBlock;
|
||||
}
|
||||
else return false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user