package mods.custom_flags;
import net.minecraft.command.CommandBase;
import net.minecraft.command.ICommandSender;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemWritableBook;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.nbt.NBTTagString;
import net.minecraft.util.ChatMessageComponent;
import net.minecraft.util.DamageSource;
import scala.util.parsing.input.StreamReader;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStreamReader;
/**
* User: nerd-boy
* Date: 13/08/13
* Time: 4:13 PM
* TODO: Add discription
*/
public class GiveInstructionsCommand extends CommandBase {
public String getCommandName()
{
return "cf.instructions";
}
/**
* Return the required permission level for this command.
*/
public int getRequiredPermissionLevel()
{
return 0;
}
public String getCommandUsage(ICommandSender par1ICommandSender)
{
return "commands.cf.instr.usage";
}
public void processCommand(ICommandSender par1ICommandSender, String[] par2ArrayOfStr)
{
EntityPlayerMP entityplayermp = getCommandSenderAsPlayer(par1ICommandSender);
ItemStack instructions = new ItemStack(Item.writtenBook);
NBTTagCompound nbt = new NBTTagCompound();
nbt.setString("title", "Custom Flags Instructions");
nbt.setString("author", "Nerd-boy");
NBTTagList pages = new NBTTagList("pages");
BufferedReader br = null;
try{
br = new BufferedReader(new InputStreamReader(this.getClass().getResourceAsStream("CustomFlagsInstructions.txt")));
int page = 1;
StringBuffer sb = new StringBuffer();
while(br.ready()){
String nextLine = br.readLine();
System.out.println(nextLine);
if(nextLine.equals("[pb]")){
pages.appendTag(new NBTTagString(String.valueOf(page), sb.toString()));
sb = new StringBuffer();
page++;
}else{
sb.append(nextLine);
sb.append('\n');
}
}
}catch (Exception e){
pages.appendTag(new NBTTagString("1", "Error while reading help file"));
e.printStackTrace();
}finally {
if(br != null){
try{br.close();}
catch(Exception e){e.printStackTrace();}
}
}
nbt.setTag("pages", pages);
instructions.setTagCompound(nbt);
entityplayermp.inventory.addItemStackToInventory(instructions);
}
}