Archived
0

TimeUpdate

This commit is contained in:
2018-06-24 13:33:16 +03:00
parent c7618e3222
commit 34a6322699
11 changed files with 56 additions and 10 deletions

View File

@@ -47,8 +47,10 @@ public class GameLoop extends Thread {
/* --- --- --- */
long gameTime = gameTimer.getGameTime();
playerManager.getBroadcastChannel().sendTimeUpdate(gameTime);
playerManager.getBroadcastChannel().sendTimeUpdate(
gameTimer.getGameTime(),
gameTimer.getWorldAge()
);
/* --- --- --- */

View File

@@ -20,8 +20,8 @@ public class BroadcastNetChannel implements NetChannel {
}
@Override
public void sendTimeUpdate(final long value) {
playerStream.forEach(player -> player.getChannel().sendTimeUpdate(value));
public void sendTimeUpdate(final long time, final long age) {
playerStream.forEach(player -> player.getChannel().sendTimeUpdate(time, age));
}
@Override

View File

@@ -8,7 +8,7 @@ import mc.core.text.Text;
public interface NetChannel {
void sendKeepAlive();
void sendTimeUpdate(long value);
void sendTimeUpdate(long time, long age);
void sendChatMessage(Text text);
void writeAndFlush(SCPacket pkt);

View File

@@ -0,0 +1,14 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-06-24
*/
package mc.core.time;
public abstract class AbstractTimeProcessor implements TimeProcessor {
private long worldAge = 0;
@Override
public long getWorldAge() {
return worldAge++;
}
}

View File

@@ -8,7 +8,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
public class IdleTime implements TimeProcessor {
public class IdleTime extends AbstractTimeProcessor {
@Getter
private final long gameTime;
}

View File

@@ -6,7 +6,7 @@ package mc.core.time;
import java.util.Calendar;
public class RealTime implements TimeProcessor {
public class RealTime extends AbstractTimeProcessor {
private static final long DIFF = 21600L;
private static final long HOUR24 = 86400L;
private final Calendar calendar = Calendar.getInstance();

View File

@@ -4,7 +4,7 @@
*/
package mc.core.time;
public class TimePerTick implements TimeProcessor {
public class TimePerTick extends AbstractTimeProcessor {
private long gameTime;
public void setStartGameTime(long value) {

View File

@@ -6,4 +6,5 @@ package mc.core.time;
public interface TimeProcessor {
long getGameTime();
long getWorldAge();
}