package modtweaker.mods.tconstruct.commands; import com.blamejared.mtlib.commands.CommandLoggerMulti; import com.blamejared.mtlib.helpers.LogHelper; import minetweaker.MineTweakerAPI; import minetweaker.api.player.IPlayer; import minetweaker.api.server.ICommandFunction; import modtweaker.mods.tconstruct.TConstructHelper; import net.minecraft.item.ItemStack; import slimeknights.tconstruct.library.TinkerRegistry; import slimeknights.tconstruct.library.smeltery.CastingRecipe; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; public class TConstructLogger extends CommandLoggerMulti { private static final List<String> validArguments = new LinkedList<String>(); static { validArguments.add("Casting"); validArguments.add("Drying"); validArguments.add("Smeltery"); } @Override public void execute(String[] arguments, IPlayer player) { // if(args.isEmpty() || args.contains("Smeltery")) { // for(MeltingRecipe recipe : TConstructHelper.smeltingList) { // int temperature = recipe.getTemperature(); // ItemStack renderItem = TConstructHelper.renderIndex.get(recipe.getKey()); // // MineTweakerAPI.logCommand(String.format("mods.tconstruct.Smeltery.addMelting(%s, %s, %d, %s);", // LogHelper.getStackDescription(new ItemStack(recipe.getKey().item, 1, recipe.getKey().meta)), // LogHelper.getStackDescription(recipe.getValue()), // temperature, // LogHelper.getStackDescription(renderItem))); // } // for(FluidStack fuel : TConstructHelper.fuelList) { // MineTweakerAPI.logCommand(String.format("mods.tconstruct.Smeltery.addFuel(%s, %d, %d);", // LogHelper.getStackDescription(new FluidStack(fuel.getFluid(), 1)), // fuel[0], // fuel.getValue()[1])); // } super.execute(arguments, player); } @Override public Map<String, ICommandFunction> getLists() { Map<String, ICommandFunction> logs = new HashMap<>(); logs.put("casting", (strings, player) -> { TConstructHelper.basinCasting.forEach(recipe -> { if(recipe instanceof CastingRecipe) { if(((CastingRecipe) recipe).cast != null) { for(ItemStack item : ((CastingRecipe) recipe).cast.getInputs()) { MineTweakerAPI.logCommand(String.format("mods.tconstruct.Casting.addBasinRecipe(%s, %s, %s, %s, %d);", LogHelper.getStackDescription(((CastingRecipe) recipe).getResult()), LogHelper.getStackDescription(((CastingRecipe) recipe).getFluid()), LogHelper.getStackDescription(item), recipe.consumesCast(), recipe.getTime())); } } else { MineTweakerAPI.logCommand(String.format("mods.tconstruct.Casting.addBasinRecipe(%s, %s, %s, %s, %d);", LogHelper.getStackDescription(((CastingRecipe) recipe).getResult()), LogHelper.getStackDescription(((CastingRecipe) recipe).getFluid()), LogHelper.getStackDescription((Object) null), recipe.consumesCast(), recipe.getTime())); } } }); TConstructHelper.tableCasting.forEach(recipe -> { if(recipe instanceof CastingRecipe) { if(((CastingRecipe) recipe).cast != null) { for(ItemStack item : ((CastingRecipe) recipe).cast.getInputs()) { MineTweakerAPI.logCommand(String.format("mods.tconstruct.Casting.addTableRecipe(%s, %s, %s, %s, %d);", LogHelper.getStackDescription(((CastingRecipe) recipe).getResult()), LogHelper.getStackDescription(((CastingRecipe) recipe).getFluid()), LogHelper.getStackDescription(item), recipe.consumesCast(), recipe.getTime())); } } else { MineTweakerAPI.logCommand(String.format("mods.tconstruct.Casting.addTableRecipe(%s, %s, %s, %s, %d);", LogHelper.getStackDescription(((CastingRecipe) recipe).getResult()), LogHelper.getStackDescription(((CastingRecipe) recipe).getFluid()), LogHelper.getStackDescription((Object) null), recipe.consumesCast(), recipe.getTime())); } } }); }); logs.put("drying", (args, player) -> TinkerRegistry.getAllDryingRecipes(). forEach(recipe -> { for(ItemStack item : recipe.input.getInputs()) { MineTweakerAPI.logCommand(String.format("mods.tconstruct.Drying.addRecipe(%s, %s, %d);", LogHelper.getStackDescription(item), LogHelper.getStackDescription(recipe.getResult()), recipe.time)); } })); logs.put("alloys", (strings, player) -> TConstructHelper.alloys.forEach(recipe -> MineTweakerAPI.logCommand(String.format("mods.tconstruct.Smeltery.addAlloy(%s, %s);", LogHelper.getStackDescription(recipe.getResult()), LogHelper.getListDescription(recipe.getFluids()))))); return logs; } }