Ir para conteúdo
  • Chatbox

    Carregar mais
    Você não tem permissão para conversar :(
  • 0
oCyberBR

dúvida resolvida [Dúvida] Como serializar uma lista de itemstack.

Pergunta

Olá, eu sou o Ghast (no discord). Quero tirar uma dúvida com algum desenvolvedor. Estou fazendo um essentials e quero fazer um sistema de kits, só que não achei uma classe que serializasse uma ItemStack[]. Achei só uma do @MrPowerGamerBR, só que dava erro na hora de serializar o inventário do jogador e armazenar no arquivo .yml.
Queria saber se algum de vocês tem uma classe para serializar tanto uma itemstack quanto uma lista delas. Peguei uma classe de serializar do RUSH que ele postou na spigot (thx) e tá funcionando perfeitamente, só que ela não serializa uma lista.
Desde já agradeço.
OBS: Serializar em Base64.

Compartilhar este post


Link para o post
Compartilhar em outros sites

27 respostass a esta questão

Posts Recomendados

  • 1
Agora, oCyberBR disse:

Mas não da PT se o inventário tiver espaço com AIR?

Não! Nesse ai não. No EnderChest do meu plugin pode ficar com espaços, mas n causa PT algum e ainda fica nas posições certinho

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
1 minuto atrás, zAryon disse:
Por favor, registre-se ou entre para visualizar isso.

 

Sabia que tinha usado Serializer em algum sistema do Infernalia 🤔

Vou testar mano. Te amo. Vou postar meu essentials logo logo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
1 minuto atrás, oCyberBR disse:

Dá erro.
 

Por favor, registre-se ou entre para visualizar isso.

 

A culpa não é do Serializer, é você que não sabe usar ele.

 

Por favor, registre-se ou entre para visualizar isso./monthly_2019_05/image.png.e2fc8c6445383a0965c1cf173688d47e.png" alt="image.png.e2fc8c6445383a0965c1cf173688d47e.png" />

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
1 minuto atrás, zAryon disse:

A culpa não é do Serializer, é você que não sabe usar ele.

 

Por favor, registre-se ou entre para visualizar isso.

Acabei de descobrir, olha ali em cima.
Só se o inventário estiver preenchido ele salva na config.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
2 minutos atrás, oCyberBR disse:

Descobri o erro @zAryon. Ele só salva a lista de itemstack se o inventário todo estiver preenchido. Sabe como resolver?-

Dá uma olhada no Serializer do RhinoEnderChest Por favor, registre-se ou entre para visualizar isso.

Essa classe não me pertence então...

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
7 minutos atrás, WhitShS disse:

Dá uma olhada no Serializer do RhinoEnderChest Por favor, registre-se ou entre para visualizar isso.

Essa classe não me pertence então...

[13:59:39 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'hat' in plugin EclipseEssentials v1.6
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1162) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_201]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_201]
        at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_201]
Caused by: java.lang.NoClassDefFoundError: org/bukkit/craftbukkit/v1_8_R1/inventory/CraftItemStack
        at Commands.HatCommand.onCommand(HatCommand.java:38) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
        ... 15 more
Caused by: java.lang.ClassNotFoundException: org.bukkit.craftbukkit.v1_8_R1.inventory.CraftItemStack
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:91) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_201]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_201]
        at Commands.HatCommand.onCommand(HatCommand.java:38) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
        ... 15 more

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
10 minutos atrás, oCyberBR disse:

Descobri o erro @zAryon. Ele só salva a lista de itemstack se o inventário todo estiver preenchido. Sabe como resolver?-

Você está querendo salvar o inventário do player?

  Tente utilizar isso:

   

Por favor, registre-se ou entre para visualizar isso.

      Com este código:

      

Por favor, registre-se ou entre para visualizar isso.

 

Editado por GalaxyProject

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
1 minuto atrás, GalaxyProject disse:

Você está querendo salvar o inventário do player?

  Tente utilizar isso:

   

Por favor, registre-se ou entre para visualizar isso.

      Com este código:

      

Por favor, registre-se ou entre para visualizar isso.

 

Valeu, irei testar.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
3 minutos atrás, GalaxyProject disse:

Você está querendo salvar o inventário do player?

  Tente utilizar isso:

   

Por favor, registre-se ou entre para visualizar isso.

      Com este código:

      

Por favor, registre-se ou entre para visualizar isso.

 

Caso queira salvar isto em uma config (o inventário do jogador) como faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
1 minuto atrás, GalaxyProject disse:
Por favor, registre-se ou entre para visualizar isso.

 

Só que na hora de colocar os itemstack pro inventário do jogador. Como faço isso? Pois p.getInventory().addItem() é por itemstack, e estamos falando de serialização.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

Acho que o método que eu mandei ainda fica melhor pra utilizar do que o galaxy enviou. Ele pega o inventário certinho.

Essas coisas de colocar em lista, tu pode converter pow.

Editado por WhitShS

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
2 minutos atrás, WhitShS disse:

Acho que o método que eu mandei ainda fica melhor pra utilizar do que o galaxy enviou. Ele pega o inventário certinho.

Essas coisas de colocar em lista, tu pode converter pow.

Ss, só que dá erro quando tem um slot vazio no inv do jogador.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
4 minutos atrás, WhitShS disse:

Acho que o método que eu mandei ainda fica melhor pra utilizar do que o galaxy enviou. Ele pega o inventário certinho.

Essas coisas de colocar em lista, tu pode converter pow.

Poderia mandar os exemplos de uso?
Tipo como salva em uma string, como adiciona os itens no inv do jogador,
etc.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
6 minutos atrás, oCyberBR disse:

Poderia mandar os exemplos de uso?
Tipo como salva em uma string, como adiciona os itens no inv do jogador,
etc.

Nessa classe, o inventário já é montado de acorde com as posições, então você pode puxar da configuração direto e só converter para inventário (tem essa opção no serializer que eu te mandei). No meu eu faço exatamente isso, porém eu envio e puxo do MySQL (vai na package dos objects e olha a classe lá).

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
1 minuto atrás, WhitShS disse:

Nessa classe, o inventário já é montado de acorde com as posições, então você pode puxar da configuração direto e só converter para inventário (tem essa opção no serializer que eu te mandei). No meu eu faço exatamente isso, porém eu envio e puxo do MySQL (vai na package dos objects e olha a classe lá).

Mas não da PT se o inventário tiver espaço com AIR?

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
1 minuto atrás, WhitShS disse:

Não! Nesse ai não. No EnderChest do meu plugin pode ficar com espaços, mas n causa PT algum e ainda fica nas posições certinho

Consegui mano valeu, podem fechar o tópico.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.

×
Hospedagem de Minecraft Host de Minecraft Host de Minecraft BR Host de Minecraft EUA Servidor Cloud Servidor Cloud BR Servidor Cloud EUA