aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/xmod')
-rw-r--r--src/Java/gtPlusPlus/xmod/growthcraft/HANDLER_GC.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/FishTrapHandler.java157
-rw-r--r--src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/Growthcraft_Old.java24
3 files changed, 183 insertions, 2 deletions
diff --git a/src/Java/gtPlusPlus/xmod/growthcraft/HANDLER_GC.java b/src/Java/gtPlusPlus/xmod/growthcraft/HANDLER_GC.java
index fae897734b..2428f0a943 100644
--- a/src/Java/gtPlusPlus/xmod/growthcraft/HANDLER_GC.java
+++ b/src/Java/gtPlusPlus/xmod/growthcraft/HANDLER_GC.java
@@ -2,6 +2,7 @@ package gtPlusPlus.xmod.growthcraft;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.xmod.growthcraft.booze.Register_Booze;
+import gtPlusPlus.xmod.growthcraft.fishtrap.FishTrapHandler;
public class HANDLER_GC {
@@ -15,13 +16,12 @@ public class HANDLER_GC {
public static void init(){
if (LoadedMods.Growthcraft){
-
}
}
public static void postInit(){
if (LoadedMods.Growthcraft){
-
+ FishTrapHandler.pamsHarvestCraftCompat();
}
}
diff --git a/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/FishTrapHandler.java b/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/FishTrapHandler.java
new file mode 100644
index 0000000000..7bb78055ee
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/FishTrapHandler.java
@@ -0,0 +1,157 @@
+package gtPlusPlus.xmod.growthcraft.fishtrap;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.util.GT_ModHandler;
+import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.util.fluid.FluidUtils;
+import gtPlusPlus.core.util.item.UtilsItems;
+import net.minecraft.item.ItemStack;
+
+public class FishTrapHandler {
+
+ private static final String[] fishTypes = {"fish", "junk", "treasure"};
+
+ protected static void addFish(String lootType, ItemStack lootStack, int lootChance){
+ if (lootType == fishTypes[0]){
+ Growthcraft_Old.addTrapFish(lootStack, lootChance);
+ }
+ else if (lootType == fishTypes[1]){
+ Growthcraft_Old.addTrapJunk(lootStack, lootChance);
+ }
+ else if (lootType == fishTypes[2]){
+ Growthcraft_Old.addTrapTreasure(lootStack, lootChance);
+ }
+ else {
+ return;
+ }
+ }
+
+ final static String prefix = "food";
+ final static String suffix = "raw";
+ final static String seaweed = "cropSeaweed";
+ final static String greenheartFish = "Greenheartfish";
+ private static final String[] harvestcraftFish = {
+ "Anchovy", "Bass", "Carp", "Catfish", "Charr", "Clam", "Crab", "Crayfish", "Eel", "Frog", "Grouper", "Herring",
+ "Jellyfish", "Mudfish", "Octopus", "Perch", "Scallop", "Shrimp", "Snail", "Snapper", "Tilapia", "Trout", "Tuna", "Turtle", "Walleye"};
+ public static void pamsHarvestCraftCompat(){
+ for (int i = 0; i < harvestcraftFish.length; i++){
+ String itemName = prefix+harvestcraftFish[i]+suffix;
+ int lootChance = getLootChance(harvestcraftFish[i]);
+ if (UtilsItems.getItemStackOfAmountFromOreDictNoBroken(itemName, 1) != null){
+ addFish("fish", UtilsItems.getItemStackOfAmountFromOreDict(itemName, 1), lootChance);
+ addGregtechMaceratorRecipe(UtilsItems.getItemStackOfAmountFromOreDict(itemName, 1));
+ addGregtechCentrifugeRecipe(UtilsItems.getItemStackOfAmountFromOreDict(itemName, 1));
+ addGregtechFluidRecipe(UtilsItems.getItemStackOfAmountFromOreDict(itemName, 1));
+ }
+ }
+ if (UtilsItems.getItemStackOfAmountFromOreDictNoBroken(greenheartFish, 1) != null){
+ addFish("fish", UtilsItems.getItemStackOfAmountFromOreDict(greenheartFish, 1), getLootChance(greenheartFish));
+ addGregtechMaceratorRecipe(UtilsItems.getItemStackOfAmountFromOreDict(greenheartFish, 1));
+ addGregtechCentrifugeRecipe(UtilsItems.getItemStackOfAmountFromOreDict(greenheartFish, 1));
+ addGregtechFluidRecipe(UtilsItems.getItemStackOfAmountFromOreDict(greenheartFish, 1));
+ }
+ if (UtilsItems.getItemStackOfAmountFromOreDictNoBroken(seaweed, 1) != null){
+ addFish("junk", UtilsItems.getItemStackOfAmountFromOreDict(seaweed, 1), getLootChance(seaweed));
+ }
+ }
+
+ private static int getLootChance(String name){
+ if (name == harvestcraftFish[0]){
+ return 20;
+ }
+ else if (name == harvestcraftFish[1]){
+ return 10;
+ }
+ else if (name == harvestcraftFish[2]){
+ return 15;
+ }
+ else if (name == harvestcraftFish[3]){
+ return 55;
+ }
+ else if (name == harvestcraftFish[4]){
+ return 5;
+ }
+ else if (name == harvestcraftFish[5]){
+ return 8;
+ }
+ else if (name == harvestcraftFish[6]){
+ return 11;
+ }
+ else if (name == harvestcraftFish[7]){
+ return 11;
+ }
+ else if (name == harvestcraftFish[8]){
+ return 15;
+ }
+ else if (name == harvestcraftFish[9]){
+ return 1;
+ }
+ else if (name == harvestcraftFish[10]){
+ return 5;
+ }
+ else if (name == harvestcraftFish[11]){
+ return 10;
+ }
+ else if (name == harvestcraftFish[12]){
+ return 25;
+ }
+ else if (name == harvestcraftFish[13]){
+ return 15;
+ }
+ else if (name == harvestcraftFish[14]){
+ return 20;
+ } //"Perch", "Scallop", "Shrimp", "Snail", "Snapper", "Tilapia", "Trout", "Tuna", "Turtle", "Walleye"};
+ else if (name == harvestcraftFish[15]){
+ return 22;
+ }
+ else if (name == harvestcraftFish[16]){
+ return 10;
+ }
+ else if (name == harvestcraftFish[17]){
+ return 35;
+ }
+ else if (name == harvestcraftFish[18]){
+ return 3;
+ }
+ else if (name == harvestcraftFish[19]){
+ return 20;
+ }
+ else if (name == harvestcraftFish[20]){
+ return 4;
+ }
+ else if (name == harvestcraftFish[21]){
+ return 40;
+ }
+ else if (name == harvestcraftFish[22]){
+ return 30;
+ }
+ else if (name == harvestcraftFish[23]){
+ return 5;
+ }
+ else if (name == harvestcraftFish[24]){
+ return 8;
+ }
+ else {
+ return 25;
+ }
+ }
+
+ private static void addGregtechCentrifugeRecipe(ItemStack input){
+ if (LoadedMods.Gregtech){
+ GT_Values.RA.addCentrifugeRecipe(input, null, null, FluidUtils.getFluidStack("methane", 96), null, null, null, null, null, null, null, 19*20, 5);
+ }
+ }
+
+ private static void addGregtechMaceratorRecipe(ItemStack input){
+ if (LoadedMods.Gregtech){
+ GT_ModHandler.addPulverisationRecipe(input, UtilsItems.getItemStackOfAmountFromOreDict("dustMeatRaw", 1), UtilsItems.getItemStackOfAmountFromOreDict("dustTinyBone", 1), 0);
+ }
+ }
+
+ private static void addGregtechFluidRecipe(ItemStack input){
+ if (LoadedMods.Gregtech){
+ GT_Values.RA.addFluidExtractionRecipe(input, null, FluidUtils.getFluidStack("fishoil", 4), 0, (64/4), 4); //4eu/t total eu used = 64 so time = 64/4
+ }
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/Growthcraft_Old.java b/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/Growthcraft_Old.java
new file mode 100644
index 0000000000..d7521fc579
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/growthcraft/fishtrap/Growthcraft_Old.java
@@ -0,0 +1,24 @@
+package gtPlusPlus.xmod.growthcraft.fishtrap;
+
+import growthcraft.api.fishtrap.FishTrapEntry;
+import growthcraft.api.fishtrap.FishTrapRegistry;
+import net.minecraft.item.ItemStack;
+
+public class Growthcraft_Old {
+
+ public static void addTrapJunk(ItemStack loot, int lootChance){
+ FishTrapRegistry.instance().addTrapJunk(new FishTrapEntry(loot, lootChance));
+
+ }
+
+ public static void addTrapTreasure(ItemStack loot, int lootChance){
+ FishTrapRegistry.instance().addTrapTreasure(new FishTrapEntry(loot, lootChance));
+
+ }
+
+ public static void addTrapFish(ItemStack loot, int lootChance){
+ FishTrapRegistry.instance().addTrapFish(new FishTrapEntry(loot, lootChance));
+
+ }
+
+}