TimeUpdate
This commit is contained in:
@@ -47,8 +47,10 @@ public class GameLoop extends Thread {
|
||||
|
||||
/* --- --- --- */
|
||||
|
||||
long gameTime = gameTimer.getGameTime();
|
||||
playerManager.getBroadcastChannel().sendTimeUpdate(gameTime);
|
||||
playerManager.getBroadcastChannel().sendTimeUpdate(
|
||||
gameTimer.getGameTime(),
|
||||
gameTimer.getWorldAge()
|
||||
);
|
||||
|
||||
/* --- --- --- */
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
14
core/src/main/java/mc/core/time/AbstractTimeProcessor.java
Normal file
14
core/src/main/java/mc/core/time/AbstractTimeProcessor.java
Normal 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++;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -6,4 +6,5 @@ package mc.core.time;
|
||||
|
||||
public interface TimeProcessor {
|
||||
long getGameTime();
|
||||
long getWorldAge();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user