diff options
Diffstat (limited to 'src/main/java/vswe/stevescarts/ModuleData/GppModuleData.java')
-rw-r--r-- | src/main/java/vswe/stevescarts/ModuleData/GppModuleData.java | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/main/java/vswe/stevescarts/ModuleData/GppModuleData.java b/src/main/java/vswe/stevescarts/ModuleData/GppModuleData.java new file mode 100644 index 0000000000..eb8a8f319f --- /dev/null +++ b/src/main/java/vswe/stevescarts/ModuleData/GppModuleData.java @@ -0,0 +1,49 @@ +package vswe.stevescarts.ModuleData; + +import java.util.ArrayList; +import java.util.HashMap; + +import gtPlusPlus.core.util.reflect.ReflectionUtils; +import gtPlusPlus.xmod.sc2.modules.ModuleExoticSeeds; +import net.minecraft.init.Items; +import vswe.stevescarts.Helpers.ComponentTypes; +import vswe.stevescarts.Items.ModItems; +import vswe.stevescarts.Modules.ModuleBase; + +public class GppModuleData extends ModuleData { + + static byte ID_ExoticSeedAddon = 105; + public static ArrayList<ModuleData> moduleListCustom = new ArrayList<>(); + + public GppModuleData(int id, String name, Class<? extends ModuleBase> moduleClass, int modularCost) { + super(id, name, moduleClass, modularCost); + } + + @SuppressWarnings("unchecked") + public static void loadGpp() { + try { + HashMap<Byte, ModuleData> moduleList = + (HashMap<Byte, ModuleData>) (ReflectionUtils.getField(ModuleData.class, "moduleList").get(ModuleData.class)); + ModuleData netherWartModule = moduleList.get((byte)58); + + ModuleDataGroup farmerGroup = netherWartModule.getRequirement().get(0); + + ModuleData exoticSeedModule = + new ModuleData(ID_ExoticSeedAddon, "Crop: Exotic Seeds", ModuleExoticSeeds.class, 20).addRequirement(farmerGroup) + .addRecipe(new Object[][]{{Items.wheat_seeds}, + {ComponentTypes.EMPTY_DISK.getItemStack()} + }); + + moduleListCustom.add(exoticSeedModule); + + HashMap<Byte, Boolean> validModules = + (HashMap<Byte, Boolean>) (ReflectionUtils.getField(ModItems.class, "validModules").get(ModItems.class)); + + validModules.put(ID_ExoticSeedAddon, true); + + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + +} |