Add ILevelWrapper.getDimensionName()
This commit is contained in:
-2
@@ -28,8 +28,6 @@ import com.seibel.distanthorizons.api.interfaces.IDhApiUnsafeWrapper;
|
||||
*/
|
||||
public interface IDhApiDimensionTypeWrapper extends IDhApiUnsafeWrapper
|
||||
{
|
||||
String getDimensionName();
|
||||
|
||||
boolean hasCeiling();
|
||||
|
||||
boolean hasSkyLight();
|
||||
|
||||
+3
@@ -35,6 +35,9 @@ public interface IDhApiLevelWrapper extends IDhApiUnsafeWrapper
|
||||
{
|
||||
IDhApiDimensionTypeWrapper getDimensionType();
|
||||
|
||||
/** @since API 4.0.0 */
|
||||
String getDimensionName();
|
||||
|
||||
EDhApiLevelType getLevelType();
|
||||
|
||||
boolean hasCeiling();
|
||||
|
||||
+1
-1
@@ -182,7 +182,7 @@ public class FullDataSourceV2 implements IDataSource<IDhLevel>
|
||||
|
||||
boolean isAir = legacyData.mapping.getBlockStateWrapper(FullDataPointUtil.getId(dataPoint)).isAir();
|
||||
byte blockLight = (byte) FullDataPointUtil.getBlockLight(dataPoint);
|
||||
|
||||
|
||||
if (isAir)
|
||||
{
|
||||
// air shouldn't have any light, otherwise down sampling will look weird
|
||||
|
||||
+1
-1
@@ -229,7 +229,7 @@ public class FullDataToRenderDataTransformer
|
||||
if (!brokenPos.contains(fullDataMapping.getPos()))
|
||||
{
|
||||
brokenPos.add(fullDataMapping.getPos());
|
||||
String dimName = level.getLevelWrapper().getDimensionType().getDimensionName();
|
||||
String dimName = level.getLevelWrapper().getDimensionName();
|
||||
LOGGER.warn("Unable to get data point with id ["+id+"] " +
|
||||
"(Max possible ID: ["+fullDataMapping.getMaxValidId()+"]) " +
|
||||
"for pos ["+fullDataMapping.getPos()+"] in dimension ["+dimName+"]. " +
|
||||
|
||||
+5
-7
@@ -121,7 +121,7 @@ public class FullDataSourceProviderV2
|
||||
|
||||
DebugRenderer.register(this, Config.Client.Advanced.Debugging.DebugWireframe.showFullDataUpdateStatus);
|
||||
|
||||
String dimensionName = level.getLevelWrapper().getDimensionType().getDimensionName();
|
||||
String dimensionName = level.getLevelWrapper().getDimensionName();
|
||||
|
||||
// start migrating any legacy data sources present in the background
|
||||
this.migrationThreadPool = ThreadUtil.makeRateLimitedThreadPool(1, MIGRATION_THREAD_NAME_PREFIX +"["+dimensionName+"]", Config.Client.Advanced.MultiThreading.runTimeRatioForUpdatePropagatorThreads.get(), Thread.MIN_PRIORITY, (Semaphore)null);
|
||||
@@ -321,7 +321,7 @@ public class FullDataSourceProviderV2
|
||||
|
||||
private void convertLegacyDataSources()
|
||||
{
|
||||
String dimensionName = this.level.getLevelWrapper().getDimensionType().getDimensionName();
|
||||
String dimensionName = this.level.getLevelWrapper().getDimensionName();
|
||||
LOGGER.info("Attempting to migrate data sources for: ["+dimensionName+"]-["+this.saveDir+"]...");
|
||||
|
||||
|
||||
@@ -424,9 +424,7 @@ public class FullDataSourceProviderV2
|
||||
{
|
||||
newDataSource.close();
|
||||
}
|
||||
catch (Exception ignore)
|
||||
{
|
||||
}
|
||||
catch (Exception ignore) { }
|
||||
});
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -502,7 +500,7 @@ public class FullDataSourceProviderV2
|
||||
}
|
||||
this.migrationStartMessageQueued = true;
|
||||
|
||||
String dimName = this.level.getLevelWrapper().getDimensionType().getDimensionName();
|
||||
String dimName = this.level.getLevelWrapper().getDimensionName();
|
||||
ClientApi.INSTANCE.showChatMessageNextFrame(
|
||||
"Old Distant Horizons data is being migrated for ["+dimName+"]. \n" +
|
||||
"While migrating LODs may load slowly \n" +
|
||||
@@ -513,7 +511,7 @@ public class FullDataSourceProviderV2
|
||||
|
||||
private void showMigrationEndMessage(boolean success)
|
||||
{
|
||||
String dimName = this.level.getLevelWrapper().getDimensionType().getDimensionName();
|
||||
String dimName = this.level.getLevelWrapper().getDimensionName();
|
||||
|
||||
if (success)
|
||||
{
|
||||
|
||||
+2
-2
@@ -94,7 +94,7 @@ public class GeneratedFullDataSourceProvider extends FullDataSourceProviderV2 im
|
||||
// don't log shutdown exceptions
|
||||
if (!(exception instanceof CancellationException || exception.getCause() instanceof CancellationException))
|
||||
{
|
||||
LOGGER.error("Uncaught Gen Task Exception at [" + genTaskResult.pos + "], error: ["+ exception.getMessage() + "].", exception);
|
||||
LOGGER.error("Uncaught Gen Task Exception at ["+genTaskResult.pos+"], error: ["+exception.getMessage()+"].", exception);
|
||||
}
|
||||
}
|
||||
else if (genTaskResult.success)
|
||||
@@ -140,7 +140,7 @@ public class GeneratedFullDataSourceProvider extends FullDataSourceProviderV2 im
|
||||
{
|
||||
boolean oldQueueExists = this.worldGenQueueRef.compareAndSet(null, newWorldGenQueue);
|
||||
LodUtil.assertTrue(oldQueueExists, "previous world gen queue is still here!");
|
||||
LOGGER.info("Set world gen queue for level ["+this.level+"].");
|
||||
LOGGER.info("Set world gen queue for level [" + this.level.getLevelWrapper().getDimensionName() + "].");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+4
-4
@@ -88,7 +88,7 @@ public class ClientOnlySaveStructure extends AbstractSaveStructure
|
||||
if (newLevelWrapper instanceof IServerKeyedClientLevel)
|
||||
{
|
||||
IServerKeyedClientLevel keyedClientLevel = (IServerKeyedClientLevel) newLevelWrapper;
|
||||
LOGGER.info("Loading level " + newLevelWrapper.getDimensionType().getDimensionName() + " with key: " + keyedClientLevel.getServerLevelKey());
|
||||
LOGGER.info("Loading level " + newLevelWrapper.getDimensionName() + " with key: " + keyedClientLevel.getServerLevelKey());
|
||||
// This world was identified by the server directly, so we can know for sure which folder to use.
|
||||
return new File(getSaveStructureFolderPath() + File.separatorChar + keyedClientLevel.getServerLevelKey());
|
||||
}
|
||||
@@ -102,7 +102,7 @@ public class ClientOnlySaveStructure extends AbstractSaveStructure
|
||||
// create the matcher if one doesn't exist
|
||||
if (this.subDimMatcher == null || !this.subDimMatcher.isFindingLevel(newClientLevelWrapper))
|
||||
{
|
||||
LOGGER.info("Loading level " + newClientLevelWrapper.getDimensionType().getDimensionName());
|
||||
LOGGER.info("Loading level " + newClientLevelWrapper.getDimensionName());
|
||||
|
||||
List<File> levelFolders = this.getDhDataFoldersForDimension(newClientLevelWrapper.getDimensionType());
|
||||
this.subDimMatcher = new SubDimensionLevelMatcher(newClientLevelWrapper, this.folder, levelFolders);
|
||||
@@ -144,8 +144,8 @@ public class ClientOnlySaveStructure extends AbstractSaveStructure
|
||||
else
|
||||
{
|
||||
// no valid sub dimension was found, create a new one
|
||||
LOGGER.info("Default Sub Dimension not found. Creating: [" + level.getDimensionType().getDimensionName() + "]");
|
||||
return new File(this.folder, level.getDimensionType().getDimensionName());
|
||||
LOGGER.info("Default Sub Dimension not found. Creating: [" + level.getDimensionName() + "]");
|
||||
return new File(this.folder, level.getDimensionName().replaceAll(":", "@@"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -375,7 +375,7 @@ public class SubDimensionLevelMatcher implements AutoCloseable
|
||||
}
|
||||
|
||||
|
||||
private File CreateSubDimFolder(String subDimId) { return new File(this.levelsFolder.getPath() + File.separatorChar + this.currentClientLevel.getDimensionType().getDimensionName(), subDimId); }
|
||||
private File CreateSubDimFolder(String subDimId) { return new File(this.levelsFolder.getPath() + File.separatorChar + this.currentClientLevel.getDimensionName(), subDimId); }
|
||||
|
||||
@Override
|
||||
public void close() { this.matcherThread.shutdownNow(); }
|
||||
|
||||
@@ -189,7 +189,7 @@ public class DhClientServerLevel extends AbstractDhLevel implements IDhClientLev
|
||||
public void addDebugMenuStringsToList(List<String> messageList)
|
||||
{
|
||||
// header
|
||||
String dimName = this.serverLevelWrapper.getDimensionType().getDimensionName();
|
||||
String dimName = this.serverLevelWrapper.getDimensionName();
|
||||
boolean rendering = this.clientside.isRendering();
|
||||
messageList.add("["+dimName+"] rendering: "+(rendering ? "yes" : "no"));
|
||||
|
||||
|
||||
@@ -77,15 +77,15 @@ public class DhServerLevel extends AbstractDhLevel implements IDhServerLevel
|
||||
public void close()
|
||||
{
|
||||
super.close();
|
||||
serverside.close();
|
||||
LOGGER.info("Closed DHLevel for {}", getLevelWrapper());
|
||||
this.serverside.close();
|
||||
LOGGER.info("Closed DHLevel for {}", this.getLevelWrapper());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doWorldGen()
|
||||
{
|
||||
boolean shouldDoWorldGen = true; //todo;
|
||||
boolean isWorldGenRunning = serverside.worldGenModule.isWorldGenRunning();
|
||||
boolean isWorldGenRunning = this.serverside.worldGenModule.isWorldGenRunning();
|
||||
if (shouldDoWorldGen && !isWorldGenRunning)
|
||||
{
|
||||
// start world gen
|
||||
@@ -97,26 +97,23 @@ public class DhServerLevel extends AbstractDhLevel implements IDhServerLevel
|
||||
serverside.worldGenModule.stopWorldGen(serverside.fullDataFileHandler);
|
||||
}
|
||||
|
||||
if (serverside.worldGenModule.isWorldGenRunning())
|
||||
if (this.serverside.worldGenModule.isWorldGenRunning())
|
||||
{
|
||||
serverside.worldGenModule.worldGenTick(new DhBlockPos2D(0, 0)); // todo;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public IServerLevelWrapper getServerLevelWrapper() { return serverLevelWrapper; }
|
||||
public IServerLevelWrapper getServerLevelWrapper() { return this.serverLevelWrapper; }
|
||||
|
||||
@Override
|
||||
public ILevelWrapper getLevelWrapper() { return getServerLevelWrapper(); }
|
||||
public ILevelWrapper getLevelWrapper() { return this.getServerLevelWrapper(); }
|
||||
|
||||
@Override
|
||||
public FullDataSourceProviderV2 getFullDataProvider() { return this.serverside.fullDataFileHandler; }
|
||||
|
||||
@Override
|
||||
public AbstractSaveStructure getSaveStructure()
|
||||
{
|
||||
return serverside.saveStructure;
|
||||
}
|
||||
public AbstractSaveStructure getSaveStructure() { return this.serverside.saveStructure; }
|
||||
|
||||
@Override
|
||||
public boolean hasSkyLight() { return this.serverLevelWrapper.hasSkyLight(); }
|
||||
@@ -148,7 +145,7 @@ public class DhServerLevel extends AbstractDhLevel implements IDhServerLevel
|
||||
@Override
|
||||
public void addDebugMenuStringsToList(List<String> messageList)
|
||||
{
|
||||
String dimName = this.serverLevelWrapper.getDimensionType().getDimensionName();
|
||||
String dimName = this.serverLevelWrapper.getDimensionName();
|
||||
messageList.add("["+dimName+"]");
|
||||
}
|
||||
|
||||
|
||||
@@ -145,7 +145,7 @@ public class LodQuadTree extends QuadTree<LodRenderSection> implements IDebugRen
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LOGGER.error("Quad Tree tick exception for dimension: " + this.level.getLevelWrapper().getDimensionType().getDimensionName() + ", exception: " + e.getMessage(), e);
|
||||
LOGGER.error("Quad Tree tick exception for dimension: " + this.level.getLevelWrapper().getDimensionName() + ", exception: " + e.getMessage(), e);
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
@@ -385,6 +385,7 @@ public class FullDataSourceV2DTO implements IBaseDTO<Long>
|
||||
this.checksum = checksum;
|
||||
this.byteArray = byteArray;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -138,7 +138,7 @@ public class DhApiWorldProxy implements IDhApiWorldProxy
|
||||
for (IDhLevel dhLevel : world.getAllLoadedLevels())
|
||||
{
|
||||
ILevelWrapper levelWrapper = dhLevel.getLevelWrapper();
|
||||
String levelDimName = levelWrapper.getDimensionType().getDimensionName().toLowerCase();
|
||||
String levelDimName = levelWrapper.getDimensionName().toLowerCase();
|
||||
if (levelDimName.contains(soughtDimName))
|
||||
{
|
||||
returnList.add(levelWrapper);
|
||||
|
||||
@@ -87,7 +87,7 @@ public class DhClientServerWorld extends AbstractDhWorld implements IDhClientWor
|
||||
LodUtil.assertTrue(serverLevelWrapper != null);
|
||||
if (!clientLevelWrapper.getDimensionType().equals(serverLevelWrapper.getDimensionType()))
|
||||
{
|
||||
LodUtil.assertNotReach("tryGetServerSideWrapper returned a level for a different dimension. ClientLevelWrapper dim: " + clientLevelWrapper.getDimensionType().getDimensionName() + " ServerLevelWrapper dim: " + serverLevelWrapper.getDimensionType().getDimensionName());
|
||||
LodUtil.assertNotReach("tryGetServerSideWrapper returned a level for a different dimension. ClientLevelWrapper dim: " + clientLevelWrapper.getDimensionName() + " ServerLevelWrapper dim: " + serverLevelWrapper.getDimensionName());
|
||||
}
|
||||
|
||||
|
||||
@@ -168,7 +168,7 @@ public class DhClientServerWorld extends AbstractDhWorld implements IDhClientWor
|
||||
// close each level
|
||||
for (DhClientServerLevel level : levelsToClose)
|
||||
{
|
||||
LOGGER.info("Unloading level " + level.getServerLevelWrapper().getDimensionType().getDimensionName());
|
||||
LOGGER.info("Unloading level " + level.getServerLevelWrapper().getDimensionName());
|
||||
|
||||
// level wrapper shouldn't be null, but just in case
|
||||
IServerLevelWrapper serverLevelWrapper = level.getServerLevelWrapper();
|
||||
|
||||
@@ -175,7 +175,7 @@ public class DhClientWorld extends AbstractDhWorld implements IDhClientWorld
|
||||
|
||||
for (DhClientLevel dhClientLevel : this.levels.values())
|
||||
{
|
||||
LOGGER.info("Unloading level " + dhClientLevel.getLevelWrapper().getDimensionType().getDimensionName());
|
||||
LOGGER.info("Unloading level " + dhClientLevel.getLevelWrapper().getDimensionName());
|
||||
|
||||
// level wrapper shouldn't be null, but just in case
|
||||
IClientLevelWrapper clientLevelWrapper = dhClientLevel.getClientLevelWrapper();
|
||||
|
||||
@@ -199,11 +199,9 @@ public class DhServerWorld extends AbstractDhWorld implements IDhServerWorld
|
||||
@Override
|
||||
public void close()
|
||||
{
|
||||
// this.networkServer.close();
|
||||
|
||||
for (DhServerLevel level : this.levels.values())
|
||||
{
|
||||
LOGGER.info("Unloading level " + level.getLevelWrapper().getDimensionType().getDimensionName());
|
||||
LOGGER.info("Unloading level " + level.getLevelWrapper().getDimensionName());
|
||||
|
||||
// level wrapper shouldn't be null, but just in case
|
||||
IServerLevelWrapper serverLevelWrapper = level.getServerLevelWrapper();
|
||||
|
||||
+3
-5
@@ -24,16 +24,14 @@ import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IBindab
|
||||
|
||||
public interface IDimensionTypeWrapper extends IDhApiDimensionTypeWrapper, IBindable
|
||||
{
|
||||
@Override
|
||||
String getDimensionName();
|
||||
|
||||
@Override
|
||||
boolean hasCeiling();
|
||||
|
||||
@Override
|
||||
boolean hasSkyLight();
|
||||
|
||||
// there's definitely a better way of doing this, but it should work well enough for now
|
||||
default boolean isTheEnd() { return this.getDimensionName().equalsIgnoreCase("the_end"); }
|
||||
boolean isTheEnd();
|
||||
|
||||
double getTeleportationScale(IDimensionTypeWrapper to);
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -39,6 +39,9 @@ public interface ILevelWrapper extends IDhApiLevelWrapper, IBindable
|
||||
@Override
|
||||
IDimensionTypeWrapper getDimensionType();
|
||||
|
||||
@Override
|
||||
String getDimensionName();
|
||||
|
||||
@Override
|
||||
boolean hasCeiling();
|
||||
|
||||
|
||||
@@ -38,6 +38,9 @@ public class LevelWrapperTest implements IDhApiLevelWrapper
|
||||
@Override
|
||||
public IDhApiDimensionTypeWrapper getDimensionType() { return null; }
|
||||
|
||||
@Override
|
||||
public String getDimensionName() { return null; }
|
||||
|
||||
@Override
|
||||
public EDhApiLevelType getLevelType() { return null; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user