aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java
blob: 30af8908dff430c7571c6f85321307b281c5dc1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
package gtPlusPlus.xmod.gregtech.common.blocks.textures;

import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;

import gregtech.api.GregTech_API;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.interfaces.ITexture;
import gregtech.api.objects.GT_RenderedTexture;

import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.core.lib.CORE;

public class TexturesGtBlock {

	private static AutoMap<Runnable> mCustomiconMap = new AutoMap<Runnable>();
	
	static {
		
	}

	//public static ITexture[] CASING_BLOCKS_GTPP = new ITexture[256];

	/*
	 * Handles Custom Textures.
	 */

	public static class CustomIcon implements IIconContainer, Runnable {
		protected IIcon mIcon;
		protected String mIconName;

		public CustomIcon(final String aIconName) {
			this.mIconName = aIconName;
			mCustomiconMap.put(this);
			Logger.WARNING("Constructing a Custom Texture. " + this.mIconName);
			GregTech_API.sGTBlockIconload.add(this);
		}

		@Override
		public IIcon getIcon() {
			return this.mIcon;
		}

		@Override
		public IIcon getOverlayIcon() {
			return null;
		}

		@Override
		public void run() {
			this.mIcon = GregTech_API.sBlockIcons.registerIcon(CORE.MODID + ":"  + this.mIconName);
			Logger.WARNING("FIND ME _ Processing texture: "+this.getTextureFile().getResourcePath());
		}

		@Override
		public ResourceLocation getTextureFile() {
			return TextureMap.locationBlocksTexture;
		}
	}

	
	public static class VanillaIcon implements IIconContainer, Runnable {
		protected IIcon mIcon;
		protected String mIconName;

		public VanillaIcon(final String aIconName) {
			this.mIconName = aIconName;
			mCustomiconMap.put(this);
			Logger.WARNING("Constructing a Custom Texture. " + this.mIconName);
			GregTech_API.sGTBlockIconload.add(this);
		}

		@Override
		public IIcon getIcon() {
			return this.mIcon;
		}

		@Override
		public IIcon getOverlayIcon() {
			return null;
		}

		@Override
		public void run() {
			this.mIcon = GregTech_API.sBlockIcons.registerIcon("minecraft" + ":"  + this.mIconName);
		}

		@Override
		public ResourceLocation getTextureFile() {
			return TextureMap.locationBlocksTexture;
		}
	}

	/*
	 * Add Some Custom Textures below.
	 * I am not sure whether or not I need to declare them as such, but better to be safe than sorry.
	 * Right?
	 */
	
	//Vanilla Textures
	public static final VanillaIcon VanillaIcon_OakPlanks = new VanillaIcon("planks_oak");

	

	//PlaceHolder Texture
	private static final CustomIcon Internal_PlaceHolder = new CustomIcon("TileEntities/_PlaceHolder");
	public static final CustomIcon _PlaceHolder = Internal_PlaceHolder;

	//Energy overlays
	public static final CustomIcon OVERLAY_ENERGY_OUT_BUFFER = new CustomIcon("iconsets/OVERLAY_ENERGY_OUT_BUFFER");
	public static final CustomIcon OVERLAY_ENERGY_OUT_MULTI_BUFFER = new CustomIcon("iconsets/OVERLAY_ENERGY_OUT_MULTI_BUFFER");
	
