View difference between Paste ID: GTyj8A7G and keuuCmQF
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
}