mirror of
https://github.com/GTNewHorizons/ModTweaker.git
synced 2026-11-13 00:37:27 +00:00
fix: add liquid to Forestry Carpenters internal tank filter, so new liquids are accepted
this time via relfection and hopefully working modified: src/main/java/modtweaker/mods/forestry/ForestryHelper.java modified: src/main/java/modtweaker/mods/forestry/handlers/Carpenter.java
This commit is contained in:
1 parent
b9805b2209
commit
37e7395682
2 files changed
+31
-1
No files matched your search
@@ -1,5 +1,29 @@
|
||||
package modtweaker.mods.forestry;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.HashSet;
|
||||
|
||||
import net.minecraftforge.fluids.Fluid;
|
||||
|
||||
public class ForestryHelper {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static void addCarpenterRecipeFluids(Fluid newFluid) {
|
||||
Class clazz;
|
||||
try {
|
||||
clazz = Class.forName("forestry.factory.gadgets.MachineCarpenter$RecipeManager");
|
||||
Field field_recipeFluids = clazz.getDeclaredField("recipeFluids");
|
||||
field_recipeFluids.setAccessible(true);
|
||||
|
||||
HashSet<Fluid> recipeFluids = (HashSet<Fluid>) field_recipeFluids.get(clazz);
|
||||
recipeFluids.add(newFluid);
|
||||
|
||||
} catch (ClassNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
} catch (NoSuchFieldException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -28,6 +28,8 @@ import forestry.factory.gadgets.MachineFermenter;
|
||||
import forestry.factory.gadgets.MachineCarpenter.Recipe;
|
||||
import forestry.factory.gadgets.MachineCarpenter.RecipeManager;
|
||||
|
||||
import modtweaker.mods.forestry.ForestryHelper;
|
||||
|
||||
@ZenClass("mods.forestry.Carpenter")
|
||||
public class Carpenter {
|
||||
|
||||
@@ -52,9 +54,13 @@ public class Carpenter {
|
||||
}
|
||||
|
||||
private static class Add extends BaseListAddition {
|
||||
|
||||
public Add(Recipe recipe) {
|
||||
super("Forestry Carpenter", MachineCarpenter.RecipeManager.recipes, recipe);
|
||||
RecipeManager.recipeFluids.add(recipe.getLiquid().getFluid());
|
||||
|
||||
//The Carpenter has a list of valid Fluids, access them via Relfection because of private
|
||||
if (recipe.getLiquid() != null)
|
||||
ForestryHelper.addCarpenterRecipeFluids(recipe.getLiquid().getFluid());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user