diff --git a/src/com/projectkorra/ProjectKorra/Commands.java b/src/com/projectkorra/ProjectKorra/Commands.java index ec8c1ce6..113f5fbc 100644 --- a/src/com/projectkorra/ProjectKorra/Commands.java +++ b/src/com/projectkorra/ProjectKorra/Commands.java @@ -1,17 +1,10 @@ package com.projectkorra.ProjectKorra; -import java.io.File; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; -import java.util.UUID; - +import com.projectkorra.ProjectKorra.Ability.AbilityModuleManager; +import com.projectkorra.ProjectKorra.Ability.StockAbilities; +import com.projectkorra.ProjectKorra.Objects.Preset; +import com.projectkorra.ProjectKorra.Utilities.GrapplingHookAPI; +import com.projectkorra.rpg.RPGMethods; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; @@ -24,11 +17,10 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.scheduler.BukkitTask; -import com.projectkorra.ProjectKorra.Ability.AbilityModuleManager; -import com.projectkorra.ProjectKorra.Ability.StockAbilities; -import com.projectkorra.ProjectKorra.Objects.Preset; -import com.projectkorra.ProjectKorra.Utilities.GrapplingHookAPI; -import com.projectkorra.rpg.RPGMethods; +import java.io.File; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.*; public class Commands { @@ -852,6 +844,8 @@ public class Commands { } if (Methods.canBloodbend(p)) { s.sendMessage(Methods.getSubBendingColor(Element.Water) + " Can Bloodbend"); + if(Methods.canBloodbendAtAnytime(p)) + s.sendMessage(Methods.getSubBendingColor(Element.Water) + " Anytime, on any day"); } if (Methods.canIcebend(p)) { s.sendMessage(Methods.getSubBendingColor(Element.Water) + " Can Icebend"); diff --git a/src/com/projectkorra/ProjectKorra/Methods.java b/src/com/projectkorra/ProjectKorra/Methods.java index 2cbdf233..123ca6e3 100644 --- a/src/com/projectkorra/ProjectKorra/Methods.java +++ b/src/com/projectkorra/ProjectKorra/Methods.java @@ -1,65 +1,5 @@ package com.projectkorra.ProjectKorra; -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Random; -import java.util.Set; -import java.util.UUID; -import java.util.concurrent.ConcurrentHashMap; - -import me.ryanhamshire.GriefPrevention.GriefPrevention; -import net.sacredlabyrinth.Phaed.PreciousStones.FieldFlag; -import net.sacredlabyrinth.Phaed.PreciousStones.PreciousStones; - -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.Effect; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.Sound; -import org.bukkit.World; -import org.bukkit.World.Environment; -import org.bukkit.block.Block; -import org.bukkit.block.BlockFace; -import org.bukkit.block.BlockState; -import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.entity.Entity; -import org.bukkit.entity.FallingBlock; -import org.bukkit.entity.FallingSand; -import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; -import org.bukkit.entity.TNTPrimed; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.event.entity.EntityDamageEvent.DamageCause; -import org.bukkit.inventory.ItemStack; -import org.bukkit.plugin.Plugin; -import org.bukkit.plugin.PluginManager; -import org.bukkit.potion.PotionEffectType; -import org.bukkit.scheduler.BukkitRunnable; -import org.bukkit.util.Vector; - import com.griefcraft.lwc.LWC; import com.griefcraft.lwc.LWCPlugin; import com.griefcraft.model.Protection; @@ -68,13 +8,8 @@ import com.massivecraft.massivecore.ps.PS; import com.palmergames.bukkit.towny.Towny; import com.palmergames.bukkit.towny.TownyMessaging; import com.palmergames.bukkit.towny.TownySettings; -import com.palmergames.bukkit.towny.object.Coord; -import com.palmergames.bukkit.towny.object.PlayerCache; +import com.palmergames.bukkit.towny.object.*; import com.palmergames.bukkit.towny.object.PlayerCache.TownBlockStatus; -import com.palmergames.bukkit.towny.object.TownyPermission; -import com.palmergames.bukkit.towny.object.TownyUniverse; -import com.palmergames.bukkit.towny.object.TownyWorld; -import com.palmergames.bukkit.towny.object.WorldCoord; import com.palmergames.bukkit.towny.utils.PlayerCacheUtil; import com.palmergames.bukkit.towny.war.flagwar.TownyWar; import com.palmergames.bukkit.towny.war.flagwar.TownyWarConfig; @@ -83,65 +18,47 @@ import com.projectkorra.ProjectKorra.Ability.AbilityModuleManager; import com.projectkorra.ProjectKorra.Ability.AvatarState; import com.projectkorra.ProjectKorra.Ability.StockAbilities; import com.projectkorra.ProjectKorra.Utilities.ParticleEffect; -import com.projectkorra.ProjectKorra.airbending.AirBlast; -import com.projectkorra.ProjectKorra.airbending.AirBubble; -import com.projectkorra.ProjectKorra.airbending.AirBurst; -import com.projectkorra.ProjectKorra.airbending.AirCombo; -import com.projectkorra.ProjectKorra.airbending.AirScooter; -import com.projectkorra.ProjectKorra.airbending.AirShield; -import com.projectkorra.ProjectKorra.airbending.AirSpout; -import com.projectkorra.ProjectKorra.airbending.AirSuction; -import com.projectkorra.ProjectKorra.airbending.AirSwipe; -import com.projectkorra.ProjectKorra.airbending.Suffocate; -import com.projectkorra.ProjectKorra.airbending.Tornado; +import com.projectkorra.ProjectKorra.airbending.*; import com.projectkorra.ProjectKorra.chiblocking.AcrobatStance; import com.projectkorra.ProjectKorra.chiblocking.Paralyze; import com.projectkorra.ProjectKorra.chiblocking.RapidPunch; import com.projectkorra.ProjectKorra.chiblocking.WarriorStance; -import com.projectkorra.ProjectKorra.earthbending.Catapult; -import com.projectkorra.ProjectKorra.earthbending.CompactColumn; -import com.projectkorra.ProjectKorra.earthbending.EarthArmor; -import com.projectkorra.ProjectKorra.earthbending.EarthBlast; -import com.projectkorra.ProjectKorra.earthbending.EarthColumn; -import com.projectkorra.ProjectKorra.earthbending.EarthPassive; -import com.projectkorra.ProjectKorra.earthbending.EarthSmash; -import com.projectkorra.ProjectKorra.earthbending.EarthTunnel; -import com.projectkorra.ProjectKorra.earthbending.LavaFlow; -import com.projectkorra.ProjectKorra.earthbending.MetalClips; -import com.projectkorra.ProjectKorra.earthbending.Shockwave; -import com.projectkorra.ProjectKorra.earthbending.Tremorsense; -import com.projectkorra.ProjectKorra.firebending.Combustion; -import com.projectkorra.ProjectKorra.firebending.Cook; -import com.projectkorra.ProjectKorra.firebending.FireBlast; -import com.projectkorra.ProjectKorra.firebending.FireBurst; -import com.projectkorra.ProjectKorra.firebending.FireCombo; -import com.projectkorra.ProjectKorra.firebending.FireJet; -import com.projectkorra.ProjectKorra.firebending.FireShield; -import com.projectkorra.ProjectKorra.firebending.FireStream; +import com.projectkorra.ProjectKorra.earthbending.*; +import com.projectkorra.ProjectKorra.firebending.*; import com.projectkorra.ProjectKorra.firebending.Fireball; -import com.projectkorra.ProjectKorra.firebending.Illumination; -import com.projectkorra.ProjectKorra.firebending.Lightning; -import com.projectkorra.ProjectKorra.firebending.WallOfFire; -import com.projectkorra.ProjectKorra.waterbending.Bloodbending; -import com.projectkorra.ProjectKorra.waterbending.FreezeMelt; -import com.projectkorra.ProjectKorra.waterbending.IceSpike; -import com.projectkorra.ProjectKorra.waterbending.IceSpike2; -import com.projectkorra.ProjectKorra.waterbending.OctopusForm; -import com.projectkorra.ProjectKorra.waterbending.Plantbending; -import com.projectkorra.ProjectKorra.waterbending.WaterCombo; -import com.projectkorra.ProjectKorra.waterbending.WaterManipulation; -import com.projectkorra.ProjectKorra.waterbending.WaterReturn; -import com.projectkorra.ProjectKorra.waterbending.WaterSpout; -import com.projectkorra.ProjectKorra.waterbending.WaterWall; -import com.projectkorra.ProjectKorra.waterbending.WaterWave; -import com.projectkorra.ProjectKorra.waterbending.Wave; +import com.projectkorra.ProjectKorra.waterbending.*; import com.projectkorra.rpg.RPGMethods; import com.projectkorra.rpg.WorldEvents; import com.sk89q.worldguard.bukkit.WorldGuardPlugin; import com.sk89q.worldguard.protection.flags.DefaultFlag; - import fr.neatmonster.nocheatplus.checks.CheckType; import fr.neatmonster.nocheatplus.hooks.NCPExemptionManager; +import me.ryanhamshire.GriefPrevention.GriefPrevention; +import net.sacredlabyrinth.Phaed.PreciousStones.FieldFlag; +import net.sacredlabyrinth.Phaed.PreciousStones.PreciousStones; +import org.bukkit.*; +import org.bukkit.World.Environment; +import org.bukkit.block.Block; +import org.bukkit.block.BlockFace; +import org.bukkit.block.BlockState; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.entity.*; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent.DamageCause; +import org.bukkit.inventory.ItemStack; +import org.bukkit.plugin.Plugin; +import org.bukkit.plugin.PluginManager; +import org.bukkit.potion.PotionEffectType; +import org.bukkit.scheduler.BukkitRunnable; +import org.bukkit.util.Vector; + +import java.io.*; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; public class Methods { @@ -360,6 +277,12 @@ public class Methods { if (player.hasPermission("bending.water.bloodbending")) return true; return false; } + + public static boolean canBloodbendAtAnytime(Player player) + { + if(canBloodbend(player) && player.hasPermission("bending.water.bloodbending.anytime")) return true; + return false; + } public static boolean canIcebend(Player player) { diff --git a/src/com/projectkorra/ProjectKorra/waterbending/Bloodbending.java b/src/com/projectkorra/ProjectKorra/waterbending/Bloodbending.java index 07c156c7..62367b8d 100644 --- a/src/com/projectkorra/ProjectKorra/waterbending/Bloodbending.java +++ b/src/com/projectkorra/ProjectKorra/waterbending/Bloodbending.java @@ -44,11 +44,11 @@ public class Bloodbending { } - if (onlyUsableAtNight && !Methods.isNight(player.getWorld())) { + if (onlyUsableAtNight && !Methods.isNight(player.getWorld()) && !Methods.canBloodbendAtAnytime(player)) { return; } - if (onlyUsableDuringMoon && !Methods.isFullMoon(player.getWorld())) { + if (onlyUsableDuringMoon && !Methods.isFullMoon(player.getWorld()) && !Methods.canBloodbendAtAnytime(player)) { return; } diff --git a/src/com/projectkorra/ProjectKorra/waterbending/Torrent.java b/src/com/projectkorra/ProjectKorra/waterbending/Torrent.java index 0c79f40b..1d84841c 100644 --- a/src/com/projectkorra/ProjectKorra/waterbending/Torrent.java +++ b/src/com/projectkorra/ProjectKorra/waterbending/Torrent.java @@ -1,9 +1,9 @@ package com.projectkorra.ProjectKorra.waterbending; -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.ConcurrentHashMap; - +import com.projectkorra.ProjectKorra.Ability.AvatarState; +import com.projectkorra.ProjectKorra.Methods; +import com.projectkorra.ProjectKorra.ProjectKorra; +import com.projectkorra.ProjectKorra.TempBlock; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.World; @@ -14,10 +14,9 @@ import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.util.Vector; -import com.projectkorra.ProjectKorra.Methods; -import com.projectkorra.ProjectKorra.ProjectKorra; -import com.projectkorra.ProjectKorra.TempBlock; -import com.projectkorra.ProjectKorra.Ability.AvatarState; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; public class Torrent {