diff --git a/gradle.properties b/gradle.properties index fb8b49ee..ed6f0f3d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.11.0 # Mod Properties - mod_version = 1.4.22 + mod_version = 1.4.23 maven_group = carpet archives_base_name = fabric-carpet @@ -17,7 +17,7 @@ org.gradle.jvmargs=-Xmx1G # The Curseforge versions "names" or ids for the main branch (comma separated: 1.16.4,1.16.5) # This is needed because CF uses too vague names for prereleases and release candidates # Can also be the version ID directly coming from https://minecraft.curseforge.com/api/game/versions?token=[API_TOKEN] - release-curse-versions = 1.16.3,1.16.4 + release-curse-versions = 1.16.4,1.16.5 # Whether or not to build another branch on release release-extra-branch = true # The name of the second branch to release diff --git a/src/main/java/carpet/CarpetSettings.java b/src/main/java/carpet/CarpetSettings.java index 8b58fa79..bb43b4f8 100644 --- a/src/main/java/carpet/CarpetSettings.java +++ b/src/main/java/carpet/CarpetSettings.java @@ -37,7 +37,7 @@ import static carpet.settings.RuleCategory.CLIENT; @SuppressWarnings("CanBeFinal") public class CarpetSettings { - public static final String carpetVersion = "1.4.22+v210113"; + public static final String carpetVersion = "1.4.23+v210115"; public static final Logger LOG = LogManager.getLogger("carpet"); public static boolean skipGenerationChecks = false; public static boolean impendingFillSkipUpdates = false; diff --git a/src/main/java/carpet/script/bundled/FileModule.java b/src/main/java/carpet/script/bundled/FileModule.java index 8c32034e..4684b0fa 100644 --- a/src/main/java/carpet/script/bundled/FileModule.java +++ b/src/main/java/carpet/script/bundled/FileModule.java @@ -76,9 +76,14 @@ public class FileModule extends Module } catch (IOException e) { - try + // Copy of NbtIo.read(File) because that's now client-side only + if (!file.exists()) { - return NbtIo.read(file); + return null; + } + try (DataInputStream in = new DataInputStream(new FileInputStream(file))) + { + return NbtIo.read(in); } catch (IOException ioException) { diff --git a/src/main/java/carpet/script/language/DataStructures.java b/src/main/java/carpet/script/language/DataStructures.java index 90d02d99..59418de5 100644 --- a/src/main/java/carpet/script/language/DataStructures.java +++ b/src/main/java/carpet/script/language/DataStructures.java @@ -57,7 +57,7 @@ public class DataStructures { if (lv.size() == 1) { hwat = lv.get(0); - delimiter = StringValue.EMPTY; + delimiter = null; } else if (lv.size() == 2) { diff --git a/src/main/java/carpet/script/value/ListValue.java b/src/main/java/carpet/script/value/ListValue.java index c3b23438..7fd693eb 100644 --- a/src/main/java/carpet/script/value/ListValue.java +++ b/src/main/java/carpet/script/value/ListValue.java @@ -350,6 +350,11 @@ public class ListValue extends AbstractListValue implements ContainerValueInterf @Override public Value split(Value delimiter) { ListValue result = new ListValue(); + if (delimiter == null) + { + this.forEach(item -> result.items.add(of(item))); + return result; + } int startIndex = 0; int index = 0; for (Value val : this.items) diff --git a/src/main/java/carpet/script/value/Value.java b/src/main/java/carpet/script/value/Value.java index b9ac965c..5f228c7d 100644 --- a/src/main/java/carpet/script/value/Value.java +++ b/src/main/java/carpet/script/value/Value.java @@ -193,7 +193,11 @@ public abstract class Value implements Comparable, Cloneable public Value split(Value delimiter) { - try + if (delimiter == null) + { + delimiter = StringValue.EMPTY; + } + try { return ListValue.wrap(Arrays.stream(getString().split(delimiter.getString())).map(StringValue::new).collect(Collectors.toList())); }