mrkirby153

Untitled

Dec 10th, 2012
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 11.60 KB | None | 0 0
  1. package mrkirby153.periodicraft;
  2.  
  3. import net.minecraft.src.Block;
  4. import net.minecraft.src.CreativeTabs;
  5. import net.minecraft.src.EntityPlayer;
  6. import net.minecraft.src.Item;
  7. import net.minecraft.src.ItemStack;
  8. import net.minecraft.src.World;
  9. import net.minecraftforge.common.Configuration;
  10. import net.minecraftforge.common.DungeonHooks;
  11. import net.minecraftforge.oredict.OreDictionary;
  12. import cpw.mods.fml.common.Mod;
  13. import cpw.mods.fml.common.Mod.Init;
  14. import cpw.mods.fml.common.Mod.Instance;
  15. import cpw.mods.fml.common.Mod.PreInit;
  16. import cpw.mods.fml.common.SidedProxy;
  17. import cpw.mods.fml.common.event.FMLInitializationEvent;
  18. import cpw.mods.fml.common.event.FMLPreInitializationEvent;
  19. import cpw.mods.fml.common.network.IGuiHandler;
  20. import cpw.mods.fml.common.network.NetworkMod;
  21. import cpw.mods.fml.common.network.NetworkMod.SidedPacketHandler;
  22. import cpw.mods.fml.common.network.NetworkRegistry;
  23. import cpw.mods.fml.common.registry.GameRegistry;
  24. import cpw.mods.fml.common.registry.LanguageRegistry;
  25.  
  26. @Mod(modid = "Periodicraft", name = "Periodicraft", version = "2.0a")
  27. @NetworkMod(clientSideRequired = true, serverSideRequired = false)
  28. public class periodiCraft_main implements IGuiHandler{
  29.     //91 ItemID's
  30.     public static final CreativeTabs tabPeriodicraft = new CreativeTabPeriodicraft(CreativeTabs.getNextID(), "Periodicraft");
  31.     public static final CreativeTabs tabPeriodicraft_Block = new CreativeTabPeriodicraft_Block(CreativeTabs.getNextID(), "Periodicraft_block");
  32.     @SidedProxy(clientSide = "mrkirby153.periodicraft.ClientProxy", serverSide = "mrkirby153.periodicraft.CommonProxy")
  33.     public static CommonProxy proxy;
  34.  
  35.     public int deatomizerId;
  36.     public static Item deAtomizer;
  37.     public int electronId, electron3Id, electron6Id, electron9Id, electron12Id, electron15Id;
  38.     public static Item electron, electron3, electron6, electron9, electron12, electron15;
  39.     public int nuculesID;
  40.     public static Item nucules;
  41.  
  42.     public int sonicId;
  43.     public static Item sonicScrewdriver;
  44.  
  45.     public int HydrogenID;
  46.     public static Item hydrogen;
  47.  
  48.  
  49.     public int HeliumID;
  50.     public static Item Helium;
  51.  
  52.     public int LithiumID;
  53.     public int LithiumBlockID;
  54.     public static Item Lithium;
  55.     public static Block BlockLithium;
  56.  
  57.     public int BerylliumID;
  58.     public int BerylliumBlockID;
  59.     public static Item Beryllium;
  60.     public static Block BlockBeryllium;
  61.  
  62.     public int BoronID;
  63.     public int BoronBlockID;
  64.     public static Item Boron;
  65.     public static Block BoronBlock;
  66.  
  67.     public int CarbonID;
  68.     public static Item Carbon;
  69.  
  70.     public int NitrogenId;
  71.     public static Item Nitrogen;
  72.    
  73.     public int PAMID;
  74.     public static Block pam;
  75.    
  76.     public int PADID;
  77.     public static Block pad;
  78.    
  79.     public int PAFID;
  80.     public static Block paf;
  81.  
  82.  
  83.     public static final char COLOR_CODE = '\u00A7';
  84.     @Instance("periodiCraft")
  85.     public static final periodiCraft_main instance = new periodiCraft_main();
  86.  
  87.  
  88.     @PreInit
  89.     public void preInit(FMLPreInitializationEvent event){
  90.         Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());
  91.  
  92.         try{
  93.             cfg.load();
  94.             sonicId = cfg.getItem("Sonic Screwdriver", 5991).getInt();
  95.             nuculesID = cfg.getItem("Nucules", 5998).getInt();
  96.             electronId = cfg.getItem("Electron", 5997).getInt();
  97.             electron3Id = cfg.getItem("3 Electron", 5996).getInt();
  98.             electron6Id = cfg.getItem("6 Electron", 5995).getInt();
  99.             electron9Id = cfg.getItem("9 Electron", 5994).getInt();
  100.             electron12Id = cfg.getItem("12 Electron", 5993).getInt();
  101.             electron15Id = cfg.getItem("15 Electron", 5992).getInt();
  102.  
  103.             deatomizerId = cfg.getItem("De atomizer", 5991).getInt();
  104.             HydrogenID = cfg.getItem("Hydrogen", 6000).getInt();
  105.             HeliumID = cfg.getItem("Helium", 6001).getInt();
  106.             LithiumID = cfg.getItem("Lithium", 6002).getInt();
  107.             LithiumBlockID = cfg.getBlock("Block of Lithium", 600).getInt();
  108.             BerylliumID = cfg.getItem("Beryllium", 6003).getInt();
  109.             BerylliumBlockID = cfg.getBlock("Block of Beryllium", 601).getInt();
  110.             BoronID = cfg.getItem("Boron", 6004).getInt();
  111.             BoronBlockID = cfg.getBlock("Block of boron", 602).getInt();
  112.             CarbonID = cfg.getItem("Carbon", 6005).getInt();
  113.             NitrogenId = cfg.getItem("Nitrongen", 6006).getInt();
  114.             PAMID = cfg.getBlock("PeriodiCraft Atomic Maker", 599).getInt();
  115.             PADID = cfg.getBlock("Periodicraft atomic Destroyer", 598).getInt();
  116.             PAFID =cfg.getBlock("Periodicraft atomic Fabricator", 597).getInt();
  117.         }finally{
  118.             cfg.save();
  119.         }
  120.  
  121.  
  122.     }
  123.     @Init
  124.     public void init(FMLInitializationEvent event){
  125.  
  126.  
  127.  
  128.         deAtomizer = (new ItemDeAtomizer(deatomizerId)).setIconCoord(0, 0).setItemName("DeAtomizer");
  129.         Helium = (new ItemHelium(HeliumID)).setIconCoord(2, 0).setItemName("Helium");
  130.         hydrogen = (new ItemHydrogen(HydrogenID)).setIconCoord(1, 0).setItemName("Hydrogen");
  131.         Lithium = (new ItemLithium(LithiumID)).setIconCoord(3, 0).setItemName("Lithium");
  132.         BlockLithium = (new BlockLithium(LithiumBlockID, 0)).setBlockName("BlockLithium").setHardness(0.3F).setResistance(0.3F).setStepSound(Block.soundSnowFootstep);
  133.         Beryllium = (new ItemBeryllium(BerylliumID)).setIconCoord(4, 0).setItemName("Beryllium");
  134.         BlockBeryllium = (new BlockBeryllium(BerylliumBlockID, 1)).setBlockName("BlockBeryllium").setHardness(0.3F).setResistance(0.3F).setStepSound(Block.soundSnowFootstep);
  135.         Boron = (new ItemBoron(BoronID)).setIconCoord(5, 0).setItemName("BlockLithium");
  136.         BoronBlock = (new BlockBoron(BoronBlockID, 2)).setBlockName("BoronBlock").setHardness(1F).setResistance(0.3F).setStepSound(Block.soundAnvilFootstep);
  137.  
  138.         electron = (new ItemElectron(electronId)).setIconCoord(0, 5).setItemName("Electron");
  139.         electron3 = (new ItemElectron(electron3Id)).setIconCoord(1, 5).setItemName("Electron3");
  140.         electron6 = (new ItemElectron(electron6Id)).setIconCoord(2, 5).setItemName("Electron6");
  141.         electron9 = (new ItemElectron(electron9Id)).setIconCoord(3, 5).setItemName("Electron9");
  142.         electron12 = (new ItemElectron(electron12Id)).setIconCoord(4, 5).setItemName("Electron12");
  143.         electron15 = (new ItemElectron(electron15Id)).setIconCoord(5, 5).setItemName("Electron15");
  144.         sonicScrewdriver = (new ItemSonicScrew(sonicId)).setIconCoord(6, 5).setItemName("Sonic");
  145.         Carbon = (new ItemCarbon(CarbonID)).setIconCoord(6, 0).setItemName("Carbon");
  146.         nucules = (new ItemNucules(nuculesID)).setIconCoord(7, 5).setItemName("Nucules");
  147.         Nitrogen = (new ItemNitrogen(NitrogenId)).setIconCoord(7, 0).setItemName("Nitrogen");
  148.        
  149.         pam = (new BlockPam(PAMID, 50)).setBlockName("PAM");
  150.         pad = (new BlockPad(PADID, 50)).setBlockName("PAD");
  151.  
  152.     //  deAtomizer.setContainerItem(deAtomizer);
  153.         /*
  154.          *GameRegistry stuff
  155.          */
  156.         GameRegistry.registerFuelHandler(new PeriodiCraft_fuel());
  157.         GameRegistry.registerWorldGenerator(new PeriodiCraft_worldgen());
  158.         GameRegistry.registerTileEntity(TileEntityPAM.class, "pam");
  159.         GameRegistry.registerTileEntity(TileEntityPAD.class, "pad");
  160.         proxy.registerRenderInformation();
  161.  
  162.  
  163.         addNames();
  164.         addSmelting();
  165.         addCrafting();
  166.         registerOres();
  167.         CraftingRecipies.init();
  168.         addFuel(Carbon.shiftedIndex, 0);
  169.         addFuel(hydrogen.shiftedIndex, 0);
  170.         /*
  171.          * Dungen Loot
  172.          */
  173.         NetworkRegistry.instance().registerGuiHandler(this, this);
  174.         DungeonHooks.addDungeonLoot(new ItemStack(electron), 1);
  175.         DungeonHooks.addDungeonLoot(new ItemStack(sonicScrewdriver), 1, 1, 50);
  176.     }
  177.     /**
  178.      * Add Names to Specific items.
  179.      * Author: mrkirby153
  180.      */
  181.     public void addNames(){
  182.         LanguageRegistry.addName(hydrogen, "Bottle of Hydrogen");
  183.         LanguageRegistry.addName(Helium, "Bottle of Helium");
  184.         LanguageRegistry.addName(Lithium, "Chunk of Lithium");
  185.         LanguageRegistry.addName(BlockLithium, "Block of Lithium");
  186.         LanguageRegistry.addName(Beryllium, "Chunk of Beryllium");
  187.         LanguageRegistry.addName(BlockBeryllium, "Block of Beryllium");
  188.         LanguageRegistry.addName(deAtomizer, "De-Atomizer");
  189.         LanguageRegistry.addName(electron, "Electron");
  190.         LanguageRegistry.addName(nucules, "Atom Nucules");
  191.         LanguageRegistry.addName(electron3, "Clump of 3 Electrons");
  192.         LanguageRegistry.addName(electron6, "Clump of 6 Electrons");
  193.         LanguageRegistry.addName(electron9, "Clump of 9 Electrons");
  194.         LanguageRegistry.addName(electron12, "Clump of 12 Electrons");
  195.         LanguageRegistry.addName(electron15, "Clump of 15 Electrons");
  196.         LanguageRegistry.addName(sonicScrewdriver, COLOR_CODE+"eREAL Sonic Screwdriver");
  197.         LanguageRegistry.addName(Carbon, "Carbon");
  198.         LanguageRegistry.addName(Nitrogen, "Bottle of Nitrogen");
  199.         LanguageRegistry.addName(Boron, "Chunk of Boron");
  200.         LanguageRegistry.addName(BoronBlock, "Block of Boron");
  201.         LanguageRegistry.addName(Nitrogen, "Bottle of Nitrogen");
  202.        
  203.         LanguageRegistry.addName(pam, "Perioidcraft Atomic Maker");
  204.         LanguageRegistry.addName(pad, "Periodicraft Atomic Destroyer");
  205.  
  206.  
  207.  
  208.         LanguageRegistry.instance().addStringLocalization("itemGroup.Periodicraft", "Periodicraft - Items");
  209.         LanguageRegistry.instance().addStringLocalization("itemGroup.Periodicraft_block", "Periodicraft - Blocks");
  210.  
  211.     }
  212.     /**
  213.      * Adds smelting recipies
  214.      * Author: mrkirby153
  215.      */
  216.  
  217.     public void addSmelting(){
  218.  
  219.     }
  220.     /**
  221.      * Add Crafting recipies
  222.      * Author: mrkirby153
  223.      */
  224.     public void addCrafting(){
  225.         GameRegistry.addRecipe(new ItemStack(BlockBeryllium), new Object [] {"XX", "XX", 'X', Beryllium});
  226.         GameRegistry.addRecipe(new ItemStack(BlockLithium), new Object [] {"XX", "XX", 'X', Lithium});
  227.         GameRegistry.addShapelessRecipe(new ItemStack(electron3, 1), new Object[] {electron, electron, electron});
  228.         GameRegistry.addShapelessRecipe(new ItemStack(electron6), new Object[]{electron3, electron3});
  229.         GameRegistry.addShapelessRecipe(new ItemStack(electron9), new Object[] {electron3, electron3, electron3});
  230.         GameRegistry.addShapelessRecipe(new ItemStack(electron12), new Object[]{electron6, electron6});
  231.         GameRegistry.addShapelessRecipe(new ItemStack(electron15), new Object[] {electron6, electron6, electron3});
  232.         GameRegistry.addRecipe(new ItemStack(nucules), new Object[]{"XXX", "XYX","XXX", 'Y', Item.ingotIron, 'X', Block.stone});
  233.         GameRegistry.addRecipe(new ItemStack(BoronBlock), new Object[] {"XX", "XX", 'X', Boron});
  234.         GameRegistry.addRecipe(new ItemStack(sonicScrewdriver), new Object[]{"  X", " Y ", "Y  ", 'X', Item.diamond, 'Y', Item.ingotIron});
  235.         GameRegistry.addRecipe(new ItemStack(pam), new Object[]{"XXX", "XXX", "XXX", 'X', Block.blockSteel});
  236.         GameRegistry.addShapelessRecipe(new ItemStack(pad), new Object[]{Block.blockSteel, deAtomizer});
  237.     }
  238.     /**
  239.      * Used to add ores into the ore dictionarty.
  240.      * Example: CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(Item.bucketEmpty, true, new Object[]{"FF", Character.valueOf('F'), "ingotCopper"}));
  241.      */
  242.     public void registerOres(){
  243.         OreDictionary.registerOre("hydrogen", new ItemStack(hydrogen));
  244.         OreDictionary.registerOre("helium", new ItemStack(Helium));
  245.         OreDictionary.registerOre("lithium", new ItemStack(Lithium));
  246.         OreDictionary.registerOre("beryllium", new ItemStack(Beryllium));
  247.         OreDictionary.registerOre("boron", new ItemStack(Boron));
  248.         OreDictionary.registerOre("carbon", new ItemStack(Carbon));
  249.         OreDictionary.registerOre("nitrogen", new ItemStack(Nitrogen));
  250.     }
  251.  
  252.  
  253.     public int addFuel(int id, int metadata)
  254.     {
  255.  
  256.         if(id == CarbonID){
  257.             return 1600;
  258.         }else if(id == HydrogenID){
  259.             return 200000;
  260.         }else{
  261.             return 0;
  262.         }
  263.  
  264.     }
  265.     @Override
  266.     public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
  267.         switch(ID){
  268.         case 0: return new ContainerPam(null, world, x, y, z);
  269.         default: return null;
  270.         }
  271.     }
  272.     @Override
  273.     public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
  274.         switch(ID){
  275.         case 0: return  new GuiPam(null, world, z, z, z);
  276.         default: return null;
  277.         }
  278.     }
  279.  
  280. }
Advertisement
Add Comment
Please, Sign In to add comment