aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Java/gregtech/api/util/FishPondFakeRecipe.java40
-rw-r--r--src/Java/gtPlusPlus/GTplusplus.java8
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java5
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();
//}
}