diff --git a/TwosideKeeper.jar b/TwosideKeeper.jar index ebbaf6c..4683fc7 100644 Binary files a/TwosideKeeper.jar and b/TwosideKeeper.jar differ diff --git a/src/plugin.yml b/src/plugin.yml index 85ec5a0..541f05a 100644 --- a/src/plugin.yml +++ b/src/plugin.yml @@ -57,6 +57,11 @@ commands: usage: /ess permission: TwosideKeeper.report permission-message: No permissions! + bow: + description: Generates a Bow report. + usage: /bow + permission: TwosideKeeper.report + permission-message: No permissions! mega: description: Generates a Mega Piece. usage: /mega diff --git a/src/sig/plugin/TwosideKeeper/Logging/BowModeLogger.java b/src/sig/plugin/TwosideKeeper/Logging/BowModeLogger.java new file mode 100644 index 0000000..722ccf5 --- /dev/null +++ b/src/sig/plugin/TwosideKeeper/Logging/BowModeLogger.java @@ -0,0 +1,34 @@ +package sig.plugin.TwosideKeeper.Logging; + +import java.text.DecimalFormat; + +import org.bukkit.ChatColor; + +public class BowModeLogger { + int mode_snipe = 0; + int mode_close = 0; + int mode_debilitation = 0; + public BowModeLogger() { + + } + public void AddSnipeMode() { + mode_snipe++; + } + public void AddCloseMode() { + mode_close++; + } + public void AddDebilitationMode() { + mode_debilitation++; + } + public String GenerateReport() { + DecimalFormat df = new DecimalFormat("0.0"); + int sum = mode_snipe+mode_close+mode_debilitation ; + if (sum>0) { + return "Total Kills in Sniper Mode: "+ChatColor.YELLOW+(mode_snipe)+ChatColor.GREEN+" ("+df.format(((double)mode_snipe/(sum))*100)+"%)\n"+ChatColor.WHITE + + "Total Kills in Close Range Mode: "+ChatColor.YELLOW+(mode_close)+ChatColor.GREEN+" ("+df.format(((double)mode_close/(sum))*100)+"%)\n"+ChatColor.WHITE + + "Total Kills in Debilitation Mode: "+ChatColor.YELLOW+(mode_debilitation)+ChatColor.GREEN+" ("+df.format(((double)mode_debilitation/(sum))*100)+"%)"; + } else { + return "Not enough data yet!"; + } + } +} diff --git a/src/sig/plugin/TwosideKeeper/TwosideKeeper.java b/src/sig/plugin/TwosideKeeper/TwosideKeeper.java index e4ebfad..cc77262 100644 --- a/src/sig/plugin/TwosideKeeper/TwosideKeeper.java +++ b/src/sig/plugin/TwosideKeeper/TwosideKeeper.java @@ -180,6 +180,7 @@ import sig.plugin.TwosideKeeper.HelperStructures.UpgradePath; import sig.plugin.TwosideKeeper.HelperStructures.WorldShop; import sig.plugin.TwosideKeeper.HelperStructures.WorldShopSession; import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions; +import sig.plugin.TwosideKeeper.Logging.BowModeLogger; import sig.plugin.TwosideKeeper.Logging.MysteriousEssenceLogger; import net.minecraft.server.v1_9_R1.MinecraftServer; @@ -224,6 +225,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener { public static SpleefManager TwosideSpleefGames; public static WorldShopManager TwosideShops; public static MysteriousEssenceLogger EssenceLogger; //The logger for Essences. + public static BowModeLogger BowLogger; //The logger for Bow Modes. public static AutoUpdatePlugin pluginupdater; public static Lag tpstracker; public static boolean restarting_server=false; @@ -286,6 +288,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener { LASTSERVERCHECK=getServerTickTime(); EssenceLogger = new MysteriousEssenceLogger(); + BowLogger = new BowModeLogger(); chargezombies = new ArrayList(); @@ -792,6 +795,10 @@ public class TwosideKeeper extends JavaPlugin implements Listener { sender.sendMessage(EssenceLogger.GenerateReport()); return true; } else + if (cmd.getName().equalsIgnoreCase("bow")) { + sender.sendMessage(BowLogger.GenerateReport()); + return true; + } else if (sender instanceof Player) { DecimalFormat df = new DecimalFormat("0.00"); if (cmd.getName().equalsIgnoreCase("fix")) { @@ -1817,6 +1824,8 @@ public class TwosideKeeper extends JavaPlugin implements Listener { dodgeduration=60; } + p.setVelocity(p.getLocation().getDirection().multiply(1.4f)); + p.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION,dodgeduration,0)); p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED,dodgeduration,2)); p.addPotionEffect(new PotionEffect(PotionEffectType.GLOWING,dodgeduration,0)); @@ -4410,6 +4419,20 @@ public class TwosideKeeper extends JavaPlugin implements Listener { boolean isRanger=GenericFunctions.isRanger(p); + if (isRanger) { + switch (GenericFunctions.getBowMode(p.getEquipment().getItemInMainHand())) { + case CLOSE:{ + BowLogger.AddCloseMode(); + }break; + case SNIPE:{ + BowLogger.AddSnipeMode(); + }break; + case DEBILITATION:{ + BowLogger.AddDebilitationMode(); + }break; + } + } + if (p.hasPotionEffect(PotionEffectType.LUCK) || p.hasPotionEffect(PotionEffectType.UNLUCK)) { for (int i=0;i