2.0.0 - Config and Smart Leaves resourcepack!

This commit is contained in:
Motschen
2021-01-14 16:21:32 +01:00
parent d762b6c022
commit 2a2b97f41a
12 changed files with 182 additions and 3 deletions

View File

@@ -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);
});
}
}

View File

@@ -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;
}

View File

@@ -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();
}
}

View File

@@ -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;
}
}