Ir para conteúdo
  • 0

[Resolvido] [Dúvida] Como Escrever No Livro?


TequilAxBr

Pergunta

Olá seres humanos de Jupiter,


Gostaria de saber como dou um livro ao player com algo escrito que eu escrevi quando estava criando o plugin.


Resumindo -> Gostaria de saber como escrever no livro pelo Bukkit.


Já pesquisei e encontrei porem não funcionou corretamente.


Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

Esse foi o que eu achei, porem nao funfo.

    ItemStack book = new ItemStack(Material.WRITTEN_BOOK, 1);
    BookMeta bm = (BookMeta)book.getItemMeta();
    bm.setAuthor("TheUranium"); //Coloca aqui o autor do livro
    bm.setTitle("Thelindu"); //Aqui o titulo do livro
    ArrayList<String> pages = new ArrayList<String>();
    pages.add("Sou lindo");// Página 1
    pages.add("Continuo sendo lindo"); //Página 2
    bm.setPages(pages);
    bm.setPage(0, "Ainda sou lindo");
    book.setItemMeta(bm);
Editado por TheUranium
Link para o comentário
Compartilhar em outros sites

 

Olá seres humanos de Jupiter,

Gostaria de saber como dou um livro ao player com algo escrito que eu escrevi quando estava criando o plugin.

Resumindo -> Gostaria de saber como escrever no livro pelo Bukkit.

Já pesquisei e encontrei porem não funcionou corretamente.

 

Achei por aí:

    package de.V10lator.BookTest;
     
    import net.minecraft.server.NBTTagList;
    import net.minecraft.server.NBTTagString;
     
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.craftbukkit.inventory.CraftItemStack;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class BookTest extends JavaPlugin
    {
      public boolean onCommand(CommandSender sender, Command command,
    		String label, String[] args)
      {
    	if(!(sender instanceof Player))
    	  return true;
    	CraftItemStack is = new CraftItemStack(Material.WRITTEN_BOOK);
    	//NMS code start
    	net.minecraft.server.ItemStack nmsItemStack = is.getHandle();
    	net.minecraft.server.NBTTagCompound nbttc = new net.minecraft.server.NBTTagCompound();
    	nbttc.setString("title", "Test Book");
    	nbttc.setString("author", "V10lator");
    	NBTTagList nbttaglist = new NBTTagList(); //This is where the pages have to be. Not sure how to add them...
    	nbttaglist.add(new NBTTagString("page1", "This is page 1"));
    	nbttaglist.add(new NBTTagString("page2", "This is page 2"));
    	nbttaglist.add(new NBTTagString("page3", "This is page 3"));
    	nbttc.set("pages", nbttaglist);
    	nmsItemStack.setTag(nbttc);
    	// NMS code end...
    	((Player)sender).getInventory().addItem(is);
    	return true;
      }
    }
Link para o comentário
Compartilhar em outros sites

 

Achei por aí:

    package de.V10lator.BookTest;
     
    import net.minecraft.server.NBTTagList;
    import net.minecraft.server.NBTTagString;
     
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.craftbukkit.inventory.CraftItemStack;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class BookTest extends JavaPlugin
    {
      public boolean onCommand(CommandSender sender, Command command,
    		String label, String[] args)
      {
    	if(!(sender instanceof Player))
    	  return true;
    	CraftItemStack is = new CraftItemStack(Material.WRITTEN_BOOK);
    	//NMS code start
    	net.minecraft.server.ItemStack nmsItemStack = is.getHandle();
    	net.minecraft.server.NBTTagCompound nbttc = new net.minecraft.server.NBTTagCompound();
    	nbttc.setString("title", "Test Book");
    	nbttc.setString("author", "V10lator");
    	NBTTagList nbttaglist = new NBTTagList(); //This is where the pages have to be. Not sure how to add them...
    	nbttaglist.add(new NBTTagString("page1", "This is page 1"));
    	nbttaglist.add(new NBTTagString("page2", "This is page 2"));
    	nbttaglist.add(new NBTTagString("page3", "This is page 3"));
    	nbttc.set("pages", nbttaglist);
    	nmsItemStack.setTag(nbttc);
    	// NMS code end...
    	((Player)sender).getInventory().addItem(is);
    	return true;
      }
    }

Esse foi o que eu achei, porem nao funfo.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...