diff --git a/pom.xml b/pom.xml index 0ab0cf7..7cb6273 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ us.camin.regions Regions jar - 0.2.99-rc1 + 0.2.99-rc2 regions http://maven.apache.org diff --git a/src/main/java/us/camin/regions/PlayerNotifier.java b/src/main/java/us/camin/regions/PlayerNotifier.java index c2d3eb9..20c8cfc 100644 --- a/src/main/java/us/camin/regions/PlayerNotifier.java +++ b/src/main/java/us/camin/regions/PlayerNotifier.java @@ -131,6 +131,9 @@ public class PlayerNotifier implements Listener { event.player.sendMessage("You discovered the region " + event.region.name()); event.player.sendTitle(title); } + + // TODO: Make this configurable and disablable + event.player.giveExp(10); } for(Region region : nearby) { nearbyText.append(" "); diff --git a/src/main/java/us/camin/regions/RegionPostInteractionWatcher.java b/src/main/java/us/camin/regions/RegionPostInteractionWatcher.java index 2557af7..74cf1bd 100644 --- a/src/main/java/us/camin/regions/RegionPostInteractionWatcher.java +++ b/src/main/java/us/camin/regions/RegionPostInteractionWatcher.java @@ -103,7 +103,7 @@ public class RegionPostInteractionWatcher implements Listener { player.sendMessage("You cannot use region posts at this time."); return; } - if (RegionPostItemWatcher.isChargeItem(handStack) && player.hasPermission("regions.charge")) { + if (player.isSneaking() && RegionPostItemWatcher.isChargeItem(handStack) && player.hasPermission("regions.charge")) { nearest.addCharges(1); m_plugin.getServer().getScheduler().runTask(m_plugin, () -> { RegionPostBuilder builder = new RegionPostBuilder(nearest, m_plugin); @@ -112,7 +112,9 @@ public class RegionPostInteractionWatcher implements Listener { m_plugin.saveRegions(); player.setItemInHand(handStack.subtract()); m_plugin.getServer().getPluginManager().callEvent(new PlayerAddRegionChargeEvent(player, nearest)); - } else if (isBannerItem(handStack) && player.hasPermission("regions.setbanner")) { + // TODO: Make this configurable and disablable + player.giveExp(1); + } else if (player.isSneaking() && isBannerItem(handStack) && player.hasPermission("regions.setbanner")) { DyeColor bannerColor = DyeColor.getByDyeData(handStack.getData().getData()); BannerMeta bannerMeta = (BannerMeta)meta; log.info("Setting banner color to " + bannerColor); @@ -127,7 +129,7 @@ public class RegionPostInteractionWatcher implements Listener { } else if (nearest.charges() > 0 || player.hasPermission("regions.bypass.charges")) { m_plugin.getServer().getPluginManager().callEvent(new PlayerPostInteractEvent(player, nearest)); } else { - player.sendMessage("This region post is not charged. Right click on it while holding cobblestone."); + player.sendMessage("This region post is not charged. Right click on it while sneaking and holding a Region Post Charge."); } } } diff --git a/src/main/java/us/camin/regions/RegionPostItemWatcher.java b/src/main/java/us/camin/regions/RegionPostItemWatcher.java index 479623a..19e4f87 100644 --- a/src/main/java/us/camin/regions/RegionPostItemWatcher.java +++ b/src/main/java/us/camin/regions/RegionPostItemWatcher.java @@ -107,9 +107,9 @@ public class RegionPostItemWatcher implements Listener { return true; } - if (stack.getType() == m_theAnchor.getType()) { + if (stack.getType() == m_theCompass.getType()) { ItemMeta meta = stack.getItemMeta(); - ItemMeta theItemMeta = m_theAnchor.getItemMeta(); + ItemMeta theItemMeta = m_theCompass.getItemMeta(); if (meta.getItemFlags() == theItemMeta.getItemFlags()) { return true; } @@ -126,7 +126,7 @@ public class RegionPostItemWatcher implements Listener { if (stack.getType() == m_theAnchor.getType()) { ItemMeta meta = stack.getItemMeta(); ItemMeta theItemMeta = m_theAnchor.getItemMeta(); - if (meta.getLore().equals(theItemMeta.getLore())) { + if (meta.getLore() != null && meta.getLore().equals(theItemMeta.getLore())) { return true; } } @@ -145,13 +145,12 @@ public class RegionPostItemWatcher implements Listener { if (isRegionCompass(handStack) && event.getAction() == Action.RIGHT_CLICK_AIR) { event.setCancelled(true); - ItemStack compassItem = new ItemStack(Material.COMPASS); Region nearest = m_manager.nearestRegion(player.getLocation()); if (nearest == null) { player.sendMessage("There are no regions in this world!"); return; } - compassItem = createCompass(nearest); + ItemStack compassItem = createCompass(nearest); player.setItemInHand(compassItem); player.sendMessage("Now tracking " + nearest.name()); } else if (!event.isCancelled() && isRegionCreateItem(handStack, player) && event.getAction() == Action.RIGHT_CLICK_BLOCK && !event.getClickedBlock().getType().isInteractable() && player.hasPermission("regions.create")) {