Makes a method to check if a block is a sign
This will hopefully prevent any more mistakes related to checking if something is a sign or not.
This commit is contained in:
parent
cf66113ac1
commit
e7c40fb4b0
@ -2,8 +2,8 @@ package net.knarcraft.paidsigns.listener;
|
|||||||
|
|
||||||
import net.knarcraft.paidsigns.PaidSigns;
|
import net.knarcraft.paidsigns.PaidSigns;
|
||||||
import net.knarcraft.paidsigns.manager.TrackedSignManager;
|
import net.knarcraft.paidsigns.manager.TrackedSignManager;
|
||||||
|
import net.knarcraft.paidsigns.utility.SignHelper;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.Sign;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
@ -92,7 +92,7 @@ public class SignBreakListener implements Listener {
|
|||||||
* @param refund <p>Whether to perform a refund after un-tracking the sign</p>
|
* @param refund <p>Whether to perform a refund after un-tracking the sign</p>
|
||||||
*/
|
*/
|
||||||
private void removeTrackedSign(Block block, boolean refund) {
|
private void removeTrackedSign(Block block, boolean refund) {
|
||||||
if (block.getState() instanceof Sign) {
|
if (SignHelper.isSign(block)) {
|
||||||
try {
|
try {
|
||||||
TrackedSignManager.removeTrackedSign(block.getLocation(), refund, false);
|
TrackedSignManager.removeTrackedSign(block.getLocation(), refund, false);
|
||||||
} catch (IOException ignored) {
|
} catch (IOException ignored) {
|
||||||
|
@ -7,10 +7,10 @@ import net.knarcraft.paidsigns.container.PaidSignConditionMatch;
|
|||||||
import net.knarcraft.paidsigns.formatting.PaidSignsTranslatableMessage;
|
import net.knarcraft.paidsigns.formatting.PaidSignsTranslatableMessage;
|
||||||
import net.knarcraft.paidsigns.manager.EconomyManager;
|
import net.knarcraft.paidsigns.manager.EconomyManager;
|
||||||
import net.knarcraft.paidsigns.manager.TrackedSignManager;
|
import net.knarcraft.paidsigns.manager.TrackedSignManager;
|
||||||
|
import net.knarcraft.paidsigns.utility.SignHelper;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.Sign;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
@ -127,7 +127,7 @@ public class SignListener implements Listener {
|
|||||||
//Immediately refund if a plugin destroyed the sign within 5 ticks of the creation
|
//Immediately refund if a plugin destroyed the sign within 5 ticks of the creation
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(PaidSigns.getInstance(), () -> {
|
Bukkit.getScheduler().scheduleSyncDelayedTask(PaidSigns.getInstance(), () -> {
|
||||||
Block block = signLocation.getBlock();
|
Block block = signLocation.getBlock();
|
||||||
if (!(block.getState() instanceof Sign)) {
|
if (!SignHelper.isSign(block)) {
|
||||||
try {
|
try {
|
||||||
TrackedSignManager.removeTrackedSign(block.getLocation(), true, true);
|
TrackedSignManager.removeTrackedSign(block.getLocation(), true, true);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
@ -3,10 +3,10 @@ package net.knarcraft.paidsigns.manager;
|
|||||||
import net.knarcraft.paidsigns.PaidSigns;
|
import net.knarcraft.paidsigns.PaidSigns;
|
||||||
import net.knarcraft.paidsigns.container.TrackedSign;
|
import net.knarcraft.paidsigns.container.TrackedSign;
|
||||||
import net.knarcraft.paidsigns.formatting.PaidSignsTranslatableMessage;
|
import net.knarcraft.paidsigns.formatting.PaidSignsTranslatableMessage;
|
||||||
|
import net.knarcraft.paidsigns.utility.SignHelper;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.block.Sign;
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -110,7 +110,7 @@ public final class TrackedSignManager {
|
|||||||
TrackedSign trackedSign = new TrackedSign(playerId, cost);
|
TrackedSign trackedSign = new TrackedSign(playerId, cost);
|
||||||
|
|
||||||
//Prevent destroyed signs from being tracked indefinitely
|
//Prevent destroyed signs from being tracked indefinitely
|
||||||
if (!(signLocation.getBlock().getState() instanceof Sign)) {
|
if (!SignHelper.isSign(signLocation.getBlock())) {
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(PaidSigns.getInstance(), () -> {
|
Bukkit.getScheduler().scheduleSyncDelayedTask(PaidSigns.getInstance(), () -> {
|
||||||
PaidSigns.getInstance().getLogger().log(Level.WARNING, "The sign at " + signLocation +
|
PaidSigns.getInstance().getLogger().log(Level.WARNING, "The sign at " + signLocation +
|
||||||
" no longer exists. Removing from sign tracker. Refunding the player.");
|
" no longer exists. Removing from sign tracker. Refunding the player.");
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
package net.knarcraft.paidsigns.utility;
|
||||||
|
|
||||||
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.block.Sign;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A helper class for dealing with signs
|
||||||
|
*/
|
||||||
|
public final class SignHelper {
|
||||||
|
|
||||||
|
private SignHelper() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks whether the given block is a sign
|
||||||
|
*
|
||||||
|
* @param block <p>The block to check</p>
|
||||||
|
* @return <p>True if the block is a sign</p>
|
||||||
|
*/
|
||||||
|
public static boolean isSign(Block block) {
|
||||||
|
return block.getState() instanceof Sign;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user