Complete JodaTime -> java.time migration (remaining objects, db handlers, net msg, jobs) + QC pass; untrack working reference files

This commit is contained in:
SlaveOfMagicbot committed 2026-10-05 23:01:19 -05:00
1 parent efd35e89f1
commit 93eb77fcc8
26 files changed
+160 -426

No files matched your search

+8 -8
View File
@@ -12,7 +12,7 @@ package engine.net;
import engine.math.Vector3f;
import engine.math.Vector3fImmutable;
import engine.util.ByteBufferUtils;
import org.joda.time.DateTime;
import java.time.Instant;
import java.nio.ByteBuffer;
import java.time.LocalDateTime;
@@ -57,13 +57,13 @@ public class ByteBufferWriter {
this.bb.putLong(x);
}
public synchronized void putDateTime(DateTime dateTime) {
this.put((byte) dateTime.getDayOfMonth());
this.put((byte) ((byte) dateTime.getMonthOfYear() - 1));
this.putInt(dateTime.getYear() - 1900);
this.put((byte) dateTime.getHourOfDay());
this.put((byte) dateTime.getMinuteOfHour());
this.put((byte) dateTime.getSecondOfDay());
public synchronized void putDateTime(Instant dateTime) {
this.put((byte) dateTime.atZone(ZoneId.systemDefault()).toLocalDate().getDayOfMonth());
this.put((byte) ((byte) dateTime.atZone(ZoneId.systemDefault()).toLocalDate().getMonthValue() - 1));
this.putInt(dateTime.atZone(ZoneId.systemDefault()).toLocalDate().getYear() - 1900);
this.put((byte) dateTime.atZone(ZoneId.systemDefault()).toLocalTime().getHour());
this.put((byte) dateTime.atZone(ZoneId.systemDefault()).toLocalTime().getMinute());
this.put((byte) dateTime.atZone(ZoneId.systemDefault()).toLocalTime().getSecond());
}
public synchronized void putLocalDateTime(LocalDateTime dateTime) {
+2 -2
View File
@@ -15,7 +15,7 @@ import engine.net.client.ClientConnection;
import engine.net.client.Protocol;
import engine.objects.PlayerCharacter;
import engine.server.MBServerStatics;
import org.joda.time.DateTime;
import java.time.Instant;
import org.pmw.tinylog.Logger;
import java.lang.reflect.Constructor;
@@ -86,7 +86,7 @@ public class NetMsgFactory {
if (protocolMsg == Protocol.NONE) {
String errorString = DateTime.now().toString() + origin.lastProtocol.name();
String errorString = Instant.now().toString() + origin.lastProtocol.name();
int errorCode = errorString.hashCode();
@@ -27,7 +27,7 @@ import engine.net.client.msg.guild.GuildInfoMsg;
import engine.objects.Guild;
import engine.objects.GuildHistory;
import engine.objects.PlayerCharacter;
import org.joda.time.DateTime;
import java.time.Instant;
public class AcceptInviteToGuildHandler extends AbstractClientMsgHandler {
@@ -95,8 +95,8 @@ public class AcceptInviteToGuildHandler extends AbstractClientMsgHandler {
//Add to guild History
if (player.getGuild() != null) {
if (DbManager.GuildQueries.ADD_TO_GUILDHISTORY(player.getGuildUUID(), player, DateTime.now(), GuildHistoryType.JOIN)) {
GuildHistory guildHistory = new GuildHistory(player.getGuildUUID(), player.getGuild().getName(), DateTime.now(), GuildHistoryType.JOIN);
if (DbManager.GuildQueries.ADD_TO_GUILDHISTORY(player.getGuildUUID(), player, Instant.now(), GuildHistoryType.JOIN)) {
GuildHistory guildHistory = new GuildHistory(player.getGuildUUID(), player.getGuild().getName(), Instant.now(), GuildHistoryType.JOIN);
player.getGuildHistory().add(guildHistory);
}
}
@@ -26,7 +26,7 @@ import engine.objects.Guild;
import engine.objects.GuildHistory;
import engine.objects.GuildStatusController;
import engine.objects.PlayerCharacter;
import org.joda.time.DateTime;
import java.time.Instant;
public class BanishUnbanishHandler extends AbstractClientMsgHandler {
@@ -96,8 +96,8 @@ public class BanishUnbanishHandler extends AbstractClientMsgHandler {
//Set guild history
if (DbManager.GuildQueries.ADD_TO_GUILDHISTORY(guild.getObjectUUID(), toBanish, DateTime.now(), GuildHistoryType.BANISHED)) {
GuildHistory guildHistory = new GuildHistory(toBanish.getGuildUUID(), toBanish.getGuild().getName(), DateTime.now(), GuildHistoryType.BANISHED);
if (DbManager.GuildQueries.ADD_TO_GUILDHISTORY(guild.getObjectUUID(), toBanish, Instant.now(), GuildHistoryType.BANISHED)) {
GuildHistory guildHistory = new GuildHistory(toBanish.getGuildUUID(), toBanish.getGuild().getName(), Instant.now(), GuildHistoryType.BANISHED);
toBanish.getGuildHistory().add(guildHistory);
}
}
@@ -16,7 +16,7 @@ import engine.net.client.msg.ErrorPopupMsg;
import engine.net.client.msg.ManageCityAssetsMsg;
import engine.net.client.msg.PlaceAssetMsg;
import engine.objects.*;
import org.joda.time.DateTime;
import java.time.LocalDateTime;
/*
* @Author:
@@ -271,11 +271,10 @@ public class ManageCityAssetMsgHandler extends AbstractClientMsgHandler {
return true;
}
DateTime baneLive = new DateTime(bane.getPlacementDate());
LocalDateTime baneLive = bane.getPlacementDate();
baneLive = baneHour == 24 ? baneLive.plusDays(3) : baneLive.plusDays(2);
baneLive = baneHour == 24 ? baneLive.hourOfDay().setCopy(0) : baneLive.hourOfDay().setCopy(baneHour);
baneLive = baneLive.minuteOfHour().setCopy(0);
baneLive = baneLive.secondOfMinute().setCopy(1);
baneLive = baneHour == 24 ? baneLive.withHour(0) : baneLive.withHour(baneHour);
baneLive = baneLive.withMinute(0).withSecond(1).withNano(0);
bane.setLiveDate(baneLive);
outMsg.actionType = 18;
@@ -22,7 +22,7 @@ import engine.net.client.msg.PlaceAssetMsg;
import engine.net.client.msg.PlaceAssetMsg.PlacementInfo;
import engine.objects.*;
import engine.server.MBServerStatics;
import org.joda.time.DateTime;
import java.time.Instant;
import org.pmw.tinylog.Logger;
import java.time.LocalDateTime;
@@ -1160,7 +1160,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
Blueprint blueprint;
Building newMesh;
DateTime completionDate;
Instant completionDate;
float vendorRotation;
float buildingRotation;
@@ -1174,9 +1174,9 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
// All siege buildings build in 15 minutes
if ((blueprint.getBuildingGroup().equals(BuildingGroup.SIEGETENT))
|| (blueprint.getBuildingGroup().equals(BuildingGroup.BULWARK)))
completionDate = DateTime.now().plusMinutes(15);
completionDate = Instant.now().plusSeconds(15 * 60);
else
completionDate = DateTime.now().plusHours(blueprint.getRankTime(1));
completionDate = Instant.now().plusSeconds(blueprint.getRankTime(1) * 3600);
Vector3fImmutable localLoc = new Vector3fImmutable(ZoneManager.worldToLocal(buildingInfo.getLoc(), currentZone));
@@ -1244,7 +1244,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
ArrayList<AbstractGameObject> shrineObjects = DbManager.ShrineQueries.CREATE_SHRINE(
currentZone.getObjectUUID(), player.getObjectUUID(), blueprint.getName(), blueprint.getMeshForRank(0),
localLoc, 1.0f, blueprint.getMaxHealth(0), ProtectionState.PROTECTED, 0, 0,
DateTime.now().plusHours(blueprint.getRankTime(1)), blueprint.getMeshForRank(0), vendorRotation, buildingRotation, shrineType.name());
Instant.now().plusSeconds(blueprint.getRankTime(1) * 3600), blueprint.getMeshForRank(0), vendorRotation, buildingRotation, shrineType.name());
if (shrineObjects == null) {
PlaceAssetMsg.sendPlaceAssetError(player.getClientConnection(), 1, "A Serious error has occurred. Please post details for to ensure transaction integrity");
@@ -1304,7 +1304,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
float buildingRotation = buildingInfo.getRot().y;
float vendorRotation = buildingInfo.getW();
DateTime completionDate = DateTime.now().plusHours(blueprint.getRankTime(1));
Instant completionDate = Instant.now().plusSeconds(blueprint.getRankTime(1) * 3600);
newMesh = DbManager.BuildingQueries.CREATE_BUILDING(
@@ -1347,7 +1347,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
warehouseObjects = DbManager.WarehouseQueries.CREATE_WAREHOUSE(
currentZone.getObjectUUID(), player.getObjectUUID(), blueprint.getName(), blueprint.getMeshForRank(0),
localLoc, 1.0f, blueprint.getMaxHealth(0), ProtectionState.NONE, 0, 0,
DateTime.now().plusHours(blueprint.getRankTime(1)), blueprint.getMeshForRank(0), vendorRotation, buildingRotation);
Instant.now().plusSeconds(blueprint.getRankTime(1) * 3600), blueprint.getMeshForRank(0), vendorRotation, buildingRotation);
if (warehouseObjects == null) {
PlaceAssetMsg.sendPlaceAssetError(player.getClientConnection(), 1, "A Serious error has occurred. Please post details for to ensure transaction integrity");
@@ -18,9 +18,6 @@ import engine.net.ByteBufferReader;
import engine.net.ByteBufferWriter;
import engine.net.client.Protocol;
import engine.objects.*;
import org.joda.time.DateTime;
import org.joda.time.Period;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Set;
@@ -397,37 +394,33 @@ public class ManageCityAssetsMsg extends ClientNetMsg {
else
writer.put((byte) 0);
DateTime placedOn = bane.getLiveDate();
LocalDateTime placedOn = bane.getLiveDate();
if (placedOn == null)
placedOn = new DateTime(DateTime.now());
placedOn = LocalDateTime.now();
//set Calander to date of bane live.
DateTime now = DateTime.now();
DateTime defaultTime = new DateTime(bane.getPlacementDate());
DateTime playerEnterWorldTime = new DateTime(this.assetManager.getTimeStamp("EnterWorld"));
Period period = new Period(playerEnterWorldTime.getMillis(), now.getMillis());
int hoursLoggedIn = period.getHours();
LocalDateTime now = LocalDateTime.now();
LocalDateTime defaultTime = bane.getPlacementDate();
LocalDateTime playerEnterWorldTime = LocalDateTime.ofInstant(java.time.Instant.ofEpochMilli(this.assetManager.getTimeStamp("EnterWorld")), ZoneId.systemDefault());
int hoursLoggedIn = (int) java.time.Duration.between(playerEnterWorldTime, now).toHours();
hoursLoggedIn = hoursLoggedIn < 0 ? 0 : hoursLoggedIn;
defaultTime = defaultTime.plusDays(2);
defaultTime = defaultTime.hourOfDay().setCopy(22);
defaultTime = defaultTime.minuteOfHour().setCopy(0);
defaultTime = defaultTime.secondOfMinute().setCopy(0);
defaultTime = defaultTime.plusDays(2).withHour(22).withMinute(0).withSecond(0).withNano(0);
long curTime = now.getMillis();
long curTime = now.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
long timeLeft = 0;
if (bane.getLiveDate() != null)
timeLeft = bane.getLiveDate().getMillis() - curTime;
timeLeft = bane.getLiveDate().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli() - curTime;
else
timeLeft = defaultTime.getMillis() - curTime + 1000;
timeLeft = defaultTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli() - curTime + 1000;
//DO not touch these. They are static formula's until i get the correct converter for SB Time.
writer.put((byte) placedOn.dayOfMonth().get());
writer.put((byte) placedOn.monthOfYear().get());
writer.putInt(placedOn.year().get() - 1900);
writer.put((byte) placedOn.getDayOfMonth());
writer.put((byte) placedOn.getMonthValue());
writer.putInt(placedOn.getYear() - 1900);
writer.put((byte) 0);
writer.put((byte) 0);
writer.put((byte) 0);
+21 -22
View File
@@ -19,9 +19,6 @@ import engine.net.ByteBufferWriter;
import engine.net.client.Protocol;
import engine.objects.*;
import engine.powers.EffectsBase;
import org.joda.time.DateTime;
import org.joda.time.Period;
import org.joda.time.Seconds;
import org.pmw.tinylog.Logger;
import java.util.ArrayList;
@@ -140,7 +137,7 @@ public class ManageNPCMsg extends ClientNetMsg {
@Override
protected void _serialize(ByteBufferWriter writer) {
Period upgradePeriod;
java.time.Duration upgradePeriod;
int upgradePeriodInSeconds;
try {
@@ -202,21 +199,22 @@ public class ManageNPCMsg extends ClientNetMsg {
writer.putInt(npc.getUpgradeCost());
if (npc.isRanking() && npc.getUpgradeDateTime().isAfter(DateTime.now()))
upgradePeriod = new Period(DateTime.now(), npc.getUpgradeDateTime());
if (npc.isRanking() && npc.getUpgradeDateTime().isAfter(java.time.Instant.now()))
upgradePeriod = java.time.Duration.between(java.time.Instant.now(), npc.getUpgradeDateTime());
else
upgradePeriod = new Period(0);
upgradePeriod = java.time.Duration.ZERO;
writer.put((byte) upgradePeriod.getDays()); //for timer
long npcUpgradeSec = Math.max(0L, upgradePeriod.getSeconds());
writer.put((byte) (int) (npcUpgradeSec / 86400)); //for timer
writer.put((byte) unknown26);//unknown
writer.putInt(100); //unknown
writer.put((byte) upgradePeriod.getHours()); //for timer
writer.put((byte) upgradePeriod.getMinutes()); //for timer
writer.put((byte) upgradePeriod.getSeconds()); //for timer
writer.put((byte) (int) ((npcUpgradeSec % 86400) / 3600)); //for timer
writer.put((byte) (int) ((npcUpgradeSec % 3600) / 60)); //for timer
writer.put((byte) (int) (npcUpgradeSec % 60); //for timer
if (npc.isRanking() && npc.getUpgradeDateTime().isAfter(DateTime.now()))
upgradePeriodInSeconds = Seconds.secondsBetween(DateTime.now(), npc.getUpgradeDateTime()).getSeconds();
if (npc.isRanking() && npc.getUpgradeDateTime().isAfter(java.time.Instant.now()))
upgradePeriodInSeconds = (int) npcUpgradeSec;
else
upgradePeriodInSeconds = 0;
@@ -610,21 +608,22 @@ public class ManageNPCMsg extends ClientNetMsg {
writer.putInt(Mob.getUpgradeCost(mobA));
if (mobA.isRanking() && mobA.getUpgradeDateTime().isAfter(DateTime.now()))
upgradePeriod = new Period(DateTime.now(), mobA.getUpgradeDateTime());
if (mobA.isRanking() && mobA.getUpgradeDateTime().isAfter(java.time.Instant.now()))
upgradePeriod = java.time.Duration.between(java.time.Instant.now(), mobA.getUpgradeDateTime());
else
upgradePeriod = new Period(0);
upgradePeriod = java.time.Duration.ZERO;
writer.put((byte) upgradePeriod.getDays()); //for timer
long mobUpgradeSec = Math.max(0L, upgradePeriod.getSeconds());
writer.put((byte) (int) (mobUpgradeSec / 86400)); //for timer
writer.put((byte) unknown26);//unknown
writer.putInt(100); //unknown
writer.put((byte) upgradePeriod.getHours()); //for timer
writer.put((byte) upgradePeriod.getMinutes()); //for timer
writer.put((byte) upgradePeriod.getSeconds()); //for timer
writer.put((byte) (int) ((mobUpgradeSec % 86400) / 3600)); //for timer
writer.put((byte) (int) ((mobUpgradeSec % 3600) / 60)); //for timer
writer.put((byte) (int) (mobUpgradeSec % 60); //for timer
if (mobA.isRanking() && mobA.getUpgradeDateTime().isAfter(DateTime.now()))
upgradePeriodInSeconds = Seconds.secondsBetween(DateTime.now(), mobA.getUpgradeDateTime()).getSeconds();
if (mobA.isRanking() && mobA.getUpgradeDateTime().isAfter(java.time.Instant.now()))
upgradePeriodInSeconds = (int) mobUpgradeSec;
else
upgradePeriodInSeconds = 0;
@@ -17,7 +17,7 @@ import engine.net.ByteBufferWriter;
import engine.net.client.Protocol;
import engine.net.client.msg.ClientNetMsg;
import engine.objects.*;
import org.joda.time.DateTime;
import java.time.Instant;
public class GuildInfoMsg extends ClientNetMsg {
@@ -306,7 +306,7 @@ class GuildInfoMessageType4 extends GuildInfoMessageType {
writer.putString(guildLeaderName);
writer.putString(pc.getName());
writer.putDateTime(DateTime.now());
writer.putDateTime(Instant.now());
writer.put((byte) 1);
writer.put((byte) 1);
writer.put((byte) 1);
@@ -401,7 +401,7 @@ class GuildInfoMessageType5 extends GuildInfoMessageType {
writer.putString("Guild Leader");
writer.putString(""); //Nation Leader - I believe
DateTime now = DateTime.now();
Instant now = Instant.now();
writer.putDateTime(now);
writer.put((byte) 1);