package mods.custom_flags; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.GameRegistry; import mods.custom_flags.blocks.BlockFlagPole; import mods.custom_flags.blocks.ItemBlockFlagPole; import mods.custom_flags.blocks.TileEntityFlagPole; import mods.custom_flags.items.FlagRecipie; import mods.custom_flags.items.ItemFlag; import mods.custom_flags.packet.CustomFlagsPacketHandeler; import mods.custom_flags.packet.FlagTileEntityDescripPacket; import mods.custom_flags.packet.UpdateHeldFlagImagePacket; import mods.custom_flags.utils.CustomFlagsGuiHandeler; import net.minecraft.block.Block; import net.minecraft.block.BlockWall; import net.minecraft.item.Item; import net.minecraft.item.ItemMultiTextureTile; import net.minecraft.item.ItemStack; import net.minecraftforge.common.Configuration; import javax.swing.*; import java.util.Locale; import static cpw.mods.fml.common.registry.GameRegistry.*; //import static cpw.mods.fml.common.Mod.*; /** * User: nerd-boy * Date: 2/08/13 * Time: 11:14 AM * * The main entry class for the Custom Flags Mod */ @Mod(modid = "custom_flags", name="Custom Flags", version = "1.3.1") @NetworkMod(packetHandler = CustomFlagsPacketHandeler.class, clientSideRequired = true, channels = { FlagTileEntityDescripPacket.channel, UpdateHeldFlagImagePacket.channel }) public class CustomFlags { @Mod.Instance("custom_flags") public static CustomFlags INSTANCE; @SidedProxy(clientSide = "mods.custom_flags.client.ClientProxy", serverSide = "mods.custom_flags.CommonProxy") public static CommonProxy PROXY; public static boolean FcLoadImages; public static int CAHCE_SIZE; public static int period; public static int flag_sections; public static int BUFFER_SIZE = 10; public static BlockFlagPole blockFlagPole; public static ItemFlag itemFlag; public static boolean DISPLAY_INSTRUCTIONS; public static Configuration config; @Mod.EventHandler public void preInit(FMLPreInitializationEvent event){ //Load Config, register blocks & Items config = new Configuration(event.getSuggestedConfigurationFile()); config.load(); CAHCE_SIZE = config.get(Configuration.CATEGORY_GENERAL, "Cache Size", 25).getInt(25); blockFlagPole = new BlockFlagPole(config.getBlock("Flag Pole Id", 2700).getInt(2700)); itemFlag = new ItemFlag(config.getItem("Flag Id", 24532).getInt()); registerBlock(blockFlagPole, "flagpole"); registerTileEntity(TileEntityFlagPole.class, "flagpole_tile"); Item.itemsList[blockFlagPole.blockID] = new ItemBlockFlagPole(blockFlagPole.blockID - 256); for(int i = 0; i < 4; i++){ GameRegistry.addRecipe(new ItemStack(Item.itemsList[blockFlagPole.blockID], 4, i), new Object[]{ "W", "W", "W", Character.valueOf('W'), new ItemStack(Block.wood, 1, i) }); } GameRegistry.addRecipe(new ItemStack(Item.itemsList[blockFlagPole.blockID], 4, 4), new Object[]{ "I", "I", "I", Character.valueOf('I'), Item.ingotIron }); period = ((10-config.get(Configuration.CATEGORY_GENERAL, "Flag Speed", 3).getInt(3)) * 100) + 250; period = Math.max(period, 250); period = Math.min(period, 1250); if(config.get(Configuration.CATEGORY_GENERAL, "Use System L&F", true).getBoolean(true)){ try { // Set System L&F UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName()); } catch (Exception e) {e.printStackTrace();} } FcLoadImages = config.get(Configuration.CATEGORY_GENERAL, "Load Images in FileChooser", true).getBoolean(true); flag_sections = config.get(Configuration.CATEGORY_GENERAL, "Animation Detail Level", 16).getInt(16); flag_sections = Math.max(0, flag_sections); DISPLAY_INSTRUCTIONS = config.get(Configuration.CATEGORY_GENERAL, "Display Instruction Message", true).getBoolean(true); addRecipe(new FlagRecipie()); if(config.hasChanged()){ config.save(); } } @Mod.EventHandler public void init(FMLServerStartingEvent event){ event.registerServerCommand(new GiveInstructionsCommand()); } @Mod.EventHandler public void postInit(FMLPostInitializationEvent event){ PROXY.registerRenderers(); NetworkRegistry.instance().registerGuiHandler(this, new CustomFlagsGuiHandeler()); } }