Thelike Postado Maio 2, 2016 Denunciar Compartilhar Postado Maio 2, 2016 Preciso de um help para salvar os itens de um player em um arquivo para depois carregar os itens e dar para outro player Link para o comentário Compartilhar em outros sites More sharing options...
MrPowerGamerBR Postado Maio 3, 2016 Denunciar Compartilhar Postado Maio 3, 2016 https://gist.github.com/4235b0c74ac90b55a4a1dbc14b473803 1 Link para o comentário Compartilhar em outros sites More sharing options...
JakeFrostMC Postado Maio 2, 2016 Denunciar Compartilhar Postado Maio 2, 2016 Meu sonho aprender isso Link para o comentário Compartilhar em outros sites More sharing options...
DarkSamuraiBR Postado Maio 2, 2016 Denunciar Compartilhar Postado Maio 2, 2016 Se você procurar no bukkit resources tem varios lá, chama inventory serialization Link para o comentário Compartilhar em outros sites More sharing options...
Thelike Postado Maio 2, 2016 Autor Denunciar Compartilhar Postado Maio 2, 2016 Se você procurar no bukkit resources tem varios lá, chama inventory serialization vi algo parecido porém não funfou, irei dar uma outra olhada Meu sonho aprender isso membro alertado por free post Link para o comentário Compartilhar em outros sites More sharing options...
zDubsCrazy Banido Postado Maio 2, 2016 Denunciar Compartilhar Postado Maio 2, 2016 (editado) "Serializar"? Exemplo: transformar o ItemStack em String. public String serializeItem(ItemStack is) { return is.getTypeId() + ":" + is.getDurability() + "," + is.getAmount(); } public ItemStack parseItem(String data) { String[] args = data.split(","); if (args.length < 2) return null; String[] type = args[0].split(":"); if (type.length < 2) return null; try { int id = Integer.valueOf(type[0]); short data = Short.valueOf(type[1]); int amount = Integer.valueOf(args[1]); ItemStack item = new ItemStack(id, amount); item.setDurability(data); return item; } catch (NumberFormatException e) { return null; } } Nesse caso, só está pegando id, data e quantidade, mas tu pode implementar encantamentos, lore, etc... Exemplo de uso: String string = serializeItem(item); // Essa String representa um item, entao salva ela e tals ItemStack item = parseItem(string); if (item == null) return; // Nao foi possivel obter o item da String Pode ter uns erros pois fiz sem IDE, boa sorte. @EDIT: Um exemplo de como seria representado 17 maças do capiroto: 322:1,17 Editado Maio 2, 2016 por zDubsCrazy 1 Link para o comentário Compartilhar em outros sites More sharing options...
Proyx Postado Maio 2, 2016 Denunciar Compartilhar Postado Maio 2, 2016 http://www.tutorialspoint.com/java/java_serialization.htm Link para o comentário Compartilhar em outros sites More sharing options...
ExtraPlays Postado Maio 2, 2016 Denunciar Compartilhar Postado Maio 2, 2016 Tenta ae >> https://bukkit.org/threads/tutorial-saving-player-inventories.175032/ Link para o comentário Compartilhar em outros sites More sharing options...
Thelike Postado Maio 2, 2016 Autor Denunciar Compartilhar Postado Maio 2, 2016 Tenta ae >> https://bukkit.org/threads/tutorial-saving-player-inventories.175032/ esse só salvar até o plugin recarregar então eu preciso que salva em um arquivo mesmo http://www.tutorialspoint.com/java/java_serialization.htm ñ intendi direito esse tutorial "Serializar"? Exemplo: transformar o ItemStack em String. public String serializeItem(ItemStack is) { return is.getTypeId() + ":" + is.getDurability() + "," + is.getAmount(); } public ItemStack parseItem(String data) { String[] args = data.split(","); if (args.length < 2) return null; String[] type = args[0].split(":"); if (type.length < 2) return null; try { int id = Integer.valueOf(type[0]); short data = Short.valueOf(type[1]); int amount = Integer.valueOf(args[1]); ItemStack item = new ItemStack(id, amount); item.setDurability(data); return item; } catch (NumberFormatException e) { return null; } } Nesse caso, só está pegando id, data e quantidade, mas tu pode implementar encantamentos, lore, etc... Exemplo de uso: String string = serializeItem(item); // Essa String representa um item, entao salva ela e tals ItemStack item = parseItem(string); if (item == null) return; // Nao foi possivel obter o item da String Pode ter uns erros pois fiz sem IDE, boa sorte. @EDIT: Um exemplo de como seria representado 17 maças do capiroto: 322:1,17 deu erro no short data = Short.valueOf(type[1]); Link para o comentário Compartilhar em outros sites More sharing options...
Guest Mateus Demarchi Postado Maio 2, 2016 Denunciar Compartilhar Postado Maio 2, 2016 HashMap(String, ItemStack[]) itens = new HashMap<>(); Player p = (Player)sender; itens.put(p.getName(), p.getInventory().getContents()); //se quiser salvar em config(mas da para pegar direto do map); getConfig().set("Itens." + p.getName(), itens.get(p.getName())); saveConfig(); reloadConfig(); Uma base mais fácil. Link para o comentário Compartilhar em outros sites More sharing options...
zDubsCrazy Banido Postado Maio 2, 2016 Denunciar Compartilhar Postado Maio 2, 2016 (editado) deu erro no short data = Short.valueOf(type[1]); Que erro? @EDIT Tenta assim: short data = Short.valueOf(type[1]).shortValue(); Editado Maio 2, 2016 por zDubsCrazy Link para o comentário Compartilhar em outros sites More sharing options...
Thelike Postado Maio 2, 2016 Autor Denunciar Compartilhar Postado Maio 2, 2016 Que erro? nenhum eu que tinha visto errado, irei tentar usar esse código seu Link para o comentário Compartilhar em outros sites More sharing options...
Thelike Postado Maio 3, 2016 Autor Denunciar Compartilhar Postado Maio 3, 2016 Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas. Atenciosamente, Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Thelike
Preciso de um help para salvar os itens de um player em um arquivo para depois carregar os itens e dar para outro player
Link para o comentário
Compartilhar em outros sites
12 respostass a esta questão
Posts Recomendados