refactoring and cleanup
This commit is contained in:
+3
-1
@@ -63,7 +63,7 @@ public class McObjectConverter
|
||||
FloatBuffer buffer = FloatBuffer.allocate(16);
|
||||
storeMatrix(mcMatrix, buffer);
|
||||
Mat4f matrix = new Mat4f(buffer);
|
||||
#if MC_VER < MC_1_19_4 && MC_VER > MC_1_12_2
|
||||
#if MC_VER > MC_1_12_2 && MC_VER < MC_1_19_4
|
||||
matrix.transpose(); // In 1.19.3 and later, we no longer need to transpose it
|
||||
#endif
|
||||
return matrix;
|
||||
@@ -109,7 +109,9 @@ public class McObjectConverter
|
||||
static
|
||||
{
|
||||
EDhDirection[] lodDirs = EDhDirection.values();
|
||||
|
||||
directions = new #if MC_VER <= MC_1_12_2 EnumFacing #else Direction #endif[lodDirs.length];
|
||||
|
||||
lodDirections = new EDhDirection[lodDirs.length];
|
||||
for (EDhDirection lodDir : lodDirs)
|
||||
{
|
||||
|
||||
+1
@@ -170,6 +170,7 @@ class DhConfigScreen extends DhScreen
|
||||
#else
|
||||
super.init();
|
||||
#endif
|
||||
|
||||
if (!this.reload)
|
||||
{
|
||||
ConfigHandler.INSTANCE.configFileHandler.loadFromFile();
|
||||
|
||||
+10
-3
@@ -143,8 +143,13 @@ public class MinecraftClientWrapper implements IMinecraftClientWrapper, IMinecra
|
||||
}
|
||||
else
|
||||
{
|
||||
ServerData server = MINECRAFT.#if MC_VER <= MC_1_12_2 getCurrentServerData() #else getCurrentServer() #endif;
|
||||
return (server != null) ? server.#if MC_VER <= MC_1_12_2 serverName #else name #endif : "NULL";
|
||||
#if MC_VER <= MC_1_12_2
|
||||
ServerData server = MINECRAFT.getCurrentServerData();
|
||||
return (server != null) ? server.serverName : "NULL";
|
||||
#else
|
||||
ServerData server = MINECRAFT.getCurrentServer();
|
||||
return (server != null) ? server.name : "NULL";
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@Override
|
||||
@@ -382,11 +387,13 @@ public class MinecraftClientWrapper implements IMinecraftClientWrapper, IMinecra
|
||||
|
||||
public void disableVanillaChunkFadeIn()
|
||||
{
|
||||
LOGGER.info("Disabling vanilla chunk fade in... This is done to prevent vanilla chunks from flashing on the Distant Horizons boarder when moving (which is distracting).");
|
||||
String message = "Disabling vanilla chunk fade in... This is done to prevent vanilla chunks from flashing on the Distant Horizons boarder when moving (which is distracting).";
|
||||
|
||||
#if MC_VER <= MC_1_21_10
|
||||
// chunk fade in was added MC 1.21.11
|
||||
#else
|
||||
LOGGER.info(message);
|
||||
|
||||
MINECRAFT.options.chunkSectionFadeInTime().set(0.0);
|
||||
#endif
|
||||
}
|
||||
|
||||
+9
-8
@@ -173,26 +173,27 @@ public class MinecraftRenderWrapper implements IMinecraftRenderWrapper
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
#if MC_VER <= MC_1_12_2
|
||||
else if (MC.player.getActivePotionMap() == null)
|
||||
#else
|
||||
else if (MC.player.getActiveEffectsMap() == null)
|
||||
#endif
|
||||
if (MC.player.getActivePotionMap() == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
#if MC_VER <= MC_1_12_2
|
||||
|
||||
return MC.player.getActivePotionEffect(MobEffects.BLINDNESS) != null;
|
||||
#else
|
||||
if (MC.player.getActiveEffectsMap() == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return MC.player.getActiveEffectsMap().get(MobEffects.BLINDNESS) != null
|
||||
#if MC_VER >= MC_1_19_2
|
||||
|| MC.player.getActiveEffectsMap().get(MobEffects.DARKNESS) != null // Deep dark effect
|
||||
#endif
|
||||
;
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+4
@@ -35,6 +35,8 @@ public class ProfilerWrapper implements IProfilerWrapper
|
||||
public ProfilerFiller profiler;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if MC_VER <= MC_1_12_2
|
||||
public ProfilerWrapper(Profiler newProfiler)
|
||||
#else
|
||||
@@ -42,6 +44,8 @@ public class ProfilerWrapper implements IProfilerWrapper
|
||||
#endif
|
||||
{ this.profiler = newProfiler; }
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public IProfileBlock push(String newSection)
|
||||
{
|
||||
|
||||
+1
@@ -107,6 +107,7 @@ public class ServerPlayerWrapper implements IServerPlayerWrapper
|
||||
#else
|
||||
ServerLevel level = ((IMixinServerPlayer) this.getServerPlayer()).distantHorizons$getDimensionChangeDestination();
|
||||
#endif
|
||||
|
||||
if (level == null)
|
||||
{
|
||||
#if MC_VER <= MC_1_12_2
|
||||
|
||||
+43
-11
@@ -6,6 +6,7 @@ import com.seibel.distanthorizons.common.wrappers.block.BiomeWrapper;
|
||||
import com.seibel.distanthorizons.common.wrappers.block.BlockStateWrapper;
|
||||
import com.seibel.distanthorizons.common.wrappers.block.ClientBlockStateColorCache;
|
||||
import com.seibel.distanthorizons.common.wrappers.chunk.ChunkWrapper;
|
||||
import com.seibel.distanthorizons.common.wrappers.minecraft.MinecraftClientWrapper;
|
||||
import com.seibel.distanthorizons.core.dataObjects.fullData.sources.FullDataSourceV2;
|
||||
import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
|
||||
import com.seibel.distanthorizons.core.level.*;
|
||||
@@ -76,16 +77,30 @@ public class ClientLevelWrapper implements IClientLevelWrapper
|
||||
* where, upon world closure, some levels aren't shutdown/removed properly
|
||||
* and/or for servers were the level object isn't consistent
|
||||
*/
|
||||
private static final Map<#if MC_VER <= MC_1_12_2 WorldClient #else ClientLevel #endif, WeakReference<ClientLevelWrapper>> LEVEL_WRAPPER_REF_BY_CLIENT_LEVEL = Collections.synchronizedMap(new WeakHashMap<>());
|
||||
private static final Map<
|
||||
#if MC_VER <= MC_1_12_2 WorldClient #else ClientLevel #endif,
|
||||
WeakReference<ClientLevelWrapper>> LEVEL_WRAPPER_REF_BY_CLIENT_LEVEL = Collections.synchronizedMap(new WeakHashMap<>());
|
||||
private static final IKeyedClientLevelManager KEYED_CLIENT_LEVEL_MANAGER = SingletonInjector.INSTANCE.get(IKeyedClientLevelManager.class);
|
||||
|
||||
private static final Minecraft MINECRAFT = Minecraft.#if MC_VER <= MC_1_12_2 getMinecraft() #else getInstance() #endif;
|
||||
#if MC_VER <= MC_1_12_2
|
||||
private static final Minecraft MINECRAFT = Minecraft.getMinecraft();
|
||||
#else
|
||||
private static final Minecraft MINECRAFT = Minecraft.getInstance();
|
||||
#endif
|
||||
|
||||
#if MC_VER <= MC_1_12_2
|
||||
private final WorldClient level;
|
||||
private final ConcurrentHashMap<IBlockState, ClientBlockStateColorCache> blockColorCacheByBlockState = new ConcurrentHashMap<>();
|
||||
#else
|
||||
private final ClientLevel level;
|
||||
private final ConcurrentHashMap<BlockState, ClientBlockStateColorCache> blockColorCacheByBlockState = new ConcurrentHashMap<>();
|
||||
#endif
|
||||
|
||||
private final #if MC_VER <= MC_1_12_2 WorldClient #else ClientLevel #endif level;
|
||||
private final ConcurrentHashMap<#if MC_VER <= MC_1_12_2 IBlockState #else BlockState #endif, ClientBlockStateColorCache> blockColorCacheByBlockState = new ConcurrentHashMap<>();
|
||||
|
||||
/** cached method reference to reduce GC overhead */
|
||||
private final Function<#if MC_VER <= MC_1_12_2 IBlockState #else BlockState #endif, ClientBlockStateColorCache> createCachedBlockColorCacheFunc
|
||||
private final Function<
|
||||
#if MC_VER <= MC_1_12_2 IBlockState #else BlockState #endif,
|
||||
ClientBlockStateColorCache> createCachedBlockColorCacheFunc
|
||||
= (blockState) -> new ClientBlockStateColorCache(blockState, this);
|
||||
|
||||
|
||||
@@ -117,7 +132,9 @@ public class ClientLevelWrapper implements IClientLevelWrapper
|
||||
* IE rendering.
|
||||
*/
|
||||
@Nullable
|
||||
public static IClientLevelWrapper getWrapperIfDifferent(@Nullable IClientLevelWrapper levelWrapper, @NotNull #if MC_VER <= MC_1_12_2 WorldClient #else ClientLevel #endif level)
|
||||
public static IClientLevelWrapper getWrapperIfDifferent(
|
||||
@Nullable IClientLevelWrapper levelWrapper,
|
||||
@NotNull #if MC_VER <= MC_1_12_2 WorldClient #else ClientLevel #endif level)
|
||||
{
|
||||
if (KEYED_CLIENT_LEVEL_MANAGER.isEnabled() && KEYED_CLIENT_LEVEL_MANAGER.getServerKeyedLevel() != levelWrapper)
|
||||
{
|
||||
@@ -135,10 +152,13 @@ public class ClientLevelWrapper implements IClientLevelWrapper
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static IClientLevelWrapper getWrapper(@NotNull #if MC_VER <= MC_1_12_2 WorldClient #else ClientLevel #endif level) { return getWrapper(level, false); }
|
||||
public static IClientLevelWrapper getWrapper(
|
||||
@NotNull #if MC_VER <= MC_1_12_2 WorldClient #else ClientLevel #endif level)
|
||||
{ return getWrapper(level, false); }
|
||||
|
||||
@Nullable
|
||||
public static IClientLevelWrapper getWrapper(@Nullable #if MC_VER <= MC_1_12_2 WorldClient #else ClientLevel #endif level, boolean bypassLevelKeyManager)
|
||||
public static IClientLevelWrapper getWrapper(
|
||||
@Nullable #if MC_VER <= MC_1_12_2 WorldClient #else ClientLevel #endif level, boolean bypassLevelKeyManager)
|
||||
{
|
||||
if (!bypassLevelKeyManager)
|
||||
{
|
||||
@@ -197,7 +217,7 @@ public class ClientLevelWrapper implements IClientLevelWrapper
|
||||
#if MC_VER <= MC_1_12_2
|
||||
WorldServer[] serverLevels = MINECRAFT.getIntegratedServer().worlds;
|
||||
#else
|
||||
Iterable<#if MC_VER <= MC_1_12_2 WorldServer #else ServerLevel #endif> serverLevels = MINECRAFT.getSingleplayerServer().getAllLevels();
|
||||
Iterable<ServerLevel> serverLevels = MINECRAFT.getSingleplayerServer().getAllLevels();
|
||||
#endif
|
||||
|
||||
// attempt to find the server level with the same dimension type
|
||||
@@ -457,10 +477,20 @@ public class ClientLevelWrapper implements IClientLevelWrapper
|
||||
public Color getCloudColor(float tickDelta)
|
||||
{
|
||||
#if MC_VER < MC_1_21_3
|
||||
#if MC_VER <= MC_1_12_2 Vec3d #else Vec3 #endif colorVec3 = null;
|
||||
|
||||
#if MC_VER <= MC_1_12_2
|
||||
Vec3d colorVec3 = null;
|
||||
#else
|
||||
Vec3 colorVec3 = null;
|
||||
#endif
|
||||
try
|
||||
{
|
||||
colorVec3 = this.level.#if MC_VER <= MC_1_12_2 getCloudColour #else getCloudColor #endif (tickDelta);
|
||||
#if MC_VER <= MC_1_12_2
|
||||
colorVec3 = this.level.getCloudColour(tickDelta);
|
||||
#else
|
||||
colorVec3 = this.level.getCloudColor(tickDelta);
|
||||
#endif
|
||||
|
||||
return new Color((float)colorVec3.x, (float)colorVec3.y, (float)colorVec3.z);
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -544,4 +574,6 @@ public class ClientLevelWrapper implements IClientLevelWrapper
|
||||
|
||||
//endregion
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
+4
@@ -198,6 +198,7 @@ public final class BatchGenerationEnvironment implements IBatchGeneratorEnvironm
|
||||
this.updateManager = WorldChunkUpdateManager.INSTANCE.getByLevelWrapper(this.dhServerLevel.getServerLevelWrapper());
|
||||
this.globalParams = new GlobalWorldGenParams(dhServerLevel);
|
||||
this.internalServerGenerator = new InternalServerGenerator(this.globalParams, this.dhServerLevel);
|
||||
|
||||
#if MC_VER > MC_1_12_2
|
||||
this.chunkFileReader = new ChunkFileReader(this.globalParams);
|
||||
|
||||
@@ -327,8 +328,11 @@ public final class BatchGenerationEnvironment implements IBatchGeneratorEnvironm
|
||||
//================//
|
||||
// variable setup //
|
||||
//================//
|
||||
|
||||
#if MC_VER <= MC_1_12_2
|
||||
// MC 1.12 can only run world gen on the main thread
|
||||
this.internalServerGenerator.generateChunksViaInternalServer(genEvent);
|
||||
|
||||
#else
|
||||
int borderSize = MAX_WORLD_GEN_CHUNK_BORDER_NEEDED;
|
||||
// genEvent.size - 1 converts the even width size to an odd number for MC compatability
|
||||
|
||||
Reference in New Issue
Block a user