From f2e557253ecb6b2808ba66e5722b06a7142bb4eb Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Mon, 2 Jan 2023 10:25:39 -0500 Subject: [PATCH] Remove biome temperature caching Based on https://github.com/CaffeineMC/lithium-fabric/commit/4553ccb0a02049c588fbacd689afbace067add82 --- .../embeddedt/modernfix/mixin/BiomeMixin.java | 24 +++++++++++++++++++ src/main/resources/modernfix.mixins.json | 1 + 2 files changed, 25 insertions(+) create mode 100644 src/main/java/org/embeddedt/modernfix/mixin/BiomeMixin.java diff --git a/src/main/java/org/embeddedt/modernfix/mixin/BiomeMixin.java b/src/main/java/org/embeddedt/modernfix/mixin/BiomeMixin.java new file mode 100644 index 00000000..cd5a5c46 --- /dev/null +++ b/src/main/java/org/embeddedt/modernfix/mixin/BiomeMixin.java @@ -0,0 +1,24 @@ +package org.embeddedt.modernfix.mixin; + +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.biome.Biome; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Overwrite; +import org.spongepowered.asm.mixin.Shadow; + +/* Idea from Lithium for 1.19.3 */ +@Mixin(Biome.class) +public abstract class BiomeMixin { + @Shadow protected abstract float getTemperatureAtPosition(BlockPos pos); + + /** + * @author 2No2Name + * @reason Remove caching, it's not effective + * @param pos + * @return + */ + @Overwrite + public final float getTemperature(BlockPos pos) { + return this.getTemperatureAtPosition(pos); + } +} diff --git a/src/main/resources/modernfix.mixins.json b/src/main/resources/modernfix.mixins.json index 05a17998..b251b2d2 100644 --- a/src/main/resources/modernfix.mixins.json +++ b/src/main/resources/modernfix.mixins.json @@ -5,6 +5,7 @@ "compatibilityLevel": "JAVA_8", "refmap": "modernfix.refmap.json", "mixins": [ + "BiomeMixin", "ModFileResourcePackMixin", "VanillaPackMixin", "LevelSaveMixin",