| package li.cil.occ; |
| |
| import cpw.mods.fml.common.Mod; |
| import cpw.mods.fml.common.event.FMLInitializationEvent; |
| import cpw.mods.fml.common.event.FMLPreInitializationEvent; |
| import li.cil.occ.mods.Registry; |
| import li.cil.occ.mods.appeng.ModAppEng; |
| import li.cil.occ.mods.buildcraft.ModBuildCraft; |
| import li.cil.occ.mods.computercraft.ModComputerCraft; |
| import li.cil.occ.mods.enderstorage.ModEnderStorage; |
| import li.cil.occ.mods.forestry.ModForestry; |
| import li.cil.occ.mods.ic2.ModIndustrialCraft2; |
| import li.cil.occ.mods.mystcraft.ModMystcraft; |
| import li.cil.occ.mods.railcraft.ModRailcraft; |
| import li.cil.occ.mods.redstoneinmotion.ModRedstoneInMotion; |
| import li.cil.occ.mods.thaumcraft.ModThaumcraft; |
| import li.cil.occ.mods.thermalexpansion.ModThermalExpansion; |
| import li.cil.occ.mods.tmechworks.ModTMechworks; |
| import li.cil.occ.mods.vanilla.ModVanilla; |
| import net.minecraftforge.common.Configuration; |
| |
| import java.util.logging.Logger; |
| |
| @Mod(modid = OpenComponents.ID, name = OpenComponents.Name, version = OpenComponents.Version, useMetadata = true) |
| @NetworkMod(clientSideRequired = false, serverSideRequired = false) |
| public class OpenComponents { |
| public static final String ID = "OpenComponents"; |
| |
| public static final String Name = "OpenComponents"; |
| |
| public static final String Version = "@VERSION@"; |
| |
| @Mod.Instance |
| public static OpenComponents instance; |
| |
| public static final Logger Log = Logger.getLogger(ID); |
| |
| public static String[] modBlacklist = new String[]{ |
| ModThaumcraft.MOD_ID |
| }; |
| |
| public static String[] peripheralBlacklist = new String[]{ |
| "JAKJ.RedstoneInMotion.CarriageControllerEntity", |
| "appeng.api.me.tiles.ICellProvider", |
| "appeng.api.me.tiles.ICellProvider", |
| "appeng.me.tile.TileController", |
| "mods.railcraft.common.blocks.hidden.TileHidden", |
| "net.minecraft.tileentity.TileEntityCommandBlock" |
| }; |
| |
| public static Boolean allowItemStackInspection = false; |
| |
| @Mod.EventHandler |
| public void preInit(final FMLPreInitializationEvent e) { |
| final Configuration config = new Configuration(e.getSuggestedConfigurationFile()); |
| |
| modBlacklist = config.get("mods", "blacklist", modBlacklist, "" + |
| "A list of mods (by mod id) for which support should NOT be\n" + |
| "enabled. Use this to disable support for mods you feel should\n" + |
| "not be controllable via computers (such as magic related mods,\n" + |
| "which is why Thaumcraft is on this list by default.)"). |
| getStringList(); |
| |
| peripheralBlacklist = config.get("computercraft", "blacklist", peripheralBlacklist, "" + |
| "A list of tile entities by class name that should NOT be\n" + |
| "accessible via the Adapter block. Add blocks here that can\n" + |
| "lead to crashes or deadlocks (and report them, please!)"). |
| getStringList(); |
| |
| allowItemStackInspection = config.get("vanilla", "allowItemStackInspection", false). |
| getBoolean(false); |
| |
| config.save(); |
| } |
| |
| @Mod.EventHandler |
| public void init(final FMLInitializationEvent e) { |
| Registry.add(new ModAppEng()); |
| Registry.add(new ModBuildCraft()); |
| Registry.add(new ModEnderStorage()); |
| Registry.add(new ModForestry()); |
| Registry.add(new ModIndustrialCraft2()); |
| Registry.add(new ModMystcraft()); |
| Registry.add(new ModRailcraft()); |
| Registry.add(new ModRedstoneInMotion()); |
| Registry.add(new ModThaumcraft()); |
| Registry.add(new ModThermalExpansion()); |
| Registry.add(new ModTMechworks()); |
| Registry.add(new ModVanilla()); |
| |
| // Register the general IPeripheral driver last, if at all, to avoid it |
| // being used rather than other more concrete implementations, such as |
| // is the case in the Redstone in Motion driver (replaces 'move'). |
| Registry.add(new ModComputerCraft()); |
| } |
| } |