From 3315a510dc351225f1da627e7a6f4b5bf2e75d41 Mon Sep 17 00:00:00 2001 From: Teddy Date: Fri, 15 Jan 2016 13:01:26 +0000 Subject: [PATCH] Barbarians stats added + Block break stat tracker added --- .../game/games/baconbrawl/BaconBrawl.java | 2 +- .../game/games/barbarians/Barbarians.java | 18 +++++- .../game/arcade/stats/BlockBreakStat.java | 63 +++++++++++++++++++ 3 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStat.java diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java index be3b91eca..adc29452f 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/baconbrawl/BaconBrawl.java @@ -46,7 +46,7 @@ public class BaconBrawl extends SoloGame BlankLine, Assists, DamageDealt, - DamageTakenPVP + DamageTaken ); } diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/barbarians/Barbarians.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/barbarians/Barbarians.java index e6bdc4b2b..f35b44dba 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/barbarians/Barbarians.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/barbarians/Barbarians.java @@ -15,6 +15,8 @@ import nautilus.game.arcade.GameType; import nautilus.game.arcade.game.SoloGame; import nautilus.game.arcade.game.games.barbarians.kits.*; import nautilus.game.arcade.kit.Kit; +import nautilus.game.arcade.managers.chat.ChatStatData; +import nautilus.game.arcade.stats.BlockBreakStat; public class Barbarians extends SoloGame { @@ -59,7 +61,21 @@ public class Barbarians extends SoloGame this.BlockBreakAllow.add(135); this.BlockBreakAllow.add(136); - registerChatStats(Kills); + registerStatTrackers( + new BlockBreakStat(this, true) + ); + + registerChatStats( + Kills, + Deaths, + KDRatio, + BlankLine, + Assists, + DamageDealt, + DamageTaken, + BlankLine, + new ChatStatData("BlockBreak", "Blocks Broken", true) + ); } @EventHandler diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStat.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStat.java new file mode 100644 index 000000000..e1b36d8d2 --- /dev/null +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/stats/BlockBreakStat.java @@ -0,0 +1,63 @@ +package nautilus.game.arcade.stats; + +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.event.block.BlockDamageEvent; + +import nautilus.game.arcade.game.Game; + +/** + * Created by TeddehDev on 15/01/2016. + */ +public class BlockBreakStat extends StatTracker +{ + private Game _game; + private boolean _blockDamage; + + /** + * @param game + * @param blockDamage + * - true = triggers block damage event + * - false = triggers block break event + */ + public BlockBreakStat(Game game, boolean blockDamage) + { + super(game); + + _game = game; + _blockDamage = blockDamage; + } + + @EventHandler + public void blockBreak(BlockBreakEvent event) + { + if(!_game.IsLive()) + return; + + if(_blockDamage) + return; + + Player player = event.getPlayer(); + if(player == null) + return; + + addStat(player, "BlocksBroken", 1, false, false); + } + + @EventHandler + public void blockBreak(BlockDamageEvent event) + { + if(!_game.IsLive()) + return; + + if(!_blockDamage) + return; + + Player player = event.getPlayer(); + if(player == null) + return; + + addStat(player, "BlocksBroken", 1, false, false); + } +}