From 45da061695a34de765b51821fd402d18dfc20e27 Mon Sep 17 00:00:00 2001 From: EinfxchFinn Date: Sat, 23 Oct 2021 20:54:39 +0200 Subject: [PATCH 1/4] Add German translation --- src/main/resources/assets/continuity/lang/de_de.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/main/resources/assets/continuity/lang/de_de.json diff --git a/src/main/resources/assets/continuity/lang/de_de.json b/src/main/resources/assets/continuity/lang/de_de.json new file mode 100644 index 00000000..381f93bc --- /dev/null +++ b/src/main/resources/assets/continuity/lang/de_de.json @@ -0,0 +1,7 @@ +{ + "options.continuity.title": "Continuity Konfiguration", + "options.continuity.disable_ctm": "Deaktiviere CTM", + "options.continuity.disable_ctm.tooltip": "Deaktiviert verbundene Texturen vollständig.", + "options.continuity.use_manual_culling": "Manuelles Culling verwenden", + "options.continuity.use_manual_culling.tooltip": "Verbessert die Leistung erheblich, indem CTM nur auf sichtbare Texturen angewendet wird, kann aber bei einigen Mods zu fehlerhaftem Verhalten führen." +} From 664601382907154ba7d4a7651eca22a4cc3a5248 Mon Sep 17 00:00:00 2001 From: Julienraptor01 <49841713+Julienraptor01@users.noreply.github.com> Date: Sat, 27 Nov 2021 18:35:42 +0100 Subject: [PATCH 2/4] Create fr_fr.json add french traduction --- src/main/resources/assets/continuity/lang/fr_fr.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/main/resources/assets/continuity/lang/fr_fr.json diff --git a/src/main/resources/assets/continuity/lang/fr_fr.json b/src/main/resources/assets/continuity/lang/fr_fr.json new file mode 100644 index 00000000..44fd2f78 --- /dev/null +++ b/src/main/resources/assets/continuity/lang/fr_fr.json @@ -0,0 +1,7 @@ +{ + "options.continuity.title": "Paramètres de Continuity", + "options.continuity.disable_ctm": "Désactive CTM", + "options.continuity.disable_ctm.tooltip": "Désactive entièrement les textures connectées.", + "options.continuity.use_manual_culling": "Utiliser le culling", + "options.continuity.use_manual_culling.tooltip": "Améliore grandement les performances en applicant seulement le CTM aux quadrants visible, mais peut causer des problèmes avec d'autres mods." +} From 27e89422337d12eb2638b89e5a6273591c87f581 Mon Sep 17 00:00:00 2001 From: PepperBell <44146161+PepperCode1@users.noreply.github.com> Date: Sun, 28 Nov 2021 11:55:18 -0800 Subject: [PATCH 3/4] Improve caching - Add biome and block entity name caching to avoid unnecessary lookups while rendering a single block - Update Gradle and build dependencies --- build.gradle | 12 ++-- gradle.properties | 6 +- gradle/wrapper/gradle-wrapper.properties | 2 +- .../processor/AbstractQuadProcessor.java | 2 +- .../processor/BaseProcessingPredicate.java | 70 ++++++++++++++----- .../client/processor/ProcessingDataKeys.java | 2 + .../client/processor/ProcessingPredicate.java | 3 +- .../overlay/OverlayProcessingPredicate.java | 5 +- .../overlay/SimpleOverlayQuadProcessor.java | 2 +- .../processor/simple/SimpleQuadProcessor.java | 2 +- 10 files changed, 72 insertions(+), 34 deletions(-) diff --git a/build.gradle b/build.gradle index 40e1530c..49fbd152 100644 --- a/build.gradle +++ b/build.gradle @@ -44,10 +44,8 @@ dependencies { exclude group: 'net.fabricmc.fabric-api' } - modCompileOnly 'maven.modrinth:sodium:mc1.17.1-0.3.2' - modCompileOnly('io.vram:canvas-fabric-mc117-1.17:1.0.2124') { - exclude group: '*', module: '*' - } + modCompileOnly 'maven.modrinth:sodium:mc1.17.1-0.3.3' + modCompileOnly 'io.vram:canvas-fabric-mc117-1.17:1.0.2195' } String getExtraBuildMetadata() { @@ -59,10 +57,10 @@ String getExtraBuildMetadata() { } processResources { - inputs.property "version", project.version + inputs.property 'version', project.version - filesMatching("fabric.mod.json") { - expand "version": project.version + filesMatching('fabric.mod.json') { + expand 'version': project.version } } diff --git a/gradle.properties b/gradle.properties index 3e62193b..3d270aaa 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,8 +4,8 @@ org.gradle.jvmargs = -Xmx1G # Fabric Properties loom_version = 0.10-SNAPSHOT minecraft_version = 1.17.1 - yarn_mappings = 1.17.1+build.61 - loader_version = 0.11.7 + yarn_mappings = 1.17.1+build.64 + loader_version = 0.12.5 # Mod Properties mod_version = 1.0.2 @@ -14,4 +14,4 @@ org.gradle.jvmargs = -Xmx1G archives_base_name = continuity # Dependencies - fabric_version = 0.41.0+1.17 + fabric_version = 0.43.0+1.17 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ffed3a25..e750102e 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/java/me/pepperbell/continuity/client/processor/AbstractQuadProcessor.java b/src/main/java/me/pepperbell/continuity/client/processor/AbstractQuadProcessor.java index 41f6626e..96a88e5a 100644 --- a/src/main/java/me/pepperbell/continuity/client/processor/AbstractQuadProcessor.java +++ b/src/main/java/me/pepperbell/continuity/client/processor/AbstractQuadProcessor.java @@ -21,7 +21,7 @@ public AbstractQuadProcessor(Sprite[] sprites, ProcessingPredicate processingPre @Override public ProcessingResult processQuad(MutableQuadView quad, Sprite sprite, BlockRenderView blockView, BlockState state, BlockPos pos, Supplier randomSupplier, int pass, int processorIndex, ProcessingContext context) { - if (!processingPredicate.shouldProcessQuad(quad, sprite, blockView, state, pos)) { + if (!processingPredicate.shouldProcessQuad(quad, sprite, blockView, state, pos, context)) { return ProcessingResult.CONTINUE; } return processQuadInner(quad, sprite, blockView, state, pos, randomSupplier, pass, processorIndex, context); diff --git a/src/main/java/me/pepperbell/continuity/client/processor/BaseProcessingPredicate.java b/src/main/java/me/pepperbell/continuity/client/processor/BaseProcessingPredicate.java index bd740876..0e23681c 100644 --- a/src/main/java/me/pepperbell/continuity/client/processor/BaseProcessingPredicate.java +++ b/src/main/java/me/pepperbell/continuity/client/processor/BaseProcessingPredicate.java @@ -5,6 +5,9 @@ import java.util.function.IntPredicate; import java.util.function.Predicate; +import org.jetbrains.annotations.Nullable; + +import me.pepperbell.continuity.api.client.ProcessingDataProvider; import me.pepperbell.continuity.client.properties.BaseCTMProperties; import me.pepperbell.continuity.client.util.biome.BiomeRetriever; import net.fabricmc.fabric.api.renderer.v1.mesh.QuadView; @@ -35,7 +38,7 @@ public BaseProcessingPredicate(Set matchTilesSet, EnumSet } @Override - public boolean shouldProcessQuad(QuadView quad, Sprite sprite, BlockRenderView blockView, BlockState state, BlockPos pos) { + public boolean shouldProcessQuad(QuadView quad, Sprite sprite, BlockRenderView blockView, BlockState state, BlockPos pos, ProcessingDataProvider dataProvider) { if (matchTilesSet != null) { if (!matchTilesSet.contains(sprite.getId())) { return false; @@ -61,26 +64,14 @@ public boolean shouldProcessQuad(QuadView quad, Sprite sprite, BlockRenderView b } } if (biomePredicate != null) { - Biome biome = BiomeRetriever.getBiome(blockView, pos); - if (biome != null) { - if (!biomePredicate.test(biome)) { - return false; - } - } else { + Biome biome = dataProvider.getData(ProcessingDataKeys.BIOME_CACHE_KEY).get(blockView, pos); + if (biome == null || !biomePredicate.test(biome)) { return false; } } if (blockEntityNamePredicate != null) { - BlockEntity blockEntity = blockView.getBlockEntity(pos); - if (blockEntity instanceof Nameable nameable) { - if (nameable.hasCustomName()) { - if (!blockEntityNamePredicate.test(nameable.getCustomName().asString())) { - return false; - } - } else { - return false; - } - } else { + String blockEntityName = dataProvider.getData(ProcessingDataKeys.BLOCK_ENTITY_NAME_CACHE_KEY).get(blockView, pos); + if (blockEntityName == null || !blockEntityNamePredicate.test(blockEntityName)) { return false; } } @@ -90,4 +81,49 @@ public boolean shouldProcessQuad(QuadView quad, Sprite sprite, BlockRenderView b public static BaseProcessingPredicate fromProperties(BaseCTMProperties properties) { return new BaseProcessingPredicate(properties.getMatchTilesSet(), properties.getFaces(), properties.getBiomePredicate(), properties.getHeightPredicate(), properties.getBlockEntityNamePredicate()); } + + public static class BiomeCache { + protected Biome biome; + protected boolean invalid = true; + + @Nullable + public Biome get(BlockRenderView blockView, BlockPos pos) { + if (invalid) { + biome = BiomeRetriever.getBiome(blockView, pos); + invalid = false; + } + return biome; + } + + public void reset() { + invalid = true; + } + } + + public static class BlockEntityNameCache { + protected String blockEntityName; + protected boolean invalid = true; + + @Nullable + public String get(BlockRenderView blockView, BlockPos pos) { + if (invalid) { + BlockEntity blockEntity = blockView.getBlockEntity(pos); + if (blockEntity instanceof Nameable nameable) { + if (nameable.hasCustomName()) { + blockEntityName = nameable.getCustomName().asString(); + } else { + blockEntityName = null; + } + } else { + blockEntityName = null; + } + invalid = false; + } + return blockEntityName; + } + + public void reset() { + invalid = true; + } + } } diff --git a/src/main/java/me/pepperbell/continuity/client/processor/ProcessingDataKeys.java b/src/main/java/me/pepperbell/continuity/client/processor/ProcessingDataKeys.java index f8b30049..0eb4bfb7 100644 --- a/src/main/java/me/pepperbell/continuity/client/processor/ProcessingDataKeys.java +++ b/src/main/java/me/pepperbell/continuity/client/processor/ProcessingDataKeys.java @@ -15,6 +15,8 @@ public final class ProcessingDataKeys { public static final ProcessingDataKey MUTABLE_POS_KEY = create("mutable_pos", BlockPos.Mutable::new); public static final ProcessingDataKey MESH_BUILDER_KEY = create("mesh_builder", () -> RendererAccess.INSTANCE.getRenderer().meshBuilder()); + public static final ProcessingDataKey BIOME_CACHE_KEY = create("biome_cache", BaseProcessingPredicate.BiomeCache::new, BaseProcessingPredicate.BiomeCache::reset); + public static final ProcessingDataKey BLOCK_ENTITY_NAME_CACHE_KEY = create("block_entity_name_cache", BaseProcessingPredicate.BlockEntityNameCache::new, BaseProcessingPredicate.BlockEntityNameCache::reset); public static final ProcessingDataKey BLOCK_STATE_AND_BOOLEAN_KEY = create("block_state_and_boolean", StandardOverlayQuadProcessor.BlockStateAndBoolean::new); public static final ProcessingDataKey STANDARD_OVERLAY_RENDERER_POOL_KEY = create("standard_overlay_renderer_pool", StandardOverlayQuadProcessor.OverlayRendererPool::new, StandardOverlayQuadProcessor.OverlayRendererPool::reset); public static final ProcessingDataKey SIMPLE_OVERLAY_RENDERER_POOL_KEY = create("simple_overlay_renderer_pool", SimpleOverlayQuadProcessor.OverlayRendererPool::new, SimpleOverlayQuadProcessor.OverlayRendererPool::reset); diff --git a/src/main/java/me/pepperbell/continuity/client/processor/ProcessingPredicate.java b/src/main/java/me/pepperbell/continuity/client/processor/ProcessingPredicate.java index 1d14bd5c..cfd28121 100644 --- a/src/main/java/me/pepperbell/continuity/client/processor/ProcessingPredicate.java +++ b/src/main/java/me/pepperbell/continuity/client/processor/ProcessingPredicate.java @@ -1,5 +1,6 @@ package me.pepperbell.continuity.client.processor; +import me.pepperbell.continuity.api.client.ProcessingDataProvider; import net.fabricmc.fabric.api.renderer.v1.mesh.QuadView; import net.minecraft.block.BlockState; import net.minecraft.client.texture.Sprite; @@ -7,5 +8,5 @@ import net.minecraft.world.BlockRenderView; public interface ProcessingPredicate { - boolean shouldProcessQuad(QuadView quad, Sprite sprite, BlockRenderView blockView, BlockState state, BlockPos pos); + boolean shouldProcessQuad(QuadView quad, Sprite sprite, BlockRenderView blockView, BlockState state, BlockPos pos, ProcessingDataProvider dataProvider); } diff --git a/src/main/java/me/pepperbell/continuity/client/processor/overlay/OverlayProcessingPredicate.java b/src/main/java/me/pepperbell/continuity/client/processor/overlay/OverlayProcessingPredicate.java index 5473d212..bfb7a9b3 100644 --- a/src/main/java/me/pepperbell/continuity/client/processor/overlay/OverlayProcessingPredicate.java +++ b/src/main/java/me/pepperbell/continuity/client/processor/overlay/OverlayProcessingPredicate.java @@ -5,6 +5,7 @@ import java.util.function.IntPredicate; import java.util.function.Predicate; +import me.pepperbell.continuity.api.client.ProcessingDataProvider; import me.pepperbell.continuity.client.processor.BaseProcessingPredicate; import me.pepperbell.continuity.client.properties.BaseCTMProperties; import me.pepperbell.continuity.client.util.QuadUtil; @@ -23,8 +24,8 @@ public OverlayProcessingPredicate(Set matchTilesSet, EnumSet randomSupplier, int pass, int processorIndex, ProcessingContext context) { - if (processingPredicate.shouldProcessQuad(quad, sprite, blockView, state, pos)) { + if (processingPredicate.shouldProcessQuad(quad, sprite, blockView, state, pos, context)) { Sprite newSprite = spriteProvider.getSprite(quad, sprite, blockView, state, pos, randomSupplier, context); if (!TextureUtil.isMissingSprite(newSprite)) { OverlayRenderer renderer = context.getData(ProcessingDataKeys.SIMPLE_OVERLAY_RENDERER_POOL_KEY).getRenderer(); diff --git a/src/main/java/me/pepperbell/continuity/client/processor/simple/SimpleQuadProcessor.java b/src/main/java/me/pepperbell/continuity/client/processor/simple/SimpleQuadProcessor.java index 84a87839..b661b3d5 100644 --- a/src/main/java/me/pepperbell/continuity/client/processor/simple/SimpleQuadProcessor.java +++ b/src/main/java/me/pepperbell/continuity/client/processor/simple/SimpleQuadProcessor.java @@ -27,7 +27,7 @@ public SimpleQuadProcessor(SpriteProvider spriteProvider, ProcessingPredicate pr @Override public ProcessingResult processQuad(MutableQuadView quad, Sprite sprite, BlockRenderView blockView, BlockState state, BlockPos pos, Supplier randomSupplier, int pass, int processorIndex, ProcessingContext context) { - if (!processingPredicate.shouldProcessQuad(quad, sprite, blockView, state, pos)) { + if (!processingPredicate.shouldProcessQuad(quad, sprite, blockView, state, pos, context)) { return ProcessingResult.CONTINUE; } Sprite newSprite = spriteProvider.getSprite(quad, sprite, blockView, state, pos, randomSupplier, context); From c6dc0b03fcdf4ab092d66f955bc33eb120157b4b Mon Sep 17 00:00:00 2001 From: PepperBell <44146161+PepperCode1@users.noreply.github.com> Date: Sat, 4 Dec 2021 10:11:19 -0800 Subject: [PATCH 4/4] Tile parsing fixes - Tweak how matchTiles is parsed - Clean up resolveTiles - Rename some methods - Update buildscript, Gradle, and build dependencies --- build.gradle | 16 ++-------- gradle.properties | 10 +++--- gradle/wrapper/gradle-wrapper.properties | 2 +- .../client/properties/BaseCTMProperties.java | 32 +++++++++---------- .../client/resource/CTMLoadingContainer.java | 2 +- .../client/resource/CTMPropertiesLoader.java | 6 ++-- .../client/util/PropertiesParsingHelper.java | 2 +- 7 files changed, 28 insertions(+), 42 deletions(-) diff --git a/build.gradle b/build.gradle index 49fbd152..4272b56a 100644 --- a/build.gradle +++ b/build.gradle @@ -45,7 +45,7 @@ dependencies { } modCompileOnly 'maven.modrinth:sodium:mc1.17.1-0.3.3' - modCompileOnly 'io.vram:canvas-fabric-mc117-1.17:1.0.2195' + modCompileOnly 'io.vram:canvas-fabric-mc117:1.0.2219' } String getExtraBuildMetadata() { @@ -65,12 +65,6 @@ processResources { } tasks.withType(JavaCompile).configureEach { - // ensure that the encoding is set to UTF-8, no matter what the system default is - // this fixes some edge cases with special characters not displaying correctly - // see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html - // If Javadoc is generated, this must be specified in that task too. - it.options.encoding 'UTF-8' - // Minecraft 1.17 (21w19a) upwards uses Java 16. it.options.release.set(16) } @@ -92,13 +86,7 @@ jar { publishing { publications { mavenJava(MavenPublication) { - // add all the jars that should be included when publishing to maven - artifact(remapJar) { - builtBy remapJar - } - artifact(sourcesJar) { - builtBy remapSourcesJar - } + from components.java } } diff --git a/gradle.properties b/gradle.properties index 3d270aaa..df1f26d1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,17 +1,17 @@ -# Done to increase the memory available to gradle. +# Done to increase the memory available to Gradle. org.gradle.jvmargs = -Xmx1G # Fabric Properties loom_version = 0.10-SNAPSHOT minecraft_version = 1.17.1 - yarn_mappings = 1.17.1+build.64 - loader_version = 0.12.5 + yarn_mappings = 1.17.1+build.65 + loader_version = 0.12.8 # Mod Properties - mod_version = 1.0.2 + mod_version = 1.0.3 mod_minecraft_version = 1.17 maven_group = me.pepperbell archives_base_name = continuity # Dependencies - fabric_version = 0.43.0+1.17 + fabric_version = 0.44.0+1.17 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e750102e..84d1f85f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/java/me/pepperbell/continuity/client/properties/BaseCTMProperties.java b/src/main/java/me/pepperbell/continuity/client/properties/BaseCTMProperties.java index 9430f435..a09c88bf 100644 --- a/src/main/java/me/pepperbell/continuity/client/properties/BaseCTMProperties.java +++ b/src/main/java/me/pepperbell/continuity/client/properties/BaseCTMProperties.java @@ -109,7 +109,7 @@ public boolean affectsBlockState(BlockState state) { @Override public Set getTextureDependencies() { if (textureDependencies == null) { - processTiles(); + resolveTiles(); } return textureDependencies; } @@ -551,32 +551,30 @@ protected boolean isValid() { return valid; } - protected void processTiles() { + protected void resolveTiles() { textureDependencies = new ObjectOpenHashSet<>(); spriteIds = new ObjectArrayList<>(); ResourceManager resourceManager = MinecraftClient.getInstance().getResourceManager(); for (Identifier tile : tiles) { - SpriteIdentifier spriteId = null; + SpriteIdentifier spriteId; if (tile.equals(SPECIAL_SKIP_ID)) { spriteId = SPECIAL_SKIP_SPRITE_ID; } else if (tile.equals(SPECIAL_DEFAULT_ID)) { spriteId = SPECIAL_DEFAULT_SPRITE_ID; - } - if (spriteId == null) { - Identifier newTile; - if (tile.getPath().startsWith("textures/")) { - String newPath = tile.getPath().substring(9); - if (newPath.endsWith(".png")) { - newPath = newPath.substring(0, newPath.length() - 4); + } else { + String namespace = tile.getNamespace(); + String path = tile.getPath(); + if (path.startsWith("textures/")) { + path = path.substring(9); + if (path.endsWith(".png")) { + path = path.substring(0, path.length() - 4); } - newTile = new Identifier(tile.getNamespace(), newPath); } else { - String newPath = getRedirectPath(tile.getPath()); - Identifier newId = new Identifier(tile.getNamespace(), "textures/" + newPath + ".png"); - ResourceRedirectHelper.addRedirect(resourceManager, newId, tile); - newTile = new Identifier(tile.getNamespace(), newPath); + path = getRedirectPath(path); + Identifier redirectId = new Identifier(namespace, "textures/" + path + ".png"); + ResourceRedirectHelper.addRedirect(resourceManager, redirectId, tile); } - spriteId = TextureUtil.toSpriteId(newTile); + spriteId = TextureUtil.toSpriteId(new Identifier(namespace, path)); textureDependencies.add(spriteId); } spriteIds.add(spriteId); @@ -629,7 +627,7 @@ public Predicate getBlockEntityNamePredicate() { public List getSpriteIds() { if (spriteIds == null) { - processTiles(); + resolveTiles(); } return spriteIds; } diff --git a/src/main/java/me/pepperbell/continuity/client/resource/CTMLoadingContainer.java b/src/main/java/me/pepperbell/continuity/client/resource/CTMLoadingContainer.java index ab9214d7..ba3d2597 100644 --- a/src/main/java/me/pepperbell/continuity/client/resource/CTMLoadingContainer.java +++ b/src/main/java/me/pepperbell/continuity/client/resource/CTMLoadingContainer.java @@ -42,7 +42,7 @@ public void addMultipassDependent(CTMLoadingContainer dependent) { multipassDependents.add(dependent); } - public void calculateRecursiveMultipassDependents(Set> traversedContainers) { + public void resolveRecursiveMultipassDependents(Set> traversedContainers) { if (multipassDependents != null) { recursiveMultipassDependents = new ObjectOpenHashSet<>(); addDependentsRecursively(this, traversedContainers); diff --git a/src/main/java/me/pepperbell/continuity/client/resource/CTMPropertiesLoader.java b/src/main/java/me/pepperbell/continuity/client/resource/CTMPropertiesLoader.java index 8466e117..5d8459cb 100644 --- a/src/main/java/me/pepperbell/continuity/client/resource/CTMPropertiesLoader.java +++ b/src/main/java/me/pepperbell/continuity/client/resource/CTMPropertiesLoader.java @@ -50,7 +50,7 @@ public static void loadAll(ResourceManager resourceManager) { packPriority++; } InvalidIdentifierHandler.disableInvalidPaths(); - calculateMultipassDependents(); + resolveMultipassDependents(); } private static void loadAll(ResourcePack pack, int packPriority) { @@ -95,7 +95,7 @@ private static void load(CTMLoader loader, Properti } } - private static void calculateMultipassDependents() { + private static void resolveMultipassDependents() { Object2ObjectOpenHashMap> texture2ContainerMap = new Object2ObjectOpenHashMap<>(); Object2ObjectOpenHashMap>> texture2ContainerListMap = new Object2ObjectOpenHashMap<>(); @@ -158,7 +158,7 @@ private static void calculateMultipassDependents() { Set> traversedContainers = new ObjectOpenHashSet<>(); for (int i = 0; i < amount; i++) { CTMLoadingContainer container = ALL.get(i); - container.calculateRecursiveMultipassDependents(traversedContainers); + container.resolveRecursiveMultipassDependents(traversedContainers); } } diff --git a/src/main/java/me/pepperbell/continuity/client/util/PropertiesParsingHelper.java b/src/main/java/me/pepperbell/continuity/client/util/PropertiesParsingHelper.java index 916adbfe..5fb60a96 100644 --- a/src/main/java/me/pepperbell/continuity/client/util/PropertiesParsingHelper.java +++ b/src/main/java/me/pepperbell/continuity/client/util/PropertiesParsingHelper.java @@ -62,7 +62,7 @@ public static ImmutableSet parseMatchTiles(Properties properties, St } if (path.startsWith("textures/")) { path = path.substring(9); - } else { + } else if (path.startsWith("optifine/")) { path = BaseCTMProperties.getRedirectPath(path + ".png"); } try {