From b0409b31d821546f0e9b7a2a8eead3e9507901a4 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 23 Oct 2019 14:37:22 -0400 Subject: [PATCH] Display content in mod error --- core/src/io/anuke/mindustry/core/ContentLoader.java | 3 ++- core/src/io/anuke/mindustry/mod/Mods.java | 8 ++++++++ core/src/io/anuke/mindustry/type/Mech.java | 3 ++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/core/src/io/anuke/mindustry/core/ContentLoader.java b/core/src/io/anuke/mindustry/core/ContentLoader.java index 94fa56d0cc..99c50e111e 100644 --- a/core/src/io/anuke/mindustry/core/ContentLoader.java +++ b/core/src/io/anuke/mindustry/core/ContentLoader.java @@ -7,6 +7,7 @@ import io.anuke.arc.util.*; import io.anuke.mindustry.content.*; import io.anuke.mindustry.ctype.*; import io.anuke.mindustry.entities.bullet.*; +import io.anuke.mindustry.mod.Mods.*; import io.anuke.mindustry.type.*; import io.anuke.mindustry.world.*; @@ -113,7 +114,7 @@ public class ContentLoader{ callable.accept(content); }catch(Throwable e){ if(content.mod != null){ - mods.handleError(e, content.mod); + mods.handleError(new ModLoadException(content, e), content.mod); }else{ throw new RuntimeException(e); } diff --git a/core/src/io/anuke/mindustry/mod/Mods.java b/core/src/io/anuke/mindustry/mod/Mods.java index 474cdeb9f8..84ecb3bcb6 100644 --- a/core/src/io/anuke/mindustry/mod/Mods.java +++ b/core/src/io/anuke/mindustry/mod/Mods.java @@ -567,5 +567,13 @@ public class Mods implements Loadable{ this.mod = content.mod; } } + + public ModLoadException(@Nullable Content content, Throwable cause){ + super(cause); + this.content = content; + if(content != null){ + this.mod = content.mod; + } + } } } diff --git a/core/src/io/anuke/mindustry/type/Mech.java b/core/src/io/anuke/mindustry/type/Mech.java index 60b7aacecd..8eb9681548 100644 --- a/core/src/io/anuke/mindustry/type/Mech.java +++ b/core/src/io/anuke/mindustry/type/Mech.java @@ -4,6 +4,7 @@ import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.ArcAnnotate.*; import io.anuke.mindustry.entities.type.Player; import io.anuke.mindustry.ctype.UnlockableContent; import io.anuke.mindustry.graphics.Pal; @@ -31,7 +32,7 @@ public class Mech extends UnlockableContent{ public float compoundSpeed, compoundSpeedBoost; public float weaponOffsetX, weaponOffsetY, engineOffset = 5f, engineSize = 2.5f; - public Weapon weapon; + public @NonNull Weapon weapon; public TextureRegion baseRegion, legRegion, region;