Ir para conteúdo

SkyChests - Baús virtuais


zAth

Posts Recomendados

Plugin está dando isso > 11.09 16:13:43 [server] WARN com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'serializedcontents' at row 39

11.09 16:13:43 [server] WARN at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3591)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2407)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2325)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2310)
11.09 16:13:43 [server] WARN at me.zath.skychests.utils.SQL.update(SQL.java:111)
11.09 16:13:43 [server] WARN at me.zath.skychests.controllers.ChestController.update(ChestController.java:30)
11.09 16:13:43 [server] WARN at me.zath.skychests.controllers.ChestController$$Lambda$30/839231348.accept(Unknown Source)
11.09 16:13:43 [server] WARN at java.util.ArrayList.forEach(ArrayList.java:1249)
11.09 16:13:43 [server] WARN at me.zath.skychests.controllers.ChestController.lambda$start$0(ChestController.java:36)
11.09 16:13:43 [server] WARN at me.zath.skychests.controllers.ChestController$$Lambda$29/520775665.run(Unknown Source)
11.09 16:13:43 [server] WARN at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:59)
11.09 16:13:43 [server] WARN at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
11.09 16:13:43 [server] WARN at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
11.09 16:13:43 [server] WARN at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
11.09 16:13:43 [server] WARN at java.lang.Thread.run(Thread.java:745)
11.09 16:13:43 [server] WARN com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'serializedcontents' at row 41
11.09 16:13:43 [server] WARN at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3591)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2407)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2325)

Limpou os itens dos Players 
Link para o comentário
Compartilhar em outros sites

 

Plugin está dando isso > 11.09 16:13:43 [server] WARN com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'serializedcontents' at row 39

11.09 16:13:43 [server] WARN at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3591)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2407)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2325)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2310)
11.09 16:13:43 [server] WARN at me.zath.skychests.utils.SQL.update(SQL.java:111)
11.09 16:13:43 [server] WARN at me.zath.skychests.controllers.ChestController.update(ChestController.java:30)
11.09 16:13:43 [server] WARN at me.zath.skychests.controllers.ChestController$$Lambda$30/839231348.accept(Unknown Source)
11.09 16:13:43 [server] WARN at java.util.ArrayList.forEach(ArrayList.java:1249)
11.09 16:13:43 [server] WARN at me.zath.skychests.controllers.ChestController.lambda$start$0(ChestController.java:36)
11.09 16:13:43 [server] WARN at me.zath.skychests.controllers.ChestController$$Lambda$29/520775665.run(Unknown Source)
11.09 16:13:43 [server] WARN at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:59)
11.09 16:13:43 [server] WARN at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
11.09 16:13:43 [server] WARN at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
11.09 16:13:43 [server] WARN at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
11.09 16:13:43 [server] WARN at java.lang.Thread.run(Thread.java:745)
11.09 16:13:43 [server] WARN com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'serializedcontents' at row 41
11.09 16:13:43 [server] WARN at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3591)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2407)
11.09 16:13:43 [server] WARN at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2325)

 

Limpou os itens dos Players 

 

 

 

Falei com ele hoje mais cedo sobre isso...

La no MySql tem uma linha escrita :

- Port: 3308 ...

 

voce vai editar pra : 

- port: 3306

 

... vai resolver isso :D

Link para o comentário
Compartilhar em outros sites

 

Falei com ele hoje mais cedo sobre isso...

La no MySql tem uma linha escrita :

- Port: 3308 ...

 

voce vai editar pra : 

- port: 3306

 

... vai resolver isso :D

 

Já está   Port: 3306

 

 

Não sei quando baixou o pl, mas acho que já arrumei alterando o tipo dessa coluna, de varchar para text. Tenho que começar a alterar a versão na plugin.yml .-.

 

 

Ótimo plugin.

Porém comigo a permissão do EnderChest não funciona.

 

    @EventHandler
    public void onEnderChestInteract(PlayerInteractEvent e) {
        if (!e.getPlayer().hasPermission("skychests.enderchest")) return;
        if (e.getAction() != Action.RIGHT_CLICK_BLOCK) return;
        if (e.getClickedBlock().getType() != Material.ENDER_CHEST) return;

        e.setCancelled(true);
        e.getPlayer().openInventory(MainGui.getPlayerGui(e.getPlayer().getName().toLowerCase(), e.getPlayer()));
        e.getPlayer().playSound(e.getPlayer().getLocation(), Sound.CHEST_OPEN, 1, 1);
    }

