Refactor of Ore Processors & misc fixes

This commit is contained in:
TheDarkDnKTv 2021-03-04 22:09:36 +02:00
parent 0941fa049f
commit d6908cd723
64 changed files with 365 additions and 355 deletions

View file

@ -3,8 +3,10 @@ package gregtechmod.api.enums;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_Utility;
import gregtechmod.api.util.OreDictEntry;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.item.ItemStack;
@ -289,11 +291,9 @@ public enum OrePrefixes {
return mOreProcessing.add(aRegistrator);
}
public void processOre(Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
if (aMaterial != null && (aMaterial != Materials._NULL || mIsSelfReferencing || !mIsMaterialBased) && GT_Utility.isStackValid(aStack)) {
for (IOreRecipeRegistrator tRegistrator : mOreProcessing) {
tRegistrator.registerOre(this, aMaterial, aOreDictName, aModName, GT_Utility.copyAmount(1, aStack));
}
public void processOre(List<OreDictEntry> entries) {
for (IOreRecipeRegistrator tRegistrator : mOreProcessing) {
tRegistrator.registerOre(this, entries);
}
}

View file

@ -1,15 +1,36 @@
package gregtechmod.api.interfaces;
import java.util.List;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import net.minecraft.item.ItemStack;
import gregtechmod.api.util.OreDictEntry;
public interface IOreRecipeRegistrator {
/**
* Contains a Code Fragment, used in the OrePrefix to register Recipes. Better than using a switch/case, like I did before.
* @param aPrefix always != null
* @param aMaterial always != _NULL and != null unless the Prefix is Self Referencing or not Material based!
* @param aStack always != null
* @param dictEntry TODO
*/
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack);
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry);
/**
* All checks from OrePrefixes and OreDictHandler classes was moved here, execute this method before executing processor
* @param aPrefix
* @param aMaterial
* @return
*/
default boolean isExecutable(OrePrefixes aPrefix, Materials aMaterial) {
return aMaterial != null && !aPrefix.isIgnored(aMaterial) && (aMaterial != Materials._NULL || aPrefix.mIsSelfReferencing || !aPrefix.mIsMaterialBased);
}
/**
* Shortcut, just call it to get material in begining
* @param aPrefix
* @param entry
* @return
*/
default Materials getMaterial(OrePrefixes aPrefix, OreDictEntry entry) {
return (aPrefix == null) ? Materials._NULL : OrePrefixes.getMaterial(entry.oreDictName, aPrefix);
}
}

View file

