try-catch all sign initializations; resolves #799

This commit is contained in:
Daniel Saukel 2020-06-30 13:49:16 +02:00
parent c172d8e8cc
commit a1b163e563
2 changed files with 14 additions and 2 deletions

View File

@ -89,7 +89,13 @@ public class ScriptSign extends Passive {
continue; continue;
} }
dSign.initialize(); try {
dSign.initialize();
} catch (Exception exception) {
dSign.markAsErroneous("An error occurred while initializing a sign of the type " + dSign.getName()
+ ". This is not a user error. Please report the following stacktrace to the developer of the plugin:");
exception.printStackTrace();
}
if (!dSign.hasTriggers()) { if (!dSign.hasTriggers()) {
dSign.trigger(null); dSign.trigger(null);
} }

View File

@ -189,7 +189,13 @@ public class DGameWorld extends DInstanceWorld implements GameWorld {
} }
if (dSign.isOnDungeonInit()) { if (dSign.isOnDungeonInit()) {
dSign.initialize(); try {
dSign.initialize();
} catch (Exception exception) {
dSign.markAsErroneous("An error occurred while initializing a sign of the type " + dSign.getName()
+ ". This is not a user error. Please report the following stacktrace to the developer of the plugin:");
exception.printStackTrace();
}
if (!dSign.isErroneous() && dSign.isSetToAir()) { if (!dSign.isErroneous() && dSign.isSetToAir()) {
dSign.setToAir(); dSign.setToAir();
} }