|
@@ -3,11 +3,14 @@ package com.gmail.nossr50.runnables.items;
|
|
|
import org.bukkit.ChatColor;
|
|
|
import org.bukkit.Location;
|
|
|
import org.bukkit.entity.Player;
|
|
|
+import org.bukkit.inventory.ItemStack;
|
|
|
import org.bukkit.scheduler.BukkitRunnable;
|
|
|
|
|
|
+import com.gmail.nossr50.config.Config;
|
|
|
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
|
|
import com.gmail.nossr50.locale.LocaleLoader;
|
|
|
import com.gmail.nossr50.util.ChimaeraWing;
|
|
|
+import com.gmail.nossr50.util.ItemUtils;
|
|
|
import com.gmail.nossr50.util.Misc;
|
|
|
import com.gmail.nossr50.util.skills.SkillUtils;
|
|
|
|
|
@@ -28,22 +31,25 @@ public class ChimaeraWingWarmup extends BukkitRunnable {
|
|
|
Location previousLocation = mcMMOPlayer.getChimaeraCommenceLocation();
|
|
|
Location newLocation = mcMMOPlayer.getPlayer().getLocation();
|
|
|
long recentlyHurt = mcMMOPlayer.getRecentlyHurt();
|
|
|
+ ItemStack inHand = player.getItemInHand();
|
|
|
|
|
|
- if (newLocation.distanceSquared(previousLocation) > 1.0) {
|
|
|
- player.sendMessage(ChatColor.RED + "Teleportation canceled!"); //TODO Locale!
|
|
|
+ mcMMOPlayer.setChimaeraCommenceLocation(null);
|
|
|
+
|
|
|
+ if (newLocation.distanceSquared(previousLocation) > 1.0 || !player.getInventory().containsAtLeast(ChimaeraWing.getChimaeraWing(0), 1)) {
|
|
|
+ player.sendMessage(ChatColor.DARK_RED + "Teleportation canceled!"); //TODO Locale!
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
- mcMMOPlayer.setChimaeraCommenceLocation(null);
|
|
|
+ if (!ItemUtils.isChimaeraWing(inHand) || inHand.getAmount() < Config.getInstance().getChimaeraUseCost()) {
|
|
|
+ player.sendMessage(ChatColor.DARK_RED + "Not holding enough " + ChatColor.GRAY + "ChimaeraWings"); //TODO Locale!
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (!SkillUtils.cooldownOver(recentlyHurt * Misc.TIME_CONVERSION_FACTOR, 60, player)) {
|
|
|
player.sendMessage(LocaleLoader.getString("Item.Injured.Wait", SkillUtils.calculateTimeLeft(recentlyHurt * Misc.TIME_CONVERSION_FACTOR, 60, player)));
|
|
|
-
|
|
|
- mcMMOPlayer.setChimaeraCommenceLocation(null);
|
|
|
return;
|
|
|
}
|
|
|
- ChimaeraWing.chimaeraExecuteTeleport();
|
|
|
|
|
|
- mcMMOPlayer.setChimaeraCommenceLocation(null);
|
|
|
+ ChimaeraWing.chimaeraExecuteTeleport();
|
|
|
}
|
|
|
}
|