Você não tem a perm * ou a skychests.enderchest mesmo? ;-; tenta colocar o "- -skychests.enderchest" na config para ver se vai.. no código a primeira verificação é essa da perm, se não tiver a perm já não abre o gui.

Link para o comentário
Compartilhar em outros sites

Não sei quando baixou o pl, mas acho que já arrumei alterando o tipo dessa coluna, de varchar para text. Tenho que começar a alterar a versão na plugin.yml .-.

    @EventHandler
    public void onEnderChestInteract(PlayerInteractEvent e) {
        if (!e.getPlayer().hasPermission("skychests.enderchest")) return;
        if (e.getAction() != Action.RIGHT_CLICK_BLOCK) return;
        if (e.getClickedBlock().getType() != Material.ENDER_CHEST) return;

        e.setCancelled(true);
        e.getPlayer().openInventory(MainGui.getPlayerGui(e.getPlayer().getName().toLowerCase(), e.getPlayer()));
        e.getPlayer().playSound(e.getPlayer().getLocation(), Sound.CHEST_OPEN, 1, 1);
    }

Você não tem a perm * ou a skychests.enderchest mesmo? ;-; tenta colocar o "- -skychests.enderchest" na config para ver se vai.. no código a primeira verificação é essa da perm, se não tiver a perm já não abre o gui.

 

Eu to usando o skychest.enderchest e não abre, só abre quando estou com OP

Link para o comentário
Compartilhar em outros sites

 

Info

 

» SkyChests permite-lhe obter até 28 baús virtuais;

» Organizados em uma GUI;

» Possibilidade de alterar o ícone de cada baú ( ao clicar com o botão direito para uma melhor organização;

» 524 ícones disponíveis ( todos os itens disponíveis do minecraft );

» Bom desempenho, suporte a SQL;

» Sistema de Villagers e Hologramas, alternativa ao /bau;

 

» Admins podem limitar a quantia de baús de cada jogador por permissão;

» Suporte a várias economias, por enquanto apenas MinePag, MineShop, PicoMoedas, PlayerPoints, TintaCoin e Vault;

» Mensagens, lore, id, data, nome e preço configurável.

 

 

Comandos

 

» /bau - skychests.open - abrir os seus baús remotamente.

 

» /bau <número> - skychests.open.each abrir o baú <número> remotamente.

 

» /skychests <jogador> - skychests.open.other - abrir os baús de tal jogador remotamente.

 

» /skychests setnpc - skychests.setnpc - setar um npc na localização atual.

 

» /skychests delnpc <id> -skychests.delnpc - remover um npc. se não souber o id, pode remover ao clicar em um npc com uma Blaze Rod na mão)

 

» /skychests reload - skychests.reload - recarrega a config.yml.

 

» /skychests converter <nome do plugin> - skychests.transmute - converte outros plugins de baúapenas T_BauVirtual, SQLite e MySql )

 

» skychests.clicknpc - clicar em um npc para abrir os seus baús.

 

» skychests.clickother - alterar um baú de outro jogador.

 

» skychests.delete - apaga um baú. ( ao clicar com o botão do meio )

 

» skychests.max.<número> - permite a um jogador ter apenas <número> baús.

 

» skychests.free - comprar baús sem pagar.

 

» skychests.firstfree - comprar um baú sem pagar, se ainda não tem nenhum.

 

» skychests.enderchest - abrir os baús ao clicar em um enderchest.

 

» skychests.nomax - comprar baús ignorando a permissão skychests.max.

 

» skychests.multiplier.<0-100> - preço final = preço + (preço * <0-100>/100 * baús) .

 

» skychests.sale.<0-100> - preço final = preço - (preço * <0-100>/100) .

 

 

Imagens

 

» NPC

HCjnA4F.png

 

» GUI principal

pP0Pl3a.png

 

» Confirmação de compra

zDqGhHe.png

 

» GUI principal, com um baú adquirido

sZ5kqun.png

 

» Alterando o ícone

CseVJIv.png

 

» GUI principal, com um baú adquirido e ícone alterado

50WwUCu.png

 

» Baú ;-;

p6tPZTn.png

 

 

Dependências

» Vault

» Spigot 1.8 ( feito nessa versão, outras poderão, ou não funcionar )

 

DOWNLOAD

 

SOURCE

 

Atualizações

 

