From f74f44e0d449bd8d7601135899d199e35df2c0d5 Mon Sep 17 00:00:00 2001 From: Alexdoru <57050655+Alexdoru@users.noreply.github.com> Date: Wed, 3 Dec 2025 01:47:56 +0100 Subject: [PATCH 1/3] import disable void particles from EnderCore --- .../hodgepodge/config/TweaksConfig.java | 5 ++++ .../mitchej123/hodgepodge/mixins/Mixins.java | 7 ++++-- .../MixinWorldType_VoidParticles.java | 24 +++++++++++++++++++ 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/mitchej123/hodgepodge/mixins/early/minecraft/MixinWorldType_VoidParticles.java diff --git a/src/main/java/com/mitchej123/hodgepodge/config/TweaksConfig.java b/src/main/java/com/mitchej123/hodgepodge/config/TweaksConfig.java index 801f39925..7794de90f 100644 --- a/src/main/java/com/mitchej123/hodgepodge/config/TweaksConfig.java +++ b/src/main/java/com/mitchej123/hodgepodge/config/TweaksConfig.java @@ -181,6 +181,11 @@ public class TweaksConfig { @Config.RangeInt(min = 0, max = 2) public static int defaultModSort = 1; + @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; + // 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 1dade3138..247195a7a 100644 --- a/src/main/java/com/mitchej123/hodgepodge/mixins/Mixins.java +++ b/src/main/java/com/mitchej123/hodgepodge/mixins/Mixins.java @@ -750,8 +750,7 @@ public enum Mixins implements IMixins { REMOVE_INVALID_ENTITES(new MixinBuilder() .addCommonMixins("minecraft.MixinChunk_FixInvalidEntity") .setApplyIf(() -> FixesConfig.removeInvalidChunkEntites) - .setPhase(Phase.EARLY) - ), + .setPhase(Phase.EARLY)), SPEEDUP_TILE_DESCRIPTION_PACKETS(new MixinBuilder("Batch S35PacketUpdateTileEntity Packets") .addCommonMixins( "minecraft.tiledescriptions.MixinEntityPlayerMP", @@ -759,6 +758,10 @@ public enum Mixins implements IMixins { "forge.tiledescriptions.MixinForgeHooks") .setApplyIf(() -> SpeedupsConfig.batchDescriptionPacketsMixins) .setPhase(Phase.EARLY)), + HIDE_VOID_FOG(new MixinBuilder() + .addClientMixins("minecraft.MixinWorldType_VoidParticles") + .setApplyIf(() -> TweaksConfig.disableVoidFog != 0) + .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/MixinWorldType_VoidParticles.java b/src/main/java/com/mitchej123/hodgepodge/mixins/early/minecraft/MixinWorldType_VoidParticles.java new file mode 100644 index 000000000..aef8ce6ec --- /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; + } + } +} From 37bc30f21b7ccca0ad7306d5ec17394c56c89726 Mon Sep 17 00:00:00 2001 From: Alexdoru <57050655+Alexdoru@users.noreply.github.com> Date: Wed, 3 Dec 2025 03:14:37 +0100 Subject: [PATCH 2/3] import anvil max level from endercore --- .../hodgepodge/config/TweaksConfig.java | 7 ++++++- .../mitchej123/hodgepodge/mixins/Mixins.java | 5 +++++ .../MixinContainerRepair_MaxAnvilCost.java | 18 ++++++++++++++++++ .../minecraft/MixinGuiRepair_MaxAnvilCost.java | 18 ++++++++++++++++++ 4 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/mitchej123/hodgepodge/mixins/early/minecraft/MixinContainerRepair_MaxAnvilCost.java create mode 100644 src/main/java/com/mitchej123/hodgepodge/mixins/early/minecraft/MixinGuiRepair_MaxAnvilCost.java diff --git a/src/main/java/com/mitchej123/hodgepodge/config/TweaksConfig.java b/src/main/java/com/mitchej123/hodgepodge/config/TweaksConfig.java index 7794de90f..aa8bbbb52 100644 --- a/src/main/java/com/mitchej123/hodgepodge/config/TweaksConfig.java +++ b/src/main/java/com/mitchej123/hodgepodge/config/TweaksConfig.java @@ -181,11 +181,16 @@ public class TweaksConfig { @Config.RangeInt(min = 0, max = 2) public static int defaultModSort = 1; - @Config.Comment({ "Removes all void fog.", "0 = keep void fog", "1 = disable for DEFAULT worldtype only", "2 = disable for all world types" }) + @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 247195a7a..aab014bdd 100644 --- a/src/main/java/com/mitchej123/hodgepodge/mixins/Mixins.java +++ b/src/main/java/com/mitchej123/hodgepodge/mixins/Mixins.java @@ -762,6 +762,11 @@ public enum Mixins implements IMixins { .addClientMixins("minecraft.MixinWorldType_VoidParticles") .setApplyIf(() -> TweaksConfig.disableVoidFog != 0) .setPhase(Phase.EARLY)), + ANVIL_MAX_LEVE(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 000000000..5861ae21e --- /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 000000000..9fd1e17a5 --- /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; + } +} From b60c4e0dc3a7b0a5d9f2463178a317df89fcfeff Mon Sep 17 00:00:00 2001 From: Wilhelm Schuster Date: Sat, 10 Jan 2026 23:48:49 +0100 Subject: [PATCH 3/3] Fix typo in mixin enum --- src/main/java/com/mitchej123/hodgepodge/mixins/Mixins.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/mitchej123/hodgepodge/mixins/Mixins.java b/src/main/java/com/mitchej123/hodgepodge/mixins/Mixins.java index 517ac7ddf..dad312d9a 100644 --- a/src/main/java/com/mitchej123/hodgepodge/mixins/Mixins.java +++ b/src/main/java/com/mitchej123/hodgepodge/mixins/Mixins.java @@ -796,7 +796,7 @@ public enum Mixins implements IMixins { .addClientMixins("minecraft.MixinWorldType_VoidParticles") .setApplyIf(() -> TweaksConfig.disableVoidFog != 0) .setPhase(Phase.EARLY)), - ANVIL_MAX_LEVE(new MixinBuilder() + ANVIL_MAX_LEVEL(new MixinBuilder() .addCommonMixins("minecraft.MixinContainerRepair_MaxAnvilCost") .addClientMixins("minecraft.MixinGuiRepair_MaxAnvilCost") .setApplyIf(() -> TweaksConfig.anvilMaxLevel != 40)