Add Speediest Builderizer achievement
This commit is contained in:
parent
d0e5be9c93
commit
ddc86f0897
|
@ -878,6 +878,12 @@ public enum Achievement
|
|||
new String[]{"Speed Builders.PerfectWins"},
|
||||
new String[]{"Win a game of Speed Builder with a perfect build every round"},
|
||||
new int[]{1},
|
||||
AchievementCategory.SPEED_BUILDERS),
|
||||
|
||||
SPEED_BUILDERS_SPEEDIEST("Speediest Builderizer", 2000,
|
||||
new String[]{"Speed Builders.SpeediestBuilderizer"},
|
||||
new String[]{"Perfect a build in less than 10 seconds"},
|
||||
new int[]{1},
|
||||
AchievementCategory.SPEED_BUILDERS);
|
||||
|
||||
private String _name;
|
||||
|
|
|
@ -31,9 +31,9 @@ import nautilus.game.arcade.events.GameStateChangeEvent;
|
|||
import nautilus.game.arcade.game.GameTeam;
|
||||
import nautilus.game.arcade.game.GameTeam.PlayerState;
|
||||
import nautilus.game.arcade.game.SoloGame;
|
||||
import nautilus.game.arcade.game.games.speedbuilder.stattrackers.DependableTracker;
|
||||
import nautilus.game.arcade.game.games.speedbuilder.stattrackers.FirstBuildTracker;
|
||||
import nautilus.game.arcade.game.games.speedbuilder.stattrackers.PerfectionistTracker;
|
||||
import nautilus.game.arcade.game.games.speedbuilders.stattrackers.DependableTracker;
|
||||
import nautilus.game.arcade.game.games.speedbuilders.stattrackers.FirstBuildTracker;
|
||||
import nautilus.game.arcade.game.games.speedbuilders.stattrackers.PerfectionistTracker;
|
||||
import nautilus.game.arcade.game.games.speedbuilders.data.BuildData;
|
||||
import nautilus.game.arcade.game.games.speedbuilders.data.DemolitionData;
|
||||
import nautilus.game.arcade.game.games.speedbuilders.data.MobData;
|
||||
|
@ -611,7 +611,8 @@ public class SpeedBuilders extends SoloGame
|
|||
|
||||
if (_buildRecreations.get(player).calculateScoreFromBuild(_currentBuild) == _currentBuild.getPerfectScore())
|
||||
{
|
||||
PerfectBuildEvent perfectBuildEvent = new PerfectBuildEvent(player, SpeedBuilders.this);
|
||||
long timeElapsed = System.currentTimeMillis() - _stateTime;
|
||||
PerfectBuildEvent perfectBuildEvent = new PerfectBuildEvent(player, timeElapsed, SpeedBuilders.this);
|
||||
|
||||
Bukkit.getServer().getPluginManager().callEvent(perfectBuildEvent);
|
||||
|
||||
|
|
|
@ -8,15 +8,16 @@ import org.bukkit.event.HandlerList;
|
|||
|
||||
public class PerfectBuildEvent extends Event
|
||||
{
|
||||
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
|
||||
private Player _player;
|
||||
private SpeedBuilders _game;
|
||||
private long _timeElapsed; // Build time elapsed in ms
|
||||
|
||||
public PerfectBuildEvent(Player player, SpeedBuilders game)
|
||||
public PerfectBuildEvent(Player player, long timeElapsed, SpeedBuilders game)
|
||||
{
|
||||
_player = player;
|
||||
_timeElapsed = timeElapsed;
|
||||
_game = game;
|
||||
}
|
||||
|
||||
|
@ -25,6 +26,11 @@ public class PerfectBuildEvent extends Event
|
|||
return _player;
|
||||
}
|
||||
|
||||
public long getTimeElapsed()
|
||||
{
|
||||
return _timeElapsed;
|
||||
}
|
||||
|
||||
public SpeedBuilders getGame()
|
||||
{
|
||||
return _game;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package nautilus.game.arcade.game.games.speedbuilder.stattrackers;
|
||||
package nautilus.game.arcade.game.games.speedbuilders.stattrackers;
|
||||
|
||||
import nautilus.game.arcade.game.games.speedbuilders.SpeedBuilders;
|
||||
import nautilus.game.arcade.game.games.speedbuilders.events.PerfectBuildEvent;
|
|
@ -1,4 +1,4 @@
|
|||
package nautilus.game.arcade.game.games.speedbuilder.stattrackers;
|
||||
package nautilus.game.arcade.game.games.speedbuilders.stattrackers;
|
||||
|
||||
import org.bukkit.event.EventHandler;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package nautilus.game.arcade.game.games.speedbuilder.stattrackers;
|
||||
package nautilus.game.arcade.game.games.speedbuilders.stattrackers;
|
||||
|
||||
import java.util.Map.Entry;
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package nautilus.game.arcade.game.games.speedbuilders.stattrackers;
|
||||
|
||||
import org.bukkit.event.EventHandler;
|
||||
|
||||
import nautilus.game.arcade.game.games.speedbuilders.SpeedBuilders;
|
||||
import nautilus.game.arcade.game.games.speedbuilders.events.PerfectBuildEvent;
|
||||
import nautilus.game.arcade.stats.StatTracker;
|
||||
|
||||
public class SpeediestBuilderizerTracker extends StatTracker<SpeedBuilders>
|
||||
{
|
||||
public SpeediestBuilderizerTracker(SpeedBuilders game)
|
||||
{
|
||||
super(game);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPerfectBuild(PerfectBuildEvent event)
|
||||
{
|
||||
if (event.getTimeElapsed() < 10000) // 10 Seconds
|
||||
addStat(event.getPlayer(), "SpeediestBuilderizer", 1, true, false);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue