Skip to content

Commit fb26afd

Browse files
committed
Remove support for invalid paths
1 parent 1b31e2b commit fb26afd

12 files changed

+22
-254
lines changed

src/main/java/me/pepperbell/continuity/client/mixin/IdentifierMixin.java

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/main/java/me/pepperbell/continuity/client/mixin/LifecycledResourceManagerImplMixin.java

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,51 +2,41 @@
22

33
import java.util.List;
44

5-
import org.jetbrains.annotations.Nullable;
65
import org.spongepowered.asm.mixin.Mixin;
76
import org.spongepowered.asm.mixin.Unique;
87
import org.spongepowered.asm.mixin.injection.At;
98
import org.spongepowered.asm.mixin.injection.Inject;
109
import org.spongepowered.asm.mixin.injection.ModifyVariable;
1110
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
1211

13-
import me.pepperbell.continuity.client.mixinterface.LifecycledResourceManagerImplExtension;
1412
import me.pepperbell.continuity.client.resource.ResourceRedirectHandler;
1513
import net.minecraft.resource.LifecycledResourceManagerImpl;
1614
import net.minecraft.resource.ResourcePack;
1715
import net.minecraft.resource.ResourceType;
1816
import net.minecraft.util.Identifier;
1917

2018
@Mixin(LifecycledResourceManagerImpl.class)
21-
abstract class LifecycledResourceManagerImplMixin implements LifecycledResourceManagerImplExtension {
19+
abstract class LifecycledResourceManagerImplMixin {
2220
@Unique
23-
private ResourceRedirectHandler continuity$redirectHandler;
24-
25-
@Override
26-
@Nullable
27-
public ResourceRedirectHandler continuity$getRedirectHandler() {
28-
return continuity$redirectHandler;
29-
}
21+
private boolean continuity$useRedirects = false;
3022

3123
@Inject(method = "<init>(Lnet/minecraft/resource/ResourceType;Ljava/util/List;)V", at = @At("TAIL"))
3224
private void continuity$onTailInit(ResourceType type, List<ResourcePack> packs, CallbackInfo ci) {
33-
if (type == ResourceType.CLIENT_RESOURCES) {
34-
continuity$redirectHandler = new ResourceRedirectHandler();
35-
}
25+
continuity$useRedirects = type == ResourceType.CLIENT_RESOURCES;
3626
}
3727

3828
@ModifyVariable(method = "getResource(Lnet/minecraft/util/Identifier;)Ljava/util/Optional;", at = @At("HEAD"), argsOnly = true)
3929
private Identifier continuity$redirectGetResourceId(Identifier id) {
40-
if (continuity$redirectHandler != null) {
41-
return continuity$redirectHandler.redirect(id);
30+
if (continuity$useRedirects) {
31+
return ResourceRedirectHandler.redirect(id);
4232
}
4333
return id;
4434
}
4535

4636
@ModifyVariable(method = "getAllResources(Lnet/minecraft/util/Identifier;)Ljava/util/List;", at = @At("HEAD"), argsOnly = true)
4737
private Identifier continuity$redirectGetAllResourcesId(Identifier id) {
48-
if (continuity$redirectHandler != null) {
49-
return continuity$redirectHandler.redirect(id);
38+
if (continuity$useRedirects) {
39+
return ResourceRedirectHandler.redirect(id);
5040
}
5141
return id;
5242
}

src/main/java/me/pepperbell/continuity/client/mixin/NamespaceResourceManagerMixin.java

Lines changed: 0 additions & 23 deletions
This file was deleted.

src/main/java/me/pepperbell/continuity/client/mixin/ReloadableResourceManagerImplAccessor.java

Lines changed: 0 additions & 13 deletions
This file was deleted.

src/main/java/me/pepperbell/continuity/client/mixinterface/LifecycledResourceManagerImplExtension.java

Lines changed: 0 additions & 10 deletions
This file was deleted.

src/main/java/me/pepperbell/continuity/client/properties/BaseCtmProperties.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public void init() {
135135
}
136136

137137
protected void parseMatchTiles() {
138-
matchTilesSet = PropertiesParsingHelper.parseMatchTiles(properties, "matchTiles", resourceId, packId, ResourceRedirectHandler.get(resourceManager));
138+
matchTilesSet = PropertiesParsingHelper.parseMatchTiles(properties, "matchTiles", resourceId, packId);
139139
if (matchTilesSet != null && matchTilesSet.isEmpty()) {
140140
valid = false;
141141
}
@@ -626,7 +626,6 @@ protected boolean isValid() {
626626
protected void resolveTiles() {
627627
textureDependencies = new ObjectOpenHashSet<>();
628628
spriteIds = new ObjectArrayList<>();
629-
ResourceRedirectHandler redirectHandler = ResourceRedirectHandler.get(resourceManager);
630629

631630
for (Identifier tile : tiles) {
632631
SpriteIdentifier spriteId;
@@ -635,20 +634,22 @@ protected void resolveTiles() {
635634
} else if (tile.equals(SPECIAL_DEFAULT_ID)) {
636635
spriteId = SPECIAL_DEFAULT_SPRITE_ID;
637636
} else {
638-
String namespace = tile.getNamespace();
639637
String path = tile.getPath();
640638
if (path.startsWith("textures/")) {
641639
path = path.substring(9);
642640
if (path.endsWith(".png")) {
643641
path = path.substring(0, path.length() - 4);
644642
}
645643

646-
spriteId = TextureUtil.toSpriteId(Identifier.of(namespace, path));
644+
spriteId = TextureUtil.toSpriteId(tile.withPath(path));
647645
textureDependencies.add(spriteId);
648-
} else if (redirectHandler != null) {
649-
path = redirectHandler.getSourceSpritePath(path);
646+
} else if (path.startsWith("optifine/")) {
647+
path = ResourceRedirectHandler.SPRITE_PATH_START + path.substring(9);
648+
if (path.endsWith(".png")) {
649+
path = path.substring(0, path.length() - 4);
650+
}
650651

651-
spriteId = TextureUtil.toSpriteId(Identifier.of(namespace, path));
652+
spriteId = TextureUtil.toSpriteId(tile.withPath(path));
652653
textureDependencies.add(spriteId);
653654
} else {
654655
spriteId = TextureUtil.MISSING_SPRITE_ID;

src/main/java/me/pepperbell/continuity/client/properties/PropertiesParsingHelper.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public final class PropertiesParsingHelper {
3333
public static final Predicate<BlockState> EMPTY_BLOCK_STATE_PREDICATE = state -> false;
3434

3535
@Nullable
36-
public static Set<Identifier> parseMatchTiles(Properties properties, String propertyKey, Identifier fileLocation, String packId, @Nullable ResourceRedirectHandler redirectHandler) {
36+
public static Set<Identifier> parseMatchTiles(Properties properties, String propertyKey, Identifier fileLocation, String packId) {
3737
String matchTilesStr = properties.getProperty(propertyKey);
3838
if (matchTilesStr == null) {
3939
return null;
@@ -81,10 +81,7 @@ public static Set<Identifier> parseMatchTiles(Properties properties, String prop
8181
if (path.startsWith("textures/")) {
8282
path = path.substring(9);
8383
} else if (path.startsWith("optifine/")) {
84-
if (redirectHandler == null) {
85-
continue;
86-
}
87-
path = redirectHandler.getSourceSpritePath(path + ".png");
84+
path = ResourceRedirectHandler.SPRITE_PATH_START + path.substring(9);
8885
if (namespace == null) {
8986
namespace = fileLocation.getNamespace();
9087
}

src/main/java/me/pepperbell/continuity/client/properties/overlay/StandardOverlayCtmProperties.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
import me.pepperbell.continuity.client.properties.BasicConnectingCtmProperties;
1010
import me.pepperbell.continuity.client.properties.PropertiesParsingHelper;
11-
import me.pepperbell.continuity.client.resource.ResourceRedirectHandler;
1211
import net.minecraft.block.BlockState;
1312
import net.minecraft.resource.ResourceManager;
1413
import net.minecraft.resource.ResourcePack;
@@ -40,7 +39,7 @@ public OverlayPropertiesSection getOverlayPropertiesSection() {
4039
}
4140

4241
protected void parseConnectTiles() {
43-
connectTilesSet = PropertiesParsingHelper.parseMatchTiles(properties, "connectTiles", resourceId, packId, ResourceRedirectHandler.get(resourceManager));
42+
connectTilesSet = PropertiesParsingHelper.parseMatchTiles(properties, "connectTiles", resourceId, packId);
4443
}
4544

4645
protected void parseConnectBlocks() {

src/main/java/me/pepperbell/continuity/client/resource/CtmPropertiesLoader.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import me.pepperbell.continuity.api.client.QuadProcessor;
2222
import me.pepperbell.continuity.client.ContinuityClient;
2323
import me.pepperbell.continuity.client.model.QuadProcessors;
24-
import me.pepperbell.continuity.client.util.BooleanState;
2524
import me.pepperbell.continuity.client.util.biome.BiomeHolderManager;
2625
import net.minecraft.client.texture.Sprite;
2726
import net.minecraft.client.util.SpriteIdentifier;
@@ -58,14 +57,11 @@ public static LoadingResult loadAll(ResourceManager resourceManager) {
5857
private LoadingResult loadAll() {
5958
int packPriority = 0;
6059
Iterator<ResourcePack> iterator = resourceManager.streamResourcePacks().iterator();
61-
BooleanState invalidIdentifierState = InvalidIdentifierStateHolder.get();
62-
invalidIdentifierState.enable();
6360
while (iterator.hasNext()) {
6461
ResourcePack pack = iterator.next();
6562
loadAll(pack, packPriority);
6663
packPriority++;
6764
}
68-
invalidIdentifierState.disable();
6965

7066
containers.sort(Comparator.reverseOrder());
7167

src/main/java/me/pepperbell/continuity/client/resource/InvalidIdentifierStateHolder.java

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)