Skip to content

Commit 7ef60d1

Browse files
committed
v3.1.1 - Bug fixes
1 parent 225763b commit 7ef60d1

12 files changed

Lines changed: 62 additions & 52 deletions

File tree

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ buildscript {
1010

1111
allprojects {
1212
group 'me.realized'
13-
version '3.1.0'
13+
version '3.1.1'
1414
}
1515

1616
subprojects {

duels-plugin/src/main/java/me/realized/duels/arena/Arena.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import java.util.HashSet;
66
import java.util.List;
77
import java.util.Map;
8-
import java.util.Map.Entry;
98
import java.util.Objects;
109
import java.util.Set;
1110
import java.util.UUID;
@@ -163,7 +162,7 @@ public void remove(final Player player) {
163162
}
164163

165164
public int size() {
166-
return isUsed() ? match.getAllPlayers().size() : 0;
165+
return isUsed() ? match.getAlivePlayers().size() : 0;
167166
}
168167

169168
public Player first() {

duels-plugin/src/main/java/me/realized/duels/command/commands/duels/subcommands/AddsignCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ protected void execute(final CommandSender sender, final String label, final Str
4747
return;
4848
}
4949

50-
if (!queueManager.create(sign, kit, bet)) {
50+
if (!queueManager.create(sign.getLocation(), kit, bet)) {
5151
lang.sendMessage(sender, "ERROR.sign.already-exists");
5252
return;
5353
}

duels-plugin/src/main/java/me/realized/duels/command/commands/duels/subcommands/DeletesignCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ protected void execute(final CommandSender sender, final String label, final Str
2828
return;
2929
}
3030

31-
final QueueSign queueSign = queueManager.remove(sign);
31+
final QueueSign queueSign = queueManager.remove(sign.getLocation());
3232

3333
if (queueSign == null) {
3434
lang.sendMessage(sender, "ERROR.sign.not-found");

duels-plugin/src/main/java/me/realized/duels/data/ItemData.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public ItemData(final ItemStack item) {
7373
+ (potion.isSplash() ? "splash-" : "")
7474
+ (potion.isStrong() ? "strong-" : "");
7575
}
76-
} else if (CompatUtil.isPre_1_13() && material.equals("MONSTER_EGG")) {
76+
} else if (CompatUtil.isPre1_13() && material.equals("MONSTER_EGG")) {
7777
final SpawnEggs spawnEgg = SpawnEggs.fromItemStack(item);
7878

7979
if (spawnEgg != null) {
@@ -188,7 +188,7 @@ public ItemStack toItemStack() {
188188
if (!CompatUtil.isPre1_9() && itemData != null) {
189189
if (material.contains("POTION")) {
190190
item = new Potions(PotionType.valueOf(args.get(0)), args).toItemStack(amount);
191-
} else if (CompatUtil.isPre_1_13() && material.equals("MONSTER_EGG")) {
191+
} else if (CompatUtil.isPre1_13() && material.equals("MONSTER_EGG")) {
192192
item = new SpawnEggs(EntityType.valueOf(args.get(0))).toItemStack(amount);
193193
}
194194
}

duels-plugin/src/main/java/me/realized/duels/data/QueueSignData.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public class QueueSignData {
1313
private final int bet;
1414

1515
public QueueSignData(final QueueSign queue) {
16-
this.location = new LocationData(queue.getSign().getLocation());
16+
this.location = new LocationData(queue.getLocation());
1717
this.kit = queue.getKit() != null ? queue.getKit().getName() : null;
1818
this.bet = queue.getBet();
1919
}
@@ -31,7 +31,7 @@ public QueueSign toQueueSign(final DuelsPlugin plugin) {
3131
return null;
3232
}
3333

34-
return new QueueSign((Sign) block.getState(), plugin.getLang().getMessage("SIGN.format",
34+
return new QueueSign(location, plugin.getLang().getMessage("SIGN.format",
3535
"kit", kit != null ? kit : "none", "bet_amount", bet), kit != null ? plugin.getKitManager().get(kit) : null, bet);
3636
}
37-
}
37+
}

duels-plugin/src/main/java/me/realized/duels/extra/PotionListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public void on(final PlayerItemConsumeEvent event) {
3232

3333
final ItemStack item = event.getItem();
3434

35-
if (item.getType().name().endsWith("POTION")) {
35+
if (!item.getType().name().endsWith("POTION")) {
3636
return;
3737
}
3838

duels-plugin/src/main/java/me/realized/duels/queue/QueueManager.java

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
import me.realized.duels.util.inventory.InventoryUtil;
4141
import org.bukkit.GameMode;
4242
import org.bukkit.Location;
43-
import org.bukkit.block.BlockState;
43+
import org.bukkit.block.Block;
4444
import org.bukkit.block.Sign;
4545
import org.bukkit.entity.Player;
4646
import org.bukkit.event.EventHandler;
@@ -57,7 +57,7 @@ public class QueueManager implements Loadable, Listener {
5757
private final UserManager userManager;
5858
private final DuelManager duelManager;
5959
private final File file;
60-
private final Map<Sign, QueueSign> signs = new HashMap<>();
60+
private final Map<Location, QueueSign> signs = new HashMap<>();
6161
private final Map<QueueSign, LinkedList<QueueEntry>> queues = new HashMap<>();
6262

6363
private CombatTagPlusHook combatTagPlus;
@@ -94,8 +94,7 @@ public void handleLoad() throws Exception {
9494
final QueueSign queueSign = queueSignData.toQueueSign(plugin);
9595

9696
if (queueSign != null) {
97-
final Sign sign = queueSign.getSign();
98-
signs.put(sign, queueSign);
97+
signs.put(queueSign.getLocation(), queueSign);
9998
}
10099
});
101100
}
@@ -187,12 +186,12 @@ public void handleUnload() throws Exception {
187186
queues.clear();
188187
}
189188

190-
public QueueSign get(final Sign sign) {
191-
return signs.get(sign);
189+
public QueueSign get(final Location location) {
190+
return signs.get(location);
192191
}
193192

194-
public QueueSign remove(final Sign sign) {
195-
final QueueSign queueSign = signs.remove(sign);
193+
public QueueSign remove(final Location location) {
194+
final QueueSign queueSign = signs.remove(location);
196195

197196
if (queueSign != null && signs.values().stream().noneMatch(s -> s.equals(queueSign))) {
198197
final Queue<QueueEntry> queue = queues.remove(queueSign);
@@ -227,14 +226,14 @@ public Queue<QueueEntry> get(final QueueSign sign) {
227226
return queues.computeIfAbsent(sign, result -> new LinkedList<>());
228227
}
229228

230-
public boolean create(final Sign sign, final Kit kit, final int bet) {
231-
if (get(sign) != null) {
229+
public boolean create(final Location location, final Kit kit, final int bet) {
230+
if (get(location) != null) {
232231
return false;
233232
}
234233

235234
final QueueSign created;
236235
final String kitName = kit != null ? kit.getName() : "none";
237-
signs.put(sign, created = new QueueSign(sign, lang.getMessage("SIGN.format", "kit", kitName, "bet_amount", bet), kit, bet));
236+
signs.put(location, created = new QueueSign(location, lang.getMessage("SIGN.format", "kit", kitName, "bet_amount", bet), kit, bet));
238237

239238
final Queue<QueueEntry> queue = get(created);
240239
signs.values().stream().filter(queueSign -> queueSign.equals(created)).forEach(queueSign -> queueSign.setCount(queue.size()));
@@ -247,14 +246,14 @@ public Collection<QueueSign> getSigns() {
247246

248247
@EventHandler
249248
public void on(final PlayerInteractEvent event) {
250-
final BlockState state;
249+
final Block block;
251250

252-
if (!event.hasBlock() || !((state = event.getClickedBlock().getState()) instanceof Sign)) {
251+
if (!event.hasBlock() || !((block = event.getClickedBlock()).getState() instanceof Sign)) {
253252
return;
254253
}
255254

256255
final Player player = event.getPlayer();
257-
final QueueSign sign = get((Sign) state);
256+
final QueueSign sign = get(block.getLocation());
258257

259258
if (sign == null) {
260259
return;
@@ -313,15 +312,9 @@ public void on(final PlayerInteractEvent event) {
313312

314313
@EventHandler(ignoreCancelled = true)
315314
public void on(final BlockBreakEvent event) {
316-
final BlockState state = event.getBlock().getState();
315+
final Block block = event.getBlock();
317316

318-
if (!(state instanceof Sign)) {
319-
return;
320-
}
321-
322-
final Sign sign = (Sign) state;
323-
324-
if (get(sign) == null) {
317+
if (!(block.getState() instanceof Sign) || get(block.getLocation()) == null) {
325318
return;
326319
}
327320

duels-plugin/src/main/java/me/realized/duels/queue/QueueSign.java

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,23 @@
44
import lombok.Getter;
55
import me.realized.duels.kit.Kit;
66
import me.realized.duels.util.StringUtil;
7+
import org.bukkit.Location;
8+
import org.bukkit.block.Block;
79
import org.bukkit.block.Sign;
810

911
public class QueueSign {
1012

1113
@Getter
12-
private final Sign sign;
14+
private final Location location;
1315
@Getter
1416
private final String[] lines;
1517
@Getter
1618
private final Kit kit;
1719
@Getter
1820
private final int bet;
1921

20-
public QueueSign(final Sign sign, final String format, final Kit kit, final int bet) {
21-
this.sign = sign;
22+
public QueueSign(final Location location, final String format, final Kit kit, final int bet) {
23+
this.location = location;
2224
this.kit = kit;
2325
this.bet = bet;
2426

@@ -30,6 +32,15 @@ public QueueSign(final Sign sign, final String format, final Kit kit, final int
3032
}
3133

3234
this.lines = data;
35+
36+
final Block block = location.getBlock();
37+
38+
if (!(block.getState() instanceof Sign)) {
39+
return;
40+
}
41+
42+
final Sign sign = (Sign) block.getState();
43+
3344
sign.setLine(0, replace(lines[0], 0));
3445
sign.setLine(1, replace(lines[1], 0));
3546
sign.setLine(2, replace(lines[2], 0));
@@ -42,6 +53,13 @@ private String replace(final String line, final int count) {
4253
}
4354

4455
public void setCount(final int count) {
56+
final Block block = location.getBlock();
57+
58+
if (!(block.getState() instanceof Sign)) {
59+
return;
60+
}
61+
62+
final Sign sign = (Sign) block.getState();
4563
sign.setLine(0, replace(lines[0], count));
4664
sign.setLine(1, replace(lines[1], count));
4765
sign.setLine(2, replace(lines[2], count));
@@ -64,6 +82,6 @@ public int hashCode() {
6482

6583
@Override
6684
public String toString() {
67-
return (kit != null ? kit.getName() : "none") + " - $" + bet + " - " + StringUtil.parse(sign.getLocation());
85+
return (kit != null ? kit.getName() : "none") + " - $" + bet + " - " + StringUtil.parse(location);
6886
}
6987
}

duels-plugin/src/main/java/me/realized/duels/util/compat/CompatBase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ class CompatBase {
7171
PLAYER_CONNECTION = ReflectionUtil.getField(NMS_PLAYER, "playerConnection");
7272
SEND_PACKET = ReflectionUtil.getMethod(ReflectionUtil.getNMSClass("PlayerConnection"), "sendPacket", ReflectionUtil.getNMSClass("Packet"));
7373

74-
COLLIDES_WITH_ENTITIES = CompatUtil.isPre_1_10() ? ReflectionUtil.getField(NMS_PLAYER, "collidesWithEntities") : null;
74+
COLLIDES_WITH_ENTITIES = CompatUtil.isPre1_10() ? ReflectionUtil.getField(NMS_PLAYER, "collidesWithEntities") : null;
7575

7676
GET_ONLINE_PLAYERS = ReflectionUtil.getMethod(Bukkit.class, "getOnlinePlayers");
7777

0 commit comments

Comments
 (0)