Deduplicate climate parameters
This commit is contained in:
parent
d155dacadc
commit
454256d455
|
|
@ -0,0 +1,15 @@
|
||||||
|
package org.embeddedt.modernfix.common.mixin.perf.deduplicate_climate_parameters;
|
||||||
|
|
||||||
|
import net.minecraft.world.level.biome.Climate;
|
||||||
|
import org.embeddedt.modernfix.dedup.ClimateCache;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||||
|
|
||||||
|
@Mixin({ Climate.Parameter.class, Climate.ParameterPoint.class })
|
||||||
|
public class ParameterMixin {
|
||||||
|
@Redirect(method = "*", at = @At(value = "NEW", target = "net/minecraft/world/level/biome/Climate$Parameter"), require = 0)
|
||||||
|
private static Climate.Parameter internParameterStatic(long min, long max) {
|
||||||
|
return ClimateCache.MFIX_INTERNER.intern(new Climate.Parameter(min, max));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
package org.embeddedt.modernfix.dedup;
|
||||||
|
|
||||||
|
import com.google.common.collect.Interner;
|
||||||
|
import com.google.common.collect.Interners;
|
||||||
|
import net.minecraft.world.level.biome.Climate;
|
||||||
|
|
||||||
|
public class ClimateCache {
|
||||||
|
public static final Interner<Climate.Parameter> MFIX_INTERNER = Interners.newStrongInterner();
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user