	//Wooden Shelf and Compartment Overlays
	public static final CustomIcon OVERLAY_WOODEN_SHELF_FRONT = new CustomIcon("TileEntities/Compartment/wood_shelf");
	public static final CustomIcon OVERLAY_WOODEN_SHELF_CANS_FRONT = new CustomIcon("TileEntities/Compartment/wood_shelf_cans");
	public static final CustomIcon OVERLAY_WOODEN_SHELF_PAPER_FRONT = new CustomIcon("TileEntities/Compartment/wood_shelf_paper");
	public static final CustomIcon OVERLAY_CABINET_1 = new CustomIcon("TileEntities/Compartment/0");
	public static final CustomIcon OVERLAY_CABINET_2 = new CustomIcon("TileEntities/Compartment/1");
	public static final CustomIcon OVERLAY_CABINET_3 = new CustomIcon("TileEntities/Compartment/2");
	public static final CustomIcon OVERLAY_CABINET_4 = new CustomIcon("TileEntities/Compartment/3");
	public static final CustomIcon OVERLAY_CABINET_5 = new CustomIcon("TileEntities/Compartment/4");
	public static final CustomIcon OVERLAY_CABINET_6 = new CustomIcon("TileEntities/Compartment/5");
	public static final CustomIcon OVERLAY_CABINET_7 = new CustomIcon("TileEntities/Compartment/6");
	public static final CustomIcon OVERLAY_CABINET_8 = new CustomIcon("TileEntities/Compartment/7");
	public static final CustomIcon OVERLAY_CABINET_9 = new CustomIcon("TileEntities/Compartment/8");
	public static final CustomIcon OVERLAY_CABINET_10 = new CustomIcon("TileEntities/Compartment/9");
	public static final CustomIcon OVERLAY_CABINET_11 = new CustomIcon("TileEntities/Compartment/10");
	public static final CustomIcon OVERLAY_CABINET_12 = new CustomIcon("TileEntities/Compartment/11");
	public static final CustomIcon OVERLAY_CABINET_13 = new CustomIcon("TileEntities/Compartment/12");
	public static final CustomIcon OVERLAY_CABINET_14 = new CustomIcon("TileEntities/Compartment/13");
	public static final CustomIcon OVERLAY_CABINET_15 = new CustomIcon("TileEntities/Compartment/14");
	public static final CustomIcon OVERLAY_CABINET_16 = new CustomIcon("TileEntities/Compartment/15");
	public static final CustomIcon OVERLAY_COMPARTMENT_1 = new CustomIcon("TileEntities/Compartment/16");
	public static final CustomIcon OVERLAY_COMPARTMENT_2 = new CustomIcon("TileEntities/Compartment/17");
	public static final CustomIcon OVERLAY_COMPARTMENT_3 = new CustomIcon("TileEntities/Compartment/18");
	public static final CustomIcon OVERLAY_COMPARTMENT_4 = new CustomIcon("TileEntities/Compartment/19");
	public static final CustomIcon OVERLAY_COMPARTMENT_5 = new CustomIcon("TileEntities/Compartment/20");
	public static final CustomIcon OVERLAY_COMPARTMENT_6 = new CustomIcon("TileEntities/Compartment/21");
	public static final CustomIcon OVERLAY_COMPARTMENT_7 = new CustomIcon("TileEntities/Compartment/22");
	public static final CustomIcon OVERLAY_COMPARTMENT_8 = new CustomIcon("TileEntities/Compartment/23");
	public static final CustomIcon OVERLAY_COMPARTMENT_9 = new CustomIcon("TileEntities/Compartment/24");
	public static final CustomIcon OVERLAY_COMPARTMENT_10 = new CustomIcon("TileEntities/Compartment/25");
	public static final CustomIcon OVERLAY_COMPARTMENT_11 = new CustomIcon("TileEntities/Compartment/26");
	public static final CustomIcon OVERLAY_COMPARTMENT_12 = new CustomIcon("TileEntities/Compartment/27");
	public static final CustomIcon OVERLAY_COMPARTMENT_13 = new CustomIcon("TileEntities/Compartment/28");
	public static final CustomIcon OVERLAY_COMPARTMENT_14 = new CustomIcon("TileEntities/Compartment/29");
	public static final CustomIcon OVERLAY_COMPARTMENT_15 = new CustomIcon("TileEntities/Compartment/30");
	public static final CustomIcon OVERLAY_COMPARTMENT_16 = new CustomIcon("TileEntities/Compartment/31");
	
	
	//Overlay Arrays
	public static ITexture[] OVERLAYS_ENERGY_OUT_BUFFER = new ITexture[]{
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_BUFFER,
					new short[]{220, 220, 220, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_BUFFER,
					new short[]{220, 220, 220, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_BUFFER,
					new short[]{255, 100, 0, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_BUFFER,
					new short[]{255, 255, 30, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_BUFFER,
					new short[]{128, 128, 128, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_BUFFER,
					new short[]{240, 240, 245, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_BUFFER,
					new short[]{240, 240, 245, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_BUFFER,
					new short[]{240, 240, 245, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_BUFFER,
					new short[]{240, 240, 245, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_BUFFER,
					new short[]{240, 240, 245, 0})}; 
	
	public static ITexture[] OVERLAYS_ENERGY_OUT_MULTI_BUFFER = new ITexture[]{
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
					new short[]{220, 220, 220, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
					new short[]{220, 220, 220, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
					new short[]{255, 100, 0, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
					new short[]{255, 255, 30, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
					new short[]{128, 128, 128, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
					new short[]{240, 240, 245, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
					new short[]{240, 240, 245, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
					new short[]{240, 240, 245, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
					new short[]{240, 240, 245, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER,
					new short[]{240, 240, 245, 0})}; 

	public static ITexture[] OVERLAYS_CABINET_FRONT = new ITexture[]{
			new GT_RenderedTexture((IIconContainer) OVERLAY_CABINET_1,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_CABINET_2,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_CABINET_3,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_CABINET_4,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_CABINET_5,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_CABINET_6,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_CABINET_7,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_CABINET_8,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_CABINET_9,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_CABINET_10,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_CABINET_11,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_CABINET_12,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_CABINET_13,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_CABINET_14,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_CABINET_15,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_CABINET_16,
					new short[]{255, 255, 255, 0}),}; 
	
	public static ITexture[] OVERLAYS_COMPARTMENT_FRONT = new ITexture[]{
			new GT_RenderedTexture((IIconContainer) OVERLAY_COMPARTMENT_1,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_COMPARTMENT_2,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_COMPARTMENT_3,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_COMPARTMENT_4,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_COMPARTMENT_5,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_COMPARTMENT_6,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_COMPARTMENT_7,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_COMPARTMENT_8,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_COMPARTMENT_9,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_COMPARTMENT_10,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_COMPARTMENT_11,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_COMPARTMENT_12,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_COMPARTMENT_13,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_COMPARTMENT_14,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_COMPARTMENT_15,
					new short[]{255, 255, 255, 0}),
			new GT_RenderedTexture((IIconContainer) OVERLAY_COMPARTMENT_16,
					new short[]{255, 255, 255, 0}),}; 

	//Controllers
	private static final CustomIcon Internal_Casing_Fusion_Simple_Front = new CustomIcon("TileEntities/MACHINE_CASING_FUSION_FRONT");
	public static final CustomIcon Casing_Fusion_Simple_Front = Internal_Casing_Fusion_Simple_Front;
	private static final CustomIcon Internal_Casing_Fusion_Simple_Front_Active = new CustomIcon("TileEntities/MACHINE_CASING_FUSION_FRONT_ACTIVE");
	public static final CustomIcon Casing_Fusion_Simple_Front_Active = Internal_Casing_Fusion_Simple_Front_Active;
	
	//Machine Casings
	//Simple
	private static final CustomIcon Internal_Casing_Machine_Simple_Top = new CustomIcon("TileEntities/machine_top");
	public static final CustomIcon Casing_Machine_Simple_Top = Internal_Casing_Machine_Simple_Top;
	private static final CustomIcon Internal_Casing_Machine_Simple_Bottom = new CustomIcon("TileEntities/machine_bottom");
	public static final CustomIcon Casing_Machine_Simple_Bottom = Internal_Casing_Machine_Simple_Bottom;
	//Advanced and Ultra
	private static final CustomIcon Internal_Casing_Machine_Advanced = new CustomIcon("TileEntities/high_adv_machine");
	public static final CustomIcon Casing_Machine_Advanced = Internal_Casing_Machine_Advanced;
	private static final CustomIcon Internal_Casing_Machine_Ultra = new CustomIcon("TileEntities/adv_machine_lesu");
	public static final CustomIcon Casing_Machine_Ultra = Internal_Casing_Machine_Ultra;
	//Dimensional - Non Overlay
	private static final CustomIcon Internal_Casing_Machine_Dimensional = new CustomIcon("TileEntities/adv_machine_dimensional");
	public static final CustomIcon Casing_Machine_Dimensional = Internal_Casing_Machine_Dimensional;
	private static final CustomIcon Internal_Casing_Machine_Dimensional_Adv = new CustomIcon("TileEntities/high_adv_machine_dimensional");
	public static final CustomIcon Casing_Machine_Dimensional_Adv = Internal_Casing_Machine_Dimensional_Adv;

	//Material Casings
	private static final CustomIcon Internal_Casing_Tantalloy61 = new CustomIcon("TileEntities/MACHINE_CASING_STABLE_TANTALLOY61");
	public static final CustomIcon Casing_Material_Tantalloy61 = Internal_Casing_Tantalloy61;
	private static final CustomIcon Internal_Casing_MaragingSteel = new CustomIcon("TileEntities/MACHINE_CASING_STABLE_MARAGINGSTEEL");
	public static final CustomIcon Casing_Material_MaragingSteel = Internal_Casing_MaragingSteel;
	private static final CustomIcon Internal_Casing_Stellite = new CustomIcon("TileEntities/MACHINE_CASING_STABLE_STELLITE");
	public static final CustomIcon Casing_Material_Stellite = Internal_Casing_Stellite;
	private static final CustomIcon Internal_Casing_Talonite = new CustomIcon("TileEntities/MACHINE_CASING_STABLE_TALONITE");
	public static final CustomIcon Casing_Material_Talonite = Internal_Casing_Talonite;
	private static final CustomIcon Internal_Casing_Tumbaga = new CustomIcon("TileEntities/MACHINE_CASING_STABLE_TUMBAGA");
	public static final CustomIcon Casing_Material_Tumbaga = Internal_Casing_Tumbaga;
	private static final CustomIcon Internal_Casing_Zeron100 = new CustomIcon("TileEntities/MACHINE_CASING_STABLE_ZERON100");
	public static final CustomIcon Casing_Material_Zeron100 = Internal_Casing_Zeron100;
	private static final CustomIcon Internal_Casing_Potin = new CustomIcon("TileEntities/MACHINE_CASING_STABLE_POTIN");
	public static final CustomIcon Casing_Material_Potin = Internal_Casing_Potin;

	private static final CustomIcon Internal_Casing_Grisium = new CustomIcon("TileEntities/MACHINE_CASING_STABLE_GRISIUM");
	public static final CustomIcon Casing_Material_Grisium = Internal_Casing_Grisium;
	private static final CustomIcon Internal_Casing_RedSteel = new CustomIcon("TileEntities/MACHINE_CASING_STABLE_RED_STEEL");
	public static final CustomIcon Casing_Material_RedSteel = Internal_Casing_RedSteel;
	private static final CustomIcon Internal_Casing_Incoloy020 = new CustomIcon("TileEntities/MACHINE_CASING_STABLE_INCOLOY_020");
	public static final CustomIcon Casing_Material_Incoloy020 = Internal_Casing_Incoloy020;
	private static final CustomIcon Internal_Casing_IncoloyDS = new CustomIcon("TileEntities/MACHINE_CASING_STABLE_INCOLOY_DS");
	public static final CustomIcon Casing_Material_IncoloyDS = Internal_Casing_IncoloyDS;
	private static final CustomIcon Internal_Casing_IncoloyMA956 = new CustomIcon("TileEntities/MACHINE_CASING_STABLE_INCOLOY_MA956");
	public static final CustomIcon Casing_Material_IncoloyMA956 = Internal_Casing_IncoloyMA956;
	private static final CustomIcon Internal_Casing_ZirconiumCarbide = new CustomIcon("TileEntities/MACHINE_CASING_STABLE_ZIRCONIUM_CARBIDE");
	public static final CustomIcon Casing_Material_ZirconiumCarbide = Internal_Casing_ZirconiumCarbide;


	private static final CustomIcon Internal_Casing_HastelloyX = new CustomIcon("TileEntities/MACHINE_CASING_STABLE_HASTELLOY_X");
	public static final CustomIcon Casing_Material_HastelloyX = Internal_Casing_HastelloyX;
	private static final CustomIcon Internal_Casing_HastelloyN = new CustomIcon("TileEntities/MACHINE_CASING_STABLE_HASTELLOY_N");
	public static final CustomIcon Casing_Material_HastelloyN = Internal_Casing_HastelloyN;
	private static final CustomIcon Internal_Casing_Fluid_IncoloyDS = new CustomIcon("TileEntities/MACHINE_CASING_FLUID_INCOLOY_DS");
	public static final CustomIcon Casing_Material_Fluid_IncoloyDS = Internal_Casing_Fluid_IncoloyDS;

	//Material Machine/Firebox Casings
	private static final CustomIcon Internal_Casing_Staballoy_Firebox = new CustomIcon("TileEntities/MACHINE_CASING_FIREBOX_STABALLOY");
	public static final CustomIcon Casing_Staballoy_Firebox = Internal_Casing_Staballoy_Firebox;

	//Misc Casings
	private static final CustomIcon Internal_Casing_Machine_Redstone_Off = new CustomIcon("TileEntities/cover_redstone_conductor");
	public static final CustomIcon Casing_Machine_Redstone_Off = Internal_Casing_Machine_Redstone_Off;
	private static final CustomIcon Internal_Casing_Machine_Redstone_On = new CustomIcon("TileEntities/cover_redstone_emitter");
	public static final CustomIcon Casing_Machine_Redstone_On = Internal_Casing_Machine_Redstone_On;

	//Redox Cells
	public static final CustomIcon Casing_Redox_1 = new CustomIcon("redox/redox1");
	public static final CustomIcon Casing_Redox_2 = new CustomIcon("redox/redox2");
	public static final CustomIcon Casing_Redox_3 = new CustomIcon("redox/redox3");
	public static final CustomIcon Casing_Redox_4 = new CustomIcon("redox/redox4");
	public static final CustomIcon Casing_Redox_5 = new CustomIcon("redox/redox5");
	public static final CustomIcon Casing_Redox_6 = new CustomIcon("redox/redox6");
	public static final CustomIcon Casing_Redox_7 = new CustomIcon("redox/redox7");
	public static final CustomIcon Casing_Redox_8 = new CustomIcon("redox/redox8");

	//Centrifuge Casing
	private static final CustomIcon Internal_Casing_Centrifuge = new CustomIcon("TileEntities/MACHINE_CASING_CENTRIFUGE");
	public static final CustomIcon Casing_Material_Centrifuge = Internal_Casing_Centrifuge;

	//MACHINE_CASING_FARM_MANAGER_STRUCTURAL
	//Farm Manager Casings
	private static final CustomIcon Internal_Casing_Machine_Farm_Manager = new CustomIcon("TileEntities/MACHINE_CASING_FARM_MANAGER_STRUCTURAL");
	public static final CustomIcon Casing_Machine_Farm_Manager = Internal_Casing_Machine_Farm_Manager;
	//Acacia_Log
	private static final CustomIcon Internal_Casing_Machine_Acacia_Log = new CustomIcon("TileEntities/log_acacia_top");
	public static final CustomIcon Casing_Machine_Acacia_Log = Internal_Casing_Machine_Acacia_Log;
	//Podzol Top
	private static final CustomIcon Internal_Casing_Machine_Podzol = new CustomIcon("TileEntities/dirt_podzol_top");
	public static final CustomIcon Casing_Machine_Podzol = Internal_Casing_Machine_Podzol;

	//Structural Blocks
	private static final CustomIcon Internal_Casing_Machine_Metal_Grate_A = new CustomIcon("chrono/MetalGrate");
	public static final CustomIcon Casing_Machine_Metal_Grate_A = Internal_Casing_Machine_Metal_Grate_A;
	private static final CustomIcon Internal_Casing_Machine_Metal_Grate_A_Solid = new CustomIcon("chrono/MetalGrateA_Solid");
	public static final CustomIcon Casing_Machine_Metal_Grate_A_Solid = Internal_Casing_Machine_Metal_Grate_A_Solid;
	private static final CustomIcon Internal_Casing_Machine_Metal_Grate_B = new CustomIcon("chrono/MetalGrate2");
	public static final CustomIcon Casing_Machine_Metal_Grate_B = Internal_Casing_Machine_Metal_Grate_B;
	private static final CustomIcon Internal_Casing_Machine_Metal_Panel_A = new CustomIcon("chrono/MetalPanel");
	public static final CustomIcon Casing_Machine_Metal_Panel_A = Internal_Casing_Machine_Metal_Panel_A;
	private static final CustomIcon Internal_Casing_Machine_Metal_Sheet_A = new CustomIcon("chrono/MetalSheet");
	public static final CustomIcon Casing_Machine_Metal_Sheet_A = Internal_Casing_Machine_Metal_Sheet_A;
	private static final CustomIcon Internal_Casing_Machine_Metal_Sheet_B = new CustomIcon("chrono/MetalSheet2");
	public static final CustomIcon Casing_Machine_Metal_Sheet_B = Internal_Casing_Machine_Metal_Sheet_B;
	private static final CustomIcon Internal_Overlay_Machine_Cyber_A = new CustomIcon("chrono/CyberPanel");
	public static final CustomIcon Overlay_Machine_Cyber_A = Internal_Overlay_Machine_Cyber_A;
	private static final CustomIcon Internal_Overlay_Machine_Cyber_B = new CustomIcon("chrono/CyberPanel2");
	public static final CustomIcon Overlay_Machine_Cyber_B = Internal_Overlay_Machine_Cyber_B;
	

	public static final CustomIcon TEXTURE_CASING_AMAZON = new CustomIcon("TileEntities/CASING_AMAZON");
	public static final CustomIcon TEXTURE_CASING_ADVANCED_CRYOGENIC = new CustomIcon("TileEntities/MACHINE_CASING_ADVANCED_CRYOGENIC");
	public static final CustomIcon TEXTURE_CASING_ADVANCED_VOLCNUS = new CustomIcon("TileEntities/MACHINE_CASING_ADVANCED_VOLCANUS");

	//Overlays
	//Fan Textures
	private static final CustomIcon Internal_Overlay_Machine_Vent = new CustomIcon("TileEntities/machine_top_vent_rotating");
	public static final CustomIcon Overlay_Machine_Vent = Internal_Overlay_Machine_Vent;
	private static final CustomIcon Internal_Overlay_Machine_Vent_Fast = new CustomIcon("TileEntities/machine_top_vent_rotating_fast");
	public static final CustomIcon Overlay_Machine_Vent_Fast = Internal_Overlay_Machine_Vent_Fast;
	private static final CustomIcon Internal_Overlay_Machine_Vent_Adv = new CustomIcon("TileEntities/adv_machine_vent_rotating");
	public static final CustomIcon Overlay_Machine_Vent_Adv = Internal_Overlay_Machine_Vent_Adv;
	private static final CustomIcon Internal_Overlay_Machine_Turbine_Active = new CustomIcon("TileEntities/STEAM_TURBINE_SIDE_ACTIVE");
	public static final CustomIcon Overlay_Machine_Turbine_Active = Internal_Overlay_Machine_Turbine_Active;
	//Grate Texture
	public static final CustomIcon OVERLAY_GRATE_A = new CustomIcon("metro/OVERLAY_GRATE_A");
	//Speaker Texture
	private static final CustomIcon Internal_Overlay_Machine_Sound = new CustomIcon("TileEntities/audio_out");
	public static final CustomIcon Overlay_Machine_Sound = Internal_Overlay_Machine_Sound;
	private static final CustomIcon Internal_Overlay_Machine_Sound_Active = new CustomIcon("TileEntities/audio_out_active");
	public static final CustomIcon Overlay_Machine_Sound_Active = Internal_Overlay_Machine_Sound_Active;
	//Diesel Engines
	private static final CustomIcon Internal_Overlay_Machine_Diesel_Vertical = new CustomIcon("TileEntities/machine_top_dieselmotor");
	public static final CustomIcon Overlay_Machine_Diesel_Vertical = Internal_Overlay_Machine_Diesel_Vertical;
	private static final CustomIcon Internal_Overlay_Machine_Diesel_Horizontal = new CustomIcon("TileEntities/machine_top_dieselmotor2");
	public static final CustomIcon Overlay_Machine_Diesel_Horizontal = Internal_Overlay_Machine_Diesel_Horizontal;
	private static final CustomIcon Internal_Overlay_Machine_Diesel_Vertical_Active = new CustomIcon("TileEntities/machine_top_dieselmotor_active");
	public static final CustomIcon Overlay_Machine_Diesel_Vertical_Active = Internal_Overlay_Machine_Diesel_Vertical_Active;
	private static final CustomIcon Internal_Overlay_Machine_Diesel_Horizontal_Active = new CustomIcon("TileEntities/machine_top_dieselmotor2_active");
	public static final CustomIcon Overlay_Machine_Diesel_Horizontal_Active = Internal_Overlay_Machine_Diesel_Horizontal_Active;
	//Computer Screens
	private static final CustomIcon Internal_Casing_Machine_Screen_1 = new CustomIcon("TileEntities/adv_machine_screen_random1");
	public static final CustomIcon Casing_Machine_Screen_1 = Internal_Casing_Machine_Screen_1;
	private static final CustomIcon Internal_Casing_Machine_Screen_2 = new CustomIcon("TileEntities/adv_machine_screen_random2");
	public static final CustomIcon Casing_Machine_Screen_2 = Internal_Casing_Machine_Screen_2;
	private static final CustomIcon Internal_Casing_Machine_Screen_3 = new CustomIcon("TileEntities/adv_machine_screen_random3");
	public static final CustomIcon Casing_Machine_Screen_3 = Internal_Casing_Machine_Screen_3;
	private static final CustomIcon Internal_Casing_Machine_Screen_Frequency = new CustomIcon("TileEntities/adv_machine_screen_frequency");
	public static final CustomIcon Casing_Machine_Screen_Frequency = Internal_Casing_Machine_Screen_Frequency;
	private static final CustomIcon Internal_Overlay_Machine_Screen_Logo = new CustomIcon("TileEntities/adv_machine_screen_logo");
	public static final CustomIcon Overlay_Machine_Screen_Logo = Internal_Overlay_Machine_Screen_Logo;
	private static final CustomIcon Internal_Overlay_Machine_Cyber_Interface = new CustomIcon("chrono/Overlay_Cyber");
	public static final CustomIcon Overlay_Machine_Cyber_Interface = Internal_Overlay_Machine_Cyber_Interface;
	//Crafting Overlays
	private static final CustomIcon Internal_Overlay_Crafting_Bronze = new CustomIcon("TileEntities/bronze_top_crafting");
	public static final CustomIcon Overlay_Crafting_Bronze = Internal_Overlay_Crafting_Bronze;
	private static final CustomIcon Internal_Overlay_Crafting_Steel = new CustomIcon("TileEntities/cover_crafting");
	public static final CustomIcon Overlay_Crafting_Steel = Internal_Overlay_Crafting_Steel;
	
	//Hatch Overlays
	//Charger Texture
	private static final CustomIcon Internal_Overlay_Hatch_Charger = new CustomIcon("TileEntities/cover_charger");
	public static final CustomIcon Overlay_Hatch_Charger = Internal_Overlay_Hatch_Charger;
	//Discharger Texture
	private static final CustomIcon Internal_Overlay_Hatch_Discharger = new CustomIcon("TileEntities/cover_discharge");
	public static final CustomIcon Overlay_Hatch_Discharger = Internal_Overlay_Hatch_Discharger;
	
	//Dimensional
	private static final CustomIcon Internal_Overlay_Machine_Dimensional_Blue = new CustomIcon("TileEntities/adv_machine_dimensional_cover_blue");
	public static final CustomIcon Overlay_Machine_Dimensional_Blue = Internal_Overlay_Machine_Dimensional_Blue;
	private static final CustomIcon Internal_Overlay_Machine_Dimensional_Orange = new CustomIcon("TileEntities/adv_machine_dimensional_cover_orange");
	public static final CustomIcon Overlay_Machine_Dimensional_Orange = Internal_Overlay_Machine_Dimensional_Orange;
	//Icons
	private static final CustomIcon Internal_Overlay_MatterFab = new CustomIcon("TileEntities/adv_machine_matterfab");
	public static final CustomIcon Overlay_MatterFab = Internal_Overlay_MatterFab;
	private static final CustomIcon Internal_Overlay_MatterFab_Active = new CustomIcon("TileEntities/adv_machine_matterfab_active");
	public static final CustomIcon Overlay_MatterFab_Active = Internal_Overlay_MatterFab_Active;
	private static final CustomIcon Internal_Overlay_Oil = new CustomIcon("TileEntities/adv_machine_oil");
	public static final CustomIcon Overlay_Oil = Internal_Overlay_Oil;
	private static final CustomIcon Internal_Overlay_UU_Matter = new CustomIcon("TileEntities/adv_machine_uum");
	public static final CustomIcon Overlay_UU_Matter = Internal_Overlay_UU_Matter;
	
	
	//Metroid related
	public static final CustomIcon TEXTURE_METAL_PANEL_A = new CustomIcon("metro/TEXTURE_METAL_PANEL_A");
	public static final CustomIcon TEXTURE_METAL_PANEL_B = new CustomIcon("metro/TEXTURE_METAL_PANEL_B");
	public static final CustomIcon TEXTURE_METAL_PANEL_C = new CustomIcon("metro/TEXTURE_METAL_PANEL_C");
	public static final CustomIcon TEXTURE_METAL_PANEL_D = new CustomIcon("metro/TEXTURE_METAL_PANEL_D");
	public static final CustomIcon TEXTURE_METAL_PANEL_E = new CustomIcon("metro/TEXTURE_METAL_PANEL_E");
	public static final CustomIcon TEXTURE_MAGIC_PANEL_A = new CustomIcon("metro/TEXTURE_MAGIC_A");
	public static final CustomIcon TEXTURE_ORGANIC_PANEL_A = new CustomIcon("metro/TEXTURE_ORGANIC_PANEL_A");
	public static final CustomIcon TEXTURE_STONE_BIRD_A = new CustomIcon("metro/TEXTURE_STONE_BIRD_A");
	public static final CustomIcon TEXTURE_STONE_BIRD_A_LEFT = new CustomIcon("metro/TEXTURE_STONE_BIRD_A_LEFT");
	public static final CustomIcon TEXTURE_STONE_BIRD_A_RIGHT = new CustomIcon("metro/TEXTURE_STONE_BIRD_A_RIGHT");
	public static final CustomIcon TEXTURE_STONE_RED_A = new CustomIcon("metro/TEXTURE_STONE_RED_A");
	public static final CustomIcon TEXTURE_STONE_BLUE_A = new CustomIcon("metro/TEXTURE_STONE_BLUE_A");
	public static final CustomIcon TEXTURE_STONE_GREEN_A = new CustomIcon("metro/TEXTURE_STONE_GREEN_A");
	public static final CustomIcon TEXTURE_STONE_TABLET_A = new CustomIcon("metro/TEXTURE_STONE_TABLET_A");
	public static final CustomIcon TEXTURE_STONE_TABLET_B = new CustomIcon("metro/TEXTURE_STONE_TABLET_B");
	public static final CustomIcon TEXTURE_TECH_A = new CustomIcon("metro/TEXTURE_TECH_A");
	public static final CustomIcon TEXTURE_TECH_B = new CustomIcon("metro/TEXTURE_TECH_B");
	public static final CustomIcon TEXTURE_TECH_C = new CustomIcon("metro/TEXTURE_TECH_C");
	public static final CustomIcon TEXTURE_TECH_PANEL_A = new CustomIcon("metro/TEXTURE_TECH_PANEL_A");

}