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")) {