From 16b195d2ab6f17912fb45fcf165dffe9b03960f0 Mon Sep 17 00:00:00 2001 From: AlexTheCoder Date: Fri, 14 Oct 2016 20:09:55 -0400 Subject: [PATCH] Make playwire-given carl spin tickets update while the player is logged in --- .../core/playwire/PlayWireManager.java | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/playwire/PlayWireManager.java b/Plugins/Mineplex.Core/src/mineplex/core/playwire/PlayWireManager.java index 047fd66ed..b61784b6d 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/playwire/PlayWireManager.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/playwire/PlayWireManager.java @@ -19,8 +19,10 @@ import org.bukkit.plugin.java.JavaPlugin; import org.jooq.SQLDialect; import org.jooq.impl.DSL; +import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; +import java.sql.Statement; import java.util.UUID; /** @@ -85,15 +87,25 @@ public class PlayWireManager extends MiniDbClientPlugin final int accountId = _clientManager.Get(player).getAccountId(); runAsync(() -> { - try + try (Connection c = DBPool.getAccount().getConnection(); Statement statement = c.createStatement()) { - final int newTickets = DSL.using(DBPool.getAccount(), SQLDialect.MYSQL).update(Tables.bonus).set(Tables.bonus.tickets, Tables.bonus.tickets.add(1)). - where(Tables.bonus.accountId.eq(accountId)).returning(Tables.bonus.tickets).fetchOne().getTickets(); - runSync(() -> + final String query = "UPDATE bonus SET tickets = tickets + 1 WHERE accountId = " + accountId + ";SELECT tickets FROM bonus WHERE accountId = " + accountId; + + statement.execute(query); + statement.getUpdateCount(); + statement.getMoreResults(); + + ResultSet rs = statement.getResultSet(); + if (rs.next()) { - Managers.get(BonusManager.class).Get(player).setTickets(newTickets); - Managers.get(BonusManager.class).updateCreeperVisual(player, true, C.cAqua); - }); + final int newTickets = rs.getInt(1); + + runSync(() -> + { + Managers.get(BonusManager.class).Get(player).setTickets(newTickets); + Managers.get(BonusManager.class).updateCreeperVisual(player, true, C.cAqua); + }); + } } catch (Exception e) { @@ -101,7 +113,7 @@ public class PlayWireManager extends MiniDbClientPlugin e.printStackTrace(); } }); - Managers.get(BonusManager.class).addPendingExplosion(player, player.getName()); + //Managers.get(BonusManager.class).addPendingExplosion(player, player.getName()); Bukkit.getScheduler().runTaskLater(getClientManager().getPlugin(), () -> UtilPlayer.message(player, ResponseType.COUNTED.getMessage()), REWARD_MESSAGE_DELAY_SECONDS * 20L); }); }