diff --git a/Common/src/main/java/net/frankheijden/serverutils/common/entities/results/CloseablePluginResults.java b/Common/src/main/java/net/frankheijden/serverutils/common/entities/results/CloseablePluginResults.java index 34e5278..788ab82 100644 --- a/Common/src/main/java/net/frankheijden/serverutils/common/entities/results/CloseablePluginResults.java +++ b/Common/src/main/java/net/frankheijden/serverutils/common/entities/results/CloseablePluginResults.java @@ -2,16 +2,24 @@ package net.frankheijden.serverutils.common.entities.results; import java.io.Closeable; import java.io.IOException; +import java.util.Collections; import java.util.List; public class CloseablePluginResults extends PluginResults implements Closeable { @Override public CloseablePluginResults addResult(PluginResult pluginResult) { - if (!(pluginResult instanceof CloseablePluginResult)) { - throw new IllegalArgumentException("Not an instance of CloseablePluginResult: " + pluginResult); + if (pluginResult instanceof CloseablePluginResult) { + results.add(pluginResult); + } else { + results.add(new CloseablePluginResult<>( + pluginResult.getPluginId(), + pluginResult.getPlugin(), + pluginResult.getResult(), + Collections.emptyList(), + pluginResult.getPlaceholders() + )); } - results.add(pluginResult); return this; } @@ -28,10 +36,8 @@ public class CloseablePluginResults extends PluginResults implements Close } @Override - protected CloseablePluginResults addResult(String pluginId, T plugin, Result result, String... placeholders - ) { - super.addResult(pluginId, plugin, result, placeholders); - return this; + protected CloseablePluginResults addResult(String pluginId, T plugin, Result result, String... placeholders) { + return addResult(new CloseablePluginResult<>(pluginId, plugin, result, Collections.emptyList(), placeholders)); } public CloseablePluginResults addResult(