package com.hea3ven.hardmodetweaks.mobs; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.config.Property.Type; import com.hea3ven.tools.commonutils.mod.ProxyModModule; import com.hea3ven.tools.commonutils.mod.config.FileConfigManagerBuilder.CategoryConfigManagerBuilder; public class ProxyModHardModeTweaksMobs extends ProxyModModule { private MobsTweaksManager mobsManager; @Override public CategoryConfigManagerBuilder getConfig() { return new CategoryConfigManagerBuilder("Mobs").addValue("enableMobsTweak", "true", Type.BOOLEAN, "Enable tweaks for mobs.", property -> { if (property.getBoolean()) { if (mobsManager == null) { mobsManager = new MobsTweaksManager(); MinecraftForge.EVENT_BUS.register(mobsManager); } } else { if (mobsManager != null) { MinecraftForge.EVENT_BUS.unregister(mobsManager); mobsManager = null; } } }) .addValue("spidersApplySlowness", "true", Type.BOOLEAN, "Enable to make spiders apply slowness when they attack.", property -> { MobsTweaksManager.spidersApplySlowness = property.getBoolean(); }) .addValue("replaceCaveSpiderPoison", "true", Type.BOOLEAN, "Enable to make it so cave spiders apply weakness in stead of poison.", property -> { MobsTweaksManager.replaceCaveSpiderPoison = property.getBoolean(); }) .addValue("creeperSpawnTweak", "true", Type.BOOLEAN, "Make it so that creepers only spawn on blocks without sky access.", property -> { MobsTweaksManager.creeperSpawnTweak = property.getBoolean(); }) .addValue("zombieKnockbackResistance", "0.6d", Type.DOUBLE, "The value for zombies knockback resistance, use values between 0.0 and 1.0." + " Set to 0.0 to disable.", property -> { MobsTweaksManager.zombieKnockbackResistance = (float) property.getDouble(); }); } }