diff --git a/src/main/java/carpet/script/exception/StacklessRuntimeException.java b/src/main/java/carpet/script/exception/StacklessRuntimeException.java index 476e6aef..13938e4c 100644 --- a/src/main/java/carpet/script/exception/StacklessRuntimeException.java +++ b/src/main/java/carpet/script/exception/StacklessRuntimeException.java @@ -1,5 +1,7 @@ package carpet.script.exception; +import carpet.script.external.Carpet; + /** * A type of {@link RuntimeException} that doesn't spend time producing and filling a stacktrace */ @@ -18,6 +20,10 @@ public abstract class StacklessRuntimeException extends RuntimeException @Override public Throwable fillInStackTrace() { + if (Carpet.isDebugEnabled()) + { + return super.fillInStackTrace(); + } return this; } } diff --git a/src/main/java/carpet/script/external/Carpet.java b/src/main/java/carpet/script/external/Carpet.java index 223fc98b..ef7503f8 100644 --- a/src/main/java/carpet/script/external/Carpet.java +++ b/src/main/java/carpet/script/external/Carpet.java @@ -142,6 +142,11 @@ public class Carpet return CarpetSettings.fillUpdates; } + public static boolean isDebugEnabled() + { + return CarpetSettings.superSecretSetting; + } + @Nullable public static Module fetchGlobalModule(String name, boolean allowLibraries) throws IOException {