Removed fuel handler

- Railcraft uses UnmodifiableList to store fuels
This commit is contained in:
Zixxl 2015-07-20 11:56:16 +02:00
parent 94a83aa35a
commit e10f0e3431
2 changed files with 0 additions and 81 deletions

View file

@ -20,14 +20,12 @@ public class RailcraftHelper {
public static List<? extends ICokeOvenRecipe> oven = null;
public static List<? extends IRockCrusherRecipe> crusher = null;
public static List<IRecipe> rolling = null;
public static List<ItemStack> fuels = null;
static {
try {
furnace = RailcraftCraftingManager.blastFurnace.getRecipes();
oven = RailcraftCraftingManager.cokeOven.getRecipes();
crusher = RailcraftCraftingManager.rockCrusher.getRecipes();
rolling = RailcraftCraftingManager.rollingMachine.getRecipeList();
fuels = ReflectionHelper.<List<ItemStack>>getObject(RailcraftCraftingManager.blastFurnace, "fuels");
} catch (Exception e) { LogHelper.logError("Error in RailcraftHelper", e); }
}

View file

@ -11,14 +11,10 @@ import minetweaker.MineTweakerAPI;
import minetweaker.api.item.IIngredient;
import minetweaker.api.item.IItemStack;
import mods.railcraft.api.crafting.IBlastFurnaceRecipe;
import modtweaker2.helpers.InputHelper;
import modtweaker2.helpers.LogHelper;
import modtweaker2.helpers.StackHelper;
import modtweaker2.mods.railcraft.RailcraftHelper;
import modtweaker2.utils.BaseListAddition;
import modtweaker2.utils.BaseListRemoval;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntityFurnace;
import stanhebben.zenscript.annotations.ZenClass;
import stanhebben.zenscript.annotations.ZenMethod;
@ -88,79 +84,4 @@ public class BlastFurnace {
return LogHelper.getStackDescription(recipe.getOutput());
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@ZenMethod
public static void addFuel(IIngredient itemInput) {
if(itemInput == null) {
LogHelper.logError(String.format("Required parameters missing for %s Recipe.", name));
return;
}
List<ItemStack> fuels = new LinkedList<ItemStack>();
for(IItemStack item : itemInput.getItems()) {
boolean match = false;
for(ItemStack fuel : RailcraftHelper.fuels) {
if(StackHelper.matches(item, InputHelper.toIItemStack(fuel))) {
match = true;
break;
}
}
if(!match && TileEntityFurnace.isItemFuel(InputHelper.toStack(item))) {
fuels.add(InputHelper.toStack(item));
}
}
if(!fuels.isEmpty()) {
MineTweakerAPI.apply(new AddFuels(fuels));
} else {
LogHelper.logWarning(String.format("No %s added.", nameFuel));
}
}
private static class AddFuels extends BaseListAddition<ItemStack> {
public AddFuels(List<ItemStack> fuels) {
super(BlastFurnace.nameFuel, RailcraftHelper.fuels, fuels);
}
@Override
protected String getRecipeInfo(ItemStack recipe) {
return LogHelper.getStackDescription(recipe);
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@ZenMethod
private static void removeFuel(IIngredient itemInput) {
List<ItemStack> fuels = new LinkedList<ItemStack>();
for(ItemStack fuel : RailcraftHelper.fuels) {
if(StackHelper.matches(itemInput, InputHelper.toIItemStack(fuel))) {
fuels.add(fuel);
}
}
if(!fuels.isEmpty()) {
MineTweakerAPI.apply(new RemoveFuels(fuels));
} else {
LogHelper.logWarning(String.format("No %s found for argument %s.", nameFuel, itemInput.toString()));
}
}
private static class RemoveFuels extends BaseListRemoval<ItemStack> {
public RemoveFuels(List<ItemStack> fuels) {
super(BlastFurnace.nameFuel, RailcraftHelper.fuels, fuels);
}
@Override
protected String getRecipeInfo(ItemStack recipe) {
return LogHelper.getStackDescription(recipe);
}
}
}