From a8227a964dc136278070379796e6a4548c67e3b7 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Fri, 26 Dec 2025 15:49:33 -0500 Subject: [PATCH] Remove deduplicate_climate_parameters, not worth the overhead Also remove some other misc classes --- .../ParameterMixin.java | 15 -- .../modernfix/dedup/ClimateCache.java | 9 - .../modernfix/dedup/DeduplicationCache.java | 56 ------ .../modernfix/dedup/IdentifierCaches.java | 10 - .../modernfix/duck/ICachedMaterialsModel.java | 5 - .../embeddedt/modernfix/duck/ILevelSave.java | 7 - .../modernfix/duck/ISafeBlockGetter.java | 7 - .../ICachingResourceClient.java | 10 - .../modernfix/entity/EntityRendererMap.java | 185 ------------------ .../entity/ErroredEntityRenderer.java | 30 --- 10 files changed, 334 deletions(-) delete mode 100644 common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/deduplicate_climate_parameters/ParameterMixin.java delete mode 100644 common/src/main/java/org/embeddedt/modernfix/dedup/ClimateCache.java delete mode 100644 common/src/main/java/org/embeddedt/modernfix/dedup/DeduplicationCache.java delete mode 100644 common/src/main/java/org/embeddedt/modernfix/dedup/IdentifierCaches.java delete mode 100644 common/src/main/java/org/embeddedt/modernfix/duck/ICachedMaterialsModel.java delete mode 100644 common/src/main/java/org/embeddedt/modernfix/duck/ILevelSave.java delete mode 100644 common/src/main/java/org/embeddedt/modernfix/duck/ISafeBlockGetter.java delete mode 100644 common/src/main/java/org/embeddedt/modernfix/duck/reuse_datapacks/ICachingResourceClient.java delete mode 100644 common/src/main/java/org/embeddedt/modernfix/entity/EntityRendererMap.java delete mode 100644 common/src/main/java/org/embeddedt/modernfix/entity/ErroredEntityRenderer.java diff --git a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/deduplicate_climate_parameters/ParameterMixin.java b/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/deduplicate_climate_parameters/ParameterMixin.java deleted file mode 100644 index bfa22b20..00000000 --- a/common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/deduplicate_climate_parameters/ParameterMixin.java +++ /dev/null @@ -1,15 +0,0 @@ -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)); - } -} diff --git a/common/src/main/java/org/embeddedt/modernfix/dedup/ClimateCache.java b/common/src/main/java/org/embeddedt/modernfix/dedup/ClimateCache.java deleted file mode 100644 index 91f54376..00000000 --- a/common/src/main/java/org/embeddedt/modernfix/dedup/ClimateCache.java +++ /dev/null @@ -1,9 +0,0 @@ -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 MFIX_INTERNER = Interners.newStrongInterner(); -} diff --git a/common/src/main/java/org/embeddedt/modernfix/dedup/DeduplicationCache.java b/common/src/main/java/org/embeddedt/modernfix/dedup/DeduplicationCache.java deleted file mode 100644 index d31cd53e..00000000 --- a/common/src/main/java/org/embeddedt/modernfix/dedup/DeduplicationCache.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.embeddedt.modernfix.dedup; - -import it.unimi.dsi.fastutil.Hash; -import it.unimi.dsi.fastutil.objects.ObjectOpenCustomHashSet; - -import java.util.Objects; - -public class DeduplicationCache { - private final ObjectOpenCustomHashSet pool; - - private int attemptedInsertions = 0; - private int deduplicated = 0; - - public DeduplicationCache(Hash.Strategy strategy) { - this.pool = new ObjectOpenCustomHashSet<>(strategy); - } - - public DeduplicationCache() { - this.pool = new ObjectOpenCustomHashSet<>(new Hash.Strategy() { - @Override - public int hashCode(T o) { - return Objects.hashCode(o); - } - - @Override - public boolean equals(T a, T b) { - return Objects.equals(a, b); - } - }); - } - - public synchronized T deduplicate(T item) { - this.attemptedInsertions++; - - T result = this.pool.addOrGet(item); - - if (result != item) { - this.deduplicated++; - } - - return result; - } - - public synchronized void clearCache() { - this.attemptedInsertions = 0; - this.deduplicated = 0; - - this.pool.clear(); - } - - @Override - public synchronized String toString() { - return String.format("DeduplicationCache ( %d/%d de-duplicated, %d pooled )", - this.deduplicated, this.attemptedInsertions, this.pool.size()); - } -} diff --git a/common/src/main/java/org/embeddedt/modernfix/dedup/IdentifierCaches.java b/common/src/main/java/org/embeddedt/modernfix/dedup/IdentifierCaches.java deleted file mode 100644 index b8569f6b..00000000 --- a/common/src/main/java/org/embeddedt/modernfix/dedup/IdentifierCaches.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.embeddedt.modernfix.dedup; - - -import org.embeddedt.modernfix.ModernFix; - -public class IdentifierCaches { - public static final DeduplicationCache NAMESPACES = new DeduplicationCache<>(); - public static final DeduplicationCache PATH = new DeduplicationCache<>(); - public static final DeduplicationCache PROPERTY = new DeduplicationCache<>(); -} diff --git a/common/src/main/java/org/embeddedt/modernfix/duck/ICachedMaterialsModel.java b/common/src/main/java/org/embeddedt/modernfix/duck/ICachedMaterialsModel.java deleted file mode 100644 index 855b8c3b..00000000 --- a/common/src/main/java/org/embeddedt/modernfix/duck/ICachedMaterialsModel.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.embeddedt.modernfix.duck; - -public interface ICachedMaterialsModel { - public void clearMaterialsCache(); -} diff --git a/common/src/main/java/org/embeddedt/modernfix/duck/ILevelSave.java b/common/src/main/java/org/embeddedt/modernfix/duck/ILevelSave.java deleted file mode 100644 index 3299c8b9..00000000 --- a/common/src/main/java/org/embeddedt/modernfix/duck/ILevelSave.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.embeddedt.modernfix.duck; - -import net.minecraft.world.level.storage.LevelStorageSource; - -public interface ILevelSave { - public void runWorldPersistenceHooks(LevelStorageSource format); -} diff --git a/common/src/main/java/org/embeddedt/modernfix/duck/ISafeBlockGetter.java b/common/src/main/java/org/embeddedt/modernfix/duck/ISafeBlockGetter.java deleted file mode 100644 index 3fb462ef..00000000 --- a/common/src/main/java/org/embeddedt/modernfix/duck/ISafeBlockGetter.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.embeddedt.modernfix.duck; - -import org.embeddedt.modernfix.chunk.SafeBlockGetter; - -public interface ISafeBlockGetter { - SafeBlockGetter mfix$getSafeBlockGetter(); -} diff --git a/common/src/main/java/org/embeddedt/modernfix/duck/reuse_datapacks/ICachingResourceClient.java b/common/src/main/java/org/embeddedt/modernfix/duck/reuse_datapacks/ICachingResourceClient.java deleted file mode 100644 index 030967d9..00000000 --- a/common/src/main/java/org/embeddedt/modernfix/duck/reuse_datapacks/ICachingResourceClient.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.embeddedt.modernfix.duck.reuse_datapacks; - -import net.minecraft.server.ReloadableServerResources; - -import java.util.Collection; - -public interface ICachingResourceClient { - void setCachedResources(ReloadableServerResources r); - void setCachedDataPackConfig(Collection c); -} diff --git a/common/src/main/java/org/embeddedt/modernfix/entity/EntityRendererMap.java b/common/src/main/java/org/embeddedt/modernfix/entity/EntityRendererMap.java deleted file mode 100644 index b2ab9510..00000000 --- a/common/src/main/java/org/embeddedt/modernfix/entity/EntityRendererMap.java +++ /dev/null @@ -1,185 +0,0 @@ -package org.embeddedt.modernfix.entity; - -import com.google.common.cache.CacheBuilder; -import com.google.common.cache.CacheLoader; -import com.google.common.cache.LoadingCache; -import com.google.common.collect.Iterators; -import com.google.common.collect.Maps; -import net.minecraft.client.renderer.entity.EntityRenderer; -import net.minecraft.client.renderer.entity.EntityRendererProvider; -import net.minecraft.client.renderer.entity.EntityRenderers; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.world.entity.EntityType; -import org.embeddedt.modernfix.ModernFix; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import java.util.AbstractCollection; -import java.util.AbstractSet; -import java.util.Collection; -import java.util.Iterator; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.ExecutionException; - -@SuppressWarnings("OptionalAssignedToNull") -public class EntityRendererMap implements Map, EntityRenderer> { - private final Map, EntityRendererProvider> rendererProviders; - private final LoadingCache, Optional>> rendererMap; - private final EntityRendererProvider.Context context; - - public EntityRendererMap(Map, EntityRendererProvider> rendererProviders, EntityRendererProvider.Context context) { - this.rendererProviders = rendererProviders; - this.context = context; - this.rendererMap = CacheBuilder.newBuilder().build(new RenderConstructor()); - } - - class RenderConstructor extends CacheLoader, Optional>> { - @Override - public Optional> load(EntityType key) throws Exception { - EntityRendererProvider provider = rendererProviders.get(key); - if(provider == null) - return Optional.empty(); - synchronized(EntityRenderers.class) { - EntityRenderer renderer; - try { - renderer = provider.create(context); - ModernFix.LOGGER.info("Loaded entity {}", BuiltInRegistries.ENTITY_TYPE.getKey(key)); - } catch(RuntimeException e) { - ModernFix.LOGGER.error("Failed to create entity model for " + BuiltInRegistries.ENTITY_TYPE.getKey(key) + ":", e); - renderer = new ErroredEntityRenderer<>(context); - } - return Optional.ofNullable(renderer); - } - } - } - - @Override - public int size() { - return rendererProviders.size(); - } - - @Override - public boolean isEmpty() { - return rendererProviders.isEmpty(); - } - - @Override - public boolean containsKey(Object o) { - return rendererProviders.containsKey(o); - } - - @Override - public boolean containsValue(Object o) { - return false; - } - - @Override - public EntityRenderer get(Object o) { - try { - Optional> renderer = rendererMap.get((EntityType)o); - return renderer.orElse(null); - } catch (IllegalStateException e) { - return null; /* emulate value not being present if recursive load occurs */ - } catch (ExecutionException e) { - throw new RuntimeException(e); - } - } - - @Nullable - @Override - public EntityRenderer put(EntityType entityType, EntityRenderer entityRenderer) { - Optional> old = rendererMap.getIfPresent(entityType); - rendererMap.put(entityType, Optional.ofNullable(entityRenderer)); - return old != null ? old.orElse(null) : null; - } - - @Override - public EntityRenderer remove(Object o) { - Optional> old = rendererMap.getIfPresent(o); - rendererMap.invalidate(o); - return old != null ? old.orElse(null) : null; - } - - @Override - public void putAll(@NotNull Map, ? extends EntityRenderer> map) { - rendererMap.putAll(Maps.transformValues(map, Optional::ofNullable)); - } - - @Override - public void clear() { - rendererMap.invalidateAll(); - } - - @NotNull - @Override - public Set> keySet() { - return rendererProviders.keySet(); - } - - @NotNull - @Override - public Collection> values() { - return new AbstractCollection<>() { - @Override - public Iterator> iterator() { - return Iterators.transform(Iterators.unmodifiableIterator(rendererProviders.keySet().iterator()), EntityRendererMap.this::get); - } - - @Override - public int size() { - return rendererProviders.size(); - } - }; - } - - private class Entry implements Map.Entry, EntityRenderer> { - private final EntityType key; - - private Entry(EntityType key) { - this.key = key; - } - - @Override - public EntityType getKey() { - return key; - } - - @Override - public EntityRenderer getValue() { - return get(key); - } - - @Override - public EntityRenderer setValue(EntityRenderer value) { - return put(key, value); - } - } - - @NotNull - @Override - public Set, EntityRenderer>> entrySet() { - return new AbstractSet<>() { - @Override - public Iterator, EntityRenderer>> iterator() { - return Iterators.transform(Iterators.unmodifiableIterator(rendererProviders.keySet().iterator()), Entry::new); - } - - @Override - public boolean contains(Object o) { - if (o instanceof Map.Entry e) { - return rendererProviders.containsKey(e.getKey()) && Objects.equals(get(e.getKey()), e.getValue()); - } else { - return false; - } - } - - @Override - public int size() { - return rendererProviders.size(); - } - }; - } -} diff --git a/common/src/main/java/org/embeddedt/modernfix/entity/ErroredEntityRenderer.java b/common/src/main/java/org/embeddedt/modernfix/entity/ErroredEntityRenderer.java deleted file mode 100644 index 14e97369..00000000 --- a/common/src/main/java/org/embeddedt/modernfix/entity/ErroredEntityRenderer.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.embeddedt.modernfix.entity; - -import com.mojang.blaze3d.vertex.PoseStack; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.culling.Frustum; -import net.minecraft.client.renderer.entity.EntityRenderer; -import net.minecraft.client.renderer.entity.EntityRendererProvider; -import net.minecraft.client.renderer.texture.TextureAtlas; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.Entity; - -public class ErroredEntityRenderer extends EntityRenderer { - public ErroredEntityRenderer(EntityRendererProvider.Context arg) { - super(arg); - } - - @Override - public ResourceLocation getTextureLocation(T entity) { - return TextureAtlas.LOCATION_BLOCKS; - } - - @Override - public boolean shouldRender(T livingEntity, Frustum camera, double camX, double camY, double camZ) { - return false; - } - - @Override - public void render(T entity, float entityYaw, float partialTick, PoseStack poseStack, MultiBufferSource buffer, int packedLight) { - } -}