R.A Postado Julho 29, 2020 Denunciar Compartilhar Postado Julho 29, 2020 Pessoal estou tentando duplicar os itens dropados se o player estiver numa ArrayList, porém esta dando erro. Código: Erro: Link para o comentário Compartilhar em outros sites More sharing options...
W e s s b o Postado Julho 29, 2020 Denunciar Compartilhar Postado Julho 29, 2020 Tira todos os for e coloca e.getDrops().addAll(e.getDrops()) Cuidado, EntityDeathEvent conta a morte de TODAS as entidades, inclusive players (e se eu não me engano até moldura), faça uma verificação se a entidade é um mob para impedir bug abuser. Link para o comentário Compartilhar em outros sites More sharing options...
YTNexus Postado Julho 29, 2020 Denunciar Compartilhar Postado Julho 29, 2020 De vez de tá numa arraylist, num é melhor ter um sistema de chance não? Link para o comentário Compartilhar em outros sites More sharing options...
DeltaT Postado Julho 29, 2020 Denunciar Compartilhar Postado Julho 29, 2020 (editado) O erro é o seguinte não pode está rodando um for enquanto remove e add, caso queira fazer a ação aconselho usar o ArrayList.iterator para pode remove e utilizar uma lista para add em cache, logo após ter removido tudo, você coloca dentro dos drops utilizando o addAll. Mas um exemplo de como ficaria seu código sem algum "erro" seria: for(ItemStack stack : e.getDrops()) { stack.setAmount(stack.getAmount()*3); } Obs: não me lembro se nos drops tem como ultrapassar 64 e ele automaticamente cortar ao jogador capturar o drop. Editado Julho 29, 2020 por DeltaT Link para o comentário Compartilhar em outros sites More sharing options...
R.A Postado Julho 29, 2020 Autor Denunciar Compartilhar Postado Julho 29, 2020 2 horas atrás, DeltaT disse: O erro é o seguinte não pode está rodando um for enquanto remove e add, caso queira fazer a ação aconselho usar o ArrayList.iterator para pode remove e utilizar uma lista para add em cache, logo após ter removido tudo, você coloca dentro dos drops utilizando o addAll. Mas um exemplo de como ficaria seu código sem algum "erro" seria: for(ItemStack stack : e.getDrops()) { stack.setAmount(stack.getAmount()*3); } Obs: não me lembro se nos drops tem como ultrapassar 64 e ele automaticamente cortar ao jogador capturar o drop. Funcionou valeuxxx! 3 horas atrás, NSG disse: De vez de tá numa arraylist, num é melhor ter um sistema de chance não? Na real o sistema está perfeitinho, não precisa de sistema de chance. Valeu ai pela opnião! 4 horas atrás, W e s s b o disse: Tira todos os for e coloca e.getDrops().addAll(e.getDrops()) Cuidado, EntityDeathEvent conta a morte de TODAS as entidades, inclusive players (e se eu não me engano até moldura), faça uma verificação se a entidade é um mob para impedir bug abuser. Sim valeu já fiz a verificação, brigadão =D Link para o comentário Compartilhar em outros sites More sharing options...
SrBlecaute Postado Julho 29, 2020 Denunciar Compartilhar Postado Julho 29, 2020 Sua dúvida foi marcada como resolvida pela nossa equipe. Caso sua dúvida não tenha sido sanada, crie outro tópico. OBS: Essa mensagem é automática. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados