added possibility to blacklist recipes, close #1750
This commit is contained in:
parent
29d308f4f9
commit
4dcb9af871
4 changed files with 47 additions and 3 deletions
|
@ -12,6 +12,7 @@ import java.io.File;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.FloatBuffer;
|
import java.nio.FloatBuffer;
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.TreeMap;
|
import java.util.TreeMap;
|
||||||
|
|
||||||
import org.lwjgl.input.Mouse;
|
import org.lwjgl.input.Mouse;
|
||||||
|
@ -56,6 +57,7 @@ import buildcraft.api.blueprints.SchematicRegistry;
|
||||||
import buildcraft.api.core.BCLog;
|
import buildcraft.api.core.BCLog;
|
||||||
import buildcraft.api.core.BuildCraftAPI;
|
import buildcraft.api.core.BuildCraftAPI;
|
||||||
import buildcraft.api.core.IIconProvider;
|
import buildcraft.api.core.IIconProvider;
|
||||||
|
import buildcraft.api.core.JavaTools;
|
||||||
import buildcraft.api.gates.ActionManager;
|
import buildcraft.api.gates.ActionManager;
|
||||||
import buildcraft.api.recipes.BuildcraftRecipes;
|
import buildcraft.api.recipes.BuildcraftRecipes;
|
||||||
import buildcraft.builders.urbanism.EntityRobotUrbanism;
|
import buildcraft.builders.urbanism.EntityRobotUrbanism;
|
||||||
|
@ -199,6 +201,8 @@ public class BuildCraftCore extends BuildCraftMod {
|
||||||
|
|
||||||
public static AchievementPage BuildcraftAchievements;
|
public static AchievementPage BuildcraftAchievements;
|
||||||
|
|
||||||
|
public static HashSet<String> recipesBlacklist = new HashSet<String>();
|
||||||
|
|
||||||
public static float diffX, diffY, diffZ;
|
public static float diffX, diffY, diffZ;
|
||||||
|
|
||||||
private static FloatBuffer modelviewF;
|
private static FloatBuffer modelviewF;
|
||||||
|
@ -322,6 +326,15 @@ public class BuildCraftCore extends BuildCraftMod {
|
||||||
MinecraftForge.EVENT_BUS.register(new SpringPopulate());
|
MinecraftForge.EVENT_BUS.register(new SpringPopulate());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (String l : BuildCraftCore.mainConfiguration.get(Configuration.CATEGORY_GENERAL,
|
||||||
|
"recipesBlacklist", new String[0]).getStringList()) {
|
||||||
|
recipesBlacklist.add(JavaTools.stripSurroundingQuotes(l.trim()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mainConfiguration.hasChanged()) {
|
||||||
|
mainConfiguration.save();
|
||||||
|
}
|
||||||
|
|
||||||
if (BuildCraftCore.loadDefaultRecipes) {
|
if (BuildCraftCore.loadDefaultRecipes) {
|
||||||
loadRecipes();
|
loadRecipes();
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,6 +36,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
import net.minecraftforge.oredict.ShapedOreRecipe;
|
import net.minecraftforge.oredict.ShapedOreRecipe;
|
||||||
import net.minecraftforge.oredict.ShapelessOreRecipe;
|
import net.minecraftforge.oredict.ShapelessOreRecipe;
|
||||||
|
|
||||||
|
import buildcraft.BuildCraftCore;
|
||||||
import buildcraft.api.core.ICoreProxy;
|
import buildcraft.api.core.ICoreProxy;
|
||||||
import buildcraft.core.EntityBlock;
|
import buildcraft.core.EntityBlock;
|
||||||
import buildcraft.core.ItemBlockBuildCraft;
|
import buildcraft.core.ItemBlockBuildCraft;
|
||||||
|
@ -110,13 +111,23 @@ public class CoreProxy implements ICoreProxy {
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public void addCraftingRecipe(ItemStack result, Object... recipe) {
|
public void addCraftingRecipe(ItemStack result, Object... recipe) {
|
||||||
|
String name = Item.itemRegistry.getNameForObject(result.getItem());
|
||||||
|
|
||||||
|
if (BuildCraftCore.recipesBlacklist.contains(name)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(result, recipe));
|
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(result, recipe));
|
||||||
//GameRegistry.addRecipe(result, recipe);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addShapelessRecipe(ItemStack result, Object... recipe) {
|
public void addShapelessRecipe(ItemStack result, Object... recipe) {
|
||||||
CraftingManager.getInstance().getRecipeList().add(new ShapelessOreRecipe(result, recipe));
|
String name = Item.itemRegistry.getNameForObject(result.getItem());
|
||||||
//GameRegistry.addShapelessRecipe(result, recipe);
|
|
||||||
|
if (BuildCraftCore.recipesBlacklist.contains(name)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
CraftingManager.getInstance().getRecipeList().add(new ShapelessOreRecipe(result, recipe));
|
||||||
}
|
}
|
||||||
|
|
||||||
public int addCustomTexture(String pathToTexture) {
|
public int addCustomTexture(String pathToTexture) {
|
||||||
|
|
|
@ -19,6 +19,7 @@ import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
import net.minecraftforge.oredict.OreDictionary;
|
import net.minecraftforge.oredict.OreDictionary;
|
||||||
|
|
||||||
|
import buildcraft.BuildCraftCore;
|
||||||
import buildcraft.api.core.IInvSlot;
|
import buildcraft.api.core.IInvSlot;
|
||||||
import buildcraft.api.recipes.IAssemblyRecipeManager;
|
import buildcraft.api.recipes.IAssemblyRecipeManager;
|
||||||
import buildcraft.core.inventory.ITransactor;
|
import buildcraft.core.inventory.ITransactor;
|
||||||
|
@ -33,6 +34,12 @@ public class AssemblyRecipeManager implements IAssemblyRecipeManager {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addRecipe(double energyCost, ItemStack output, Object... input) {
|
public void addRecipe(double energyCost, ItemStack output, Object... input) {
|
||||||
|
String name = Item.itemRegistry.getNameForObject(output.getItem());
|
||||||
|
|
||||||
|
if (BuildCraftCore.recipesBlacklist.contains(name)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
assemblyRecipes.add(new AssemblyRecipe(output, energyCost, input));
|
assemblyRecipes.add(new AssemblyRecipe(output, energyCost, input));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@ import com.google.common.base.Objects;
|
||||||
|
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
import net.minecraftforge.fluids.FluidStack;
|
||||||
|
|
||||||
|
import buildcraft.BuildCraftCore;
|
||||||
import buildcraft.api.recipes.IRefineryRecipeManager;
|
import buildcraft.api.recipes.IRefineryRecipeManager;
|
||||||
|
|
||||||
public final class RefineryRecipeManager implements IRefineryRecipeManager {
|
public final class RefineryRecipeManager implements IRefineryRecipeManager {
|
||||||
|
@ -28,11 +29,23 @@ public final class RefineryRecipeManager implements IRefineryRecipeManager {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addRecipe(FluidStack ingredient, FluidStack result, int energy, int delay) {
|
public void addRecipe(FluidStack ingredient, FluidStack result, int energy, int delay) {
|
||||||
|
String name = result.getFluid().getName();
|
||||||
|
|
||||||
|
if (BuildCraftCore.recipesBlacklist.contains(name)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
addRecipe(ingredient, null, result, energy, delay);
|
addRecipe(ingredient, null, result, energy, delay);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addRecipe(FluidStack ingredient1, FluidStack ingredient2, FluidStack result, int energy, int delay) {
|
public void addRecipe(FluidStack ingredient1, FluidStack ingredient2, FluidStack result, int energy, int delay) {
|
||||||
|
String name = result.getFluid().getName();
|
||||||
|
|
||||||
|
if (BuildCraftCore.recipesBlacklist.contains(name)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
RefineryRecipe recipe = new RefineryRecipe(ingredient1, ingredient2, result, energy, delay);
|
RefineryRecipe recipe = new RefineryRecipe(ingredient1, ingredient2, result, energy, delay);
|
||||||
recipes.add(recipe);
|
recipes.add(recipe);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue