Browse Source

Clean-up unused imports + update to a.44

Qwertygiy 2 years ago
parent
commit
afee2ecc14

+ 1
- 1
build.gradle View File

@@ -47,7 +47,7 @@ repositories {
47 47
 
48 48
 apply plugin: 'forge'
49 49
 
50
-version = "1.0.0-a.43"
50
+version = "1.0.0-a.44"
51 51
 group= "com.kbi.qwertech" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
52 52
 archivesBaseName = "qwertech"
53 53
 

+ 244
- 247
src/main/java/com/kbi/qwertech/ClientProxy.java View File

@@ -1,248 +1,245 @@
1
-package com.kbi.qwertech;
2
-
3
-import com.kbi.qwertech.api.data.FOOD;
4
-import com.kbi.qwertech.api.data.QTConfigs;
5
-import com.kbi.qwertech.api.data.QTI;
6
-import com.kbi.qwertech.api.entities.IGeneticMob;
7
-import com.kbi.qwertech.api.entities.Species;
8
-import com.kbi.qwertech.api.recipe.CountertopRecipe;
9
-import com.kbi.qwertech.api.registry.ArmorUpgradeRegistry;
10
-import com.kbi.qwertech.api.registry.MobSpeciesRegistry;
11
-import com.kbi.qwertech.client.*;
12
-import com.kbi.qwertech.client.blocks.RenderCorrugated;
13
-import com.kbi.qwertech.client.entity.genetic.RenderGeneticEntity;
14
-import com.kbi.qwertech.client.entity.neutral.RenderTurkey;
15
-import com.kbi.qwertech.client.entity.passive.RenderFrog;
16
-import com.kbi.qwertech.client.entity.projectile.*;
17
-import com.kbi.qwertech.client.models.entity.*;
18
-import com.kbi.qwertech.client.tileentity.CountertopRenderer;
19
-import com.kbi.qwertech.client.tileentity.CraftingTable3DRenderer;
20
-import com.kbi.qwertech.client.tileentity.CraftingTableRenderer;
21
-import com.kbi.qwertech.client.tileentity.UpgradeDeskRenderer;
22
-import com.kbi.qwertech.entities.genetic.EntityPhasianidae;
23
-import com.kbi.qwertech.entities.neutral.EntityTurkey;
24
-import com.kbi.qwertech.entities.passive.EntityFrog;
25
-import com.kbi.qwertech.entities.projectile.*;
26
-import com.kbi.qwertech.loaders.RegisterSpecies;
27
-import com.kbi.qwertech.tileentities.*;
28
-import cpw.mods.fml.client.registry.ClientRegistry;
29
-import cpw.mods.fml.client.registry.RenderingRegistry;
30
-import cpw.mods.fml.common.FMLCommonHandler;
31
-import cpw.mods.fml.common.event.FMLInitializationEvent;
32
-import cpw.mods.fml.common.event.FMLPostInitializationEvent;
33
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
34
-import gregapi.api.Abstract_Mod;
35
-import gregapi.block.multitileentity.MultiTileEntityRegistry;
36
-import gregapi.code.ItemStackContainer;
37
-import gregapi.data.CS;
38
-import gregapi.data.LH;
39
-import gregapi.data.OP;
40
-import net.minecraft.client.model.ModelBase;
41
-import net.minecraft.item.ItemStack;
42
-import net.minecraft.nbt.NBTTagCompound;
43
-import net.minecraftforge.client.MinecraftForgeClient;
44
-import net.minecraftforge.common.MinecraftForge;
45
-import net.minecraftforge.event.entity.living.LivingAttackEvent;
46
-import net.minecraftforge.event.entity.player.ItemTooltipEvent;
47
-
48
-import java.util.*;
49
-
50
-public final class ClientProxy extends CommonProxy { // NO_UCD (unused code)
51
-	// Insert your Clientside-only implementation of Stuff here
52
-	
53
-	@Override
54
-	public void onProxyAfterInit			(Abstract_Mod aMod, FMLInitializationEvent		aEvent)
55
-	{
56
-		Material_Item_Renderer itemRenderer = new Material_Item_Renderer();
57
-		MinecraftForgeClient.registerItemRenderer(QTI.syringe.getItem(), new FluidContainerRenderer());
58
-		MinecraftForgeClient.registerItemRenderer(QTI.buckets.getItem(), new FluidContainerRenderer());
59
-		if (QTConfigs.add3DQwerTools)
60
-		{
61
-			MinecraftForgeClient.registerItemRenderer(QTI.qwerTool.getItem(), new QT_Tool_Renderer());
62
-			MinecraftForgeClient.registerItemRenderer(QTI.qwerFood.getItem(), new QT_Food_Renderer());
63
-		}
64
-		if (QTConfigs.enableArmor)
65
-		{
66
-			MinecraftForgeClient.registerItemRenderer(QTI.qwerArmor.getItem(), new QT_Armor_Renderer());
67
-		}
68
-		if (QTConfigs.add3DGregTools)
69
-		{
70
-			MinecraftForgeClient.registerItemRenderer(CS.ToolsGT.sMetaTool, new GT_Tool_Renderer());
71
-		}
72
-		if (QTConfigs.add3DPrefixes)
73
-		{
74
-			Iterator<ItemStackContainer> ingot = OP.ingot.mRegisteredItems.iterator();
75
-			while (ingot.hasNext())
76
-			{
77
-				MinecraftForgeClient.registerItemRenderer(ingot.next().mItem, itemRenderer);
78
-			}
79
-			Iterator<ItemStackContainer> stick = OP.stick.mRegisteredItems.iterator();
80
-			while (stick.hasNext())
81
-			{
82
-				MinecraftForgeClient.registerItemRenderer(stick.next().mItem, itemRenderer);
83
-			}
84
-			Iterator<ItemStackContainer> gear = OP.gear.mRegisteredItems.iterator();
85
-			while (gear.hasNext())
86
-			{
87
-				MinecraftForgeClient.registerItemRenderer(gear.next().mItem, itemRenderer);
88
-			}
89
-			/*Iterator<ItemStackContainer> stickLong = OP.stickLong.mRegisteredItems.iterator();
90
-			while (stickLong.hasNext())
91
-			{
92
-				MinecraftForgeClient.registerItemRenderer(stickLong.next().mItem, itemRenderer);
93
-			}*/
94
-		}
95
-		MinecraftForgeClient.registerItemRenderer(MultiTileEntityRegistry.getRegistry("qwertech.machines").getItem(401).getItem(), new QT_Machine_Renderer());
96
-		
97
-		RenderingRegistry.registerEntityRenderingHandler(EntityFoil.class,
98
-				new RenderEntityFoil());
99
-		RenderingRegistry.registerEntityRenderingHandler(EntityBall.class,
100
-				new RenderEntityBall());
101
-		RenderingRegistry.registerEntityRenderingHandler(EntityRock.class, 
102
-			      new RenderEntityRock());
103
-		RenderingRegistry.registerEntityRenderingHandler(EntityShuriken.class,
104
-				new RenderEntityShuriken());
105
-		RenderingRegistry.registerEntityRenderingHandler(EntityEgg.class, new RenderEntityEgg());
106
-		RenderingRegistry.registerEntityRenderingHandler(EntityTurkey.class, new RenderTurkey(new ModelTurkey(), 0.8F));
107
-		//RenderingRegistry.registerEntityRenderingHandler(EntityZombie.class,
108
-				//new RenderZombieFix());
109
-		RenderingRegistry.registerEntityRenderingHandler(EntityPhasianidae.class, new RenderGeneticEntity(new GeneticModelHandler(), 1));
110
-		RenderingRegistry.registerEntityRenderingHandler(EntityFrog.class, new RenderFrog(new ModelFrog(), 0.5F));
111
-		
112
-		ClientRegistry.bindTileEntitySpecialRenderer(CraftingTableT1.class, new CraftingTableRenderer());
113
-		ClientRegistry.bindTileEntitySpecialRenderer(CraftingTableT2.class, new CraftingTableRenderer());
114
-		ClientRegistry.bindTileEntitySpecialRenderer(CraftingTableT3.class, new CraftingTableRenderer());
115
-		ClientRegistry.bindTileEntitySpecialRenderer(CraftingTableT4.class, new CraftingTable3DRenderer());
116
-		
117
-		ClientRegistry.bindTileEntitySpecialRenderer(UpgradeDesk.class, new UpgradeDeskRenderer());
118
-
119
-		ClientRegistry.bindTileEntitySpecialRenderer(CuttingBoardTileEntity.class, new CountertopRenderer());
120
-		
121
-		wallRenderID = RenderingRegistry.getNextAvailableRenderId();
122
-		RenderingRegistry.registerBlockHandler(wallRenderID, new RenderCorrugated());
123
-		registerModels();
124
-		System.out.println("REGISTEREDRENDERER");
125
-	}
126
-
127
-	public void registerModel(Class<? extends IGeneticMob> classy, int species, int subtype, ModelBase model, boolean isChild)
128
-	{
129
-		if (!isChild)
130
-		{
131
-			Species[] speciesList = MobSpeciesRegistry.getSpeciesList(classy);
132
-			if (subtype > -1)
133
-			{
134
-				RegisterSpecies.setModel(speciesList[species].getSubtype((short)subtype), model);
135
-			} else {
136
-				RegisterSpecies.setModel(speciesList[species], model);
137
-			}
138
-		} else {
139
-			Species[] speciesList = MobSpeciesRegistry.getSpeciesList(classy);
140
-			if (subtype > -1)
141
-			{
142
-				RegisterSpecies.setChildModel(speciesList[species].getSubtype((short)subtype), model);
143
-			} else {
144
-				RegisterSpecies.setChildModel(speciesList[species], model);
145
-			}
146
-		}
147
-	}
148
-
149
-	public void registerModel(Class<? extends IGeneticMob> classy, int species, int subtype, ModelBase model)
150
-	{
151
-		registerModel(classy, species, subtype, model, false);
152
-	}
153
-
154
-	public void registerModels()
155
-	{
156
-		registerModel(EntityPhasianidae.class, 0, -1, new ModelChicken());
157
-		registerModel(EntityPhasianidae.class, 0, 1, new ModelChickenCrested());
158
-		registerModel(EntityPhasianidae.class, 0, 2, new ModelChickenCrested());
159
-		registerModel(EntityPhasianidae.class, 0, 3, new ModelChickenCrested());
160
-		for (int q = 4; q < 12; q++) {
161
-			registerModel(EntityPhasianidae.class, 0, q, new ModelChickenTailed());
162
-		}
163
-		registerModel(EntityPhasianidae.class, 0, 12, new ModelSuperChicken());
164
-
165
-		//red junglefowl
166
-		registerModel(EntityPhasianidae.class, 1, -1, new ModelWildChicken());
167
-		registerModel(EntityPhasianidae.class, 1, 3, new ModelGallusGallusJabouille());
168
-		//grey junglefowl
169
-		registerModel(EntityPhasianidae.class, 2, -1, new ModelGallusGallusJabouille());
170
-
171
-		//turkey
172
-		registerModel(EntityPhasianidae.class, 3, -1, new ModelTurkeyFat());
173
-	}
174
-	
175
-	@Override
176
-	public void onProxyAfterPostInit		(Abstract_Mod aMod, FMLPostInitializationEvent	aEvent) {
177
-		super.onProxyAfterPostInit(aMod, aEvent);
178
-	}
179
-
180
-	@SubscribeEvent
181
-	    public void onTooltip(ItemTooltipEvent event)
182
-	    {
183
-	    	if (ArmorUpgradeRegistry.instance.getUpgrade(event.itemStack) != null)
184
-	    	{
185
-	    		event.toolTip.add(LH.Chat.GOLD + "Can be used to upgrade armor");
186
-	    	}
187
-
188
-	    	if (event.itemStack.hasTagCompound())
189
-			{
190
-				NBTTagCompound tag = event.itemStack.stackTagCompound;
191
-				if (tag.hasKey("qt.food"))
192
-				{
193
-					event.toolTip.add("Quality: " + FOOD.getQuality(event.itemStack));
194
-					event.toolTip.add("Quantity: " + FOOD.getQuantity(event.itemStack));
195
-				}
196
-			}
197
-
198
-	    	if (event.entityPlayer.openContainer instanceof CuttingBoardTileEntity.GUICommonCuttingBoard)
199
-			{
200
-				CuttingBoardTileEntity.GUICommonCuttingBoard CB = (CuttingBoardTileEntity.GUICommonCuttingBoard)event.entityPlayer.openContainer;
201
-
202
-				for (int w = 0; w < 15; w++)
203
-				{
204
-					ItemStack stack = CB.craftResults.getStackInSlot(w);
205
-					if (stack == event.itemStack)
206
-					{
207
-						CountertopRecipe recipe = CB.currentRecipes.get(CB.craftResults.starting + w);
208
-						List<Object> input = recipe.getInputList();
209
-						HashMap<String, Integer> amounts = new HashMap<String, Integer>();
210
-						for (int q = 0; q < input.size(); q++)
211
-						{
212
-							Object ob = input.get(q);
213
-							if (ob instanceof ItemStack)
214
-							{
215
-								if (amounts.containsKey(((ItemStack)ob).getDisplayName())) {
216
-									amounts.put(((ItemStack) ob).getDisplayName(), amounts.get(((ItemStack) ob).getDisplayName()) + ((ItemStack) ob).stackSize);
217
-								} else {
218
-									amounts.put(((ItemStack) ob).getDisplayName(), ((ItemStack) ob).stackSize);
219
-								}
220
-							} else if (ob instanceof ArrayList && ((ArrayList)ob).size() > 0)
221
-							{
222
-								ItemStack IS = ((ArrayList<ItemStack>)ob).get(0);
223
-								if (amounts.containsKey(IS.getDisplayName())) {
224
-									amounts.put(IS.getDisplayName(), amounts.get(IS.getDisplayName()) + IS.stackSize);
225
-								} else {
226
-									amounts.put(IS.getDisplayName(), IS.stackSize);
227
-								}
228
-							} else if (ob instanceof String)
229
-							{
230
-								if (amounts.containsKey(ob)) {
231
-									amounts.put((String) ob, amounts.get((String) ob + 1));
232
-								} else {
233
-									amounts.put((String)ob, 1);
234
-								}
235
-							}
236
-						}
237
-						Iterator iterable = amounts.entrySet().iterator();
238
-						while (iterable.hasNext())
239
-						{
240
-							Map.Entry entry = (Map.Entry)iterable.next();
241
-							event.toolTip.add(LH.Chat.CYAN + entry.getKey() + ": " + entry.getValue());
242
-						}
243
-
244
-					}
245
-				}
246
-			}
247
-	    }
1
+package com.kbi.qwertech;
2
+
3
+import com.kbi.qwertech.api.data.FOOD;
4
+import com.kbi.qwertech.api.data.QTConfigs;
5
+import com.kbi.qwertech.api.data.QTI;
6
+import com.kbi.qwertech.api.entities.IGeneticMob;
7
+import com.kbi.qwertech.api.entities.Species;
8
+import com.kbi.qwertech.api.recipe.CountertopRecipe;
9
+import com.kbi.qwertech.api.registry.ArmorUpgradeRegistry;
10
+import com.kbi.qwertech.api.registry.MobSpeciesRegistry;
11
+import com.kbi.qwertech.client.*;
12
+import com.kbi.qwertech.client.blocks.RenderCorrugated;
13
+import com.kbi.qwertech.client.entity.genetic.RenderGeneticEntity;
14
+import com.kbi.qwertech.client.entity.neutral.RenderTurkey;
15
+import com.kbi.qwertech.client.entity.passive.RenderFrog;
16
+import com.kbi.qwertech.client.entity.projectile.*;
17
+import com.kbi.qwertech.client.models.entity.*;
18
+import com.kbi.qwertech.client.tileentity.CountertopRenderer;
19
+import com.kbi.qwertech.client.tileentity.CraftingTable3DRenderer;
20
+import com.kbi.qwertech.client.tileentity.CraftingTableRenderer;
21
+import com.kbi.qwertech.client.tileentity.UpgradeDeskRenderer;
22
+import com.kbi.qwertech.entities.genetic.EntityPhasianidae;
23
+import com.kbi.qwertech.entities.neutral.EntityTurkey;
24
+import com.kbi.qwertech.entities.passive.EntityFrog;
25
+import com.kbi.qwertech.entities.projectile.*;
26
+import com.kbi.qwertech.loaders.RegisterSpecies;
27
+import com.kbi.qwertech.tileentities.*;
28
+import cpw.mods.fml.client.registry.ClientRegistry;
29
+import cpw.mods.fml.client.registry.RenderingRegistry;
30
+import cpw.mods.fml.common.event.FMLInitializationEvent;
31
+import cpw.mods.fml.common.event.FMLPostInitializationEvent;
32
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
33
+import gregapi.api.Abstract_Mod;
34
+import gregapi.block.multitileentity.MultiTileEntityRegistry;
35
+import gregapi.code.ItemStackContainer;
36
+import gregapi.data.CS;
37
+import gregapi.data.LH;
38
+import gregapi.data.OP;
39
+import net.minecraft.client.model.ModelBase;
40
+import net.minecraft.item.ItemStack;
41
+import net.minecraft.nbt.NBTTagCompound;
42
+import net.minecraftforge.client.MinecraftForgeClient;
43
+import net.minecraftforge.event.entity.player.ItemTooltipEvent;
44
+
45
+import java.util.*;
46
+
47
+public final class ClientProxy extends CommonProxy { // NO_UCD (unused code)
48
+	// Insert your Clientside-only implementation of Stuff here
49
+	
50
+	@Override
51
+	public void onProxyAfterInit			(Abstract_Mod aMod, FMLInitializationEvent		aEvent)
52
+	{
53
+		Material_Item_Renderer itemRenderer = new Material_Item_Renderer();
54
+		MinecraftForgeClient.registerItemRenderer(QTI.syringe.getItem(), new FluidContainerRenderer());
55
+		MinecraftForgeClient.registerItemRenderer(QTI.buckets.getItem(), new FluidContainerRenderer());
56
+		if (QTConfigs.add3DQwerTools)
57
+		{
58
+			MinecraftForgeClient.registerItemRenderer(QTI.qwerTool.getItem(), new QT_Tool_Renderer());
59
+			MinecraftForgeClient.registerItemRenderer(QTI.qwerFood.getItem(), new QT_Food_Renderer());
60
+		}
61
+		if (QTConfigs.enableArmor)
62
+		{
63
+			MinecraftForgeClient.registerItemRenderer(QTI.qwerArmor.getItem(), new QT_Armor_Renderer());
64
+		}
65
+		if (QTConfigs.add3DGregTools)
66
+		{
67
+			MinecraftForgeClient.registerItemRenderer(CS.ToolsGT.sMetaTool, new GT_Tool_Renderer());
68
+		}
69
+		if (QTConfigs.add3DPrefixes)
70
+		{
71
+			Iterator<ItemStackContainer> ingot = OP.ingot.mRegisteredItems.iterator();
72
+			while (ingot.hasNext())
73
+			{
74
+				MinecraftForgeClient.registerItemRenderer(ingot.next().mItem, itemRenderer);
75
+			}
76
+			Iterator<ItemStackContainer> stick = OP.stick.mRegisteredItems.iterator();
77
+			while (stick.hasNext())
78
+			{
79
+				MinecraftForgeClient.registerItemRenderer(stick.next().mItem, itemRenderer);
80
+			}
81
+			Iterator<ItemStackContainer> gear = OP.gear.mRegisteredItems.iterator();
82
+			while (gear.hasNext())
83
+			{
84
+				MinecraftForgeClient.registerItemRenderer(gear.next().mItem, itemRenderer);
85
+			}
86
+			/*Iterator<ItemStackContainer> stickLong = OP.stickLong.mRegisteredItems.iterator();
87
+			while (stickLong.hasNext())
88
+			{
89
+				MinecraftForgeClient.registerItemRenderer(stickLong.next().mItem, itemRenderer);
90
+			}*/
91
+		}
92
+		MinecraftForgeClient.registerItemRenderer(MultiTileEntityRegistry.getRegistry("qwertech.machines").getItem(401).getItem(), new QT_Machine_Renderer());
93
+		
94
+		RenderingRegistry.registerEntityRenderingHandler(EntityFoil.class,
95
+				new RenderEntityFoil());
96
+		RenderingRegistry.registerEntityRenderingHandler(EntityBall.class,
97
+				new RenderEntityBall());
98
+		RenderingRegistry.registerEntityRenderingHandler(EntityRock.class, 
99
+			      new RenderEntityRock());
100
+		RenderingRegistry.registerEntityRenderingHandler(EntityShuriken.class,
101
+				new RenderEntityShuriken());
102
+		RenderingRegistry.registerEntityRenderingHandler(EntityEgg.class, new RenderEntityEgg());
103
+		RenderingRegistry.registerEntityRenderingHandler(EntityTurkey.class, new RenderTurkey(new ModelTurkey(), 0.8F));
104
+		//RenderingRegistry.registerEntityRenderingHandler(EntityZombie.class,
105
+				//new RenderZombieFix());
106
+		RenderingRegistry.registerEntityRenderingHandler(EntityPhasianidae.class, new RenderGeneticEntity(new GeneticModelHandler(), 1));
107
+		RenderingRegistry.registerEntityRenderingHandler(EntityFrog.class, new RenderFrog(new ModelFrog(), 0.5F));
108
+		
109
+		ClientRegistry.bindTileEntitySpecialRenderer(CraftingTableT1.class, new CraftingTableRenderer());
110
+		ClientRegistry.bindTileEntitySpecialRenderer(CraftingTableT2.class, new CraftingTableRenderer());
111
+		ClientRegistry.bindTileEntitySpecialRenderer(CraftingTableT3.class, new CraftingTableRenderer());
112
+		ClientRegistry.bindTileEntitySpecialRenderer(CraftingTableT4.class, new CraftingTable3DRenderer());
113
+		
114
+		ClientRegistry.bindTileEntitySpecialRenderer(UpgradeDesk.class, new UpgradeDeskRenderer());
115
+
116
+		ClientRegistry.bindTileEntitySpecialRenderer(CuttingBoardTileEntity.class, new CountertopRenderer());
117
+		
118
+		wallRenderID = RenderingRegistry.getNextAvailableRenderId();
119
+		RenderingRegistry.registerBlockHandler(wallRenderID, new RenderCorrugated());
120
+		registerModels();
121
+		System.out.println("REGISTEREDRENDERER");
122
+	}
123
+
124
+	public void registerModel(Class<? extends IGeneticMob> classy, int species, int subtype, ModelBase model, boolean isChild)
125
+	{
126
+		if (!isChild)
127
+		{
128
+			Species[] speciesList = MobSpeciesRegistry.getSpeciesList(classy);
129
+			if (subtype > -1)
130
+			{
131
+				RegisterSpecies.setModel(speciesList[species].getSubtype((short)subtype), model);
132
+			} else {
133
+				RegisterSpecies.setModel(speciesList[species], model);
134
+			}
135
+		} else {
136
+			Species[] speciesList = MobSpeciesRegistry.getSpeciesList(classy);
137
+			if (subtype > -1)
138
+			{
139
+				RegisterSpecies.setChildModel(speciesList[species].getSubtype((short)subtype), model);
140
+			} else {
141
+				RegisterSpecies.setChildModel(speciesList[species], model);
142
+			}
143
+		}
144
+	}
145
+
146
+	public void registerModel(Class<? extends IGeneticMob> classy, int species, int subtype, ModelBase model)
147
+	{
148
+		registerModel(classy, species, subtype, model, false);
149
+	}
150
+
151
+	public void registerModels()
152
+	{
153
+		registerModel(EntityPhasianidae.class, 0, -1, new ModelChicken());
154
+		registerModel(EntityPhasianidae.class, 0, 1, new ModelChickenCrested());
155
+		registerModel(EntityPhasianidae.class, 0, 2, new ModelChickenCrested());
156
+		registerModel(EntityPhasianidae.class, 0, 3, new ModelChickenCrested());
157
+		for (int q = 4; q < 12; q++) {
158
+			registerModel(EntityPhasianidae.class, 0, q, new ModelChickenTailed());
159
+		}
160
+		registerModel(EntityPhasianidae.class, 0, 12, new ModelSuperChicken());
161
+
162
+		//red junglefowl
163
+		registerModel(EntityPhasianidae.class, 1, -1, new ModelWildChicken());
164
+		registerModel(EntityPhasianidae.class, 1, 3, new ModelGallusGallusJabouille());
165
+		//grey junglefowl
166
+		registerModel(EntityPhasianidae.class, 2, -1, new ModelGallusGallusJabouille());
167
+
168
+		//turkey
169
+		registerModel(EntityPhasianidae.class, 3, -1, new ModelTurkeyFat());
170
+	}
171
+	
172
+	@Override
173
+	public void onProxyAfterPostInit		(Abstract_Mod aMod, FMLPostInitializationEvent	aEvent) {
174
+		super.onProxyAfterPostInit(aMod, aEvent);
175
+	}
176
+
177
+	@SubscribeEvent
178
+	    public void onTooltip(ItemTooltipEvent event)
179
+	    {
180
+	    	if (ArmorUpgradeRegistry.instance.getUpgrade(event.itemStack) != null)
181
+	    	{
182
+	    		event.toolTip.add(LH.Chat.GOLD + "Can be used to upgrade armor");
183
+	    	}
184
+
185
+	    	if (event.itemStack.hasTagCompound())
186
+			{
187
+				NBTTagCompound tag = event.itemStack.stackTagCompound;
188
+				if (tag.hasKey("qt.food"))
189
+				{
190
+					event.toolTip.add("Quality: " + FOOD.getQuality(event.itemStack));
191
+					event.toolTip.add("Quantity: " + FOOD.getQuantity(event.itemStack));
192
+				}
193
+			}
194
+
195
+	    	if (event.entityPlayer.openContainer instanceof CuttingBoardTileEntity.GUICommonCuttingBoard)
196
+			{
197
+				CuttingBoardTileEntity.GUICommonCuttingBoard CB = (CuttingBoardTileEntity.GUICommonCuttingBoard)event.entityPlayer.openContainer;
198
+
199
+				for (int w = 0; w < 15; w++)
200
+				{
201
+					ItemStack stack = CB.craftResults.getStackInSlot(w);
202
+					if (stack == event.itemStack)
203
+					{
204
+						CountertopRecipe recipe = CB.currentRecipes.get(CB.craftResults.starting + w);
205
+						List<Object> input = recipe.getInputList();
206
+						HashMap<String, Integer> amounts = new HashMap<String, Integer>();
207
+						for (int q = 0; q < input.size(); q++)
208
+						{
209
+							Object ob = input.get(q);
210
+							if (ob instanceof ItemStack)
211
+							{
212
+								if (amounts.containsKey(((ItemStack)ob).getDisplayName())) {
213
+									amounts.put(((ItemStack) ob).getDisplayName(), amounts.get(((ItemStack) ob).getDisplayName()) + ((ItemStack) ob).stackSize);
214
+								} else {
215
+									amounts.put(((ItemStack) ob).getDisplayName(), ((ItemStack) ob).stackSize);
216
+								}
217
+							} else if (ob instanceof ArrayList && ((ArrayList)ob).size() > 0)
218
+							{
219
+								ItemStack IS = ((ArrayList<ItemStack>)ob).get(0);
220
+								if (amounts.containsKey(IS.getDisplayName())) {
221
+									amounts.put(IS.getDisplayName(), amounts.get(IS.getDisplayName()) + IS.stackSize);
222
+								} else {
223
+									amounts.put(IS.getDisplayName(), IS.stackSize);
224
+								}
225
+							} else if (ob instanceof String)
226
+							{
227
+								if (amounts.containsKey(ob)) {
228
+									amounts.put((String) ob, amounts.get((String) ob + 1));
229
+								} else {
230
+									amounts.put((String)ob, 1);
231
+								}
232
+							}
233
+						}
234
+						Iterator iterable = amounts.entrySet().iterator();
235
+						while (iterable.hasNext())
236
+						{
237
+							Map.Entry entry = (Map.Entry)iterable.next();
238
+							event.toolTip.add(LH.Chat.CYAN + entry.getKey() + ": " + entry.getValue());
239
+						}
240
+
241
+					}
242
+				}
243
+			}
244
+	    }
248 245
 }

+ 883
- 886
src/main/java/com/kbi/qwertech/CommonProxy.java
File diff suppressed because it is too large
View File


+ 0
- 1
src/main/java/com/kbi/qwertech/QwerTech.java View File

@@ -35,7 +35,6 @@ import gregapi.block.ItemBlockBase;
35 35
 import gregapi.block.metatype.BlockStones;
36 36
 import gregapi.block.multitileentity.MultiTileEntityBlock;
37 37
 import gregapi.block.multitileentity.MultiTileEntityRegistry;
38
-import gregapi.block.multitileentity.example.MultiTileEntityChest;
39 38
 import gregapi.code.ICondition.And;
40 39
 import gregapi.code.ModData;
41 40
 import gregapi.config.ConfigCategories;

+ 0
- 7
src/main/java/com/kbi/qwertech/entities/ai/EntityAINesting.java View File

@@ -1,7 +1,5 @@
1 1
 package com.kbi.qwertech.entities.ai;
2 2
 
3
-import com.kbi.qwertech.QwerTech;
4
-import com.kbi.qwertech.api.data.QTI;
5 3
 import com.kbi.qwertech.api.entities.IGeneticMob;
6 4
 import com.kbi.qwertech.api.entities.Species;
7 5
 import com.kbi.qwertech.api.entities.Subtype;
@@ -9,21 +7,16 @@ import com.kbi.qwertech.blocks.BlockSoil;
9 7
 import com.kbi.qwertech.entities.EntityHelperFunctions;
10 8
 import com.kbi.qwertech.loaders.RegisterSpecies;
11 9
 import com.kbi.qwertech.tileentities.NestTileEntity;
12
-import gregapi.block.misc.BlockBaseFlower;
13 10
 import gregapi.util.UT;
14 11
 import gregapi.util.WD;
15 12
 import net.minecraft.block.*;
16
-import net.minecraft.entity.EntityCreature;
17 13
 import net.minecraft.entity.EntityLiving;
18 14
 import net.minecraft.entity.EntityLivingBase;
19
-import net.minecraft.entity.SharedMonsterAttributes;
20 15
 import net.minecraft.entity.ai.EntityAIBase;
21
-import net.minecraft.entity.ai.RandomPositionGenerator;
22 16
 import net.minecraft.init.Blocks;
23 17
 import net.minecraft.item.ItemStack;
24 18
 import net.minecraft.nbt.NBTTagCompound;
25 19
 import net.minecraft.tileentity.TileEntity;
26
-import net.minecraft.util.MathHelper;
27 20
 import net.minecraft.util.Vec3;
28 21
 import net.minecraft.world.World;
29 22
 import net.minecraftforge.common.util.ForgeDirection;

+ 0
- 3
src/main/java/com/kbi/qwertech/items/behavior/Behavior_Note.java View File

@@ -2,7 +2,6 @@ package com.kbi.qwertech.items.behavior;
2 2
 
3 3
 import com.kbi.qwertech.api.data.MUSE;
4 4
 import com.kbi.qwertech.api.data.NOTE;
5
-import gregapi.data.CS;
6 5
 import gregapi.item.multiitem.MultiItem;
7 6
 import gregapi.item.multiitem.behaviors.IBehavior;
8 7
 import gregapi.util.UT;
@@ -10,8 +9,6 @@ import net.minecraft.entity.Entity;
10 9
 import net.minecraft.entity.EntityLivingBase;
11 10
 import net.minecraft.entity.player.EntityPlayer;
12 11
 import net.minecraft.item.ItemStack;
13
-import net.minecraft.util.AxisAlignedBB;
14
-import net.minecraft.util.DamageSource;
15 12
 import net.minecraft.util.EntityDamageSource;
16 13
 import net.minecraft.world.World;
17 14
 

+ 0
- 2
src/main/java/com/kbi/qwertech/items/stats/QT_Tool_Kazoo.java View File

@@ -1,8 +1,6 @@
1 1
 package com.kbi.qwertech.items.stats;
2 2
 
3 3
 import com.kbi.qwertech.items.behavior.Behavior_Note;
4
-import com.kbi.qwertech.items.behavior.Behavior_Scrape;
5
-import com.kbi.qwertech.items.behavior.Behavior_Swing;
6 4
 import com.kbi.qwertech.loaders.RegisterArmor;
7 5
 import gregapi.item.multiitem.MultiItemTool;
8 6
 import gregapi.item.multiitem.tools.ToolStats;

+ 0
- 2
src/main/java/com/kbi/qwertech/loaders/mod/ModLoad_EB.java View File

@@ -1,11 +1,9 @@
1 1
 package com.kbi.qwertech.loaders.mod;
2 2
 
3 3
 import gregapi.code.ModData;
4
-import gregapi.data.IL;
5 4
 import gregapi.data.MD;
6 5
 import gregapi.util.ST;
7 6
 import net.minecraft.block.Block;
8
-import net.minecraft.item.ItemStack;
9 7
 import net.minecraftforge.oredict.OreDictionary;
10 8
 
11 9
 public class ModLoad_EB extends ModLoadBase {

+ 0
- 1
src/main/java/com/kbi/qwertech/loaders/mod/ModLoad_TROPIC.java View File

@@ -3,7 +3,6 @@ package com.kbi.qwertech.loaders.mod;
3 3
 import gregapi.code.ModData;
4 4
 import gregapi.data.MD;
5 5
 import gregapi.util.ST;
6
-import net.minecraft.block.Block;
7 6
 import net.minecraft.item.ItemStack;
8 7
 import net.minecraftforge.oredict.OreDictionary;
9 8
 

+ 434
- 434
src/main/java/com/kbi/qwertech/loaders/mod/NEI_Tool_Handler.java View File

@@ -1,434 +1,434 @@
1
-package com.kbi.qwertech.loaders.mod;
2
-
3
-import codechicken.nei.PositionedStack;
4
-import codechicken.nei.recipe.GuiCraftingRecipe;
5
-import codechicken.nei.recipe.GuiUsageRecipe;
6
-import codechicken.nei.recipe.ShapelessRecipeHandler;
7
-import codechicken.nei.recipe.TemplateRecipeHandler;
8
-import com.kbi.qwertech.QwerTech;
9
-import com.kbi.qwertech.api.recipe.AnyQTTool;
10
-import cpw.mods.fml.common.event.FMLInterModComms;
11
-import gregapi.code.ICondition;
12
-import gregapi.data.ANY;
13
-import gregapi.data.CS;
14
-import gregapi.data.MT;
15
-import gregapi.item.multiitem.MultiItemTool;
16
-import gregapi.oredict.OreDictItemData;
17
-import gregapi.oredict.OreDictMaterial;
18
-import gregapi.oredict.OreDictPrefix;
19
-import gregapi.util.OM;
20
-import gregapi.util.ST;
21
-import net.minecraft.init.Items;
22
-import net.minecraft.item.ItemStack;
23
-import net.minecraft.item.crafting.CraftingManager;
24
-import net.minecraft.item.crafting.IRecipe;
25
-import net.minecraftforge.oredict.OreDictionary;
26
-
27
-import java.awt.*;
28
-import java.util.*;
29
-import java.util.List;
30
-
31
-public class NEI_Tool_Handler extends ShapelessRecipeHandler {
32
-
33
-	public NEI_Tool_Handler() {
34
-		this.transferRects.add(new TemplateRecipeHandler.RecipeTransferRect(new Rectangle(65, 13, 36, 18), getOverlayIdentifier()));
35
-	    if (!NEI_QT_Config.sIsAdded)
36
-	    {
37
-	      System.out.println("Creating QT NEI handler");
38
-	      FMLInterModComms.sendRuntimeMessage(QwerTech.instance, "NEIPlugins", "register-crafting-handler", QwerTech.MODID + "@" + getRecipeName() + "@" + getOverlayIdentifier());
39
-	      GuiCraftingRecipe.craftinghandlers.add(this);
40
-	      GuiUsageRecipe.usagehandlers.add(this);
41
-	    }
42
-	}
43
-	
44
-	@Override
45
-	public TemplateRecipeHandler newInstance() {
46
-    	return new NEI_Tool_Handler();
47
-    }
48
-
49
-	@Override
50
-	public String getRecipeName() {
51
-		// TODO Auto-generated method stub
52
-		return "Tool Crafting";
53
-	}
54
-
55
-	@Override
56
-	public String getGuiTexture()
57
-	{
58
-		return "textures/gui/container/crafting_table.png";
59
-	}
60
-	 
61
-	@Override
62
-	public String getOverlayIdentifier()
63
-	{
64
-		return "crafting";
65
-	}
66
-	
67
-	public class ToolCraftingCachedRecipe extends CachedShapelessRecipe
68
-	{
69
-		ICondition matCondition = ICondition.TRUE;
70
-		
71
-		public ToolCraftingCachedRecipe(ItemStack output) {
72
-			super(output);
73
-		}
74
- 
75
-		public ToolCraftingCachedRecipe(Object[] input, ItemStack output) {
76
-			super(input, output);
77
-		}
78
-		
79
-		public ToolCraftingCachedRecipe(Object[] input, ItemStack output, ICondition condition)
80
-		{
81
-			super(input, output);
82
-			matCondition = condition;
83
-		}
84
-		
85
-		public boolean isConditionTrue(ItemStack toCheck)
86
-		{
87
-			OreDictItemData tDt = OM.data(toCheck);
88
-			if (tDt == null) tDt = OM.anydata(toCheck); //not sure this would do anything (shrug)
89
-			if (tDt == null) return true;
90
-			return matCondition.isTrue(tDt.mMaterial.mMaterial) && matCondition.isTrue(tDt.mPrefix);
91
-		}
92
-		
93
-		int lasCheck = -1;
94
-		
95
-		@Override
96
-		public List<PositionedStack> getCycledIngredients(int cycle, List<PositionedStack> ingredients)
97
-		{
98
-			for (int itemIndex = 0; itemIndex < ingredients.size(); itemIndex++) {
99
-				PositionedStack stack = ingredients.get(itemIndex);
100
-				int cycleSpot = cycle % stack.items.length;
101
-				if (cycleSpot == lasCheck)
102
-				{
103
-					//we have recieved an infinite loop, this recipe should not have been displayed, error elsewhere
104
-					return ingredients;
105
-				}
106
-				if (lasCheck == -1) lasCheck = cycleSpot;
107
-				if (ST.equal(ST.make(Items.apple, 1, 20), stack.items[cycleSpot]))
108
-				{
109
-					cycle = cycle + 1;
110
-					return getCycledIngredients(cycle, ingredients);
111
-				} else {
112
-					setRenderPermutation(ingredients.get(itemIndex), cycle);
113
-				}
114
-			}
115
-			lasCheck = -1;
116
-			return ingredients;
117
-		}
118
-		
119
-		public void setRenderPermutation(PositionedStack stack, long cycle) {
120
-			stack.setPermutationToRender((int)cycle % stack.items.length);
121
-		}
122
-		
123
-		@Override
124
-		public boolean contains(Collection<PositionedStack> ingredients, ItemStack ingredient) 
125
-		{
126
-			return contains(ingredients, ingredient, true);
127
-		}
128
-        
129
-		public boolean contains(Collection<PositionedStack> ingredients, ItemStack ingredient, boolean matchNBT)
130
-		{
131
-			for (PositionedStack stack : ingredients)
132
-            {
133
-                for (ItemStack check : stack.items)
134
-                {
135
-                	if (ST.equal(check, ingredient, matchNBT))
136
-                	{
137
-                		return true;
138
-                	}
139
-                }
140
-            }
141
-            return false;
142
-        }
143
-	}
144
-	
145
-	@Override
146
-	public void loadCraftingRecipes(String outputId, Object... results)
147
-	{
148
-		if ((outputId.equals("crafting")) && (getClass() == NEI_Tool_Handler.class)) {
149
-			List<IRecipe> allrecipes = CraftingManager.getInstance().getRecipeList();
150
-			for (IRecipe irecipe : allrecipes) {
151
-				ToolCraftingCachedRecipe recipe = null;
152
-				if ((irecipe instanceof AnyQTTool)) {
153
-					recipe = shapelessQTRecipe((AnyQTTool)irecipe);
154
-				}
155
-				if (recipe != null)
156
-				{
157
-					arecipes.add(recipe); 
158
-				}
159
-			}
160
-		} else {
161
-			super.loadCraftingRecipes(outputId, results);
162
-		}
163
-	}
164
- 
165
-	@Override
166
-	public void loadCraftingRecipes(ItemStack result)
167
-	{
168
-		List<IRecipe> allrecipes = CraftingManager.getInstance().getRecipeList();
169
-		for (IRecipe irecipe : allrecipes) {
170
-			if (codechicken.nei.NEIServerUtils.areStacksSameTypeCrafting(irecipe.getRecipeOutput(), result)) {
171
-				ToolCraftingCachedRecipe recipe = null;
172
-				if ((irecipe instanceof AnyQTTool)) {
173
-					recipe = shapelessQTRecipe((AnyQTTool)irecipe);
174
-				}
175
-				if (recipe != null)
176
-				{ 
177
-					arecipes.add(recipe);
178
-				}
179
-			}
180
-		}
181
-	}
182
-  
183
-	@Override
184
-	public void loadUsageRecipes(ItemStack ingredient) {
185
-		List<IRecipe> allrecipes = CraftingManager.getInstance().getRecipeList();
186
-		for (IRecipe irecipe : allrecipes) {
187
-			ToolCraftingCachedRecipe recipe = null;
188
-			if ((irecipe instanceof AnyQTTool)) {
189
-				OreDictItemData mData = OM.anydata(ingredient);
190
-				if (mData != null)
191
-				{
192
-					recipe = shapelessQTRecipe((AnyQTTool)irecipe, mData.mPrefix, mData.mMaterial.mMaterial);
193
-				} else {
194
-					recipe = shapelessQTRecipe((AnyQTTool)irecipe);
195
-				}
196
-			}
197
-			if (recipe != null)
198
-			{
199
-				if (recipe.contains(recipe.ingredients, ingredient) && recipe.isConditionTrue(ingredient)) {
200
-					recipe.setIngredientPermutation(recipe.ingredients, ingredient);
201
-					arecipes.add(recipe);
202
-				} }
203
-		}
204
-	}
205
-	
206
-	public ToolCraftingCachedRecipe shapelessQTRecipe(AnyQTTool recipe)
207
-	{
208
-		return shapelessQTRecipe(recipe, null, null);
209
-	}
210
-	
211
-	public ToolCraftingCachedRecipe shapelessQTRecipe(AnyQTTool recipe, OreDictPrefix prefix, OreDictMaterial mat)
212
-	{
213
-		ArrayList<Object> items = new ArrayList(Arrays.asList(recipe.recipePieces));
214
-		for (Object item : items) {
215
-			if (((item instanceof List)) && (((List)item).isEmpty()))
216
-				return null;
217
-		}
218
-		try {
219
-			OreDictMaterial[] matlist = OreDictMaterial.MATERIAL_ARRAY;
220
-			ArrayList<OreDictMaterial> primary = new ArrayList();
221
-			ArrayList<OreDictMaterial> secondary = new ArrayList();
222
-			for (int w = 0; w < matlist.length; w++)
223
-			{
224
-				if (matlist[w] != null && recipe.mCondition.isTrue(matlist[w]))
225
-				{
226
-					primary.add(matlist[w]);
227
-					if (matlist[w].mHandleMaterial != null)
228
-					{
229
-						secondary.add(matlist[w].mHandleMaterial);
230
-					} else {
231
-						secondary.add(MT.Wood);
232
-					}
233
-				}
234
-			}
235
-			List<Integer> removems = new ArrayList();
236
-			List<Integer> reversems = new ArrayList();
237
-			for (int q = 0; q < items.size(); q++)
238
-			{
239
-				Object check = items.get(q);
240
-				if (check instanceof OreDictItemData)
241
-				{
242
-					OreDictItemData data = (OreDictItemData)check;
243
-					List<ItemStack> adderble = new ArrayList();
244
-					if (data.mMaterial.mMaterial == MT.NULL)
245
-					{
246
-						if (data.mPrefix == prefix)
247
-						{
248
-							primary = new ArrayList();
249
-							primary.add(mat);
250
-							adderble.add(prefix.mat(mat, 1));
251
-						} else {
252
-							for (int e = 0; e < primary.size(); e++)
253
-							{
254
-								OreDictMaterial thisMat = primary.get(e);
255
-								if (data.mPrefix.isTrue(thisMat))
256
-								{
257
-									adderble.add(data.mPrefix.mat(thisMat, 1));
258
-								} else {
259
-									adderble.add(ST.make(Items.apple, 1, 20));
260
-									if (!removems.contains(e)) removems.add(e);
261
-								}
262
-							}
263
-						}
264
-					} else if (data.mMaterial.mMaterial == MT.Empty)
265
-					{
266
-						if (data.mPrefix == prefix)
267
-						{
268
-							primary = new ArrayList();
269
-							primary.add(mat);
270
-							adderble.add(prefix.mat(mat, 1));
271
-						} else {
272
-							reversems.add(q);
273
-							for (int e = 0; e < primary.size(); e++)
274
-							{
275
-								OreDictMaterial thisMat = primary.get(e);
276
-								if (data.mPrefix.isTrue(thisMat))
277
-								{
278
-									adderble.add(data.mPrefix.mat(thisMat, 1));
279
-								} else {
280
-									adderble.add(ST.make(Items.apple, 1, 20));
281
-									if (!removems.contains(e)) removems.add(e);
282
-								}
283
-							}
284
-						}
285
-					} else if (data.mMaterial.mMaterial == MT.Butter)
286
-					{
287
-						if (data.mPrefix == prefix)
288
-						{
289
-							secondary = new ArrayList();
290
-							secondary.add(mat);
291
-							adderble.add(prefix.mat(mat, 1));
292
-						} else {
293
-							for (int e = 0; e < secondary.size(); e++)
294
-							{
295
-								OreDictMaterial thisMat = secondary.get(e);
296
-								if (data.mPrefix.isTrue(thisMat))
297
-								{
298
-									if (thisMat == MT.Plastic || thisMat == ANY.WoodPlastic)
299
-									{
300
-										if (CS.RANDOM.nextInt(3) != 0)
301
-										{
302
-											adderble.add(data.mPrefix.mat(MT.Wood, 1));
303
-										} else {
304
-											adderble.add(data.mPrefix.mat(MT.Plastic, 1));
305
-										}
306
-									} else {
307
-										adderble.add(data.mPrefix.mat(thisMat, 1));
308
-									}
309
-								} else {
310
-									adderble.add(ST.make(Items.apple, 1, 20));
311
-									if (!removems.contains(e)) removems.add(e);
312
-								}
313
-							}	
314
-						}
315
-					}
316
-					items.set(q, adderble);
317
-				} else if (check instanceof String)
318
-				{
319
-					items.set(q, OreDictionary.getOres((String)check));
320
-				} else if (check instanceof ItemStack)
321
-				{
322
-					ItemStack stacky = (ItemStack)check;
323
-					if (stacky.getItem() instanceof MultiItemTool)
324
-					{
325
-						List<ItemStack> adderble = new ArrayList();
326
-						MultiItemTool tool = (MultiItemTool)stacky.getItem();
327
-						OreDictMaterial prime = MultiItemTool.getPrimaryMaterial(stacky);
328
-						OreDictMaterial nex = MultiItemTool.getSecondaryMaterial(stacky);
329
-						int dam = stacky.getItemDamage();
330
-						if (prime == MT.NULL)
331
-						{
332
-							for (int g = 0; g < primary.size(); g++)
333
-							{
334
-								if (nex == MT.Butter)
335
-								{
336
-									adderble.add(tool.getToolWithStats(dam, primary.get(g), secondary.get(g)));
337
-								} else if (nex == MT.NULL)
338
-								{
339
-									adderble.add(tool.getToolWithStats(dam, primary.get(g), primary.get(g)));
340
-								} else if (nex == MT.Empty)
341
-								{
342
-									adderble.add(tool.getToolWithStats(dam, primary.get(g), MT.Empty));
343
-								} else {
344
-									adderble.add(tool.getToolWithStats(dam, primary.get(g), nex));
345
-								}
346
-							}
347
-						} else if (prime == MT.Butter)
348
-						{
349
-							for (int g = 0; g < primary.size(); g++)
350
-							{
351
-								if (nex == MT.Butter)
352
-								{
353
-									adderble.add(tool.getToolWithStats(dam, secondary.get(g), secondary.get(g)));
354
-								} else if (nex == MT.NULL)
355
-								{
356
-									adderble.add(tool.getToolWithStats(dam, secondary.get(g), primary.get(g)));
357
-								} else if (nex == MT.Empty)
358
-								{
359
-									adderble.add(tool.getToolWithStats(dam, secondary.get(g), MT.Empty));
360
-								} else {
361
-									adderble.add(tool.getToolWithStats(dam, secondary.get(g), nex));
362
-								}
363
-							}
364
-						} else if (prime == MT.Empty)
365
-						{
366
-							for (int g = 0; g < primary.size(); g++)
367
-							{
368
-								if (nex == MT.Butter)
369
-								{
370
-									adderble.add(tool.getToolWithStats(dam, primary.get(removems.contains(primary.size() - g - 1) ? g : primary.size() - g - 1), secondary.get(removems.contains(primary.size() - g - 1) ? g : primary.size() - g - 1)));
371
-								} else if (nex == MT.NULL)
372
-								{
373
-									adderble.add(tool.getToolWithStats(dam, primary.get(removems.contains(primary.size() - g - 1) ? g : primary.size() - g - 1), primary.get(g)));
374
-								} else if (nex == MT.Empty)
375
-								{
376
-									adderble.add(tool.getToolWithStats(dam, primary.get(removems.contains(primary.size() - g - 1) ? g : primary.size() - g - 1), MT.Empty));
377
-								} else {
378
-									adderble.add(tool.getToolWithStats(dam, primary.get(removems.contains(primary.size() - g - 1) ? g : primary.size() - g - 1), nex));
379
-								}
380
-							}
381
-						} else {
382
-							for (int g = 0; g < primary.size(); g++)
383
-							{
384
-								if (nex == MT.Butter)
385
-								{
386
-									adderble.add(tool.getToolWithStats(dam, prime, secondary.get(g)));
387
-								} else if (nex == MT.NULL)
388
-								{
389
-									adderble.add(tool.getToolWithStats(dam, prime, primary.get(g)));
390
-								} else if (nex == MT.Empty)
391
-								{
392
-									adderble.add(tool.getToolWithStats(dam, prime, MT.Empty));
393
-								} else {
394
-									adderble.add(tool.getToolWithStats(dam, prime, nex));
395
-								}
396
-							}
397
-						}
398
-						items.set(q, adderble);
399
-					}
400
-				}
401
-			}
402
-			Collections.sort(removems);
403
-			
404
-			for (int t = 0; t < items.size(); t++)
405
-			{
406
-				int removed = 0;
407
-				for (int r = 0; r < removems.size(); r++)
408
-				{
409
-					int removable = removems.get(r);
410
-					Object recipeBit = items.get(t);
411
-					if (recipeBit instanceof List && ((List)recipeBit).size() > 1)
412
-					{
413
-						((List)recipeBit).remove(removable - removed);
414
-					}
415
-					removed = removed + 1;
416
-				}
417
-				if (reversems.contains(t))
418
-				{
419
-					Collections.reverse((List)items.get(t));
420
-				}
421
-				if (items.get(t) == null || (items.get(t) instanceof List && ((List)items.get(t)).size() <= 1))
422
-				{
423
-					//System.out.println("We hve filed to lod" + t);
424
-					return null;
425
-				}
426
-			}
427
-			//System.out.println("Removed " + removed + " unsuitable materials from NEI recipe");
428
-			return new ToolCraftingCachedRecipe(items.toArray(), recipe.getRecipeOutput(), recipe.mCondition);
429
-		} catch (Exception e) {
430
-			codechicken.nei.NEIClientConfig.logger.error("Error loading recipe: ", e); }
431
-		return null;
432
-	}
433
-
434
-}
1
+package com.kbi.qwertech.loaders.mod;
2
+
3
+import codechicken.nei.PositionedStack;
4
+import codechicken.nei.recipe.GuiCraftingRecipe;
5
+import codechicken.nei.recipe.GuiUsageRecipe;
6
+import codechicken.nei.recipe.ShapelessRecipeHandler;
7
+import codechicken.nei.recipe.TemplateRecipeHandler;
8
+import com.kbi.qwertech.QwerTech;
9
+import com.kbi.qwertech.api.recipe.AnyQTTool;
10
+import cpw.mods.fml.common.event.FMLInterModComms;
11
+import gregapi.code.ICondition;
12
+import gregapi.data.ANY;
13
+import gregapi.data.CS;
14
+import gregapi.data.MT;
15
+import gregapi.item.multiitem.MultiItemTool;
16
+import gregapi.oredict.OreDictItemData;
17
+import gregapi.oredict.OreDictMaterial;
18
+import gregapi.oredict.OreDictPrefix;
19
+import gregapi.util.OM;
20
+import gregapi.util.ST;
21
+import net.minecraft.init.Items;
22
+import net.minecraft.item.ItemStack;
23
+import net.minecraft.item.crafting.CraftingManager;
24
+import net.minecraft.item.crafting.IRecipe;
25
+import net.minecraftforge.oredict.OreDictionary;
26
+
27
+import java.awt.*;
28
+import java.util.List;
29
+import java.util.*;
30
+
31
+public class NEI_Tool_Handler extends ShapelessRecipeHandler {
32
+
33
+	public NEI_Tool_Handler() {
34
+		this.transferRects.add(new TemplateRecipeHandler.RecipeTransferRect(new Rectangle(65, 13, 36, 18), getOverlayIdentifier()));
35
+	    if (!NEI_QT_Config.sIsAdded)
36
+	    {
37
+	      System.out.println("Creating QT NEI handler");
38
+	      FMLInterModComms.sendRuntimeMessage(QwerTech.instance, "NEIPlugins", "register-crafting-handler", QwerTech.MODID + "@" + getRecipeName() + "@" + getOverlayIdentifier());
39
+	      GuiCraftingRecipe.craftinghandlers.add(this);
40
+	      GuiUsageRecipe.usagehandlers.add(this);
41
+	    }
42
+	}
43
+	
44
+	@Override
45
+	public TemplateRecipeHandler newInstance() {
46
+    	return new NEI_Tool_Handler();
47
+    }
48
+
49
+	@Override
50
+	public String getRecipeName() {
51
+		// TODO Auto-generated method stub
52
+		return "Tool Crafting";
53
+	}
54
+
55
+	@Override
56
+	public String getGuiTexture()
57
+	{
58
+		return "textures/gui/container/crafting_table.png";
59
+	}
60
+	 
61
+	@Override
62
+	public String getOverlayIdentifier()
63
+	{
64
+		return "crafting";
65
+	}
66
+	
67
+	public class ToolCraftingCachedRecipe extends CachedShapelessRecipe
68
+	{
69
+		ICondition matCondition = ICondition.TRUE;
70
+		
71
+		public ToolCraftingCachedRecipe(ItemStack output) {
72
+			super(output);
73
+		}
74
+ 
75
+		public ToolCraftingCachedRecipe(Object[] input, ItemStack output) {
76
+			super(input, output);
77
+		}
78
+		
79
+		public ToolCraftingCachedRecipe(Object[] input, ItemStack output, ICondition condition)
80
+		{
81
+			super(input, output);
82
+			matCondition = condition;
83
+		}
84
+		
85
+		public boolean isConditionTrue(ItemStack toCheck)
86
+		{
87
+			OreDictItemData tDt = OM.data(toCheck);
88
+			if (tDt == null) tDt = OM.anydata(toCheck); //not sure this would do anything (shrug)
89
+			if (tDt == null) return true;
90
+			return matCondition.isTrue(tDt.mMaterial.mMaterial) && matCondition.isTrue(tDt.mPrefix);
91
+		}
92
+		
93
+		int lasCheck = -1;
94
+		
95
+		@Override
96
+		public List<PositionedStack> getCycledIngredients(int cycle, List<PositionedStack> ingredients)
97
+		{
98
+			for (int itemIndex = 0; itemIndex < ingredients.size(); itemIndex++) {
99
+				PositionedStack stack = ingredients.get(itemIndex);
100
+				int cycleSpot = cycle % stack.items.length;
101
+				if (cycleSpot == lasCheck)
102
+				{
103
+					//we have recieved an infinite loop, this recipe should not have been displayed, error elsewhere
104
+					return ingredients;
105
+				}
106
+				if (lasCheck == -1) lasCheck = cycleSpot;
107
+				if (ST.equal(ST.make(Items.apple, 1, 20), stack.items[cycleSpot]))
108
+				{
109
+					cycle = cycle + 1;
110
+					return getCycledIngredients(cycle, ingredients);
111
+				} else {
112
+					setRenderPermutation(ingredients.get(itemIndex), cycle);
113
+				}
114
+			}
115
+			lasCheck = -1;
116
+			return ingredients;
117
+		}
118
+		
119
+		public void setRenderPermutation(PositionedStack stack, long cycle) {
120
+			stack.setPermutationToRender((int)cycle % stack.items.length);
121
+		}
122
+		
123
+		@Override
124
+		public boolean contains(Collection<PositionedStack> ingredients, ItemStack ingredient) 
125
+		{
126
+			return contains(ingredients, ingredient, true);
127
+		}
128
+        
129
+		public boolean contains(Collection<PositionedStack> ingredients, ItemStack ingredient, boolean matchNBT)
130
+		{
131
+			for (PositionedStack stack : ingredients)
132
+            {
133
+                for (ItemStack check : stack.items)
134
+                {
135
+                	if (ST.equal(check, ingredient, matchNBT))
136
+                	{
137
+                		return true;
138
+                	}
139
+                }
140
+            }
141
+            return false;
142
+        }
143
+	}
144
+	
145
+	@Override
146
+	public void loadCraftingRecipes(String outputId, Object... results)
147
+	{
148
+		if ((outputId.equals("crafting")) && (getClass() == NEI_Tool_Handler.class)) {
149
+			List<IRecipe> allrecipes = CraftingManager.getInstance().getRecipeList();
150
+			for (IRecipe irecipe : allrecipes) {
151
+				ToolCraftingCachedRecipe recipe = null;
152
+				if ((irecipe instanceof AnyQTTool)) {
153
+					recipe = shapelessQTRecipe((AnyQTTool)irecipe);
154
+				}
155
+				if (recipe != null)
156
+				{
157
+					arecipes.add(recipe); 
158
+				}
159
+			}
160
+		} else {
161
+			super.loadCraftingRecipes(outputId, results);
162
+		}
163
+	}
164
+ 
165
+	@Override
166
+	public void loadCraftingRecipes(ItemStack result)
167
+	{
168
+		List<IRecipe> allrecipes = CraftingManager.getInstance().getRecipeList();
169
+		for (IRecipe irecipe : allrecipes) {
170
+			if (codechicken.nei.NEIServerUtils.areStacksSameTypeCrafting(irecipe.getRecipeOutput(), result)) {
171
+				ToolCraftingCachedRecipe recipe = null;
172
+				if ((irecipe instanceof AnyQTTool)) {
173
+					recipe = shapelessQTRecipe((AnyQTTool)irecipe);
174
+				}
175
+				if (recipe != null)
176
+				{ 
177
+					arecipes.add(recipe);
178
+				}
179
+			}
180
+		}
181
+	}
182
+  
183
+	@Override
184
+	public void loadUsageRecipes(ItemStack ingredient) {
185
+		List<IRecipe> allrecipes = CraftingManager.getInstance().getRecipeList();
186
+		for (IRecipe irecipe : allrecipes) {
187
+			ToolCraftingCachedRecipe recipe = null;
188
+			if ((irecipe instanceof AnyQTTool)) {
189
+				OreDictItemData mData = OM.anydata(ingredient);
190
+				if (mData != null)
191
+				{
192
+					recipe = shapelessQTRecipe((AnyQTTool)irecipe, mData.mPrefix, mData.mMaterial.mMaterial);
193
+				} else {
194
+					recipe = shapelessQTRecipe((AnyQTTool)irecipe);
195
+				}
196
+			}
197
+			if (recipe != null)
198
+			{
199
+				if (recipe.contains(recipe.ingredients, ingredient) && recipe.isConditionTrue(ingredient)) {
200
+					recipe.setIngredientPermutation(recipe.ingredients, ingredient);
201
+					arecipes.add(recipe);
202
+				} }
203
+		}
204
+	}
205
+	
206
+	public ToolCraftingCachedRecipe shapelessQTRecipe(AnyQTTool recipe)
207
+	{
208
+		return shapelessQTRecipe(recipe, null, null);
209
+	}
210
+	
211
+	public ToolCraftingCachedRecipe shapelessQTRecipe(AnyQTTool recipe, OreDictPrefix prefix, OreDictMaterial mat)
212
+	{
213
+		ArrayList<Object> items = new ArrayList(Arrays.asList(recipe.recipePieces));
214
+		for (Object item : items) {
215
+			if (((item instanceof List)) && (((List)item).isEmpty()))
216
+				return null;
217
+		}
218
+		try {
219
+			OreDictMaterial[] matlist = OreDictMaterial.MATERIAL_ARRAY;
220
+			ArrayList<OreDictMaterial> primary = new ArrayList();
221
+			ArrayList<OreDictMaterial> secondary = new ArrayList();
222
+			for (int w = 0; w < matlist.length; w++)
223
+			{
224
+				if (matlist[w] != null && recipe.mCondition.isTrue(matlist[w]))
225
+				{
226
+					primary.add(matlist[w]);
227
+					if (matlist[w].mHandleMaterial != null)
228
+					{
229
+						secondary.add(matlist[w].mHandleMaterial);
230
+					} else {
231
+						secondary.add(MT.Wood);
232
+					}
233
+				}
234
+			}
235
+			List<Integer> removems = new ArrayList();
236
+			List<Integer> reversems = new ArrayList();
237
+			for (int q = 0; q < items.size(); q++)
238
+			{
239
+				Object check = items.get(q);
240
+				if (check instanceof OreDictItemData)
241
+				{
242
+					OreDictItemData data = (OreDictItemData)check;
243
+					List<ItemStack> adderble = new ArrayList();
244
+					if (data.mMaterial.mMaterial == MT.NULL)
245
+					{
246
+						if (data.mPrefix == prefix)
247
+						{
248
+							primary = new ArrayList();
249
+							primary.add(mat);
250
+							adderble.add(prefix.mat(mat, 1));
251
+						} else {
252
+							for (int e = 0; e < primary.size(); e++)
253
+							{
254
+								OreDictMaterial thisMat = primary.get(e);
255
+								if (data.mPrefix.isTrue(thisMat))
256
+								{
257
+									adderble.add(data.mPrefix.mat(thisMat, 1));
258
+								} else {
259
+									adderble.add(ST.make(Items.apple, 1, 20));
260
+									if (!removems.contains(e)) removems.add(e);
261
+								}
262
+							}
263
+						}
264
+					} else if (data.mMaterial.mMaterial == MT.Empty)
265
+					{
266
+						if (data.mPrefix == prefix)
267
+						{
268
+							primary = new ArrayList();
269
+							primary.add(mat);
270
+							adderble.add(prefix.mat(mat, 1));
271
+						} else {
272
+							reversems.add(q);
273
+							for (int e = 0; e < primary.size(); e++)
274
+							{
275
+								OreDictMaterial thisMat = primary.get(e);
276
+								if (data.mPrefix.isTrue(thisMat))
277
+								{
278
+									adderble.add(data.mPrefix.mat(thisMat, 1));
279
+								} else {
280
+									adderble.add(ST.make(Items.apple, 1, 20));
281
+									if (!removems.contains(e)) removems.add(e);
282
+								}
283
+							}
284
+						}
285
+					} else if (data.mMaterial.mMaterial == MT.Butter)
286
+					{
287
+						if (data.mPrefix == prefix)
288
+						{
289
+							secondary = new ArrayList();
290
+							secondary.add(mat);
291
+							adderble.add(prefix.mat(mat, 1));
292
+						} else {
293
+							for (int e = 0; e < secondary.size(); e++)
294
+							{
295
+								OreDictMaterial thisMat = secondary.get(e);
296
+								if (data.mPrefix.isTrue(thisMat))
297
+								{
298
+									if (thisMat == MT.Plastic || thisMat == ANY.WoodPlastic)
299
+									{
300
+										if (CS.RANDOM.nextInt(3) != 0)
301
+										{
302
+											adderble.add(data.mPrefix.mat(MT.Wood, 1));
303
+										} else {
304
+											adderble.add(data.mPrefix.mat(MT.Plastic, 1));
305
+										}
306
+									} else {
307
+										adderble.add(data.mPrefix.mat(thisMat, 1));
308
+									}
309
+								} else {
310
+									adderble.add(ST.make(Items.apple, 1, 20));
311
+									if (!removems.contains(e)) removems.add(e);
312
+								}
313
+							}	
314
+						}
315
+					}
316
+					items.set(q, adderble);
317
+				} else if (check instanceof String)
318
+				{
319
+					items.set(q, OreDictionary.getOres((String)check));
320
+				} else if (check instanceof ItemStack)
321
+				{
322
+					ItemStack stacky = (ItemStack)check;
323
+					if (stacky.getItem() instanceof MultiItemTool)
324
+					{
325
+						List<ItemStack> adderble = new ArrayList();
326
+						MultiItemTool tool = (MultiItemTool)stacky.getItem();
327
+						OreDictMaterial prime = MultiItemTool.getPrimaryMaterial(stacky);
328
+						OreDictMaterial nex = MultiItemTool.getSecondaryMaterial(stacky);
329
+						int dam = stacky.getItemDamage();
330
+						if (prime == MT.NULL)
331
+						{
332
+							for (int g = 0; g < primary.size(); g++)
333
+							{
334
+								if (nex == MT.Butter)
335
+								{
336
+									adderble.add(tool.getToolWithStats(dam, primary.get(g), secondary.get(g)));
337
+								} else if (nex == MT.NULL)
338
+								{
339
+									adderble.add(tool.getToolWithStats(dam, primary.get(g), primary.get(g)));
340
+								} else if (nex == MT.Empty)
341
+								{
342
+									adderble.add(tool.getToolWithStats(dam, primary.get(g), MT.Empty));
343
+								} else {
344
+									adderble.add(tool.getToolWithStats(dam, primary.get(g), nex));
345
+								}
346
+							}
347
+						} else if (prime == MT.Butter)
348
+						{
349
+							for (int g = 0; g < primary.size(); g++)
350
+							{
351
+								if (nex == MT.Butter)
352
+								{
353
+									adderble.add(tool.getToolWithStats(dam, secondary.get(g), secondary.get(g)));
354
+								} else if (nex == MT.NULL)
355
+								{
356
+									adderble.add(tool.getToolWithStats(dam, secondary.get(g), primary.get(g)));
357
+								} else if (nex == MT.Empty)
358
+								{
359
+									adderble.add(tool.getToolWithStats(dam, secondary.get(g), MT.Empty));
360
+								} else {
361
+									adderble.add(tool.getToolWithStats(dam, secondary.get(g), nex));
362
+								}
363
+							}
364
+						} else if (prime == MT.Empty)
365
+						{
366
+							for (int g = 0; g < primary.size(); g++)
367
+							{
368
+								if (nex == MT.Butter)
369
+								{
370
+									adderble.add(tool.getToolWithStats(dam, primary.get(removems.contains(primary.size() - g - 1) ? g : primary.size() - g - 1), secondary.get(removems.contains(primary.size() - g - 1) ? g : primary.size() - g - 1)));
371
+								} else if (nex == MT.NULL)
372
+								{
373
+									adderble.add(tool.getToolWithStats(dam, primary.get(removems.contains(primary.size() - g - 1) ? g : primary.size() - g - 1), primary.get(g)));
374
+								} else if (nex == MT.Empty)
375
+								{
376
+									adderble.add(tool.getToolWithStats(dam, primary.get(removems.contains(primary.size() - g - 1) ? g : primary.size() - g - 1), MT.Empty));
377
+								} else {
378
+									adderble.add(tool.getToolWithStats(dam, primary.get(removems.contains(primary.size() - g - 1) ? g : primary.size() - g - 1), nex));
379
+								}
380
+							}
381
+						} else {
382
+							for (int g = 0; g < primary.size(); g++)
383
+							{
384
+								if (nex == MT.Butter)
385
+								{
386
+									adderble.add(tool.getToolWithStats(dam, prime, secondary.get(g)));
387
+								} else if (nex == MT.NULL)
388
+								{
389
+									adderble.add(tool.getToolWithStats(dam, prime, primary.get(g)));
390
+								} else if (nex == MT.Empty)
391
+								{
392
+									adderble.add(tool.getToolWithStats(dam, prime, MT.Empty));
393
+								} else {
394
+									adderble.add(tool.getToolWithStats(dam, prime, nex));
395
+								}
396
+							}
397
+						}
398
+						items.set(q, adderble);
399
+					}
400
+				}
401
+			}
402
+			Collections.sort(removems);
403
+			
404
+			for (int t = 0; t < items.size(); t++)
405
+			{
406
+				int removed = 0;
407
+				for (int r = 0; r < removems.size(); r++)
408
+				{
409
+					int removable = removems.get(r);
410
+					Object recipeBit = items.get(t);
411
+					if (recipeBit instanceof List && ((List)recipeBit).size() > 1)
412
+					{
413
+						((List)recipeBit).remove(removable - removed);
414
+					}
415
+					removed = removed + 1;
416
+				}
417
+				if (reversems.contains(t))
418
+				{
419
+					Collections.reverse((List)items.get(t));
420
+				}
421
+				if (items.get(t) == null || (items.get(t) instanceof List && ((List)items.get(t)).size() <= 1))
422
+				{
423
+					//System.out.println("We hve filed to lod" + t);
424
+					return null;
425
+				}
426
+			}
427
+			//System.out.println("Removed " + removed + " unsuitable materials from NEI recipe");
428
+			return new ToolCraftingCachedRecipe(items.toArray(), recipe.getRecipeOutput(), recipe.mCondition);
429
+		} catch (Exception e) {
430
+			codechicken.nei.NEIClientConfig.logger.error("Error loading recipe: ", e); }
431
+		return null;
432
+	}
433
+
434
+}

+ 0
- 7
src/main/java/com/kbi/qwertech/tileentities/ChestTileEntity.java View File

@@ -7,12 +7,9 @@ import gregapi.block.multitileentity.MultiTileEntityRegistry;
7 7
 import gregapi.block.multitileentity.example.MultiTileEntityChest;
8 8
 import gregapi.data.MD;
9 9
 import gregapi.gui.ContainerClient;
10
-import gregapi.gui.ContainerClientChest;
11 10
 import gregapi.gui.ContainerCommonChest;
12 11
 import gregapi.tileentity.ITileEntityInventoryGUI;
13 12
 import gregapi.util.UT;
14
-import net.minecraft.client.renderer.OpenGlHelper;
15
-import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
16 13
 import net.minecraft.entity.player.EntityPlayer;
17 14
 import net.minecraft.entity.player.InventoryPlayer;
18 15
 import net.minecraft.tileentity.TileEntity;
@@ -21,11 +18,7 @@ import net.minecraft.util.StatCollector;
21 18
 import org.lwjgl.opengl.GL11;
22 19
 
23 20
 import static gregapi.data.CS.*;
24
-import static gregapi.data.CS.COMPASS_FROM_SIDE;
25 21
 import static org.lwjgl.opengl.GL11.*;
26
-import static org.lwjgl.opengl.GL11.glEnable;
27
-import static org.lwjgl.opengl.GL11.glPopMatrix;
28
-import static org.lwjgl.opengl.GL12.GL_RESCALE_NORMAL;
29 22
 
30 23
 public class ChestTileEntity extends MultiTileEntityChest {
31 24
     @Override

+ 0
- 5
src/main/java/com/kbi/qwertech/tileentities/CountertopShelvesTileEntity.java View File

@@ -1,7 +1,6 @@
1 1
 package com.kbi.qwertech.tileentities;
2 2
 
3 3
 import com.kbi.qwertech.api.data.QTI;
4
-import com.kbi.qwertech.api.recipe.CountertopRecipe;
5 4
 import com.kbi.qwertech.network.packets.PacketInventorySync;
6 5
 import cpw.mods.fml.relauncher.Side;
7 6
 import cpw.mods.fml.relauncher.SideOnly;
@@ -10,7 +9,6 @@ import gregapi.data.CS;
10 9
 import gregapi.data.TD;
11 10
 import gregapi.gui.ContainerClientDefault;
12 11
 import gregapi.gui.ContainerCommonDefault;
13
-import gregapi.item.multiitem.MultiItemTool;
14 12
 import gregapi.render.BlockTextureDefault;
15 13
 import gregapi.render.IIconContainer;
16 14
 import gregapi.render.ITexture;
@@ -18,11 +16,8 @@ import gregapi.util.ST;
18 16
 import gregapi.util.UT;
19 17
 import net.minecraft.block.Block;
20 18
 import net.minecraft.entity.player.EntityPlayer;
21
-import net.minecraft.entity.player.InventoryPlayer;
22
-import net.minecraft.inventory.Slot;
23 19
 import net.minecraft.item.ItemStack;
24 20
 
25
-import java.util.ArrayList;
26 21
 import java.util.List;
27 22
 
28 23
 import static gregapi.data.CS.PX_P;

+ 1
- 5
src/main/java/com/kbi/qwertech/tileentities/NestTileEntity.java View File

@@ -21,20 +21,16 @@ import net.minecraft.entity.EntityLiving;
21 21
 import net.minecraft.entity.item.EntityItem;
22 22
 import net.minecraft.entity.player.EntityPlayer;
23 23
 import net.minecraft.inventory.ISidedInventory;
24
-import net.minecraft.item.Item;
25 24
 import net.minecraft.item.ItemStack;
26 25
 import net.minecraft.nbt.NBTTagCompound;
27 26
 import net.minecraft.util.AxisAlignedBB;
28
-import org.apache.logging.log4j.LogManager;
29 27
 
30 28
 import java.awt.*;
31 29
 import java.util.ArrayList;
32 30
 import java.util.List;
33 31
 import java.util.UUID;
34 32
 
35
-import static gregapi.data.CS.F;
36
-import static gregapi.data.CS.PX_P;
37
-import static gregapi.data.CS.T;
33
+import static gregapi.data.CS.*;
38 34
 
39 35
 public class NestTileEntity extends TileEntityBase05Inventories implements IMultiTileEntity.IMTE_GetBlocksMovement, IMultiTileEntity.IMTE_AddCollisionBoxesToList, IMultiTileEntity.IMTE_SetBlockBoundsBasedOnState, IMultiTileEntity.IMTE_GetSelectedBoundingBoxFromPool, IMultiTileEntity.IMTE_GetCollisionBoundingBoxFromPool, ISidedInventory {
40 36
 

Loading…
Cancel
Save