Refactoring of ModUtil members

This commit is contained in:
Frank 2021-08-18 14:29:15 +02:00
parent 71ad055ea5
commit 3bb8fec4b2
11 changed files with 221 additions and 193 deletions

View file

@ -6,10 +6,9 @@ import ru.bclib.api.dataexchange.DataHandler;
import ru.bclib.api.dataexchange.SyncFileHash;
import ru.bclib.api.dataexchange.handler.autosync.AutoSync.NeedTransferPredicate;
import ru.bclib.api.dataexchange.handler.autosync.SyncFolderDescriptor.SubFile;
import ru.bclib.api.datafixer.DataFixerAPI;
import ru.bclib.util.ModUtil;
import ru.bclib.util.Pair;
import ru.bclib.util.PathUtil;
import ru.bclib.util.PathUtil.ModInfo;
import ru.bclib.util.ModUtil.ModInfo;
import ru.bclib.util.Triple;
import java.io.File;
@ -56,7 +55,7 @@ class AutoFileSyncEntry extends AutoSyncID {
static class ForModFileRequest extends AutoFileSyncEntry {
public static File getLocalPathForID(String modID, boolean matchLocalVersion){
ModInfo mi = PathUtil.getModInfo(modID, matchLocalVersion);
ModInfo mi = ModUtil.getModInfo(modID, matchLocalVersion);
if (mi!=null){
return mi.jarPath.toFile();
}
@ -70,7 +69,7 @@ class AutoFileSyncEntry extends AutoSyncID {
BCLib.LOGGER.error("Unknown mod '"+modID+"'.");
}
if (version==null)
this.version = PathUtil.getModVersion(modID);
this.version = ModUtil.getModVersion(modID);
else
this.version = version;
}
@ -78,12 +77,12 @@ class AutoFileSyncEntry extends AutoSyncID {
@Override
public int serializeContent(FriendlyByteBuf buf) {
final int res = super.serializeContent(buf);
buf.writeInt(DataFixerAPI.getModVersion(version));
buf.writeInt(ModUtil.convertModVersion(version));
return res;
}
static AutoFileSyncEntry.ForModFileRequest finishDeserializeContent(String modID, FriendlyByteBuf buf) {
final String version = DataFixerAPI.getModVersion(buf.readInt());
final String version = ModUtil.convertModVersion(buf.readInt());
return new AutoFileSyncEntry.ForModFileRequest(modID, false, version);
}

View file

@ -3,7 +3,7 @@ package ru.bclib.api.dataexchange.handler.autosync;
import net.minecraft.network.FriendlyByteBuf;
import org.jetbrains.annotations.NotNull;
import ru.bclib.api.dataexchange.DataHandler;
import ru.bclib.api.datafixer.DataFixerAPI;
import ru.bclib.util.ModUtil;
import java.io.File;
import java.util.Objects;
@ -62,11 +62,11 @@ public class AutoSyncID {
@Override
void serializeData(FriendlyByteBuf buf) {
super.serializeData(buf);
buf.writeInt(DataFixerAPI.getModVersion(version));
buf.writeInt(ModUtil.convertModVersion(version));
}
static ForModFileRequest finishDeserialize(String modID, String uniqueID, FriendlyByteBuf buf){
final String version = DataFixerAPI.getModVersion(buf.readInt());
final String version = ModUtil.convertModVersion(buf.readInt());
return new ForModFileRequest(modID, version);
}

View file

@ -15,12 +15,12 @@ import ru.bclib.api.dataexchange.handler.autosync.AutoSync.ClientConfig;
import ru.bclib.api.dataexchange.handler.autosync.AutoSync.Config;
import ru.bclib.api.dataexchange.handler.autosync.AutoSyncID.WithContentOverride;
import ru.bclib.api.dataexchange.handler.autosync.SyncFolderDescriptor.SubFile;
import ru.bclib.api.datafixer.DataFixerAPI;
import ru.bclib.gui.screens.SyncFilesScreen;
import ru.bclib.gui.screens.WarnBCLibVersionMismatch;
import ru.bclib.util.ModUtil;
import ru.bclib.util.Pair;
import ru.bclib.util.PathUtil;
import ru.bclib.util.PathUtil.ModInfo;
import ru.bclib.util.ModUtil.ModInfo;
import java.io.File;
import java.io.IOException;
@ -46,7 +46,7 @@ public class HelloClient extends DataHandler.FromServer {
}
static String getBCLibVersion() {
return PathUtil.getModVersion(BCLib.MOD_ID);
return ModUtil.getModVersion(BCLib.MOD_ID);
}
@Override
@ -67,14 +67,14 @@ public class HelloClient extends DataHandler.FromServer {
final List<String> mods = DataExchangeAPI.registeredMods();
//write BCLibVersion (=protocol version)
buf.writeInt(DataFixerAPI.getModVersion(vbclib));
buf.writeInt(ModUtil.convertModVersion(vbclib));
if (Config.isOfferingMods()) {
//write Plugin Versions
buf.writeInt(mods.size());
for (String modID : mods) {
final String ver = PathUtil.getModVersion(modID);
final ModInfo mi = PathUtil.getModInfo(modID);
final String ver = ModUtil.getModVersion(modID);
final ModInfo mi = ModUtil.getModInfo(modID);
int size = 0;
if (mi!=null) {
try {
@ -86,7 +86,7 @@ public class HelloClient extends DataHandler.FromServer {
}
writeString(buf, modID);
buf.writeInt(DataFixerAPI.getModVersion(ver));
buf.writeInt(ModUtil.convertModVersion(ver));
buf.writeInt(size);
BCLib.LOGGER.info(" - Listing Mod " + modID + " v" + ver + " ("+PathUtil.humanReadableFileSize(size)+")");
@ -139,8 +139,8 @@ public class HelloClient extends DataHandler.FromServer {
@Override
protected void deserializeIncomingDataOnClient(FriendlyByteBuf buf, PacketSender responseSender) {
//read BCLibVersion (=protocol version)
bclibVersion = DataFixerAPI.getModVersion(buf.readInt());
final boolean protocolVersion_0_4_1 = DataFixerAPI.isLargerOrEqualVersion(bclibVersion, "0.4.1");
bclibVersion = ModUtil.convertModVersion(buf.readInt());
final boolean protocolVersion_0_4_1 = ModUtil.isLargerOrEqualVersion(bclibVersion, "0.4.1");
//read Plugin Versions
@ -148,7 +148,7 @@ public class HelloClient extends DataHandler.FromServer {
int count = buf.readInt();
for (int i = 0; i < count; i++) {
final String id = readString(buf);
final String version = DataFixerAPI.getModVersion(buf.readInt());
final String version = ModUtil.convertModVersion(buf.readInt());
final int size;
//since v0.4.1 we also send the size of the mod-File
if (protocolVersion_0_4_1) {
@ -289,7 +289,7 @@ public class HelloClient extends DataHandler.FromServer {
@Environment(EnvType.CLIENT)
private void processModFileSync(final List<AutoSyncID> filesToRequest) {
for (Entry<String, Pair<String, Integer>> e : modVersion.entrySet()) {
final String localVersion = PathUtil.getModVersion(e.getKey());
final String localVersion = ModUtil.getModVersion(e.getKey());
final Pair<String, Integer> serverInfo = e.getValue();
final boolean requestMod = !serverInfo.first.equals(localVersion) && serverInfo.second>0;

View file

@ -12,7 +12,7 @@ import ru.bclib.api.dataexchange.DataHandler;
import ru.bclib.api.dataexchange.DataHandlerDescriptor;
import ru.bclib.api.dataexchange.handler.autosync.AutoSync.ClientConfig;
import ru.bclib.api.dataexchange.handler.autosync.AutoSync.Config;
import ru.bclib.api.datafixer.DataFixerAPI;
import ru.bclib.util.ModUtil;
import java.io.File;
@ -81,12 +81,12 @@ public class HelloServer extends DataHandler.FromClient {
@Override
protected void serializeDataOnClient(FriendlyByteBuf buf) {
BCLib.LOGGER.info("Sending hello to server.");
buf.writeInt(DataFixerAPI.getModVersion(HelloClient.getBCLibVersion()));
buf.writeInt(ModUtil.convertModVersion(HelloClient.getBCLibVersion()));
}
@Override
protected void deserializeIncomingDataOnServer(FriendlyByteBuf buf, PacketSender responseSender) {
bclibVersion = DataFixerAPI.getModVersion(buf.readInt());
bclibVersion = ModUtil.convertModVersion(buf.readInt());
}
@Override

View file

@ -140,7 +140,7 @@ public class SyncFolderDescriptor {
final SyncFolderDescriptor desc;
if (localDescriptor != null) {
desc = new SyncFolderDescriptor(folderID, localDescriptor.localFolder, remAddFiles);
desc = new SyncFolderDescriptor(folderID, localDescriptor.localFolder, localDescriptor.removeAdditionalFiles && remAddFiles);
desc.fileCache = new ArrayList<>(count);
}
else {