aboutsummaryrefslogtreecommitdiff
path: root/src/Java/miscutil/xmod/gregtech/loaders/Processing_Block.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/miscutil/xmod/gregtech/loaders/Processing_Block.java')
-rw-r--r--src/Java/miscutil/xmod/gregtech/loaders/Processing_Block.java107
1 files changed, 107 insertions, 0 deletions
diff --git a/src/Java/miscutil/xmod/gregtech/loaders/Processing_Block.java b/src/Java/miscutil/xmod/gregtech/loaders/Processing_Block.java
new file mode 100644
index 0000000000..2440a4d673
--- /dev/null
+++ b/src/Java/miscutil/xmod/gregtech/loaders/Processing_Block.java
@@ -0,0 +1,107 @@
+package miscutil.xmod.gregtech.loaders;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.ConfigCategories;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.SubTag;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Utility;
+import miscutil.core.util.Utils;
+import miscutil.xmod.gregtech.api.enums.GregtechOrePrefixes;
+import miscutil.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
+import miscutil.xmod.gregtech.api.interfaces.internal.Interface_OreRecipeRegistrator;
+import miscutil.xmod.gregtech.api.util.GregtechOreDictUnificator;
+import net.minecraft.item.ItemStack;
+
+public class Processing_Block implements Interface_OreRecipeRegistrator {
+
+ private boolean isGem = false;
+
+ public Processing_Block() {
+ GregtechOrePrefixes.block.add(this);
+ }
+
+ @Override
+ public void registerOre(GregtechOrePrefixes aPrefix, GT_Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
+ Utils.LOG_INFO("Processing Blocks");
+ GT_Values.RA.addCutterRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GregtechOreDictUnificator.get(GregtechOrePrefixes.plate, aMaterial, 9L), null, (int) Math.max(aMaterial.getMass() * 10L, 1L), 30);
+
+ ItemStack tStack1 = GregtechOreDictUnificator.get(GregtechOrePrefixes.ingot, aMaterial, 1L);
+ ItemStack tStack2 = GregtechOreDictUnificator.get(GregtechOrePrefixes.gem, aMaterial, 1L);
+ ItemStack tStack3 = GregtechOreDictUnificator.get(GregtechOrePrefixes.dust, aMaterial, 1L);
+
+ GT_ModHandler.removeRecipe(new ItemStack[]{GT_Utility.copyAmount(1L, new Object[]{aStack})});
+
+ if (tStack1 != null) {
+ GT_ModHandler.removeRecipe(new ItemStack[]{tStack1, tStack1, tStack1, tStack1, tStack1, tStack1, tStack1, tStack1, tStack1});
+ }
+ if (tStack2 != null) {
+ GT_ModHandler.removeRecipe(new ItemStack[]{tStack2, tStack2, tStack2, tStack2, tStack2, tStack2, tStack2, tStack2, tStack2});
+ }
+ if (tStack3 != null) {
+ GT_ModHandler.removeRecipe(new ItemStack[]{tStack3, tStack3, tStack3, tStack3, tStack3, tStack3, tStack3, tStack3, tStack3});
+ }
+ if (aMaterial.mStandardMoltenFluid != null) {
+ GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Block.get(0L, new Object[0]), aMaterial.getMolten(1296L), GregtechOreDictUnificator.get(GregtechOrePrefixes.block, aMaterial, 1L), 288, 8);
+ }
+ if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.storageblockcrafting, GregtechOrePrefixes.block.get(aMaterial).toString(), false)) {
+ if ((tStack1 == null) && (tStack2 == null) && (tStack3 != null)){
+ GT_ModHandler.addCraftingRecipe(GregtechOreDictUnificator.get(GregtechOrePrefixes.block, aMaterial, 1L), new Object[]{"XXX", "XXX", "XXX", Character.valueOf('X'), GregtechOrePrefixes.dust.get(aMaterial)});
+ }
+ if (tStack2 != null){
+ GT_ModHandler.addCraftingRecipe(GregtechOreDictUnificator.get(GregtechOrePrefixes.block, aMaterial, 1L), new Object[]{"XXX", "XXX", "XXX", Character.valueOf('X'), GregtechOrePrefixes.gem.get(aMaterial)});
+ }
+ if (tStack1 != null) {
+ GT_ModHandler.addCraftingRecipe(GregtechOreDictUnificator.get(GregtechOrePrefixes.block, aMaterial, 1L), new Object[]{"XXX", "XXX", "XXX", Character.valueOf('X'), GregtechOrePrefixes.ingot.get(aMaterial)});
+ }
+ }
+
+ if (aMaterial.contains(SubTag.CRYSTAL) && !aMaterial.contains(SubTag.METAL)){
+ isGem = true;
+ }
+ else {
+ isGem = false;
+ }
+ //Ingot
+ if (tStack1 != null) {
+ tStack1.stackSize = 9;
+ }
+ //Gem
+ if (tStack2 != null && !isGem) {
+ tStack2.stackSize = 9;
+ }
+ else if (tStack2 != null && isGem) {
+ tStack2.stackSize = 0;
+ }
+ //Dust
+ if (tStack3 != null && !isGem) {
+ tStack3.stackSize = 9;
+ }
+ else if (tStack3 != null && isGem) {
+ tStack3.stackSize = 0;
+ }
+
+ //Gems in FORGE HAMMER
+ if (tStack2 != null && !isGem) {
+ tStack2.stackSize = 9;
+ GT_Values.RA.addForgeHammerRecipe(aStack, tStack2, 100, 24);
+ }
+ else if (tStack2 != null && isGem) {
+ tStack2.stackSize = 9;
+ GT_Values.RA.addForgeHammerRecipe(aStack, tStack2, 100, 24);
+ tStack2.stackSize = 0;
+ }
+
+
+ if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.storageblockdecrafting, GregtechOrePrefixes.block.get(aMaterial).toString(), tStack2 != null)) {
+ if (tStack3 != null)
+ GT_ModHandler.addShapelessCraftingRecipe(tStack3, new Object[]{GregtechOrePrefixes.block.get(aMaterial)});
+ if (tStack2 != null)
+ GT_ModHandler.addShapelessCraftingRecipe(tStack2, new Object[]{GregtechOrePrefixes.block.get(aMaterial)});
+ if (tStack1 != null) {
+ GT_ModHandler.addShapelessCraftingRecipe(tStack1, new Object[]{GregtechOrePrefixes.block.get(aMaterial)});
+ }
+ }
+ }
+}