diff options
Diffstat (limited to 'src')
3 files changed, 31 insertions, 22 deletions
diff --git a/src/Java/gregtech/api/util/FishPondFakeRecipe.java b/src/Java/gregtech/api/util/FishPondFakeRecipe.java index e8032d63d5..9e0a65a6cc 100644 --- a/src/Java/gregtech/api/util/FishPondFakeRecipe.java +++ b/src/Java/gregtech/api/util/FishPondFakeRecipe.java @@ -8,35 +8,36 @@ import net.minecraft.util.WeightedRandomFishable; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.core.recipe.common.CI; +import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.reflect.ReflectionUtils; import net.minecraftforge.common.FishingHooks; import net.minecraftforge.fluids.FluidStack; public class FishPondFakeRecipe { - + public static ArrayList<WeightedRandomFishable> fish = new ArrayList<WeightedRandomFishable>(); public static ArrayList<WeightedRandomFishable> junk = new ArrayList<WeightedRandomFishable>(); public static ArrayList<WeightedRandomFishable> treasure = new ArrayList<WeightedRandomFishable>(); - + @SuppressWarnings("unchecked") public static boolean generateFishPondRecipes() { - - try { + + try { fish = (ArrayList<WeightedRandomFishable>) ReflectionUtils.getField(FishingHooks.class, "fish").get(null); junk = (ArrayList<WeightedRandomFishable>) ReflectionUtils.getField(FishingHooks.class, "junk").get(null); - treasure = (ArrayList<WeightedRandomFishable>) ReflectionUtils.getField(FishingHooks.class, "treasure").get(null); - } + treasure = (ArrayList<WeightedRandomFishable>) ReflectionUtils.getField(FishingHooks.class, "treasure").get(null); + } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException e) { Logger.INFO("Error generating Fish Pond Recipes. [1]"); e.printStackTrace(); } - - AutoMap<ArrayList<WeightedRandomFishable>> mega = new AutoMap<ArrayList<WeightedRandomFishable>>(); - mega.put(fish); - mega.put(junk); - mega.put(treasure); - - int mType = 14; + + AutoMap<ArrayList<WeightedRandomFishable>> mega = new AutoMap<ArrayList<WeightedRandomFishable>>(); + mega.put(fish); + mega.put(junk); + mega.put(treasure); + + int mType = 14; for (ArrayList<WeightedRandomFishable> f : mega.values()) { for (int e=0;e<f.size();e++) { if (f.get(e) != null) { @@ -53,9 +54,9 @@ public class FishPondFakeRecipe { } mType++; } - + return true; - } + } public static void addNewFishPondLoot(int circuit, ItemStack[] outputItems, int[] chances) { GT_Recipe x = new GT_Recipe( @@ -69,8 +70,11 @@ public class FishPondFakeRecipe { 100, //1 Tick 0, //No Eu produced circuit //Magic Number - ); - Recipe_GT.Gregtech_Recipe_Map.sFishPondRecipes.addRecipe(x); + ); + if (x != null) { + Logger.INFO("Fishing ["+circuit+"]: "+ItemUtils.getArrayStackNames(outputItems)); + Recipe_GT.Gregtech_Recipe_Map.sFishPondRecipes.addRecipe(x); + } } - + } diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java index 9b8c9236df..b99155c906 100644 --- a/src/Java/gtPlusPlus/GTplusplus.java +++ b/src/Java/gtPlusPlus/GTplusplus.java @@ -18,6 +18,7 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.launchwrapper.Launch; import gregtech.api.enums.Materials; +import gregtech.api.util.FishPondFakeRecipe; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Recipe.GT_Recipe_Map; @@ -191,9 +192,16 @@ public class GTplusplus implements ActionListener { } + + /** + * This {@link EventHandler} is called after the {@link FMLPostInitializationEvent} stages of all loaded mods executes successfully. + * {@link #onLoadComplete(FMLLoadCompleteEvent)} exists to inject recipe generation after Gregtech and all other mods are entirely loaded and initialized. + * @param event - The {@link EventHandler} object passed through from FML to {@link #GTplusplus()}'s {@link #instance}. + */ @Mod.EventHandler public void onLoadComplete(FMLLoadCompleteEvent event) { RecipeGen_BlastSmelterGT_GTNH.generateGTNHBlastSmelterRecipesFromEBFList(); + FishPondFakeRecipe.generateFishPondRecipes(); } protected void dumpGtRecipeMap(final GT_Recipe_Map r) { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java index 775c3e20e1..681256a385 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java @@ -1,7 +1,5 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; -import gregtech.api.util.FishPondFakeRecipe; - import gtPlusPlus.api.objects.Logger; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_IndustrialFishingPond; @@ -11,8 +9,7 @@ public class GregtechIndustrialFishPond { public static void run() { if (gtPlusPlus.core.lib.LoadedMods.Gregtech) { Logger.INFO("Gregtech5u Content | Registering Industrial Fishing Pond Multiblock."); - //if (CORE.ConfigSwitches.enableMultiblock_IndustrialWashPlant) { - FishPondFakeRecipe.generateFishPondRecipes(); + //if (CORE.ConfigSwitches.enableMultiblock_IndustrialWashPlant) { run1(); //} } |