4040import me .realized .duels .util .inventory .InventoryUtil ;
4141import org .bukkit .GameMode ;
4242import org .bukkit .Location ;
43- import org .bukkit .block .BlockState ;
43+ import org .bukkit .block .Block ;
4444import org .bukkit .block .Sign ;
4545import org .bukkit .entity .Player ;
4646import 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
0 commit comments