Make multi-Dim similarity = 0 disable the new system

By default the old system of 1 world per dimension is used
This commit is contained in:
James Seibel
2022-03-26 23:15:47 -05:00
parent f97815cac7
commit a2d2e5d87b
3 changed files with 22 additions and 9 deletions
@@ -47,6 +47,7 @@ public class LodDimensionFinder
private static final VerticalQuality VERTICAL_QUALITY_TO_TEST_WITH = VerticalQuality.LOW;
public static final String THREAD_NAME = "Sub-Dimension-Finder";
public static final String DEFAULT_SAVE_DIMENSION_FOLDER = "_Default-Sub-Dimension";
private PlayerData playerData = new PlayerData(MC);
private PlayerData firstSeenPlayerData = null;
@@ -97,7 +98,16 @@ public class LodDimensionFinder
try
{
// attempt to get the file handler
File saveDir = attemptToDetermineSubDimensionFolder();
File saveDir;
if (CONFIG.client().multiplayer().getMultiDimensionRequiredSimilarity() == 0)
{
saveDir = GetDimensionFolder(dimensionTypeWrapper, DEFAULT_SAVE_DIMENSION_FOLDER);
}
else
{
saveDir = attemptToDetermineSubDimensionFolder();
}
if (saveDir == null)
return;
@@ -355,7 +365,7 @@ public class LodDimensionFinder
* If the worldId is empty or null this returns the dimension parent folder <br>
* Example folder names: "dim_overworld/worldId", "dim_the_nether/worldId"
*/
public File GetDimensionFolder(IDimensionTypeWrapper newDimensionType, String worldId)
public static File GetDimensionFolder(IDimensionTypeWrapper newDimensionType, String worldId)
{
// prevent null pointers
if (worldId == null)
@@ -24,7 +24,6 @@ import com.seibel.lod.core.enums.rendering.*;
import com.seibel.lod.core.handlers.dependencyInjection.IBindable;
import com.seibel.lod.core.handlers.dependencyInjection.SingletonHandler;
import com.seibel.lod.core.objects.MinDefaultMax;
import com.seibel.lod.core.util.LodUtil;
import com.seibel.lod.core.wrapperInterfaces.IVersionConstants;
import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
@@ -568,15 +567,19 @@ public interface ILodConfigWrapperSingleton extends IBindable
ServerFolderNameMode getServerFolderNameMode();
void setServerFolderNameMode(ServerFolderNameMode newServerFolderNameMode);
double MULTI_DIMENSION_REQUIRED_SIMILARITY_DEFAULT = 0.8;
MinDefaultMax<Double> MULTI_DIMENSION_REQUIRED_SIMILARITY_MIN_DEFAULT_MAX = new MinDefaultMax<Double>(0.0, 0.0, 1.0);
String MULTI_DIMENSION_REQUIRED_SIMILARITY_DESC = ""
+ " When matching worlds of the same dimension type the \n"
+ " chunks tested must be at least this percent the same \n"
+ " tested chunks must be at least this percent the same \n"
+ " in order to be considered the same world. \n"
+ "\n"
+ " 1 (100%) means the chunks must be identical. \n"
+ " 0.5 (50%) means the chunks must be half the same. \n"
+ " 0 (0%) means almost any world will match. \n"
+ " Note: If you use portals to enter a dimension at two \n"
+ " different locations this system may think it is two different worlds. \n"
+ "\n"
+ " 1.0 (100%) the chunks must be identical. \n"
+ " 0.5 (50%) the chunks must be half the same. \n"
+ " 0.0 (0%) disables multi-dimension support, \n"
+ " only one world will be used per dimension. \n"
+ "\n";
double getMultiDimensionRequiredSimilarity();
void setMultiDimensionRequiredSimilarity(double newMultiDimensionMinimumSimilarityPercent);
@@ -207,7 +207,7 @@
"DistantHorizons.config.client.multiplayer.multiDimensionRequiredSimilarity":
"Multi Dimension Required Similarity",
"DistantHorizons.config.client.multiplayer.multiDimensionRequiredSimilarity.@tooltip":
"When matching worlds of the same dimension type the\nchunks tested must be at least this percent the same\nin order to be considered the same world.\n\n§61:§r the chunks must be identical.\n§60.5:§r the chunks must be half the same.\n§60:§r almost any world will match.",
"When matching worlds of the same dimension type the\ntested chunks must be at least this percent the same\nin order to be considered the same world.\n\nNote: If you use portals to enter a dimension at two\ndifferent locations this system may think it is two different worlds.\n\n§61.0:§r the chunks must be identical.\n§60.5:§r the chunks must be half the same.\n§60.0:§r disables multi-dimension support\n only one world will be used per dimension.",
"DistantHorizons.config.client.advanced":
"Advance options",
"DistantHorizons.config.client.advanced.threading":