aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/shcm/shsupercm
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/shcm/shsupercm')
-rw-r--r--src/main/java/shcm/shsupercm/fabric/citresewn/pack/PackParser.java17
-rw-r--r--src/main/java/shcm/shsupercm/fabric/citresewn/pack/format/PropertiesGroupAdapter.java2
2 files changed, 11 insertions, 8 deletions
diff --git a/src/main/java/shcm/shsupercm/fabric/citresewn/pack/PackParser.java b/src/main/java/shcm/shsupercm/fabric/citresewn/pack/PackParser.java
index 7555866..1dbc22d 100644
--- a/src/main/java/shcm/shsupercm/fabric/citresewn/pack/PackParser.java
+++ b/src/main/java/shcm/shsupercm/fabric/citresewn/pack/PackParser.java
@@ -16,6 +16,7 @@ import shcm.shsupercm.fabric.citresewn.pack.format.PropertyGroup;
import shcm.shsupercm.fabric.citresewn.pack.format.PropertyKey;
import shcm.shsupercm.fabric.citresewn.pack.format.PropertyValue;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@@ -48,7 +49,7 @@ public class PackParser {
Identifier identifier = new Identifier("minecraft", root + "/cit.properties");
try {
globalProperties.load(pack.getName(), identifier, pack.open(ResourceType.CLIENT_RESOURCES, identifier));
- } catch (ResourceNotFoundException ignored) {
+ } catch (FileNotFoundException ignored) {
} catch (IOException e) {
CITResewn.logErrorLoading("Errored while loading global properties: " + identifier + " from " + pack.getName());
e.printStackTrace();
@@ -65,6 +66,8 @@ public class PackParser {
String packName = null;
try (Resource resource = resourceManager.getResource(identifier)) {
cits.add(parseCIT(PropertyGroup.tryParseGroup(packName = resource.getResourcePackName(), identifier, resource.getInputStream())));
+ } catch (CITParsingException e) {
+ CITResewn.logErrorLoading(e.getMessage());
} catch (Exception e) {
CITResewn.logErrorLoading("Errored while loading cit: " + identifier + (packName == null ? "" : " from " + packName));
e.printStackTrace();
@@ -74,7 +77,6 @@ public class PackParser {
return cits;
}
-
public static CIT<?> parseCIT(PropertyGroup properties) throws CITParsingException {
CITType citType = CITRegistry.parseType(properties);
@@ -89,11 +91,12 @@ public class PackParser {
}
for (CITCondition condition : new ArrayList<>(conditions))
- for (Class<? extends CITCondition> siblingConditionType : condition.siblingConditions())
- conditions.replaceAll(
- siblingCondition -> siblingConditionType == siblingCondition.getClass() ?
- condition.modifySibling(siblingConditionType, siblingCondition) :
- siblingCondition);
+ if (condition != null)
+ for (Class<? extends CITCondition> siblingConditionType : condition.siblingConditions())
+ conditions.replaceAll(
+ siblingCondition -> siblingConditionType == siblingCondition.getClass() ?
+ condition.modifySibling(siblingConditionType, siblingCondition) :
+ siblingCondition);
WeightCondition weight = new WeightCondition();
diff --git a/src/main/java/shcm/shsupercm/fabric/citresewn/pack/format/PropertiesGroupAdapter.java b/src/main/java/shcm/shsupercm/fabric/citresewn/pack/format/PropertiesGroupAdapter.java
index fb694ae..8ad2ccf 100644
--- a/src/main/java/shcm/shsupercm/fabric/citresewn/pack/format/PropertiesGroupAdapter.java
+++ b/src/main/java/shcm/shsupercm/fabric/citresewn/pack/format/PropertiesGroupAdapter.java
@@ -93,7 +93,7 @@ public class PropertiesGroupAdapter extends PropertyGroup {
builder.append(c);
}
- if (key == null)
+ if (key == null) //todo handle : separator
throw new IOException("Missing separator in line " + linePos);
int pos = linePos - multilineSkip;