From 762036a4e1af2ea59c4aff4fe451937e4eed162a Mon Sep 17 00:00:00 2001 From: Matyrobbrt Date: Mon, 16 Dec 2024 23:20:15 +0200 Subject: [PATCH] Fix script writer NPE --- .../net/neoforged/camelot/script/ScriptWriter.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/neoforged/camelot/script/ScriptWriter.java b/src/main/java/net/neoforged/camelot/script/ScriptWriter.java index 608ccb4..25df4cc 100644 --- a/src/main/java/net/neoforged/camelot/script/ScriptWriter.java +++ b/src/main/java/net/neoforged/camelot/script/ScriptWriter.java @@ -1,8 +1,8 @@ package net.neoforged.camelot.script; import com.google.errorprone.annotations.CanIgnoreReturnValue; -import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.entities.MessageEmbed; +import org.jetbrains.annotations.Nullable; import java.io.StringWriter; import java.util.List; @@ -11,6 +11,7 @@ import java.util.function.Consumer; import java.util.function.Predicate; +@CanIgnoreReturnValue public class ScriptWriter { private final StringWriter writer; private int indentAmount; @@ -71,12 +72,12 @@ public ScriptWriter decreaseIndent(int amount) { return this; } - public ScriptWriter writeKeyValueIfNot(String key, T value, Predicate predicate) { + public ScriptWriter writeKeyValueIfNot(String key, @Nullable T value, Predicate predicate) { return writeKeyValueIf(key, value, Predicate.not(predicate)); } - public ScriptWriter writeKeyValueIf(String key, T value, Predicate predicate) { - if (predicate.test(value)) { + public ScriptWriter writeKeyValueIf(String key, @Nullable T value, Predicate predicate) { + if (value != null && predicate.test(value)) { writeKeyValue(key, _ -> { switch (value) { case Integer number -> writeInt(number); @@ -88,7 +89,6 @@ public ScriptWriter writeKeyValueIf(String key, T value, Predicate predic return this; } - @CanIgnoreReturnValue public ScriptWriter writeKeyValue(String key, Consumer value) { writeLineStart().write("'").write(key).write("'").write(": "); value.accept(this);