mirror of
https://github.com/simon987/Much-Assembly-Required.git
synced 2025-04-10 14:26:45 +00:00
Added achievements event and listener in CubotPlugin
This commit is contained in:
parent
2597b558e6
commit
edbe613b65
@ -0,0 +1,23 @@
|
||||
package net.simon987.cubotplugin.event;
|
||||
|
||||
import net.simon987.server.event.GameEvent;
|
||||
import net.simon987.server.game.objects.GameObject;
|
||||
|
||||
public class AchievementEvent extends GameEvent {
|
||||
|
||||
private final String achievement;
|
||||
|
||||
public AchievementEvent(GameObject source, String achievement) {
|
||||
this.achievement = achievement;
|
||||
setSource(source);
|
||||
}
|
||||
|
||||
public String getAchievement() {
|
||||
return achievement;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GameObject getSource() {
|
||||
return (GameObject) super.getSource();
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package net.simon987.cubotplugin.event;
|
||||
|
||||
import net.simon987.server.event.GameEvent;
|
||||
import net.simon987.server.event.GameEventListener;
|
||||
import net.simon987.server.game.objects.ControllableUnit;
|
||||
import net.simon987.server.game.objects.GameObject;
|
||||
import net.simon987.server.logging.LogManager;
|
||||
|
||||
public class AchievementListener implements GameEventListener {
|
||||
@Override
|
||||
public Class getListenedEventType() {
|
||||
return AchievementEvent.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handle(GameEvent event) {
|
||||
AchievementEvent achievementEvent = (AchievementEvent) event;
|
||||
GameObject object = achievementEvent.getSource();
|
||||
if (object instanceof ControllableUnit) {
|
||||
final String achievement = achievementEvent.getAchievement();
|
||||
final ControllableUnit unit = (ControllableUnit) object;
|
||||
LogManager.LOGGER.info(unit.getParent().getUsername() + " Completed achievement: " + achievement);
|
||||
|
||||
((ControllableUnit) object).getParent().getStats().addToStringSet("achievements", achievement);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user