From 0e641f7c5b9c7840ed41bbb55cb3911d670a08ec Mon Sep 17 00:00:00 2001 From: GJ Date: Mon, 3 Mar 2014 08:48:16 -0500 Subject: [PATCH] Clean up some of our metadata handling. --- .../com/gmail/nossr50/listeners/EntityListener.java | 9 +++------ .../com/gmail/nossr50/listeners/PlayerListener.java | 2 +- .../com/gmail/nossr50/skills/archery/Archery.java | 12 ------------ .../gmail/nossr50/skills/archery/ArcheryManager.java | 2 +- 4 files changed, 5 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/listeners/EntityListener.java b/src/main/java/com/gmail/nossr50/listeners/EntityListener.java index 485b07f8d..be3abf704 100644 --- a/src/main/java/com/gmail/nossr50/listeners/EntityListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/EntityListener.java @@ -31,7 +31,6 @@ import org.bukkit.event.entity.ExplosionPrimeEvent; import org.bukkit.event.entity.FoodLevelChangeEvent; import org.bukkit.event.entity.PotionSplashEvent; import org.bukkit.event.entity.ProjectileLaunchEvent; -import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.PotionMeta; import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.potion.PotionEffect; @@ -73,14 +72,12 @@ public class EntityListener implements Listener { return; } - ItemStack bow = event.getBow(); - - if (bow != null && bow.containsEnchantment(Enchantment.ARROW_INFINITE)) { + if (event.getBow().containsEnchantment(Enchantment.ARROW_INFINITE)) { projectile.setMetadata(mcMMO.infiniteArrowKey, mcMMO.metadataValue); } projectile.setMetadata(mcMMO.bowForceKey, new FixedMetadataValue(plugin, Math.min(event.getForce() * AdvancedConfig.getInstance().getForceMultiplier(), 1.0))); - projectile.setMetadata(mcMMO.arrowDistanceKey, new FixedMetadataValue(plugin, Archery.locationToString(projectile.getLocation()))); + projectile.setMetadata(mcMMO.arrowDistanceKey, new FixedMetadataValue(plugin, projectile.getLocation())); } @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) @@ -92,7 +89,7 @@ public class EntityListener implements Listener { } projectile.setMetadata(mcMMO.bowForceKey, new FixedMetadataValue(plugin, 1.0)); - projectile.setMetadata(mcMMO.arrowDistanceKey, new FixedMetadataValue(plugin, Archery.locationToString(projectile.getLocation()))); + projectile.setMetadata(mcMMO.arrowDistanceKey, new FixedMetadataValue(plugin, projectile.getLocation())); } /** diff --git a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java index d866f8e70..4f784340b 100644 --- a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java @@ -304,7 +304,7 @@ public class PlayerListener implements Listener { ItemStack dropStack = drop.getItemStack(); if (drop.hasMetadata(mcMMO.disarmedItemKey)) { - if (!player.getName().equals(drop.getMetadata(mcMMO.disarmedItemKey).get(0).value())) { + if (!player.getName().equals(drop.getMetadata(mcMMO.disarmedItemKey).get(0).asString())) { event.setCancelled(true); } diff --git a/src/main/java/com/gmail/nossr50/skills/archery/Archery.java b/src/main/java/com/gmail/nossr50/skills/archery/Archery.java index 74dd8abf1..49f44c6df 100644 --- a/src/main/java/com/gmail/nossr50/skills/archery/Archery.java +++ b/src/main/java/com/gmail/nossr50/skills/archery/Archery.java @@ -4,12 +4,10 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.entity.LivingEntity; import org.bukkit.inventory.ItemStack; -import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.config.AdvancedConfig; import com.gmail.nossr50.util.Misc; @@ -63,14 +61,4 @@ public class Archery { } } } - - public static Location stringToLocation(String location) { - String[] values = location.split(","); - - return new Location(mcMMO.p.getServer().getWorld(values[0]), Double.parseDouble(values[1]), Double.parseDouble(values[2]), Double.parseDouble(values[3]), Float.parseFloat(values[4]), Float.parseFloat(values[5])); - } - - public static String locationToString(Location location) { - return location.getWorld().getName() + "," + location.getX() + "," + location.getY() + "," + location.getZ() + "," + location.getYaw() + "," + location.getPitch(); - } } diff --git a/src/main/java/com/gmail/nossr50/skills/archery/ArcheryManager.java b/src/main/java/com/gmail/nossr50/skills/archery/ArcheryManager.java index 27b3c3b97..8720e8997 100644 --- a/src/main/java/com/gmail/nossr50/skills/archery/ArcheryManager.java +++ b/src/main/java/com/gmail/nossr50/skills/archery/ArcheryManager.java @@ -45,7 +45,7 @@ public class ArcheryManager extends SkillManager { * @param damager The {@link Entity} who shot the arrow */ public void distanceXpBonus(LivingEntity target, Entity damager) { - Location firedLocation = Archery.stringToLocation(damager.getMetadata(mcMMO.arrowDistanceKey).get(0).asString()); + Location firedLocation = (Location) damager.getMetadata(mcMMO.arrowDistanceKey).get(0).value(); Location targetLocation = target.getLocation(); if (firedLocation.getWorld() != targetLocation.getWorld()) {