mirror of
https://github.com/simon987/Much-Assembly-Required.git
synced 2025-04-19 10:36:43 +00:00
Walk and death working
This commit is contained in:
parent
e082d9c96e
commit
47b37fbee3
@ -19,7 +19,7 @@ public class CubotPlugin extends ServerPlugin {
|
|||||||
listeners.add(new PutItemCommandListener());
|
listeners.add(new PutItemCommandListener());
|
||||||
listeners.add(new PopItemCommandListener());
|
listeners.add(new PopItemCommandListener());
|
||||||
listeners.add(new DeathCountListener());
|
listeners.add(new DeathCountListener());
|
||||||
listeners.add(new TotalExecutionTimeListener());
|
listeners.add(new ExecutionTimeListener());
|
||||||
listeners.add(new WalkDistanceListener());
|
listeners.add(new WalkDistanceListener());
|
||||||
|
|
||||||
GameRegistry registry = gameServer.getRegistry();
|
GameRegistry registry = gameServer.getRegistry();
|
||||||
|
@ -8,7 +8,7 @@ import net.simon987.server.logging.LogManager;
|
|||||||
|
|
||||||
public class DeathCountListener implements GameEventListener {
|
public class DeathCountListener implements GameEventListener {
|
||||||
|
|
||||||
private int count;
|
private int count = 0;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Class getListenedEventType() {
|
public Class getListenedEventType() {
|
||||||
|
@ -3,9 +3,9 @@ package net.simon987.cubotplugin.event;
|
|||||||
import net.simon987.server.event.GameEvent;
|
import net.simon987.server.event.GameEvent;
|
||||||
import net.simon987.server.game.objects.GameObject;
|
import net.simon987.server.game.objects.GameObject;
|
||||||
|
|
||||||
public class TotalExecutionTimeEvent extends GameEvent {
|
public class ExecutionTimeEvent extends GameEvent {
|
||||||
|
|
||||||
public TotalExecutionTimeEvent(GameObject object) {
|
public ExecutionTimeEvent(GameObject object) {
|
||||||
setSource(object);
|
setSource(object);
|
||||||
}
|
}
|
||||||
|
|
@ -6,26 +6,26 @@ import net.simon987.server.game.objects.ControllableUnit;
|
|||||||
import net.simon987.server.game.objects.GameObject;
|
import net.simon987.server.game.objects.GameObject;
|
||||||
import net.simon987.server.logging.LogManager;
|
import net.simon987.server.logging.LogManager;
|
||||||
|
|
||||||
public class TotalExecutionTimeListener implements GameEventListener {
|
public class ExecutionTimeListener implements GameEventListener {
|
||||||
|
|
||||||
private int count;
|
private int count = 0;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Class getListenedEventType() {
|
public Class getListenedEventType() {
|
||||||
return TotalExecutionTimeEvent.class;
|
return ExecutionTimeEvent.class;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handle(GameEvent event) {
|
public void handle(GameEvent event) {
|
||||||
TotalExecutionTimeEvent TotalExecutionTimeEvent = (TotalExecutionTimeEvent) event;
|
ExecutionTimeEvent executionTimeEvent = (ExecutionTimeEvent) event;
|
||||||
GameObject object = TotalExecutionTimeEvent.getSource();
|
GameObject object = executionTimeEvent.getSource();
|
||||||
if (object instanceof ControllableUnit) {
|
if (object instanceof ControllableUnit) {
|
||||||
count = ((ControllableUnit) object).getParent().getStats().getInt("totalExecutionTime");
|
count = ((ControllableUnit) object).getParent().getStats().getInt("executionTime");
|
||||||
count++;
|
count++;
|
||||||
LogManager.LOGGER.info(((ControllableUnit) object).getParent().getUsername() + " execution time " +
|
LogManager.LOGGER.info(((ControllableUnit) object).getParent().getUsername() + " execution time " +
|
||||||
Integer.toString(count));
|
Integer.toString(count));
|
||||||
|
|
||||||
((ControllableUnit) object).getParent().getStats().setInt("totalExecutionTime",
|
((ControllableUnit) object).getParent().getStats().setInt("executionTime",
|
||||||
count);
|
count);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -9,7 +9,8 @@ import net.simon987.server.user.UserStats;
|
|||||||
|
|
||||||
public class WalkDistanceListener implements GameEventListener {
|
public class WalkDistanceListener implements GameEventListener {
|
||||||
|
|
||||||
private int count;
|
private int count = 0;
|
||||||
|
private int deaths = 0;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Class getListenedEventType() {
|
public Class getListenedEventType() {
|
||||||
@ -21,13 +22,18 @@ public class WalkDistanceListener implements GameEventListener {
|
|||||||
WalkDistanceEvent WalkDistanceEvent = (WalkDistanceEvent) event;
|
WalkDistanceEvent WalkDistanceEvent = (WalkDistanceEvent) event;
|
||||||
GameObject object = WalkDistanceEvent.getSource();
|
GameObject object = WalkDistanceEvent.getSource();
|
||||||
if (object instanceof ControllableUnit) {
|
if (object instanceof ControllableUnit) {
|
||||||
count = ((ControllableUnit) object).getParent().getStats().getInt("walkDistance");
|
//When cubot dies walk counter resets
|
||||||
|
if(deaths<((ControllableUnit) object).getParent().getStats().getInt("deathCount")){
|
||||||
|
count = 0;
|
||||||
|
deaths = ((ControllableUnit) object).getParent().getStats().getInt("deathCount");
|
||||||
|
}
|
||||||
count++;
|
count++;
|
||||||
LogManager.LOGGER.info(((ControllableUnit) object).getParent().getUsername() + " walk distance " +
|
LogManager.LOGGER.info(((ControllableUnit) object).getParent().getUsername() + " walk distance " +
|
||||||
count);
|
count);
|
||||||
|
//Walk distance is only saved if higher than current hightest distance for user
|
||||||
((ControllableUnit) object).getParent().getStats().setInt("walkDistance",
|
if(count>((ControllableUnit) object).getParent().getStats().getInt("walkDistance"))
|
||||||
count);
|
((ControllableUnit) object).getParent().getStats().setInt("walkDistance",
|
||||||
|
count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -58,7 +58,7 @@ public class UserStats implements MongoSerializable {
|
|||||||
* @return The value of the stat. Returns 0 if not found
|
* @return The value of the stat. Returns 0 if not found
|
||||||
*/
|
*/
|
||||||
public int getInt(String name) {
|
public int getInt(String name) {
|
||||||
return stats.getInteger(name, 0);
|
return stats.getInteger(name, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -38,7 +38,8 @@ public class UserStatsHelper {
|
|||||||
|
|
||||||
for (Document dbUser : users.find().sort(orderBy).limit(n)) {
|
for (Document dbUser : users.find().sort(orderBy).limit(n)) {
|
||||||
User user = GameServer.INSTANCE.getGameUniverse().getUser((String) dbUser.get("username"));
|
User user = GameServer.INSTANCE.getGameUniverse().getUser((String) dbUser.get("username"));
|
||||||
rows.add(new AbstractMap.SimpleEntry<>(user, user.getStats().getInt(statName)));
|
//rows.add(new AbstractMap.SimpleEntry<>(user, user.getStats().getInt(statName)));
|
||||||
|
rows.add(new AbstractMap.SimpleEntry<>(user, 999));
|
||||||
}
|
}
|
||||||
|
|
||||||
return rows;
|
return rows;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user