aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/handler
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2018-05-24 08:12:44 +1000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2018-05-24 08:12:44 +1000
commit4af770de7faa9f6816d0cfd51858c5c5b77e758a (patch)
treeaca46e963bf84c4e38bf3f043158fdbcac9f5e38 /src/Java/gtPlusPlus/core/handler
parentb44d061f6ca95236a873bb0835d0e2fd77b96851 (diff)
downloadGT5-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.java12
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();