» Bug de conexão morta arrumada? agora uma nova conexão é estabelecida quando algum erro aconteçe;

» Já não há métodos recursivos o que significa que o servidor não vai crashar mais quando não é possível conectar à base de dados, máximo de 5 tentativas;

» Arrumado bug onde não era possível ter 0 como id no item "fill";

» Adicionado MinePag como economia;

» Agora as mensagens de quando um icon é alterado já não são "STONE_BUTTON" mas "Stone Button";

» Arrumado bug onde não era possível ter 0 como id no item "fill";

» Adicionado a permissão skychests.clickother que permite alterar os baús de outros jogadores, assim podendo ter um tipo de "invsee";

» Adicionado TintaCoin como economia;

» Arrumado bug de hologramas desaparecendo quando alguém muda de mundo;

» Adicionado PicoMoedas como economia;

» Adicionado MineSHOP como economia;

» Adicionado Vault como economia;

» Adicionado PlayerPoints como economia;

» Adicionado suporte a várias economias, só alterar o "Economy" na config.yml;

» Melhorado o desempenho ao salvar os baús, agora apenas os baús que foram modificados serão salvos;

» Adicionado conversor de SQLite para MySQL e de MySQL para SQLite;

» Adicionado conversor do T_BauVirtual;

» Adicionado conversor de outros plugins, para converter apenas é preciso ter a pasta do plugin a converter no servidor e usar o comando /skychests converter;

» Adicionado o comando /skychests reload;

» Agora o preço do baú será mostrado na lore do mesmo, antes de o comprar;

» Arrumado o lag ao salvar os dados;

» Arrumado o bug que "desprotegia" os NPC's, tornando-os meros villagers;

» Os ícones agora são salvos por um simples método ( todos os ícones serão resetados );

» Adicionado a permissão skychests.sale.<sale> que permite cobrar menos;

» Adicionado a permissão skychests.multiplier.<multiplicador> que permite cobrar cada vez mais;

» Multiversion arrumado denovo .-. esqueçi dos npc, eles estavam se duplicando e não estáticos para algumas versões;

» É possivel usar shift + clique ou duplo clique nos baús denovo;

» Arrumado bug, era possivel retirar items dos inventários;

» Multiversion arrumado, adicionado reflection nos hologramas ( vlw  pela ajuda );

» Adicionado opção para alterar a quantia de baús que iram aparecer no GUI, secção "Chests" na config.yml;

» Adicionada a permissão skychests.nomax que permite comprar baús ignorando a permissão skychests.max;

» Adicionada a permissão skychests.open.each que permite abrir cada baú via comando /bau 0, /bau 1, /bau 2..;

» Removido a dependência do PermissionsEx;

» Adicionado multiversion;

» Adicionadas mensagens ao comprar;

» Adicionada a permissão skychests.free que permite comprar um baú sem pagar;

» Adicionada a permissão skychests.firstfree que permite comprar um baú sem pagar, se ainda não tem nenhum baú;

» Adicionada a permissão skychests.enderchest que permite abrir os seus baús ao clicar em um ender chest.

TODO

» Arrumar o MySql - ?;

» Adicionar conversor de outros plugins de baú e suporte a outras economias - wip, só comente no tópico se sabe de um que ainda não tenha suporte/conversor;

 

Créditos

» @MrPowerGamerBR Usei uma class dele para serializar os items, para que possa salva-los em SQL.

 

Tem como colocar dependecia do MinePag para comprar os baú com pontos?

Link para o comentário
Compartilhar em outros sites

Tem como setar permissão para cada bau? pq se n fica aberto para os players comprarem todos os baus, tipo para o player ter 2 baus  Permi.bau.2

ou algo assim

» skychests.max.<número> - permite a um jogador ter apenas <número> baús.

 

 

 

Mano, por que meu plugin de economia não tá funfando?

 

Plugin de economia: PlayerPoints

 

 

1gPuiXN.png

 

 

 

Config:

 

 

kGGYVVG.png

 

 

QUando liga aparece na consola "SkyChests §2Using PlayerPoints economy" ?

Algum erro?

Link para o comentário
Compartilhar em outros sites

 

Info

 

» SkyChests permite-lhe obter até 28 baús virtuais;

» Organizados em uma GUI;

