diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-05-24 08:12:44 +1000 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-05-24 08:12:44 +1000 |
commit | 4af770de7faa9f6816d0cfd51858c5c5b77e758a (patch) | |
tree | aca46e963bf84c4e38bf3f043158fdbcac9f5e38 /src/Java/gtPlusPlus/core/handler | |
parent | b44d061f6ca95236a873bb0835d0e2fd77b96851 (diff) | |
download | GT5-Unofficial-4af770de7faa9f6816d0cfd51858c5c5b77e758a.tar.gz GT5-Unofficial-4af770de7faa9f6816d0cfd51858c5c5b77e758a.tar.bz2 GT5-Unofficial-4af770de7faa9f6816d0cfd51858c5c5b77e758a.zip |
+ Added a new interface RunnableWithInfo.java. Allows passing through type V and an object, for extra manipulation during runnable events where required.
$ Further improvements to the recipe generation system. Added safety catches in case a particular material is having issues, so as not to corrupt the whole map.
$ Added extra maps for recipes that get added from auto-generation elsewhere. Cached maps should also register to be run upon creation.
Diffstat (limited to 'src/Java/gtPlusPlus/core/handler')
-rw-r--r-- | src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java index 7f35c3b9b9..efbb4add7e 100644 --- a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java +++ b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java @@ -11,12 +11,14 @@ import net.minecraft.item.ItemStack; import gregtech.api.enums.GT_Values; import gregtech.api.util.GT_OreDictUnificator; +import gtPlusPlus.api.interfaces.RunnableWithInfo; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.common.compat.*; import gtPlusPlus.core.handler.Recipes.LateRegistrationHandler; import gtPlusPlus.core.handler.Recipes.RegistrationHandler; import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.lib.LoadedMods; +import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.MaterialGenerator; import gtPlusPlus.core.recipe.*; import gtPlusPlus.core.util.minecraft.ItemUtils; @@ -173,9 +175,15 @@ public class COMPAT_HANDLER { //Add hand-made recipes RECIPES_GREGTECH.run(); //Add autogenerated Recipes from Item Components - for (Set<Runnable> m : MaterialGenerator.mRecipeMapsToGenerate) { - for (Runnable r : m) { + for (Set<RunnableWithInfo<Material>> m : MaterialGenerator.mRecipeMapsToGenerate) { + for (RunnableWithInfo<Material> r : m) { + try { r.run(); + } + catch (Throwable t) { + t.printStackTrace(); + Logger.INFO("[ERROR] "+r.getInfoData().getLocalizedName()+" recipes failed to generated."); + } } } RecipeGen_Recycling.executeGenerators(); |