package tppitweaks.command; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import net.minecraft.command.CommandBase; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagString; import tppitweaks.TPPITweaks; import tppitweaks.util.TxtParser; public class CommandOres extends CommandBase { @Override public String getCommandName() { return "ores"; } @Override public String getCommandUsage(ICommandSender icommandsender) { return "/ores"; } @Override public boolean canCommandSenderUseCommand(ICommandSender par1iCommandSender) { return true; } @SuppressWarnings("rawtypes") @Override public List addTabCompletionOptions(ICommandSender command, String[] par2ArrayOfStr) { return null; } @Override public void processCommand(ICommandSender icommandsender, String[] astring) { processVanillaBookCommand("TPPI Ore Generation Guide", "OreGen.txt", icommandsender, astring); } public static void processVanillaBookCommand(String title, String textFileName, ICommandSender command, String[] astring) { InputStream file = TPPITweaks.class.getResourceAsStream("/assets/tppitweaks/lang/" + textFileName); List<String> vanillaBookText = file == null ? new ArrayList<String>() : TxtParser.parseFileMain(file); ItemStack book = new ItemStack(Items.written_book); book.setTagInfo("author", new NBTTagString("The TPPI Team")); book.setTagInfo("title", new NBTTagString(title)); NBTTagCompound nbttagcompound = book.getTagCompound(); NBTTagList bookPages = new NBTTagList(); for (int i = 0; i < vanillaBookText.size(); i++) { bookPages.appendTag(new NBTTagString(vanillaBookText.get(i))); } nbttagcompound.setTag("pages", bookPages); nbttagcompound.setString("version", TPPITweaks.VERSION); if (!command.getEntityWorld().getPlayerEntityByName(command.getCommandSenderName()).inventory.addItemStackToInventory(book)) command.getEntityWorld().getPlayerEntityByName(command.getCommandSenderName()).entityDropItem(book, 0); } @Override public int compareTo(Object o) { return this.getCommandName().compareTo(((ICommand)o).getCommandName()); } }