» Possibilidade de alterar o ícone de cada baú ( ao clicar com o botão direito para uma melhor organização;

» 524 ícones disponíveis ( todos os itens disponíveis do minecraft );

» Bom desempenho, suporte a SQL;

» Sistema de Villagers e Hologramas, alternativa ao /bau;

 

» Admins podem limitar a quantia de baús de cada jogador por permissão;

» Suporte a várias economias, por enquanto apenas MinePag, MineShop, PicoMoedas, PlayerPoints, TintaCoin e Vault;

» Mensagens, lore, id, data, nome e preço configurável.

 

 

Comandos

 

» /bau - skychests.open - abrir os seus baús remotamente.

 

» /bau <número> - skychests.open.each abrir o baú <número> remotamente.

 

» /skychests <jogador> - skychests.open.other - abrir os baús de tal jogador remotamente.

 

» /skychests setnpc - skychests.setnpc - setar um npc na localização atual.

 

» /skychests delnpc <id> -skychests.delnpc - remover um npc. se não souber o id, pode remover ao clicar em um npc com uma Blaze Rod na mão)

 

» /skychests reload - skychests.reload - recarrega a config.yml.

 

» /skychests converter <nome do plugin> - skychests.transmute - converte outros plugins de baúapenas T_BauVirtual, SQLite e MySql )

 

» skychests.clicknpc - clicar em um npc para abrir os seus baús.

 

» skychests.clickother - alterar um baú de outro jogador.

 

» skychests.delete - apaga um baú. ( ao clicar com o botão do meio )

 

» skychests.max.<número> - permite a um jogador ter apenas <número> baús.

 

» skychests.free - comprar baús sem pagar.

 

» skychests.firstfree - comprar um baú sem pagar, se ainda não tem nenhum.

 

» skychests.enderchest - abrir os baús ao clicar em um enderchest.

 

» skychests.nomax - comprar baús ignorando a permissão skychests.max.

 

» skychests.multiplier.<0-100> - preço final = preço + (preço * <0-100>/100 * baús) .

 

» skychests.sale.<0-100> - preço final = preço - (preço * <0-100>/100) .

 

 

Imagens

 

» NPC

HCjnA4F.png

 

» GUI principal

pP0Pl3a.png

 

» Confirmação de compra

zDqGhHe.png

 

» GUI principal, com um baú adquirido

sZ5kqun.png

 

» Alterando o ícone

CseVJIv.png

 

» GUI principal, com um baú adquirido e ícone alterado

50WwUCu.png

 

» Baú ;-;

p6tPZTn.png

 

 

Dependências

» Vault

» Spigot 1.8 ( feito nessa versão, outras poderão, ou não funcionar )

 

DOWNLOAD

 

SOURCE

 

Atualizações

 

» Bug de conexão morta arrumada? agora uma nova conexão é estabelecida quando algum erro aconteçe;

» Já não há métodos recursivos o que significa que o servidor não vai crashar mais quando não é possível conectar à base de dados, máximo de 5 tentativas;

» Arrumado bug onde não era possível ter 0 como id no item "fill";

» Adicionado MinePag como economia;

» Agora as mensagens de quando um icon é alterado já não são "STONE_BUTTON" mas "Stone Button";

» Arrumado bug onde não era possível ter 0 como id no item "fill";

» Adicionado a permissão skychests.clickother que permite alterar os baús de outros jogadores, assim podendo ter um tipo de "invsee";

» Adicionado TintaCoin como economia;

» Arrumado bug de hologramas desaparecendo quando alguém muda de mundo;

» Adicionado PicoMoedas como economia;

» Adicionado MineSHOP como economia;

» Adicionado Vault como economia;

» Adicionado PlayerPoints como economia;

» Adicionado suporte a várias economias, só alterar o "Economy" na config.yml;

» Melhorado o desempenho ao salvar os baús, agora apenas os baús que foram modificados serão salvos;

» Adicionado conversor de SQLite para MySQL e de MySQL para SQLite;

» Adicionado conversor do T_BauVirtual;

» Adicionado conversor de outros plugins, para converter apenas é preciso ter a pasta do plugin a converter no servidor e usar o comando /skychests converter;

» Adicionado o comando /skychests reload;

» Agora o preço do baú será mostrado na lore do mesmo, antes de o comprar;

» Arrumado o lag ao salvar os dados;

» Arrumado o bug que "desprotegia" os NPC's, tornando-os meros villagers;

» Os ícones agora são salvos por um simples método ( todos os ícones serão resetados );