@ -384,6 +384,16 @@ public class GT_ModHandler {
return true;
}
/** @param secondaryChance - 1-100% */
public static boolean addTCPulveriserRecipe(ItemStack input, ItemStack primaryOutput, ItemStack secondaryOutput, int secondaryChance, int RF) {
if (!GregTech_API.sRecipeFile.get(GT_ConfigCategories.Machines.pulverization, input, true)) return false;
try {
// TODO null, maybe load later
cofh.thermalexpansion.api.crafting.CraftingHandlers.pulverizer.addRecipe(RF, input, primaryOutput, secondaryOutput, secondaryChance, true);
} catch(Throwable e) {/*Do nothing*/}
return true;
}
/**
* IC2-Extractor Recipe. Overloads old Recipes automatically
*/
@ -413,36 +423,6 @@ public class GT_ModHandler {
return true;
}
private static Map<Integer, Object> sPulverizerRecipes = new HashMap<Integer, Object>();
/**
* @return Object that can either be cast into IPulverizerRecipe or into GT_PulverizerRecipe
*/
public static Object getPulverizerRecipe(ItemStack aInput) {
if (aInput == null) return null;
Object tObject = sPulverizerRecipes.get(GT_Utility.stackToInt(aInput));
if (tObject != null) {
return tObject;
}
ItemStack tInput = GT_Utility.copy(aInput);
Items.feather.setDamage(tInput, GregTech_API.ITEM_WILDCARD_DAMAGE);
tObject = sPulverizerRecipes.get(GT_Utility.stackToInt(tInput));
if (tObject != null) {
return tObject;
}
/*
try {
for (thermalexpansion.api.crafting.IPulverizerRecipe tRecipe : thermalexpansion.api.crafting.CraftingManagers.pulverizerManager.getRecipeList()) {
if (GT_Utility.areStacksEqual(tRecipe.getInput(), aInput)) {
return tRecipe;
}
}
} catch(Throwable e) {}
*/
return null;
}
public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1) {
return addPulverisationRecipe(aInput, aOutput1, null, 0, false);
}
@ -466,7 +446,7 @@ public class GT_ModHandler {
/**
* Adds Several Pulverizer-Type Recipes.
*/
public static synchronized boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aChance, boolean aOverwrite) {
public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aChance, boolean aOverwrite) {
aOutput1 = GT_OreDictUnificator.get(true, aOutput1);
aOutput2 = GT_OreDictUnificator.get(true, aOutput2);
if (aInput == null || aOutput1 == null) return false;
@ -475,10 +455,7 @@ public class GT_ModHandler {
if (GT_Utility.getContainerItem(aInput) == null) {
if (GregTech_API.sRecipeFile.get(GT_ConfigCategories.Machines.maceration, aInput, true)) {
GT_Utility.addSimpleIC2MachineRecipe(aInput, getMaceratorRecipeList(), null, aOutput1);
}
if (aOutput2 != null && GregTech_API.sRecipeFile.get(GT_ConfigCategories.Machines.pulverization, aInput, true)) {
sPulverizerRecipes.put(GT_Utility.stackToInt(aInput), new GT_PulverizerRecipe(aInput, aOutput1, aOutput2, aChance<=0?10:aChance));
addTCPulveriserRecipe(aInput, aOutput1, aOutput2, aChance, 2400);
}
if (!OrePrefixes.log.contains(aInput)) {

View file

@ -1,38 +0,0 @@
package gregtechmod.api.util;
import net.minecraft.item.ItemStack;
/**
* Used in the Universal Macerator
*/
public class GT_PulverizerRecipe {
private final ItemStack mInput, mOutput1, mOutput2;
private final int mChance;
public GT_PulverizerRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aChance) {
mInput = GT_Utility.copy(aInput);
mOutput1 = GT_Utility.copy(aOutput1);
mOutput2 = GT_Utility.copy(aOutput2);
mChance = aChance;
}
public ItemStack getInput() {
return GT_Utility.copy(mInput);
}
public ItemStack getPrimaryOutput() {
return GT_Utility.copy(mOutput1);
}
public ItemStack getSecondaryOutput() {
return GT_Utility.copy(mOutput2);
}
public int getSecondaryOutputChance() {
return mChance;
}
public int getEnergy() {
return 400;
}
}

View file

@ -1,25 +1,49 @@
package gregtechmod.api.util;
import java.util.Objects;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import net.minecraft.item.ItemStack;
public class OreDictEntry {
public final ItemStack ore;
public final String oreDictName;
public final String modName;
public final List<ItemStack> ores;
private OreDictEntry(ItemStack ore, String modName, String oreDictName) {
this.ore = ore;
this.modName = modName;
private OreDictEntry(String oreDictName) {
this.ores = new ArrayList<>();
this.oreDictName = oreDictName;
}
public static OreDictEntry create(ItemStack ore, String modName, String oreDictName) {
Objects.requireNonNull(ore);
Objects.requireNonNull(ore.getItem());
if (GT_Utility.isStringInvalid(modName) || GT_Utility.isStringInvalid(oreDictName)) throw new IllegalArgumentException("Invalid string");
public static OreDictEntry create(String oreDictName, ItemStack...ores) {
if (GT_Utility.isStringInvalid(oreDictName)) throw new IllegalArgumentException("Invalid string");
return new OreDictEntry(ore, modName, oreDictName);
OreDictEntry entry = new OreDictEntry(oreDictName);
if (ores != null && ores.length > 0) entry.ores.addAll(Arrays.asList(ores));
return entry;
}
@Override
public int hashCode() {
return oreDictName.hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj instanceof OreDictEntry) {
return ((OreDictEntry) obj).oreDictName.equals(oreDictName);
}
return false;
}
@Override
public String toString() {
ToStringBuilder.setDefaultStyle(ToStringStyle.SHORT_PREFIX_STYLE);
return new ToStringBuilder(this).toString();
}
}

View file

@ -22,11 +22,10 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.ModContainer;
import cpw.mods.fml.common.ProgressManager;
import cpw.mods.fml.common.ProgressManager.ProgressBar;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.registry.GameData;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
@ -51,23 +50,14 @@ public class GT_OreDictHandler {
if (GT_Mod.mDoNotInit || aEvent == null || aEvent.Ore == null || aEvent.Ore.getItem() == null || aEvent.Name == null || aEvent.Name.equals("") || mIgnoredNames.contains(aEvent.Name)) return;
try {
if (aEvent.Ore.stackSize != 1) {
GT_Log.log.warn("WARNING: '" + aEvent.Name + "' is either being misused by another Mod or has been wrongly registered, as the stackSize of the Event-Stack is not 1!!!");
}
aEvent.Ore.stackSize = 1;
String aMod = GameData.getItemRegistry().getNameForObject(aEvent.Ore.getItem()).split(":")[0]; // Best way to get modid
ModContainer tContainer = Loader.instance().activeModContainer();
String aMod = tContainer==null ? "UNKNOWN_MOD_ID" : tContainer.getModId();
String aOriginalMod = aMod;
if (GT_OreDictUnificator.isRegisteringOres()) {
aMod = GregTech_API.MOD_ID;
} else if (aMod.equals(GregTech_API.MOD_ID)) {
aMod = "UNKNOWN_MOD_ID";
}
if (aOriginalMod.toLowerCase().contains("tconstruct") || aOriginalMod.toLowerCase().contains("xycraft") || (aOriginalMod.toLowerCase().contains("natura") || aOriginalMod.toLowerCase().contains("natural"))) return;
if (aMod.toLowerCase().contains("tconstruct") || aMod.toLowerCase().contains("xycraft") || (aMod.toLowerCase().contains("natura") || aMod.toLowerCase().contains("natural"))) return;
if (mActivated || GregTech_API.sPostloadStarted || GT_Mod.sSortToTheEnd && GregTech_API.sLoadFinished) {
GT_Log.log.warn("WARNING: " + aMod + " attempted to register " + aEvent.Name + " very late at the OreDictionary! Some Functionality may not work as expected! Sometimes registration in Postload is required, but you should always register OreDictionary Items in the Load Phase whenever possible.");
}
@ -76,7 +66,7 @@ public class GT_OreDictHandler {
String tAssosiation = GT_OreDictUnificator.getAssociation(aEvent.Ore);
if(GT_Utility.isStringValid(tAssosiation) && tAssosiation.equals(aEvent.Name)) {
GT_Log.ore.println(e + " is ambiguous, this is an Error.");
GT_Log.log.warn("WARNING: The OreDict-Registration of " + aEvent.Name + " by " + aOriginalMod + " is ambiguous. Please check if the Item hasn\'t already been registered under that Name, before registering it a second time!");
GT_Log.log.warn("WARNING: The OreDict-Registration of " + aEvent.Name + " by " + aMod + " is ambiguous. Please check if the Item hasn\'t already been registered under that Name, before registering it a second time!");
} else {
this.mRegisteredStacks.add(aEvent.Ore);
if (aEvent.Name.startsWith("item") && this.mIgnoredItems.contains(aEvent.Name)) {
@ -161,26 +151,26 @@ public class GT_OreDictHandler {
GT_Log.log.error("I don\'t know exactly what to suggest about this Name, please consult me personally at GregTech.");
}
GT_Log.log.error("Private Prefixes could also be a solution if the first Suggestion doesn\'t apply. In that case the suggestion for the name is \'" + aOriginalMod + ":" + aEvent.Name + "\' don\'t forget to insert the \':\' inbetween the Mod ID and OreDict Name, that is the most important part.");
GT_Log.log.error("Private Prefixes could also be a solution if the first Suggestion doesn\'t apply. In that case the suggestion for the name is \'" + aMod + ":" + aEvent.Name + "\' don\'t forget to insert the \':\' inbetween the Mod ID and OreDict Name, that is the most important part.");
GT_Log.log.error("If you are not the Owner then report it to the Owner of the Mod, which the Item belongs to.");
} else {
OrePrefixes aPrefix = OrePrefixes.getOrePrefix(aEvent.Name);
String tName = "";
if(aPrefix == null) {
if(aEvent.Name.toLowerCase().equals(aEvent.Name)) {
GT_Log.log.error("Improperly registered Ore: " + aEvent.Name + " !!!Improperly registered Ore detected!!! This Object does not follow any OreDictionary Convention, as it is 100% lowercased!!! Please report this to its Modauthor for a fix. If nothing proper is found, a good suggestion for its Name would be \'" + aOriginalMod + ":" + aEvent.Name + "\' don\'t forget to insert the \':\' inbetween the Mod ID and OreDict Name, that is the most important part.");
GT_Log.log.error("Improperly registered Ore: " + aEvent.Name + " !!!Improperly registered Ore detected!!! This Object does not follow any OreDictionary Convention, as it is 100% lowercased!!! Please report this to its Modauthor for a fix. If nothing proper is found, a good suggestion for its Name would be \'" + aMod + ":" + aEvent.Name + "\' don\'t forget to insert the \':\' inbetween the Mod ID and OreDict Name, that is the most important part.");
GT_Log.ore.println(e + " is invalid due to being solely lowercased.");
return;
}
if(aEvent.Name.toUpperCase().equals(aEvent.Name)) {
GT_Log.log.error("Improperly registered Ore: " + aEvent.Name + " !!!Improperly registered Ore detected!!! This Object does not follow any OreDictionary Convention, as it is 100% uppercased!!! Please report this to its Modauthor for a fix. If nothing proper is found, a good suggestion for its Name would be \'" + aOriginalMod + ":" + aEvent.Name + "\' don\'t forget to insert the \':\' inbetween the Mod ID and OreDict Name, that is the most important part.");
GT_Log.log.error("Improperly registered Ore: " + aEvent.Name + " !!!Improperly registered Ore detected!!! This Object does not follow any OreDictionary Convention, as it is 100% uppercased!!! Please report this to its Modauthor for a fix. If nothing proper is found, a good suggestion for its Name would be \'" + aMod + ":" + aEvent.Name + "\' don\'t forget to insert the \':\' inbetween the Mod ID and OreDict Name, that is the most important part.");
GT_Log.ore.println(e + " is invalid due to being solely uppercased.");
return;
}
if(GT_Utility.sUpperCasedCharacters.contains(Character.valueOf(aEvent.Name.charAt(0)))) {
GT_Log.log.error("Improperly registered Ore: " + aEvent.Name + " !!!Improperly registered Ore detected!!! This Object does not follow any OreDictionary Convention, because it starts with an uppercased Letter. Please report this to its Modauthor for a fix. If nothing proper is found, a good suggestion for its Name would be \'" + aOriginalMod + ":" + aEvent.Name + "\' don\'t forget to insert the \':\' inbetween the Mod ID and OreDict Name, that is the most important part.");
GT_Log.log.error("Improperly registered Ore: " + aEvent.Name + " !!!Improperly registered Ore detected!!! This Object does not follow any OreDictionary Convention, because it starts with an uppercased Letter. Please report this to its Modauthor for a fix. If nothing proper is found, a good suggestion for its Name would be \'" + aMod + ":" + aEvent.Name + "\' don\'t forget to insert the \':\' inbetween the Mod ID and OreDict Name, that is the most important part.");
GT_Log.ore.println(e + " is invalid due to the first character being uppercased.");
return;
}
@ -404,7 +394,7 @@ public class GT_OreDictHandler {
} else {
if(!aPrefix.mIsSelfReferencing) {
GT_Log.log.error("WARNING: \'" + aEvent.Name + "\' is an OreDictionary Name which may cause Problems, due to being a Prefix, please use another one.");
GT_Log.log.error("Private Prefixes are a solution. Please use \'" + aOriginalMod + ":" + aEvent.Name + "\' don\'t forget to insert the \':\' inbetween the Mod ID and OreDict Name, that is the most important part.");
GT_Log.log.error("Private Prefixes are a solution. Please use \'" + aMod + ":" + aEvent.Name + "\' don\'t forget to insert the \':\' inbetween the Mod ID and OreDict Name, that is the most important part.");
GT_Log.ore.println(e + " uses a Prefix as full OreDict Name, and is therefor invalid.");
aEvent.Ore.setStackDisplayName("Invalid OreDictionary Tag");
return;
@ -481,13 +471,23 @@ public class GT_OreDictHandler {
GT_Log.ore.println(e);
List<OreDictEntry> list = mEvents.get(aPrefix);
list = list == null ? new ArrayList<>() : list;
list.add(OreDictEntry.create(aEvent.Ore, aOriginalMod, aEvent.Name));
this.mEvents.put(aPrefix, list);
if(this.mActivated) {
this.registerRecipes(aEvent, aOriginalMod);
if (list != null) {
int idx = list.indexOf(OreDictEntry.create(aEvent.Name));
if (idx >= 0) {
list.get(idx).ores.add(aEvent.Ore);
} else {
list.add(OreDictEntry.create(aEvent.Name, aEvent.Ore));
}
} else {
list = new ArrayList<>();
list.add(OreDictEntry.create(aEvent.Name, aEvent.Ore));
}
this.mEvents.put(aPrefix, list);
// if(this.mActivated) {
// this.registerRecipes(aEvent, aMod);
// }
}
} else {
GT_Log.ore.println(e + " is using a private Prefix and is therefor getting ignored properly.");
@ -521,7 +521,7 @@ public class GT_OreDictHandler {
bar.step("prefix - " + e.getKey());
if (e.getKey() != null) {
this.processTask(e.getKey(), e.getValue());
e.getKey().processOre(e.getValue());
} else {
StringBuilder app = new StringBuilder();
app.append("Thingy Name: ");
@ -540,40 +540,25 @@ public class GT_OreDictHandler {
GT_Log.log.warn(String.format("Time spent for oredict iterating: %.3f seconds", (System.currentTimeMillis() - time) / 1000.0D));
}
private void processTask(OrePrefixes prefix, List<OreDictEntry> items) {
for (OreDictEntry entry : items) {
Materials aMaterial = (prefix == null) ? Materials._NULL : OrePrefixes.getMaterial(entry.oreDictName, prefix);
if (prefix != null) {
if (!prefix.isIgnored(aMaterial)) {
long time = System.currentTimeMillis();
prefix.processOre(aMaterial, entry.oreDictName, entry.modName, GT_Utility.copyAmount(1, entry.ore));
double timeDiff = (System.currentTimeMillis() - time) / 1000.0D;
if (timeDiff > 0.8) GT_Log.log.warn(String.format("Too long execution for processor '%s': executed for: %.3f, tasks: %d", prefix.toString(), timeDiff, prefix.mOreProcessing.size()));
}
}
}
}
public void registerRecipes(final OreDictionary.OreRegisterEvent aEvent, final String aMod) {
if (aEvent.Ore == null || aEvent.Ore.getItem() == null) {
return;
}
if (aEvent.Ore.stackSize != 1) {
aEvent.Ore.stackSize = 1;
GT_Log.log.error("WARNING: '" + aEvent.Name + "' is either being misused by another Mod or has been wrongly registered, as the stackSize of the Event-Stack is not 1.");
}
final OrePrefixes aPrefix = OrePrefixes.getOrePrefix(aEvent.Name);
final Materials aMaterial = (aPrefix == null) ? Materials._NULL : OrePrefixes.getRealMaterial(aEvent.Name, aPrefix);
if (aPrefix != null) {
if (!aPrefix.isIgnored(aMaterial)) {
aPrefix.processOre(aMaterial, aEvent.Name, aMod, GT_Utility.copyAmount(1L, aEvent.Ore));
}
}
else {
GT_Log.log.warn("Thingy Name: " + aEvent.Name + " !!!Unknown 'Thingy' detected!!! This Object seems to probably not follow a valid OreDictionary Convention, or I missed a Convention. Please report to GregTech Intergalactical for additional compatiblity. This is not an Error, it's just an Information.");
}
}
// public void registerRecipes(final OreDictionary.OreRegisterEvent aEvent, final String aMod) {
// if (aEvent.Ore == null || aEvent.Ore.getItem() == null) {
// return;
// }
// if (aEvent.Ore.stackSize != 1) {
// aEvent.Ore.stackSize = 1;
// GT_Log.log.error("WARNING: '" + aEvent.Name + "' is either being misused by another Mod or has been wrongly registered, as the stackSize of the Event-Stack is not 1.");
// }
// final OrePrefixes aPrefix = OrePrefixes.getOrePrefix(aEvent.Name);
// final Materials aMaterial = (aPrefix == null) ? Materials._NULL : OrePrefixes.getRealMaterial(aEvent.Name, aPrefix);
// if (aPrefix != null) {
// if (!aPrefix.isIgnored(aMaterial)) {
// aPrefix.processOre(aMaterial, aEvent.Name, aMod, GT_Utility.copyAmount(1L, aEvent.Ore));
// }
// }
// else {
// GT_Log.log.warn("Thingy Name: " + aEvent.Name + " !!!Unknown 'Thingy' detected!!! This Object seems to probably not follow a valid OreDictionary Convention, or I missed a Convention. Please report to GregTech Intergalactical for additional compatiblity. This is not an Error, it's just an Information.");
// }
// }
public void registerUnificationEntries() {
GregTech_API.sUnification.mConfig.save();
@ -585,14 +570,18 @@ public class GT_OreDictHandler {
}
for (OreDictEntry entry : e.getValue()) {
GT_OreDictUnificator.addAssociation(entry.oreDictName, entry.ore);
if (GT_OreDictUnificator.isBlacklisted(entry.ore)) {
continue;
}
if (!entry.modName.equals("UNKNOWN_MOD_ID") && GregTech_API.sUnification.get(GT_ConfigCategories.specialunificationtargets + "." + entry.modName, entry.oreDictName, false)) {
GT_OreDictUnificator.set(entry.oreDictName, entry.ore, true, true);
} else {
GT_OreDictUnificator.set(entry.oreDictName, entry.ore, false, true);
for (ItemStack ore : entry.ores) {
GT_OreDictUnificator.addAssociation(entry.oreDictName, ore);
String modName = GameData.getItemRegistry().getNameForObject(ore.getItem());
if (GT_OreDictUnificator.isBlacklisted(ore)) {
continue;
}
if (!modName.equals("UNKNOWN_MOD_ID") && GregTech_API.sUnification.get(GT_ConfigCategories.specialunificationtargets + "." + modName, entry.oreDictName, false)) {
GT_OreDictUnificator.set(entry.oreDictName, ore, true, true);
} else {
GT_OreDictUnificator.set(entry.oreDictName, ore, false, true);
}
}
}
}

View file

@ -14,6 +14,7 @@ import org.apache.commons.lang3.builder.ToStringStyle;
import com.google.common.collect.Collections2;
import com.google.common.collect.Lists;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.recipe.Ingredient;
import gregtechmod.api.util.GT_Utility;
import gregtechmod.api.util.ItemStackKey;
@ -62,6 +63,13 @@ public class RecipeEntry implements Ingredient {
return result;
}
/**
* Will match damage & NBT
*/
public static Ingredient fromStacks(int count, Collection<ItemStack> stacks) {
return fromStacks(count, stacks, Match.DAMAGE, Match.NBT);
}
/**
* Create an Ingredient with size of count variable
*/
@ -72,7 +80,9 @@ public class RecipeEntry implements Ingredient {
result.addOptions(options);
for (ItemStack stack : stacks) {
assert GT_Utility.isStackValid(stack) : "Stack cannot be invalid, or null!";
result.variants.add(stack.copy());
ItemStack stack1 = stack.copy();
stack1.stackSize = count;
result.variants.add(stack1);
}
return result;
@ -174,7 +184,7 @@ public class RecipeEntry implements Ingredient {
if (GT_Utility.isStackValid(input)) {
for (ItemStack stack : variants) {
if (stack.getItem() == input.getItem() &&
(options.contains(Match.DAMAGE) ? stack.getItemDamage() == input.getItemDamage() : true) &&
(options.contains(Match.DAMAGE) ? (stack.getItemDamage() == GregTech_API.ITEM_WILDCARD_DAMAGE ? true : stack.getItemDamage() == input.getItemDamage()) : true) &&
(options.contains(Match.NBT) ? matchNBT(input, stack) : true)) {
return true;
}
@ -187,7 +197,11 @@ public class RecipeEntry implements Ingredient {
@Override
public List<ItemStack> getVariants() {
List<ItemStack> vars = new ArrayList<>();
for (ItemStack stack : variants) vars.add(stack.copy());
for (ItemStack stack : variants) {
ItemStack copy = stack.copy();
copy.stackSize = count;
vars.add(copy);
}
return vars;
}

View file

@ -8,7 +8,6 @@ import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingBattery implements IOreRecipeRegistrator {
@ -16,7 +15,7 @@ public class ProcessingBattery implements IOreRecipeRegistrator {
OrePrefixes.battery.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(aMaterial == Materials.Lithium) {
GregTech_API.sRecipeAdder.addAssemblerRecipe(GT_Utility.copyAmount(1L, aStack), GT_ModHandler.getIC2Item("cropnalyzer", 1L, 32767), GT_Items.Tool_Scanner.getAlmostBroken(1L, new Object[0]), 12800, 16);
GregTech_API.sRecipeAdder.addAssemblerRecipe(GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.plate, (Object)Materials.Aluminium, 1L), GregTech_API.getGregTechComponent(26, 1), 3200, 4);

View file

@ -21,7 +21,7 @@ public class ProcessingBlock implements IOreRecipeRegistrator {
}
@SuppressWarnings("deprecation")
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
GregTech_API.sRecipeAdder.addCutterRecipe(GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.plate, (Object)aMaterial, 9L), Math.max(aMaterial.getMass() * 10, 1), 30);
ItemStack tStack1 = GT_OreDictUnificator.get(OrePrefixes.ingot, (Object)aMaterial, 1L);
ItemStack tStack2 = GT_OreDictUnificator.get(OrePrefixes.gem, (Object)aMaterial, 1L);

View file

@ -1,7 +1,6 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_OreDictUnificator;
@ -14,7 +13,7 @@ public class ProcessingBolt implements IOreRecipeRegistrator {
OrePrefixes.bolt.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
GregTech_API.sRecipeAdder.addLatheRecipe(GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.screw, (Object)aMaterial, 1L), (ItemStack)null, Math.max(aMaterial.getMass() / 8, 1), 4);
}
}

View file

@ -9,6 +9,7 @@ import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@ -21,7 +22,7 @@ public class ProcessingCell implements IOreRecipeRegistrator {
OrePrefixes.cell.add(this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(aMaterial == Materials.Empty) {
GT_ModHandler.removeRecipeByOutput(aStack);
if(aModName.equalsIgnoreCase("AtomicScience")) {

View file

@ -7,7 +7,6 @@ import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingCellPlasma implements IOreRecipeRegistrator {
@ -15,7 +14,7 @@ public class ProcessingCellPlasma implements IOreRecipeRegistrator {
OrePrefixes.cellPlasma.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(aMaterial == Materials.Empty) {
GT_ModHandler.removeRecipeByOutput(aStack);
} else {

View file

@ -9,7 +9,6 @@ import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingCircuit implements IOreRecipeRegistrator {
@ -17,7 +16,7 @@ public class ProcessingCircuit implements IOreRecipeRegistrator {
OrePrefixes.circuit.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
switch(aMaterial) {
case Basic:
if(!GT_Utility.areStacksEqual(aStack, GT_Items.Circuit_Integrated.getWildcard(1L, new Object[0]))) {

View file

@ -18,7 +18,7 @@ public class ProcessingCrafting implements IOreRecipeRegistrator {
OrePrefixes.crafting.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(aOreDictName.equals(GT_OreDictNames.craftingRedstoneTorch.toString())) {
GregTech_API.sRecipeAdder.addAssemblerRecipe(GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.plate, (Object)Materials.Iron, 1L), GregTech_API.getGregTechComponent(30, 1), 800, 16);
GregTech_API.sRecipeAdder.addAssemblerRecipe(GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.plate, (Object)Materials.Aluminium, 1L), GregTech_API.getGregTechComponent(87, 1), 800, 16);

View file

@ -7,7 +7,6 @@ import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingCrushed implements IOreRecipeRegistrator {
@ -15,7 +14,7 @@ public class ProcessingCrushed implements IOreRecipeRegistrator {
OrePrefixes.crushed.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial, GT_OreDictUnificator.get(OrePrefixes.dust, (Object)aMaterial, 1L), 1L), GT_OreDictUnificator.get(OrePrefixes.dust, GT_Utility.selectItemInList(0, aMaterial, aMaterial.mOreByProducts), 1L), 10, false);
GT_ModHandler.addOreWasherRecipe(GT_Utility.copyAmount(1L, aStack), 1000, new Object[]{GT_OreDictUnificator.get(OrePrefixes.crushedPurified, (Object)aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, GT_Utility.selectItemInList(0, aMaterial, aMaterial.mOreByProducts), 1L), GT_OreDictUnificator.get(OrePrefixes.dust, (Object)Materials.Stone, 1L)});
if(!aMaterial.contains(SubTag.NO_SMELTING)) {

View file

@ -1,12 +1,10 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingCrushedCentrifuged implements IOreRecipeRegistrator {
@ -14,7 +12,7 @@ public class ProcessingCrushedCentrifuged implements IOreRecipeRegistrator {
OrePrefixes.crushedCentrifuged.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.dust, (Object)aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, GT_Utility.selectItemInList(2, aMaterial, aMaterial.mOreByProducts), 1L), 10, false);
}
}

View file

@ -1,13 +1,11 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingCrushedPurified implements IOreRecipeRegistrator {
@ -15,7 +13,7 @@ public class ProcessingCrushedPurified implements IOreRecipeRegistrator {
OrePrefixes.crushedPurified.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.dustPure, aMaterial, GT_OreDictUnificator.get(OrePrefixes.dust, (Object)aMaterial, 1L), 1L), GT_OreDictUnificator.get(OrePrefixes.dust, GT_Utility.selectItemInList(1, aMaterial, aMaterial.mOreByProducts), 1L), 10, false);
if(!aMaterial.contains(SubTag.NO_SMELTING)) {
GT_ModHandler.addThermalCentrifugeRecipe(GT_Utility.copyAmount(1L, aStack), Math.min(5000, Math.abs(aMaterial.getMass() * 20)), new Object[]{GT_OreDictUnificator.get(OrePrefixes.crushedCentrifuged, (Object)aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, GT_Utility.selectItemInList(1, aMaterial, aMaterial.mOreByProducts), 1L)});

View file

@ -11,6 +11,7 @@ import gregtechmod.api.util.GT_Log;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@ -24,7 +25,7 @@ public class ProcessingDust implements IOreRecipeRegistrator {
OrePrefixes.dust.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(aMaterial.mFuelPower > 0) {
GregTech_API.sRecipeAdder.addFuel(GT_Utility.copyAmount(1L, new Object[]{aStack}), (ItemStack)null, aMaterial.mFuelPower, aMaterial.mFuelType);
}

View file

@ -16,7 +16,7 @@ public class ProcessingDustImpure implements IOreRecipeRegistrator {
OrePrefixes.dustRefined.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
Materials tByProduct = (Materials)GT_Utility.selectItemInList(aPrefix == OrePrefixes.dustPure?1:(aPrefix == OrePrefixes.dustRefined?2:0), aMaterial, aMaterial.mOreByProducts);
ItemStack tStack = GT_OreDictUnificator.get(OrePrefixes.dustTiny, tByProduct, GT_OreDictUnificator.get(OrePrefixes.nugget, (Object)tByProduct, 1L), 1L);
if(tStack == null) {

View file

@ -1,7 +1,6 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
@ -15,7 +14,7 @@ public class ProcessingDustSmall implements IOreRecipeRegistrator {
OrePrefixes.dustSmall.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
GT_ModHandler.addShapelessCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, (Object)aMaterial, 1L), new Object[]{aOreDictName, aOreDictName, aOreDictName, aOreDictName});
if(aMaterial.mBlastFurnaceRequired) {
GregTech_API.sRecipeAdder.addBlastRecipe(GT_Utility.copyAmount(4L, new Object[]{aStack}), (ItemStack)null, aMaterial.mBlastFurnaceTemp > 1750?GT_OreDictUnificator.get(OrePrefixes.ingotHot, aMaterial, GT_OreDictUnificator.get(OrePrefixes.ingot, (Object)aMaterial, 1L), 1L):GT_OreDictUnificator.get(OrePrefixes.ingot, (Object)aMaterial, 1L), (ItemStack)null, Math.max(aMaterial.getMass() / 40, 1) * aMaterial.mBlastFurnaceTemp, 120, aMaterial.mBlastFurnaceTemp);

View file

@ -1,7 +1,6 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
@ -16,7 +15,7 @@ public class ProcessingDustTiny implements IOreRecipeRegistrator {
OrePrefixes.dustTiny.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
GT_ModHandler.addShapelessCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, (Object)aMaterial, 1L), new Object[]{aOreDictName, aOreDictName, aOreDictName, aOreDictName, aOreDictName, aOreDictName, aOreDictName, aOreDictName, aOreDictName});
if(!aMaterial.contains(SubTag.NO_SMELTING)) {
if(aMaterial.mBlastFurnaceRequired) {

View file

@ -3,7 +3,6 @@ package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.Dyes;
import gregtechmod.api.enums.GT_Items;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_Utility;
@ -16,7 +15,7 @@ public class ProcessingDye implements IOreRecipeRegistrator {
}
@SuppressWarnings("deprecation")
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
Dyes aDye = Dyes.get(aOreDictName);
if(aDye.mColor >= 0 && aDye.mColor < 16 && aStack.getItem().getItemStackLimit() >= 16 && GT_Utility.getContainerItem(aStack) == null) {
GregTech_API.sRecipeAdder.addCannerRecipe(GT_Utility.copyAmount(16L, new Object[]{aStack}), GT_Items.Spray_Empty.get(1L, new Object[0]), GT_Items.SPRAY_CAN_DYES[aDye.mColor].get(1L, new Object[0]), (ItemStack)null, 800, 1);

View file

@ -15,7 +15,7 @@ public class ProcessingGear implements IOreRecipeRegistrator {
OrePrefixes.gearGt.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
GT_ModHandler.removeRecipeByOutput(aStack);
switch(ProcessingGear.NamelessClass1327650710.$SwitchMap$gregtechmod$api$enums$Materials[aMaterial.ordinal()]) {
case 1:

View file

@ -3,7 +3,6 @@ package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.GT_ConfigCategories;
import gregtechmod.api.enums.GT_Items;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
@ -20,7 +19,7 @@ public class ProcessingGem implements IOreRecipeRegistrator {
OrePrefixes.gem.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(aMaterial.mFuelPower > 0) {
GregTech_API.sRecipeAdder.addFuel(GT_Utility.copyAmount(1L, new Object[]{aStack}), (ItemStack)null, aMaterial.mFuelPower * 2, aMaterial.mFuelType);
}

View file

@ -19,7 +19,7 @@ public class ProcessingIngot1 implements IOreRecipeRegistrator {
OrePrefixes.ingot.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(aMaterial.mFuelPower > 0) {
GregTech_API.sRecipeAdder.addFuel(GT_Utility.copyAmount(1L, new Object[]{aStack}), (ItemStack)null, aMaterial.mFuelPower, aMaterial.mFuelType);
}

View file

@ -3,14 +3,12 @@ package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.GT_ConfigCategories;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingIngot2 implements IOreRecipeRegistrator {
@ -18,7 +16,7 @@ public class ProcessingIngot2 implements IOreRecipeRegistrator {
OrePrefixes.ingotDouble.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(!aMaterial.contains(SubTag.NO_SMASHING)) {
GregTech_API.sRecipeAdder.addBenderRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.plateDouble, (Object)aMaterial, 1L), Math.max(aMaterial.getMass() * 2, 1), 24);
GregTech_API.sRecipeAdder.addBenderRecipe(GT_Utility.copyAmount(2L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, (Object)aMaterial, 1L), Math.max(aMaterial.getMass() * 4, 1), 24);

View file

@ -3,14 +3,12 @@ package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.GT_ConfigCategories;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingIngot3 implements IOreRecipeRegistrator {
@ -18,7 +16,7 @@ public class ProcessingIngot3 implements IOreRecipeRegistrator {
OrePrefixes.ingotTriple.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(!aMaterial.contains(SubTag.NO_SMASHING)) {
GregTech_API.sRecipeAdder.addBenderRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.plateTriple, (Object)aMaterial, 1L), Math.max(aMaterial.getMass() * 2, 1), 24);
GregTech_API.sRecipeAdder.addBenderRecipe(GT_Utility.copyAmount(3L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.plateDense, (Object)aMaterial, 1L), Math.max(aMaterial.getMass() * 6, 1), 24);

View file

@ -3,14 +3,12 @@ package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.GT_ConfigCategories;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingIngot4 implements IOreRecipeRegistrator {
@ -18,7 +16,7 @@ public class ProcessingIngot4 implements IOreRecipeRegistrator {
OrePrefixes.ingotQuadruple.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(!aMaterial.contains(SubTag.NO_SMASHING)) {
GregTech_API.sRecipeAdder.addBenderRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, (Object)aMaterial, 1L), Math.max(aMaterial.getMass() * 2, 1), 24);
}

View file

@ -3,14 +3,12 @@ package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.GT_ConfigCategories;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingIngot5 implements IOreRecipeRegistrator {
@ -18,7 +16,7 @@ public class ProcessingIngot5 implements IOreRecipeRegistrator {
OrePrefixes.ingotQuintuple.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(!aMaterial.contains(SubTag.NO_SMASHING)) {
GregTech_API.sRecipeAdder.addBenderRecipe(GT_Utility.copyAmount(5L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, (Object)aMaterial, 1L), Math.max(aMaterial.getMass() * 2, 1), 24);
}

View file

@ -1,12 +1,10 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingIngotHot implements IOreRecipeRegistrator {
@ -14,7 +12,7 @@ public class ProcessingIngotHot implements IOreRecipeRegistrator {
OrePrefixes.ingotHot.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
GregTech_API.sRecipeAdder.addVacuumFreezerRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.ingot, (Object)aMaterial, 1L), Math.max(aMaterial.getMass() * 3, 1));
}
}

View file

@ -6,7 +6,6 @@ import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_Log;
import gregtechmod.api.util.GT_RecipeRegistrator;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingItem implements IOreRecipeRegistrator {
@ -14,7 +13,7 @@ public class ProcessingItem implements IOreRecipeRegistrator {
OrePrefixes.item.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(aOreDictName.equals("itemManganese")) {
GT_RecipeRegistrator.registerBasicReverseMaceratingAndSmelting(GT_Utility.copyAmount(1L, new Object[]{aStack}), Materials.Manganese, 3628800L);
} else if(aOreDictName.equals("itemSalt")) {

View file

@ -1,11 +1,9 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.GT_Mod;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
public class ProcessingLeaves implements IOreRecipeRegistrator {
@ -14,7 +12,7 @@ public class ProcessingLeaves implements IOreRecipeRegistrator {
}
@SuppressWarnings("deprecation")
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(aStack.getItem() instanceof ItemBlock && GT_Mod.sWoodStackSize < aStack.getItem().getItemStackLimit()) {
aStack.getItem().setMaxStackSize(GT_Mod.sWoodStackSize);
}

View file

@ -22,7 +22,7 @@ public class ProcessingLog implements IOreRecipeRegistrator {
}
@SuppressWarnings("deprecation")
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(aOreDictName.equals("logRubber")) {
GregTech_API.sRecipeAdder.addCentrifugeRecipe(GT_Utility.copyAmount(16L, new Object[]{aStack}), 5, GT_Items.IC2_Resin.get(8L, new Object[0]), GT_ModHandler.getIC2Item("plantBall", 6L), GT_OreDictUnificator.get(OrePrefixes.cell, (Object)Materials.Methane, 1L), GT_OreDictUnificator.get(OrePrefixes.cell, (Object)Materials.Carbon, 4L), 5000);
GT_ModHandler.addSawmillRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_Items.IC2_Resin.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dust, (Object)Materials.Wood, 16L));

View file

@ -2,7 +2,6 @@ package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
@ -16,7 +15,7 @@ public class ProcessingNugget implements IOreRecipeRegistrator {
OrePrefixes.nugget.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
GregTech_API.sRecipeAdder.addLatheRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.round, (Object)aMaterial, 1L), (ItemStack)null, Math.max(aMaterial.getMass() / 4, 1), 8);
GregTech_API.sRecipeAdder.addAlloySmelterRecipe(GT_Utility.copyAmount(9L, new Object[]{aStack}), (ItemStack)null, GT_OreDictUnificator.get(OrePrefixes.ingot, (Object)aMaterial, 1L), 200, 2);
GT_ModHandler.addShapelessCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, (Object)aMaterial, 1L), new Object[]{aOreDictName, aOreDictName, aOreDictName, aOreDictName, aOreDictName, aOreDictName, aOreDictName, aOreDictName, aOreDictName});

View file

@ -12,6 +12,7 @@ import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import java.util.Iterator;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemBlock;
@ -27,7 +28,7 @@ public class ProcessingOre implements IOreRecipeRegistrator {
}
@SuppressWarnings("deprecation")
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(aStack.getItem() instanceof ItemBlock && aStack.getItem().getItemStackLimit() > GT_Mod.sOreStackSize) {
aStack.getItem().setMaxStackSize(GT_Mod.sOreStackSize);
}

View file

@ -1,7 +1,6 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
@ -27,7 +26,7 @@ public class ProcessingOreSmelting implements IOreRecipeRegistrator {
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(!aMaterial.contains(SubTag.NO_SMELTING)) {
if(!aMaterial.mBlastFurnaceRequired && !aMaterial.mDirectSmelting.mBlastFurnaceRequired) {
switch(aPrefix) {

View file

@ -19,7 +19,7 @@ public class ProcessingPlank implements IOreRecipeRegistrator {
}
@SuppressWarnings("deprecation")
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(aOreDictName.startsWith("plankWood")) {
if(aStack.getItem() instanceof ItemBlock && GT_Mod.sPlankStackSize < aStack.getItem().getItemStackLimit()) {
aStack.getItem().setMaxStackSize(GT_Mod.sPlankStackSize);

View file

@ -19,7 +19,7 @@ public class ProcessingPlate1 implements IOreRecipeRegistrator {
OrePrefixes.plate.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
GT_ModHandler.removeRecipeByOutput(aStack);
GT_ModHandler.removeRecipe(new ItemStack[]{aStack});
if(aMaterial.mFuelPower > 0) {

View file

@ -3,14 +3,12 @@ package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.GT_ConfigCategories;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingPlate2 implements IOreRecipeRegistrator {
@ -18,7 +16,7 @@ public class ProcessingPlate2 implements IOreRecipeRegistrator {
OrePrefixes.plateDouble.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
GT_ModHandler.removeRecipeByOutput(aStack);
if(!aMaterial.contains(SubTag.NO_SMASHING)) {
GregTech_API.sRecipeAdder.addBenderRecipe(GT_Utility.copyAmount(2L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, (Object)aMaterial, 1L), Math.max(aMaterial.getMass() * 2, 1), 24);

View file

@ -3,14 +3,12 @@ package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.GT_ConfigCategories;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingPlate3 implements IOreRecipeRegistrator {
@ -18,7 +16,7 @@ public class ProcessingPlate3 implements IOreRecipeRegistrator {
OrePrefixes.plateTriple.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
GT_ModHandler.removeRecipeByOutput(aStack);
if(!aMaterial.contains(SubTag.NO_SMASHING)) {
GregTech_API.sRecipeAdder.addBenderRecipe(GT_Utility.copyAmount(3L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.plateDense, (Object)aMaterial, 1L), Math.max(aMaterial.getMass() * 3, 1), 24);

View file

@ -3,14 +3,12 @@ package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.GT_ConfigCategories;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingPlate4 implements IOreRecipeRegistrator {
@ -18,7 +16,7 @@ public class ProcessingPlate4 implements IOreRecipeRegistrator {
OrePrefixes.plateQuadruple.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
GT_ModHandler.removeRecipeByOutput(aStack);
GregTech_API.sRecipeAdder.addCNCRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.gearGt, (Object)aMaterial, 1L), Math.max(aMaterial.getMass() * 2, 1), 32);
if(!aMaterial.contains(SubTag.NO_SMASHING) && GregTech_API.sRecipeFile.get(GT_ConfigCategories.Tools.hammerquadrupleplate, OrePrefixes.plate.get(aMaterial), true)) {

View file

@ -3,13 +3,11 @@ package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.GT_ConfigCategories;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingPlate5 implements IOreRecipeRegistrator {
@ -17,7 +15,7 @@ public class ProcessingPlate5 implements IOreRecipeRegistrator {
OrePrefixes.plateQuintuple.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
GT_ModHandler.removeRecipeByOutput(aStack);
if(!aMaterial.contains(SubTag.NO_SMASHING) && GregTech_API.sRecipeFile.get(GT_ConfigCategories.Tools.hammerquintupleplate, OrePrefixes.plate.get(aMaterial), true)) {
GT_ModHandler.addCraftingRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), new Object[]{"I", "B", "H", Character.valueOf('H'), GT_ToolDictNames.craftingToolHardHammer, Character.valueOf('I'), OrePrefixes.plateQuadruple.get(aMaterial), Character.valueOf('B'), OrePrefixes.plate.get(aMaterial)});

View file

@ -1,10 +1,8 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import net.minecraft.item.ItemStack;
public class ProcessingPlate9 implements IOreRecipeRegistrator {
@ -12,7 +10,7 @@ public class ProcessingPlate9 implements IOreRecipeRegistrator {
OrePrefixes.plateDense.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
GT_ModHandler.removeRecipeByOutput(aStack);
}
}

View file

@ -1,7 +1,6 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
@ -15,7 +14,7 @@ public class ProcessingPlateAlloy implements IOreRecipeRegistrator {
OrePrefixes.plateAlloy.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(aOreDictName.equals("plateAlloyCarbon")) {
GregTech_API.sRecipeAdder.addAssemblerRecipe(GT_ModHandler.getIC2Item("generator", 1L), GT_Utility.copyAmount(4L, new Object[]{aStack}), GT_ModHandler.getIC2Item("windMill", 1L), 6400, 8);
} else if(aOreDictName.equals("plateAlloyAdvanced")) {

View file

@ -25,7 +25,7 @@ public class ProcessingRecycling implements IOreRecipeRegistrator {
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(!aPrefix.toString().startsWith("dust") && !aPrefix.toString().startsWith("crushed") && aMaterial != Materials.Blaze) {
if(aPrefix.mIsContainer) {
if(aMaterial != Materials.Empty) {

View file

@ -3,13 +3,11 @@ package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.GT_ConfigCategories;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingRing implements IOreRecipeRegistrator {
@ -17,7 +15,7 @@ public class ProcessingRing implements IOreRecipeRegistrator {
OrePrefixes.ring.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(!aMaterial.contains(SubTag.NO_SMASHING) && GregTech_API.sRecipeFile.get(GT_ConfigCategories.Tools.hammerrings, OrePrefixes.ring.get(aMaterial), true)) {
GT_ModHandler.addCraftingRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), new Object[]{"H ", " S", Character.valueOf('H'), GT_ToolDictNames.craftingToolHardHammer, Character.valueOf('S'), OrePrefixes.stick.get(aMaterial)});
GT_ModHandler.addShapelessCraftingRecipe(GT_Utility.copyAmount(2L, new Object[]{aStack}), new Object[]{GT_ToolDictNames.craftingToolForgeHammer, OrePrefixes.stick.get(aMaterial)});

View file

@ -20,7 +20,7 @@ public class ProcessingSand implements IOreRecipeRegistrator {
}
@SuppressWarnings("deprecation")
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(aOreDictName.equals("sandCracked")) {
if(aStack.getItem() instanceof ItemBlock) {
if(aStack.getItem().getItemStackLimit() > GT_Mod.sBlockStackSize) {

View file

@ -17,7 +17,7 @@ public class ProcessingSaplings implements IOreRecipeRegistrator {
}
@SuppressWarnings("deprecation")
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(aStack.getItem() instanceof ItemBlock && GT_Mod.sWoodStackSize < aStack.getItem().getItemStackLimit()) {
aStack.getItem().setMaxStackSize(GT_Mod.sWoodStackSize);
}

View file

@ -2,14 +2,12 @@ package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.GT_Items;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingShaping implements IOreRecipeRegistrator {
@ -17,7 +15,7 @@ public class ProcessingShaping implements IOreRecipeRegistrator {
OrePrefixes.ingot.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L) != null && !aMaterial.contains(SubTag.NO_SMELTING)) {
int tAmount = (int)(aPrefix.mMaterialAmount / GregTech_API.MATERIAL_UNIT);
if(tAmount > 0 && tAmount <= 64 && aPrefix.mMaterialAmount % GregTech_API.MATERIAL_UNIT == 0L) {

View file

@ -20,7 +20,7 @@ public class ProcessingSlab implements IOreRecipeRegistrator {
}
@SuppressWarnings("deprecation")
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(aOreDictName.startsWith("slabWood")) {
if(aStack.getItem() instanceof ItemBlock && GT_Mod.sPlankStackSize < aStack.getItem().getItemStackLimit()) {
aStack.getItem().setMaxStackSize(GT_Mod.sPlankStackSize);

View file

@ -1,12 +1,10 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingStick implements IOreRecipeRegistrator {
@ -14,7 +12,7 @@ public class ProcessingStick implements IOreRecipeRegistrator {
OrePrefixes.stick.add((IOreRecipeRegistrator)this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
GregTech_API.sRecipeAdder.addCutterRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.bolt, (Object)aMaterial, 4L), Math.max(aMaterial.getMass() * 2, 1), 4);
}
}

View file

@ -1,5 +1,7 @@
package gregtechmod.loaders.oreprocessing;
import java.util.List;
import gregtechmod.api.enums.GT_Items;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
@ -7,6 +9,8 @@ import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_OreDictUnificator;
import gregtechmod.api.util.GT_Utility;
import gregtechmod.api.util.OreDictEntry;
import gregtechmod.common.recipe.RecipeEntry;
import gregtechmod.common.recipe.RecipeMaps;
import net.minecraft.block.Block;
@ -16,59 +20,133 @@ import net.minecraft.item.ItemStack;
public class ProcessingStone implements IOreRecipeRegistrator {
public ProcessingStone() {
OrePrefixes.stone.add(this);
}
public ProcessingStone() {
OrePrefixes.stone.add(this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
Block aBlock = Block.getBlockFromItem(aStack.getItem());
switch(aMaterial) {
case Sand:
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack), new ItemStack(Blocks.sand, 1, 0), null, 10, false);
break;
case Endstone:
RecipeMaps.GRINDER.factory().EUt(120).duration(16 * 100).input(GT_Utility.copyAmount(16L, aStack)).input(GT_ModHandler.getWater(1000)).outputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Endstone, 16L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tungsten, 1L)).buildAndRegister();
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.dustImpure, Materials.Endstone, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tungsten, 1L), 5, false);
break;
case Netherrack:
RecipeMaps.GRINDER.factory().EUt(120).duration(16 * 100).input(GT_Utility.copyAmount(16L, aStack)).input(GT_ModHandler.getWater(1000)).outputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Netherrack, 16L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Gold, 1L)).buildAndRegister();
RecipeMaps.GRINDER.factory().EUt(120).duration(16 * 100).input(GT_Utility.copyAmount(16L, aStack)).input(OrePrefixes.cell, Materials.Mercury).outputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Netherrack, 8L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Gold, 5L), GT_Items.Cell_Empty.get(1)).buildAndRegister();
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.dustImpure, Materials.Netherrack, 1L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Gold, 1L), 5, false);
break;
case NetherBrick:
RecipeMaps.GRINDER.factory().EUt(120).duration(8 * 100).input(GT_Utility.copyAmount(8, aStack)).input(GT_ModHandler.getWater(1000)).outputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Netherrack, 16L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Gold, 1L)).buildAndRegister();
RecipeMaps.GRINDER.factory().EUt(120).duration(8 * 100).input(GT_Utility.copyAmount(8, aStack)).input(OrePrefixes.cell, Materials.Mercury).outputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Netherrack, 8L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Gold, 5L), GT_Items.Cell_Empty.get(1)).buildAndRegister();
break;
case Obsidian:
if(aBlock != null) {
aBlock.setResistance(20.0F);
}
@Override
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
for (OreDictEntry entry : dictEntry) {
Materials aMaterial = this.getMaterial(aPrefix, entry);
RecipeMaps.ASSEMBLING.factory().EUt(4).duration(400).inputs(GT_Items.IC2_Compressed_Coal_Ball.get(8), GT_Utility.copyAmount(1L, aStack)).output(GT_Items.IC2_Compressed_Coal_Chunk.get(1)).buildAndRegister();
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack), GT_ModHandler.getRCItem("cube.crushed.obsidian", 1L, GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L)), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), 10, true);
RecipeMaps.CUTTING.factory().EUt(32).duration(200).input(GT_Utility.copyAmount(1L, aStack)).output(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L)).buildAndRegister();
break;
case Redrock:
case Marble:
case Basalt:
case Quartzite:
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), 10, false);
break;
case Flint:
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial, 2L), new ItemStack(Items.flint, 1), 50, false);
break;
case GraniteBlack:
RecipeMaps.ASSEMBLING.factory().EUt(4).duration(400).inputs(GT_OreDictUnificator.get(OrePrefixes.plateAlloy, Materials.Advanced, 1L), GT_Utility.copyAmount(8L, aStack)).output(GT_ModHandler.getIC2Item("reinforcedStone", 8L)).buildAndRegister();
RecipeMaps.GRINDER.factory().EUt(120).duration(16 * 100).input(GT_Utility.copyAmount(16, aStack)).input(GT_ModHandler.getWater(1000)).outputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 16L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Thorium, 1L)).buildAndRegister();
RecipeMaps.CUTTING.factory().EUt(32).duration(200).input(GT_Utility.copyAmount(1L, aStack)).output(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L)).buildAndRegister();
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Thorium, 1L), 1, false);
break;
case GraniteRed:
RecipeMaps.ASSEMBLING.factory().EUt(4).duration(400).inputs(GT_OreDictUnificator.get(OrePrefixes.plateAlloy, Materials.Advanced, 1L), GT_Utility.copyAmount(8L, aStack)).output(GT_ModHandler.getIC2Item("reinforcedStone", 8L)).buildAndRegister();
RecipeMaps.GRINDER.factory().EUt(120).duration(16 * 100).input(GT_Utility.copyAmount(16, aStack)).input(GT_ModHandler.getWater(1000)).outputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 16L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Uranium, 1L)).buildAndRegister();
RecipeMaps.CUTTING.factory().EUt(32).duration(200).input(GT_Utility.copyAmount(1L, aStack)).output(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L)).buildAndRegister();
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack), GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Uranium, 1L), 1, false);
default: break;
}
}
switch (aMaterial) {
case Endstone:
RecipeMaps.GRINDER.factory().EUt(120).duration(16 * 100).input(RecipeEntry.fromStacks(16, entry.ores))
.input(GT_ModHandler.getWater(1000))
.outputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Endstone, 16L),
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tungsten, 1L))
.buildAndRegister();
break;
case Netherrack:
RecipeMaps.GRINDER.factory().EUt(120).duration(16 * 100).input(RecipeEntry.fromStacks(16, entry.ores))
.input(GT_ModHandler.getWater(1000))
.outputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Netherrack, 16L),
GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Gold, 1L))
.buildAndRegister();
RecipeMaps.GRINDER.factory().EUt(120).duration(16 * 100).input(RecipeEntry.fromStacks(16, entry.ores))
.input(OrePrefixes.cell, Materials.Mercury)
.outputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Netherrack, 8L),
GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Gold, 5L),
GT_Items.Cell_Empty.get(1))
.buildAndRegister();
break;
case NetherBrick:
RecipeMaps.GRINDER.factory().EUt(120).duration(8 * 100).input(RecipeEntry.fromStacks(8, entry.ores))
.input(GT_ModHandler.getWater(1000))
.outputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Netherrack, 16L),
GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Gold, 1L))
.buildAndRegister();
RecipeMaps.GRINDER.factory().EUt(120).duration(8 * 100).input(RecipeEntry.fromStacks(8, entry.ores))
.input(OrePrefixes.cell, Materials.Mercury)
.outputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Netherrack, 8L),
GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Gold, 5L),
GT_Items.Cell_Empty.get(1))
.buildAndRegister();
break;
case Obsidian:
RecipeMaps.ASSEMBLING.factory().EUt(4).duration(400)
.inputs(GT_Items.IC2_Compressed_Coal_Ball.get(8)).input(RecipeEntry.fromStacks(1, entry.ores))
.output(GT_Items.IC2_Compressed_Coal_Chunk.get(1)).buildAndRegister();
RecipeMaps.CUTTING.factory().EUt(32).duration(200).input(RecipeEntry.fromStacks(1, entry.ores))
.output(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L)).buildAndRegister();
break;
case GraniteBlack:
RecipeMaps.ASSEMBLING.factory().EUt(4).duration(400)
.inputs(GT_OreDictUnificator.get(OrePrefixes.plateAlloy, Materials.Advanced, 1L))
.input(RecipeEntry.fromStacks(1, entry.ores))
.output(GT_ModHandler.getIC2Item("reinforcedStone", 8L)).buildAndRegister();
RecipeMaps.GRINDER.factory().EUt(120).duration(16 * 100).input(RecipeEntry.fromStacks(16, entry.ores))
.input(GT_ModHandler.getWater(1000))
.outputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 16L),
GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Thorium, 1L))
.buildAndRegister();
RecipeMaps.CUTTING.factory().EUt(32).duration(200).input(RecipeEntry.fromStacks(1, entry.ores))
.output(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L)).buildAndRegister();
break;
case GraniteRed:
RecipeMaps.ASSEMBLING.factory().EUt(4).duration(400)
.inputs(GT_OreDictUnificator.get(OrePrefixes.plateAlloy, Materials.Advanced, 1L))
.input(RecipeEntry.fromStacks(8, entry.ores))
.output(GT_ModHandler.getIC2Item("reinforcedStone", 8L)).buildAndRegister();
RecipeMaps.GRINDER.factory().EUt(120).duration(16 * 100).input(RecipeEntry.fromStacks(16, entry.ores))
.input(GT_ModHandler.getWater(1000))
.outputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 16L),
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Uranium, 1L))
.buildAndRegister();
RecipeMaps.CUTTING.factory().EUt(32).duration(200).input(RecipeEntry.fromStacks(1, entry.ores))
.output(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L)).buildAndRegister();
default:
break;
}
for (ItemStack aStack : entry.ores) {
switch (aMaterial) {
case Sand:
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack), new ItemStack(Blocks.sand, 1, 0), null, 10, false);
break;
case Endstone:
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(OrePrefixes.dustImpure, Materials.Endstone, 1L),
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tungsten, 1L), 5, false);
break;
case Netherrack:
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(OrePrefixes.dustImpure, Materials.Netherrack, 1L),
GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Gold, 1L), 5, false);
break;
case Obsidian:
Block aBlock = Block.getBlockFromItem(aStack.getItem());
if (aBlock != null) aBlock.setResistance(20.0F);
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack),
GT_ModHandler.getRCItem("cube.crushed.obsidian", 1L,
GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L)),
GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), 10, true);
break;
case Redrock:
case Marble:
case Basalt:
case Quartzite:
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial, 1L),
GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), 10, false);
break;
case Flint:
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial, 2L), new ItemStack(Items.flint, 1), 50,
false);
break;
case GraniteBlack:
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial, 1L),
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Thorium, 1L), 1, false);
break;
case GraniteRed: GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, aStack),
GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial, 1L),
GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Uranium, 1L), 1, false);
break;
default: break;
}
}
}
}
}

