SHOW:
|
|
- or go back to the newest paste.
| 1 | package Vanityblocks; | |
| 2 | ||
| 3 | import net.minecraft.block.Block; | |
| 4 | import net.minecraft.item.Item; | |
| 5 | import net.minecraft.item.ItemStack; | |
| 6 | import net.minecraftforge.common.Configuration; | |
| 7 | import net.minecraftforge.oredict.OreDictionary; | |
| 8 | import net.minecraftforge.oredict.ShapedOreRecipe; | |
| 9 | import cpw.mods.fml.common.Mod; | |
| 10 | import cpw.mods.fml.common.Mod.Init; | |
| 11 | import cpw.mods.fml.common.Mod.Instance; | |
| 12 | import cpw.mods.fml.common.Mod.PostInit; | |
| 13 | import cpw.mods.fml.common.Mod.PreInit; | |
| 14 | import cpw.mods.fml.common.SidedProxy; | |
| 15 | import cpw.mods.fml.common.event.FMLInitializationEvent; | |
| 16 | import cpw.mods.fml.common.event.FMLPostInitializationEvent; | |
| 17 | import cpw.mods.fml.common.event.FMLPreInitializationEvent; | |
| 18 | import cpw.mods.fml.common.network.NetworkMod; | |
| 19 | import cpw.mods.fml.common.registry.GameRegistry; | |
| 20 | import cpw.mods.fml.common.registry.LanguageRegistry; | |
| 21 | ||
| 22 | @Mod(modid="Vanityblocks", name="Anarchys Vanity Blocks", version= "0.0.1") | |
| 23 | @NetworkMod(clientSideRequired=true, serverSideRequired=false) | |
| 24 | ||
| 25 | /* | |
| 26 | TO DO | |
| 27 | add steel stuff | |
| 28 | */ | |
| 29 | ||
| 30 | ||
| 31 | public class Vanityblocks {
| |
| 32 | ||
| 33 | @Instance("Vanityblocks")
| |
| 34 | public static Vanityblocks instance; | |
| 35 | ||
| 36 | @SidedProxy(clientSide = "Vanityblocks.ProxyClient", serverSide = "Vanityblocks.Proxy") | |
| 37 | public static Proxy proxy; | |
| 38 | public static int lavalampconfig; | |
| 39 | public static int redstoneblockconfig; | |
| 40 | public static int coalblockconfig; | |
| 41 | public static int charcoalblockconfig; | |
| 42 | public static int enderpearlblockconfig; | |
| 43 | public static int tinblockconfig; | |
| 44 | public static int copperblockconfig; | |
| 45 | public static int silverblockconfig; | |
| 46 | public static int leadblockconfig; | |
| 47 | public static int nikoliteblockconfig; | |
| 48 | public static int slimeblockconfig; | |
| 49 | ||
| 50 | public static Block lavalamp; | |
| 51 | public static Block redstoneblock; | |
| 52 | public static Block coalblock; | |
| 53 | public static Block charcoalblock; | |
| 54 | public static Block enderpearlblock; | |
| 55 | public static Block tinblock; | |
| 56 | public static Block copperblock; | |
| 57 | public static Block silverblock; | |
| 58 | public static Block leadblock; | |
| 59 | public static Block nikoliteblock; | |
| 60 | public static Block slimeblock; | |
| 61 | public static boolean Configflags; | |
| 62 | ||
| 63 | ||
| 64 | // public static Logger log = Logger.getLogger("Vanityblocks");
| |
| 65 | ||
| 66 | @PreInit | |
| 67 | public void preInit(FMLPreInitializationEvent event) {
| |
| 68 | // nothing required here | |
| 69 | Configuration config = new Configuration(event.getSuggestedConfigurationFile()); | |
| 70 | ||
| 71 | config.load(); | |
| 72 | ||
| 73 | lavalampconfig = config.getBlock("LavaLamp", 3000).getInt();
| |
| 74 | redstoneblockconfig = config.getBlock("Redstone Block", 3001).getInt();
| |
| 75 | coalblockconfig = config.getBlock("Coal Block", 3002).getInt();
| |
| 76 | charcoalblockconfig = config.getBlock("Charcoal Block",3003).getInt();
| |
| 77 | enderpearlblockconfig = config.getBlock("Ender Pearl Block",3004).getInt();
| |
| 78 | tinblockconfig = config.getBlock("Tin Block",3005).getInt();
| |
| 79 | copperblockconfig = config.getBlock("Copper Block",3006).getInt();
| |
| 80 | silverblockconfig = config.getBlock("Silver Block",3007).getInt();
| |
| 81 | leadblockconfig = config.getBlock("Lead Block",3008).getInt();
| |
| 82 | nikoliteblockconfig = config.getBlock("Nikolite Block",3009).getInt();
| |
| 83 | slimeblockconfig = config.getBlock("Slime Block",3010).getInt();
| |
| 84 | // int randomItemID = config.getItem("Redstone Block", 20000).getInt();
| |
| 85 | ||
| 86 | // Since this flag is a boolean, we can read it into the variable directly from the config. | |
| 87 | Configflags = config.get(Configuration.CATEGORY_GENERAL, "SomeConfigFlag", false).getBoolean(false); | |
| 88 | ||
| 89 | config.save(); | |
| 90 | } | |
| 91 | ||
| 92 | @Init | |
| 93 | public void load(FMLInitializationEvent event) {
| |
| 94 | // proxy.registerRenderInformation(); | |
| 95 | ||
| 96 | - | if (OreDictionary.getOres("lavalamp").isEmpty())
|
| 96 | + | lavalamp = new Blocklavalamp(lavalampconfig,0).setBlockName("lavalamp");
|
| 97 | GameRegistry.registerBlock(lavalamp, "Vanitysanarchy_lavalamp"); | |
| 98 | - | lavalamp = new Blocklavalamp(lavalampconfig,0).setBlockName("lavalamp");
|
| 98 | + | LanguageRegistry.addName(lavalamp, "Lava Lamp"); |
| 99 | - | GameRegistry.registerBlock(lavalamp, "Vanitysanarchy_lavalamp"); |
| 99 | + | |
| 100 | - | LanguageRegistry.addName(lavalamp, "Lava Lamp"); |
| 100 | + | |
| 101 | ItemStack blRedstone, blCoal, blCharcoal, blEnderpearl, blTin, blCopper, blSilver, blLead, blNikolite, blSlime; | |
| 102 | - | else lavalamp = OreDictionary.getOres("lavalamp").get(0);
|
| 102 | + | |
| 103 | // Vanilla | |
| 104 | ||
| 105 | if (OreDictionary.getOres("blockRedstone").isEmpty())
| |
| 106 | {
| |
| 107 | redstoneblock = new Blockredstone(redstoneblockconfig,1).setBlockName("blockRedstone");
| |
| 108 | GameRegistry.registerBlock(redstoneblock, "Vanitysanarchy_blockRedstone"); | |
| 109 | LanguageRegistry.addName(redstoneblock, "Redstone Block"); | |
| 110 | - | else redstoneblock = OreDictionary.getOres("blockRedstone").get(0);
|
| 110 | + | blRedstone = new ItemStack(redstoneblock); |
| 111 | } | |
| 112 | else blRedstone = OreDictionary.getOres("blockRedstone").get(0);
| |
| 113 | ||
| 114 | if (OreDictionary.getOres("blockCoal").isEmpty())
| |
| 115 | {
| |
| 116 | coalblock = new Blockcoal(coalblockconfig,2).setBlockName("blockCoal");
| |
| 117 | GameRegistry.registerBlock(coalblock, "blockCoal"); | |
| 118 | - | else coalblock = OreDictionary.getOres("blockCoal").get(0);
|
| 118 | + | |
| 119 | blCoal = new ItemStack(coalblock); | |
| 120 | } | |
| 121 | else blCoal = OreDictionary.getOres("blockCoal").get(0);
| |
| 122 | ||
| 123 | if (OreDictionary.getOres("blockCharcoal").isEmpty())
| |
| 124 | {
| |
| 125 | charcoalblock = new Blockcharcoal(charcoalblockconfig,3).setBlockName("blockCharcoal");
| |
| 126 | - | else charcoalblock = OreDictionary.getOres("blockCharcoal").get(0);
|
| 126 | + | |
| 127 | LanguageRegistry.addName(charcoalblock, "Charcoal Block"); | |
| 128 | } | |
| 129 | else blCharcoal = OreDictionary.getOres("blockCharcoal").get(0);
| |
| 130 | ||
| 131 | if (OreDictionary.getOres("blockEnderpearl").isEmpty())
| |
| 132 | {
| |
| 133 | enderpearlblock = new Blockenderpearl(enderpearlblockconfig,4).setBlockName("blockEnderpearl");
| |
| 134 | - | else enderpearlblock = OreDictionary.getOres("blockEnderpearl").get(0);
|
| 134 | + | |
| 135 | LanguageRegistry.addName(enderpearlblock, "Enderpearl Block"); | |
| 136 | - | if (OreDictionary.getOres("blockTin").isEmpty())
|
| 136 | + | |
| 137 | else blEnderpearl = OreDictionary.getOres("blockEnderpearl").get(0);
| |
| 138 | - | tinblock = new Blocktin(tinblockconfig,5).setBlockName("blockTin");
|
| 138 | + | |
| 139 | - | GameRegistry.registerBlock(tinblock, "blockTin"); |
| 139 | + | // Mod Items |
| 140 | - | LanguageRegistry.addName(tinblock, "Tin Block"); |
| 140 | + | |
| 141 | if (!OreDictionary.getOres("ingotTin").isEmpty())
| |
| 142 | - | else tinblock = OreDictionary.getOres("blockTin").get(0);
|
| 142 | + | |
| 143 | if (OreDictionary.getOres("blockTin").isEmpty())
| |
| 144 | {
| |
| 145 | tinblock = new Blocktin(tinblockconfig,5).setBlockName("blockTin");
| |
| 146 | GameRegistry.registerBlock(tinblock, "blockTin"); | |
| 147 | LanguageRegistry.addName(tinblock, "Tin Block"); | |
| 148 | blTin = new ItemStack(tinblock); | |
| 149 | } | |
| 150 | else { blTin = OreDictionary.getOres("blockTin").get(0); }
| |
| 151 | ||
| 152 | GameRegistry.addRecipe(new ShapedOreRecipe(blTin, new Object [] {"xxx", "xxx", "xxx", 'x', "ingotTin"}));
| |
| 153 | tiningot = OreDictionary.getOres("ingotTin").get(0);
| |
| 154 | ItemStack result = tiningot.copy(); | |
| 155 | result.stackSize = 9; | |
| 156 | GameRegistry.addShapelessRecipe(result, blTin); | |
| 157 | } | |
| 158 | ||
| 159 | if (OreDictionary.getOres("blockCopper").isEmpty())
| |
| 160 | {
| |
| 161 | copperblock = new Blockcopper(copperblockconfig,6).setBlockName("blockCopper");
| |
| 162 | GameRegistry.registerBlock(copperblock, "blockCopper"); | |
| 163 | LanguageRegistry.addName(copperblock, "Copper Block"); | |
| 164 | } | |
| 165 | else copperblock = OreDictionary.getOres("blockCopper").get(0);
| |
| 166 | ||
| 167 | if (OreDictionary.getOres("blockSilver").isEmpty())
| |
| 168 | {
| |
| 169 | silverblock = new Blocksilver(silverblockconfig,7).setBlockName("blockSilver");
| |
| 170 | GameRegistry.registerBlock(silverblock, "blockSilver"); | |
| 171 | LanguageRegistry.addName(silverblock, "Silver Block"); | |
| 172 | } | |
| 173 | else silverblock = OreDictionary.getOres("blockSilver").get(0);
| |
| 174 | ||
| 175 | if (OreDictionary.getOres("blockLead").isEmpty())
| |
| 176 | {
| |
| 177 | leadblock = new Blocklead(leadblockconfig,8).setBlockName("blockLead");
| |
| 178 | GameRegistry.registerBlock(leadblock, "blockLead"); | |
| 179 | LanguageRegistry.addName(leadblock, "Lead Block"); | |
| 180 | } | |
| 181 | else leadblock = OreDictionary.getOres("blockLead").get(0);
| |
| 182 | ||
| 183 | if (OreDictionary.getOres("blockNikolite").isEmpty())
| |
| 184 | {
| |
| 185 | nikoliteblock = new Blocknikolite(nikoliteblockconfig,9).setBlockName("blocknikolite");
| |
| 186 | GameRegistry.registerBlock(nikoliteblock, "blockNikolite"); | |
| 187 | LanguageRegistry.addName(nikoliteblock, "Nikolite Block"); | |
| 188 | } | |
| 189 | else nikoliteblock = OreDictionary.getOres("blockNikolite").get(0);
| |
| 190 | ||
| 191 | if (OreDictionary.getOres("blockSlime").isEmpty())
| |
| 192 | {
| |
| 193 | slimeblock = new Blockslime(slimeblockconfig,10).setBlockName("blockSlime");
| |
| 194 | GameRegistry.registerBlock(slimeblock, "blockSlime"); | |
| 195 | LanguageRegistry.addName(slimeblock, "Slime Block"); | |
| 196 | } | |
| 197 | else slimeblock = OreDictionary.getOres("blockSlime").get(0);
| |
| 198 | ||
| 199 | ItemStack glassstack = new ItemStack(Block.glass); | |
| 200 | - | tiningot = OreDictionary.getOres("ingotTin").get(0);
|
| 200 | + | |
| 201 | ItemStack string = new ItemStack(Item.silk); | |
| 202 | ItemStack redstone = new ItemStack(Item.redstone); | |
| 203 | ItemStack coal = new ItemStack(Item.coal); | |
| 204 | ItemStack charcoal = new ItemStack(Item.coal,1,1); | |
| 205 | ItemStack enderpearl = new ItemStack(Item.enderPearl); | |
| 206 | ItemStack slime = new ItemStack(Item.slimeBall); | |
| 207 | ItemStack skeleskull = new ItemStack(Item.skull); | |
| 208 | ItemStack zombieskull = new ItemStack(Item.skull,1,2); | |
| 209 | ItemStack stevehead = new ItemStack(Item.skull,1,3); | |
| 210 | ItemStack creeperhead = new ItemStack(Item.skull,1,4); | |
| 211 | ||
| 212 | ||
| 213 | if (!OreDictionary.getOres("ingotTin").isEmpty())
| |
| 214 | ||
| 215 | if (!OreDictionary.getOres("ingotCopper").isEmpty())
| |
| 216 | copperingot = OreDictionary.getOres("ingotCopper").get(0);
| |
| 217 | if (!OreDictionary.getOres("ingotSilver").isEmpty())
| |
| 218 | silveringot = OreDictionary.getOres("ingotSilver").get(0);
| |
| 219 | if (!OreDictionary.getOres("ingotLead").isEmpty())
| |
| 220 | leadingot = OreDictionary.getOres("ingotLead").get(0);
| |
| 221 | if (!OreDictionary.getOres("dustNikolite").isEmpty())
| |
| 222 | nikolite = OreDictionary.getOres("dustNikolite").get(0);
| |
| 223 | // Copy the above for: | |
| 224 | // Copper | |
| 225 | // Silver | |
| 226 | // Lead | |
| 227 | // dustNikolite | |
| 228 | ||
| 229 | GameRegistry.addRecipe(new ItemStack(lavalamp), new Object [] {" x ", "xyx", " x ", 'x', glassstack, 'y', lavabukkit});
| |
| 230 | // **** Put this in a different forgemod. Use the mcmod.info to declare two separate mods. *** | |
| 231 | //GameRegistry.addRecipe(new ItemStack(Block.web), new Object [] {"x x", " x ", "x x", 'x', string});
| |
| 232 | //GameRegistry.addRecipe(skeleskull, new Object [] {"xxx", "xxx", "xxx", 'x', Item.bone});
| |
| 233 | GameRegistry.addRecipe(new ItemStack(redstoneblock), new Object [] {"xxx", "xxx", "xxx", 'x', redstone});
| |
| 234 | ||
| 235 | ||
| 236 | /* | |
| 237 | Storage Block Crafting | |
| 238 | */ | |
| 239 | GameRegistry.addRecipe(new ItemStack(redstoneblock), new Object [] {"xxx", "xxx", "xxx", 'x', redstone});
| |
| 240 | GameRegistry.addRecipe(new ItemStack(coalblock), new Object [] {"xxx", "xxx", "xxx", 'x', coal});
| |
| 241 | GameRegistry.addRecipe(new ItemStack(charcoalblock), new Object [] {"xxx", "xxx", "xxx", 'x', charcoal});
| |
| 242 | GameRegistry.addRecipe(new ItemStack(enderpearlblock), new Object [] {"xxx", "xxx", "xxx", 'x', enderpearl});
| |
| 243 | GameRegistry.addRecipe(new ShapedOreRecipe(tinblock, new Object [] {"xxx", "xxx", "xxx", 'x', "ingotTin"}));
| |
| 244 | GameRegistry.addRecipe(new ShapedOreRecipe(copperblock, new Object [] {"xxx", "xxx", "xxx", 'x', "ingotCopper"}));
| |
| 245 | GameRegistry.addRecipe(new ShapedOreRecipe(silverblock, new Object [] {"xxx", "xxx", "xxx", 'x', "ingotSilver"}));
| |
| 246 | GameRegistry.addRecipe(new ShapedOreRecipe(leadblock, new Object [] {"xxx", "xxx", "xxx", 'x', "ingotLead"}));
| |
| 247 | GameRegistry.addRecipe(new ShapedOreRecipe(nikoliteblock, new Object [] {"xxx", "xxx", "xxx", 'x', "dustNikolite"}));
| |
| 248 | GameRegistry.addRecipe(new ItemStack(slimeblock), new Object [] {"xxx", "xxx", "xxx", 'x', slime});
| |
| 249 | ||
| 250 | /* | |
| 251 | Storage Block Uncrafting | |
| 252 | */ | |
| 253 | GameRegistry.addShapelessRecipe(new ItemStack(Item.redstone, 9), new ItemStack(redstoneblock,1)); | |
| 254 | GameRegistry.addShapelessRecipe(new ItemStack(Item.coal, 9), new ItemStack(coalblock,1)); | |
| 255 | GameRegistry.addShapelessRecipe(new ItemStack(Item.coal, 9,1), new ItemStack(charcoalblock,1)); | |
| 256 | GameRegistry.addShapelessRecipe(new ItemStack(Item.enderPearl, 9), new ItemStack(enderpearlblock,1)); | |
| 257 | GameRegistry.addShapelessRecipe(new ItemStack(tiningot, 9), new ItemStack(tinblock, 1)); | |
| 258 | GameRegistry.addShapelessRecipe(new ItemStack(copperingot, 9), new ItemStack(copperblock, 1)); | |
| 259 | GameRegistry.addShapelessRecipe(new ItemStack(silveringot, 9), new ItemStack(silverblock, 1)); | |
| 260 | GameRegistry.addShapelessRecipe(new ItemStack(leadingot, 9), new ItemStack(leadblock, 1)); | |
| 261 | GameRegistry.addShapelessRecipe(new ItemStack(nikolite, 9), new ItemStack(nikoliteblock, 1)); | |
| 262 | GameRegistry.addShapelessRecipe(new ItemStack(slime, 9), new ItemStack(slimeblock,1)); | |
| 263 | } | |
| 264 | ||
| 265 | @PostInit | |
| 266 | public void postInit(FMLPostInitializationEvent event) {
| |
| 267 | // If you want, you can move everything down here. | |
| 268 | // Alternately, you can declare in the mcmod.info that you | |
| 269 | // must be loaded after IC2, Redpower, Buildcraft, etc, etc, etc. | |
| 270 | // Either way will work. | |
| 271 | } | |
| 272 | } |