» Adicionado a permissão skychests.sale.<sale> que permite cobrar menos;

» Adicionado a permissão skychests.multiplier.<multiplicador> que permite cobrar cada vez mais;

» Multiversion arrumado denovo .-. esqueçi dos npc, eles estavam se duplicando e não estáticos para algumas versões;

» É possivel usar shift + clique ou duplo clique nos baús denovo;

» Arrumado bug, era possivel retirar items dos inventários;

» Multiversion arrumado, adicionado reflection nos hologramas ( vlw  pela ajuda );

» Adicionado opção para alterar a quantia de baús que iram aparecer no GUI, secção "Chests" na config.yml;

» Adicionada a permissão skychests.nomax que permite comprar baús ignorando a permissão skychests.max;

» Adicionada a permissão skychests.open.each que permite abrir cada baú via comando /bau 0, /bau 1, /bau 2..;

» Removido a dependência do PermissionsEx;

» Adicionado multiversion;

» Adicionadas mensagens ao comprar;

» Adicionada a permissão skychests.free que permite comprar um baú sem pagar;

» Adicionada a permissão skychests.firstfree que permite comprar um baú sem pagar, se ainda não tem nenhum baú;

» Adicionada a permissão skychests.enderchest que permite abrir os seus baús ao clicar em um ender chest.

TODO

» Arrumar o MySql - ?;

» Adicionar conversor de outros plugins de baú e suporte a outras economias - wip, só comente no tópico se sabe de um que ainda não tenha suporte/conversor;

 

Créditos

» @MrPowerGamerBR Usei uma class dele para serializar os items, para que possa salva-los em SQL.

 

Tentei falar contigo mas nao da pra enviar mp, preciso do addon do legendchat pra skyblock você ainda tem ?

Link para o comentário
Compartilhar em outros sites

Gostaria de saber se você já arrumou os bugs citados anteriormente. Gostaria também saber porque você optou por gitLab e não gitHub.

E por final gostaria de saber qual evento vc usa pra salvar os itens do bua (InventoryCloseEvent ?)

Link para o comentário
Compartilhar em outros sites

Gostaria de saber se você já arrumou os bugs citados anteriormente. Gostaria também saber porque você optou por gitLab e não gitHub.

E por final gostaria de saber qual evento vc usa pra salvar os itens do bua (InventoryCloseEvent ?)

Bug do mysql? nop, eu pensei em usar hikaricp mas na altura para arrumar eu tinha que começar a estudar para as provas ( à uns meses ) e desde então não peguei em nada de bukkit.

 

Gitlab tem mais repo privados e eu na altura estava com uns problemas no pc, estava mudando de pc, drive cheia.. optei por gitlab.

 

Não uso nenhum evento, por vezes esse evento não é chamado quando alguém está dentro de um bloco causando dupes com freecam.. o jeito que eu fiz acho eu que não tem como dupar, eu tentei com uns 4~5 clientes alterados e não consegui mas né tb não sou cheater profissional, nem jogo minecraft e provavelmente seria mais lagado usar algum evento.

Quando o pl inicia carrega todos os baús, provavelmente não é o melhor a se fazer mas como não tem uma connection pool optei por carregar os baús todos em vez de pegar da db sempre que alguém entra no servidor(se tivesse uma connection pool provavelmente faria de maneira diferente).

Ao carregar um baú cria um objeto com um Inventory e dae sempre que alguém abre o baú, só pegar esse Inventory do objeto e abrir para o jogador.

Qualquer alteração irá ficar salva nesse Inventory automaticamente porque né, bukkit.

Para salvar na db eu uso um runnable(se tivesse uma connection pool provavelmente faria de maneira diferente) para salvar apenas os objetos que foram alterados, quando alguém clica num baú eu altero uma boolean no objeto que dirá ao runnable para salvar na db ou não.

Link para o comentário
Compartilhar em outros sites

O plugin atualmente tem bugs? vão ser arrumados? Quero usar no meu projeto.

SQL todo lagado, não tenho mais vontade de mexer nisso.. a source está no tópico se alguém estiver disposto a implementar alguma connection pool.

Link para o comentário
Compartilhar em outros sites

SQL todo lagado, não tenho mais vontade de mexer nisso.. a source está no tópico se alguém estiver disposto a implementar alguma connection pool.

Que pena, realmente é um plugin excelente. Sabe algum outro plugin semelhante?

Link para o comentário
Compartilhar em outros sites

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