From 42687fb47ec2134413dd1adddb612ae109c4cece Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 1 Dec 2019 17:35:47 -0500 Subject: [PATCH] Fixed crash caused by missing sounds --- core/src/io/anuke/mindustry/mod/ContentParser.java | 7 ++++--- core/src/io/anuke/mindustry/mod/Mods.java | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/core/src/io/anuke/mindustry/mod/ContentParser.java b/core/src/io/anuke/mindustry/mod/ContentParser.java index 9d1563b585..afe1f2f74f 100644 --- a/core/src/io/anuke/mindustry/mod/ContentParser.java +++ b/core/src/io/anuke/mindustry/mod/ContentParser.java @@ -1,6 +1,7 @@ package io.anuke.mindustry.mod; import io.anuke.arc.*; +import io.anuke.arc.assets.*; import io.anuke.arc.audio.*; import io.anuke.arc.audio.mock.*; import io.anuke.arc.collection.Array; @@ -69,9 +70,9 @@ public class ContentParser{ String name = "sounds/" + data.asString(); String path = Vars.tree.get(name + ".ogg").exists() && !Vars.ios ? name + ".ogg" : name + ".mp3"; ModLoadingSound sound = new ModLoadingSound(); - Core.assets.load(path, Sound.class).loaded = result -> { - sound.sound = (Sound)result; - }; + AssetDescriptor desc = Core.assets.load(path, Sound.class); + desc.loaded = result -> sound.sound = (Sound)result; + desc.errored = Throwable::printStackTrace; return sound; }); put(Objective.class, (type, data) -> { diff --git a/core/src/io/anuke/mindustry/mod/Mods.java b/core/src/io/anuke/mindustry/mod/Mods.java index bc3023c448..6188d5c954 100644 --- a/core/src/io/anuke/mindustry/mod/Mods.java +++ b/core/src/io/anuke/mindustry/mod/Mods.java @@ -52,7 +52,7 @@ public class Mods implements Loadable{ /** @return the loaded mod found by class, or null if not found. */ public @Nullable LoadedMod getMod(Class type){ - return loaded.find(l -> l.mod.getClass() == type); + return loaded.find(l -> l.mod != null && l.mod.getClass() == type); } /** Imports an external mod file.*/