View file

@ -15,7 +15,7 @@ public class ProcessingStoneCobble implements IOreRecipeRegistrator {
OrePrefixes.stoneCobble.add(this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
RecipeMaps.ASSEMBLING.factory().EUt(1).duration(400).input(OrePrefixes.stick, Materials.Wood).input(GT_Utility.copyAmount(1L, aStack)).output(new ItemStack(Blocks.lever, 1)).buildAndRegister();
}
}

View file

@ -2,11 +2,9 @@ package gregtechmod.loaders.oreprocessing;
import gregtechmod.GT_Mod;
import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
public class ProcessingStoneVarious implements IOreRecipeRegistrator {
@ -21,7 +19,7 @@ public class ProcessingStoneVarious implements IOreRecipeRegistrator {
OrePrefixes.stoneSmooth.add(this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
Block aBlock = Block.getBlockFromItem(aStack.getItem());
if(aBlock != null) {
if(aStack.getMaxStackSize() > GT_Mod.sBlockStackSize) {

View file

@ -1,13 +1,11 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingToolHeadAxe implements IOreRecipeRegistrator {
@ -15,7 +13,7 @@ public class ProcessingToolHeadAxe implements IOreRecipeRegistrator {
OrePrefixes.toolHeadAxe.add(this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(!aMaterial.contains(SubTag.NO_SMASHING)) {
GT_ModHandler.addCraftingRecipe(GT_Utility.copyAmount(1L, aStack), false, true, new Object[]{"PIH", "P ", "F ", Character.valueOf('P'), OrePrefixes.plate.get(aMaterial), Character.valueOf('I'), OrePrefixes.ingot.get(aMaterial), Character.valueOf('H'), GT_ToolDictNames.craftingToolHardHammer, Character.valueOf('F'), GT_ToolDictNames.craftingToolFile});
}

View file

@ -1,13 +1,11 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingToolHeadFile implements IOreRecipeRegistrator {
@ -15,7 +13,7 @@ public class ProcessingToolHeadFile implements IOreRecipeRegistrator {
OrePrefixes.toolHeadFile.add(this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(!aMaterial.contains(SubTag.NO_SMASHING)) {
GT_ModHandler.addCraftingRecipe(GT_Utility.copyAmount(1L, aStack), false, true, new Object[]{"PF ", "PH ", Character.valueOf('P'), OrePrefixes.plate.get(aMaterial), Character.valueOf('I'), OrePrefixes.ingot.get(aMaterial), Character.valueOf('H'), GT_ToolDictNames.craftingToolHardHammer, Character.valueOf('F'), GT_ToolDictNames.craftingToolFile});
}

View file

@ -1,13 +1,11 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingToolHeadHammer implements IOreRecipeRegistrator {
@ -15,7 +13,7 @@ public class ProcessingToolHeadHammer implements IOreRecipeRegistrator {
OrePrefixes.toolHeadHammer.add(this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(!aMaterial.contains(SubTag.NO_SMASHING)) {
GT_ModHandler.addCraftingRecipe(GT_Utility.copyAmount(1L, aStack), false, true, new Object[]{"II ", "IIH", "II ", Character.valueOf('P'), OrePrefixes.plate.get(aMaterial), Character.valueOf('I'), OrePrefixes.ingot.get(aMaterial), Character.valueOf('H'), GT_ToolDictNames.craftingToolHardHammer, Character.valueOf('F'), GT_ToolDictNames.craftingToolFile});
}

View file

@ -1,13 +1,11 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingToolHeadHoe implements IOreRecipeRegistrator {
@ -15,7 +13,7 @@ public class ProcessingToolHeadHoe implements IOreRecipeRegistrator {
OrePrefixes.toolHeadHoe.add(this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(!aMaterial.contains(SubTag.NO_SMASHING)) {
GT_ModHandler.addCraftingRecipe(GT_Utility.copyAmount(1L, aStack), false, true, new Object[]{"PIH", "F ", Character.valueOf('P'), OrePrefixes.plate.get(aMaterial), Character.valueOf('I'), OrePrefixes.ingot.get(aMaterial), Character.valueOf('H'), GT_ToolDictNames.craftingToolHardHammer, Character.valueOf('F'), GT_ToolDictNames.craftingToolFile});
}

View file

@ -1,13 +1,11 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingToolHeadPickaxe implements IOreRecipeRegistrator {
@ -15,7 +13,7 @@ public class ProcessingToolHeadPickaxe implements IOreRecipeRegistrator {
OrePrefixes.toolHeadPickaxe.add(this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(!aMaterial.contains(SubTag.NO_SMASHING)) {
GT_ModHandler.addCraftingRecipe(GT_Utility.copyAmount(1L, aStack), false, true, new Object[]{"PII", "F H", Character.valueOf('P'), OrePrefixes.plate.get(aMaterial), Character.valueOf('I'), OrePrefixes.ingot.get(aMaterial), Character.valueOf('H'), GT_ToolDictNames.craftingToolHardHammer, Character.valueOf('F'), GT_ToolDictNames.craftingToolFile});
}

View file

@ -1,13 +1,11 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingToolHeadSaw implements IOreRecipeRegistrator {
@ -15,7 +13,7 @@ public class ProcessingToolHeadSaw implements IOreRecipeRegistrator {
OrePrefixes.toolHeadSaw.add(this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(!aMaterial.contains(SubTag.NO_SMASHING)) {
GT_ModHandler.addCraftingRecipe(GT_Utility.copyAmount(1L, aStack), false, true, new Object[]{"PP ", "FH ", Character.valueOf('P'), OrePrefixes.plate.get(aMaterial), Character.valueOf('I'), OrePrefixes.ingot.get(aMaterial), Character.valueOf('H'), GT_ToolDictNames.craftingToolHardHammer, Character.valueOf('F'), GT_ToolDictNames.craftingToolFile});
}

View file

@ -1,13 +1,11 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingToolHeadShovel implements IOreRecipeRegistrator {
@ -15,7 +13,7 @@ public class ProcessingToolHeadShovel implements IOreRecipeRegistrator {
OrePrefixes.toolHeadShovel.add(this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(!aMaterial.contains(SubTag.NO_SMASHING)) {
GT_ModHandler.addCraftingRecipe(GT_Utility.copyAmount(1L, aStack), false, true, new Object[]{"FPH", Character.valueOf('P'), OrePrefixes.plate.get(aMaterial), Character.valueOf('I'), OrePrefixes.ingot.get(aMaterial), Character.valueOf('H'), GT_ToolDictNames.craftingToolHardHammer, Character.valueOf('F'), GT_ToolDictNames.craftingToolFile});
}

View file

@ -1,13 +1,11 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.enums.GT_ToolDictNames;
import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.enums.SubTag;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_ModHandler;
import gregtechmod.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class ProcessingToolHeadSword implements IOreRecipeRegistrator {
@ -15,7 +13,7 @@ public class ProcessingToolHeadSword implements IOreRecipeRegistrator {
OrePrefixes.toolHeadSword.add(this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
if(!aMaterial.contains(SubTag.NO_SMASHING)) {
GT_ModHandler.addCraftingRecipe(GT_Utility.copyAmount(1, aStack), false, true, new Object[]{" P ", "FPH", 'P', OrePrefixes.plate.get(aMaterial), 'I', OrePrefixes.ingot.get(aMaterial), 'H', GT_ToolDictNames.craftingToolHardHammer, 'F', GT_ToolDictNames.craftingToolFile});
}

View file

@ -1,22 +1,27 @@
package gregtechmod.loaders.oreprocessing;
import gregtechmod.api.enums.Materials;
import java.util.List;
import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.interfaces.IOreRecipeRegistrator;
import gregtechmod.api.util.GT_Utility;
import gregtechmod.api.recipe.Ingredient;
import gregtechmod.api.util.OreDictEntry;
import gregtechmod.common.recipe.RecipeEntry;
import gregtechmod.common.recipe.RecipeMaps;
import net.minecraft.item.ItemStack;
public class ProcessingWax implements IOreRecipeRegistrator {
public ProcessingWax() {
OrePrefixes.wax.add((IOreRecipeRegistrator)this);
}
public ProcessingWax() {
OrePrefixes.wax.add(this);
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
if(aOreDictName.equals("waxMagical")) {
RecipeMaps.MAGIC_FUELS.factory().EUt(6).duration(1).input(GT_Utility.copyAmount(1L, aStack)).buildAndRegister();
}
}
@Override
public void registerOre(OrePrefixes aPrefix, List<OreDictEntry> dictEntry) {
for (OreDictEntry entry : dictEntry) {
if (entry.oreDictName.equals("waxMagical")) {
Ingredient recipeEntry = RecipeEntry.fromStacks(1, entry.ores);
RecipeMaps.MAGIC_FUELS.factory().EUt(6).duration(1).input(recipeEntry).buildAndRegister();
}
}
}
}

View file

@ -107,16 +107,16 @@ public class GT_OreProcessingLoader implements Runnable {
// new ProcessingSlab();
// new ProcessingStick();
new ProcessingStone();
new ProcessingStoneCobble();
new ProcessingStoneVarious();
new ProcessingToolHeadAxe();
new ProcessingToolHeadFile();
new ProcessingToolHeadHammer();
new ProcessingToolHeadHoe();
new ProcessingToolHeadPickaxe();
new ProcessingToolHeadSaw();
new ProcessingToolHeadShovel();
new ProcessingToolHeadSword();
// new ProcessingStoneCobble();
// new ProcessingStoneVarious();
// new ProcessingToolHeadAxe();
// new ProcessingToolHeadFile();
// new ProcessingToolHeadHammer();
// new ProcessingToolHeadHoe();
// new ProcessingToolHeadPickaxe();
// new ProcessingToolHeadSaw();
// new ProcessingToolHeadShovel();
// new ProcessingToolHeadSword();
new ProcessingWax();
}
}