diff --git a/src/main/java/com/mitchej123/hodgepodge/config/TweaksConfig.java b/src/main/java/com/mitchej123/hodgepodge/config/TweaksConfig.java index 3258b2c9..4a060f3a 100644 --- a/src/main/java/com/mitchej123/hodgepodge/config/TweaksConfig.java +++ b/src/main/java/com/mitchej123/hodgepodge/config/TweaksConfig.java @@ -201,6 +201,16 @@ public class TweaksConfig { @Config.RequiresMcRestart public static boolean allowEatingFoodInCreative; + @Config.Comment({ "Removes all void fog.", "0 = keep void fog", "1 = disable for DEFAULT worldtype only", + "2 = disable for all world types" }) + @Config.DefaultInt(1) + @Config.RangeInt(min = 0, max = 2) + public static int disableVoidFog = 1; + + @Config.Comment("The max amount of XP levels an anvil recipe can use.") + @Config.DefaultInt(40) + public static int anvilMaxLevel = 40; + // NBT String Pooling @Config.Comment("Enable string pooling for NBT TagCompound Keys") diff --git a/src/main/java/com/mitchej123/hodgepodge/mixins/Mixins.java b/src/main/java/com/mitchej123/hodgepodge/mixins/Mixins.java index 59b3c8f1..dad312d9 100644 --- a/src/main/java/com/mitchej123/hodgepodge/mixins/Mixins.java +++ b/src/main/java/com/mitchej123/hodgepodge/mixins/Mixins.java @@ -792,6 +792,15 @@ public enum Mixins implements IMixins { .addCommonMixins("minecraft.MixinEntityPlayer_EatInCreative", "minecraft.MixinItemFood_DontConsumeCreative") .setApplyIf(() -> TweaksConfig.allowEatingFoodInCreative) .setPhase(Phase.EARLY)), + HIDE_VOID_FOG(new MixinBuilder() + .addClientMixins("minecraft.MixinWorldType_VoidParticles") + .setApplyIf(() -> TweaksConfig.disableVoidFog != 0) + .setPhase(Phase.EARLY)), + ANVIL_MAX_LEVEL(new MixinBuilder() + .addCommonMixins("minecraft.MixinContainerRepair_MaxAnvilCost") + .addClientMixins("minecraft.MixinGuiRepair_MaxAnvilCost") + .setApplyIf(() -> TweaksConfig.anvilMaxLevel != 40) + .setPhase(Phase.EARLY)), // Ic2 adjustments IC2_UNPROTECTED_GET_BLOCK_FIX(new MixinBuilder("IC2 Kinetic Fix") diff --git a/src/main/java/com/mitchej123/hodgepodge/mixins/early/minecraft/MixinContainerRepair_MaxAnvilCost.java b/src/main/java/com/mitchej123/hodgepodge/mixins/early/minecraft/MixinContainerRepair_MaxAnvilCost.java new file mode 100644 index 00000000..5861ae21 --- /dev/null +++ b/src/main/java/com/mitchej123/hodgepodge/mixins/early/minecraft/MixinContainerRepair_MaxAnvilCost.java @@ -0,0 +1,18 @@ +package com.mitchej123.hodgepodge.mixins.early.minecraft; + +import net.minecraft.inventory.ContainerRepair; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.Constant; +import org.spongepowered.asm.mixin.injection.ModifyConstant; + +import com.mitchej123.hodgepodge.config.TweaksConfig; + +@Mixin(ContainerRepair.class) +public class MixinContainerRepair_MaxAnvilCost { + + @ModifyConstant(method = "updateRepairOutput", constant = @Constant(intValue = 40)) + private int getMaxAnvilCost(int original) { + return TweaksConfig.anvilMaxLevel; + } +} diff --git a/src/main/java/com/mitchej123/hodgepodge/mixins/early/minecraft/MixinGuiRepair_MaxAnvilCost.java b/src/main/java/com/mitchej123/hodgepodge/mixins/early/minecraft/MixinGuiRepair_MaxAnvilCost.java new file mode 100644 index 00000000..9fd1e17a --- /dev/null +++ b/src/main/java/com/mitchej123/hodgepodge/mixins/early/minecraft/MixinGuiRepair_MaxAnvilCost.java @@ -0,0 +1,18 @@ +package com.mitchej123.hodgepodge.mixins.early.minecraft; + +import net.minecraft.client.gui.GuiRepair; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.Constant; +import org.spongepowered.asm.mixin.injection.ModifyConstant; + +import com.mitchej123.hodgepodge.config.TweaksConfig; + +@Mixin(GuiRepair.class) +public class MixinGuiRepair_MaxAnvilCost { + + @ModifyConstant(method = "drawGuiContainerForegroundLayer", constant = @Constant(intValue = 40)) + private int getMaxAnvilCost(int original) { + return TweaksConfig.anvilMaxLevel; + } +} diff --git a/src/main/java/com/mitchej123/hodgepodge/mixins/early/minecraft/MixinWorldType_VoidParticles.java b/src/main/java/com/mitchej123/hodgepodge/mixins/early/minecraft/MixinWorldType_VoidParticles.java new file mode 100644 index 00000000..aef8ce6e --- /dev/null +++ b/src/main/java/com/mitchej123/hodgepodge/mixins/early/minecraft/MixinWorldType_VoidParticles.java @@ -0,0 +1,24 @@ +package com.mitchej123.hodgepodge.mixins.early.minecraft; + +import net.minecraft.world.WorldType; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; + +import com.llamalad7.mixinextras.injector.ModifyReturnValue; +import com.mitchej123.hodgepodge.config.TweaksConfig; + +@Mixin(WorldType.class) +public class MixinWorldType_VoidParticles { + + @ModifyReturnValue(method = "hasVoidParticles", remap = false, at = @At("RETURN")) + private boolean hasVoidParticles(boolean original, boolean hasNoSky) { + if (TweaksConfig.disableVoidFog == 0) { + return original; + } else if (TweaksConfig.disableVoidFog == 1) { + return original && (Object) this != WorldType.DEFAULT; + } else { + return false; + } + } +}