Skip to content

Commit 09d24c5

Browse files
committed
Merge 1.18 into 1.19.2
2 parents 89522a8 + 9fcc1f5 commit 09d24c5

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

common/src/main/java/org/embeddedt/modernfix/dynamicresources/ModelBakeryHelpers.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.google.common.collect.ImmutableList;
66
import com.google.common.collect.Sets;
77
import com.google.gson.*;
8+
import com.google.gson.stream.JsonReader;
89
import com.mojang.datafixers.util.Pair;
910
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
1011
import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet;
@@ -55,6 +56,13 @@ public class ModelBakeryHelpers {
5556
*/
5657
public static final int MAX_MODEL_LIFETIME_SECS = 300;
5758

59+
private static JsonElement parseStream(InputStream stream) {
60+
JsonParser parser = new JsonParser();
61+
JsonReader jsonReader = new JsonReader(new InputStreamReader(stream, StandardCharsets.UTF_8));
62+
jsonReader.setLenient(true);
63+
return parser.parse(jsonReader);
64+
}
65+
5866
private static void gatherAdditionalViaManualScan(List<PackResources> untrustedPacks, Set<ResourceLocation> knownLocations,
5967
Collection<ResourceLocation> uncertainLocations, String filePrefix) {
6068
if(untrustedPacks.size() > 0) {
@@ -161,7 +169,7 @@ public static void gatherModelMaterials(ResourceManager manager, Predicate<PackR
161169
for(Resource resource : resources) {
162170
JsonParser parser = new JsonParser();
163171
try(InputStream stream = resource.open()) {
164-
blockStateLoadedFiles.add(Pair.of(blockstate, parser.parse(new InputStreamReader(stream, StandardCharsets.UTF_8))));
172+
blockStateLoadedFiles.add(Pair.of(blockstate, parseStream(stream)));
165173
} catch(JsonParseException e) {
166174
logOrSuppressError(blockstateErrors, "blockstate", blockstate, e);
167175
}
@@ -249,8 +257,7 @@ public static void gatherModelMaterials(ResourceManager manager, Predicate<PackR
249257
modelBytes.add(CompletableFuture.supplyAsync(() -> {
250258
Optional<Resource> resource = manager.getResource(fileLocation);
251259
try(InputStream stream = resource.orElseThrow().open()) {
252-
JsonParser parser = new JsonParser();
253-
return Pair.of(model, parser.parse(new InputStreamReader(stream, StandardCharsets.UTF_8)));
260+
return Pair.of(model, parseStream(stream));
254261
} catch(IOException | NoSuchElementException | JsonParseException e) {
255262
logOrSuppressError(blockstateErrors, "model", fileLocation, e);
256263
return Pair.of(fileLocation, null);

0 commit comments

Comments
 (0)