diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/McObjectConverter.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/McObjectConverter.java index e475dbc69..98dd01dd8 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/McObjectConverter.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/McObjectConverter.java @@ -20,11 +20,9 @@ package com.seibel.distanthorizons.common.wrappers; import java.nio.FloatBuffer; -import java.util.function.BiConsumer; -import java.util.function.Consumer; import com.seibel.distanthorizons.core.enums.EDhDirection; -import com.seibel.distanthorizons.core.pos.DhBlockPos; +import com.seibel.distanthorizons.core.pos.blockPos.DhBlockPos; import com.seibel.distanthorizons.core.pos.DhChunkPos; import com.seibel.distanthorizons.core.util.math.Mat4f; @@ -137,41 +135,10 @@ public class McObjectConverter } } - public static BlockPos Convert(DhBlockPos wrappedPos) - { - return new BlockPos(wrappedPos.x, wrappedPos.y, wrappedPos.z); - } - public static ChunkPos Convert(DhChunkPos wrappedPos) - { - return new ChunkPos(wrappedPos.x, wrappedPos.z); - } + public static BlockPos Convert(DhBlockPos wrappedPos) { return new BlockPos(wrappedPos.getX(), wrappedPos.getY(), wrappedPos.getZ()); } + public static ChunkPos Convert(DhChunkPos wrappedPos) { return new ChunkPos(wrappedPos.getX(), wrappedPos.getZ()); } - public static Direction Convert(EDhDirection lodDirection) - { - return directions[lodDirection.ordinal()]; - } - public static EDhDirection Convert(Direction direction) - { - return lodDirections[direction.ordinal()]; - } - public static void DebugCheckAllPackers() - { - BiConsumer func = (x, z) -> DhChunkPos._DebugCheckPacker(x, z, ChunkPos.asLong(x, z)); - func.accept(0, 0); - func.accept(12345, 134); - func.accept(-12345, -134); - func.accept(-30000000 / 16, 30000000 / 16); - func.accept(30000000 / 16, -30000000 / 16); - func.accept(30000000 / 16, 30000000 / 16); - func.accept(-30000000 / 16, -30000000 / 16); - Consumer func2 = (p) -> DhBlockPos._DebugCheckPacker(p.getX(), p.getY(), p.getZ(), p.asLong()); - func2.accept(new BlockPos(0, 0, 0)); - func2.accept(new BlockPos(12345, 134, 123)); - func2.accept(new BlockPos(-12345, -134, -80)); - func2.accept(new BlockPos(-30000000, 2047, 30000000)); - func2.accept(new BlockPos(30000000, -2048, -30000000)); - func2.accept(new BlockPos(30000000, 2047, 30000000)); - func2.accept(new BlockPos(-30000000, -2048, -30000000)); - } + public static Direction Convert(EDhDirection lodDirection) { return directions[lodDirection.ordinal()]; } + public static EDhDirection Convert(Direction direction) { return lodDirections[direction.ordinal()]; } } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/BlockStateWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/BlockStateWrapper.java index 3652219a7..6431adc5c 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/BlockStateWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/BlockStateWrapper.java @@ -30,6 +30,7 @@ import com.seibel.distanthorizons.core.wrapperInterfaces.block.IBlockStateWrappe import com.seibel.distanthorizons.core.wrapperInterfaces.world.ILevelWrapper; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.BlockTags; +import net.minecraft.world.level.block.BeaconBeamBlock; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SoundType; @@ -101,8 +102,9 @@ public class BlockStateWrapper implements IBlockStateWrapper private byte blockMaterialId = 0; private final boolean isBeaconBlock; - private final boolean isBeaconBaseBlock; - private final boolean isGlassBlock; + private final boolean isBeaconBaseBlock; + /** null if this block can't tint beacons */ + private final Color beaconTintColor; private final Color mapColor; @@ -138,6 +140,7 @@ public class BlockStateWrapper implements IBlockStateWrapper this.hashCode = Objects.hash(this.serialString); this.blockMaterialId = this.calculateEDhApiBlockMaterialId().index; + // beacon blocks String lowercaseSerial = this.serialString.toLowerCase(); boolean isBeaconBaseBlock = false; for (int i = 0; i < LodUtil.BEACON_BASE_BLOCK_NAME_LIST.size(); i++) @@ -151,7 +154,28 @@ public class BlockStateWrapper implements IBlockStateWrapper } this.isBeaconBaseBlock = isBeaconBaseBlock; this.isBeaconBlock = lowercaseSerial.contains("minecraft:beacon"); - this.isGlassBlock = lowercaseSerial.contains("glass"); + + // beacon tint color + Color beaconTintColor = null; + if (this.blockState != null + // beacon blocks also show up here, but since they block the beacon beam we don't want their color + && !this.isBeaconBlock) + { + Block block = this.blockState.getBlock(); + if (block instanceof BeaconBeamBlock) + { + int colorInt; + #if MC_VER <= MC_1_19_4 + colorInt = ((BeaconBeamBlock) block).getColor().getMaterialColor().col; + #else + colorInt = ((BeaconBeamBlock) block).getColor().getMapColor().col; + #endif + + beaconTintColor = ColorUtil.toColorObjRGB(colorInt); + } + } + this.beaconTintColor = beaconTintColor; + int mcColor = 0; if (this.blockState != null) @@ -398,10 +422,12 @@ public class BlockStateWrapper implements IBlockStateWrapper @Override public boolean isBeaconBaseBlock() { return this.isBeaconBaseBlock; } @Override - public boolean isGlassBlock() { return this.isGlassBlock; } + public boolean isBeaconTintBlock() { return this.beaconTintColor != null; } @Override public Color getMapColor() { return this.mapColor; } + @Override + public Color getBeaconTintColor() { return this.beaconTintColor; } @Override public byte getMaterialId() { return this.blockMaterialId; } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/ClientBlockStateColorCache.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/ClientBlockStateColorCache.java index ec9e211cc..3179b7522 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/ClientBlockStateColorCache.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/ClientBlockStateColorCache.java @@ -19,13 +19,9 @@ package com.seibel.distanthorizons.common.wrappers.block; -import com.seibel.distanthorizons.common.wrappers.block.BiomeWrapper; -import com.seibel.distanthorizons.common.wrappers.block.TextureAtlasSpriteWrapper; -import com.seibel.distanthorizons.common.wrappers.block.TintWithoutLevelOverrider; import com.seibel.distanthorizons.common.wrappers.McObjectConverter; -import com.seibel.distanthorizons.common.wrappers.block.*; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; -import com.seibel.distanthorizons.core.pos.DhBlockPos; +import com.seibel.distanthorizons.core.pos.blockPos.DhBlockPos; import com.seibel.distanthorizons.core.util.ColorUtil; import com.seibel.distanthorizons.core.wrapperInterfaces.world.IClientLevelWrapper; import net.minecraft.client.Minecraft; diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/chunk/ChunkWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/chunk/ChunkWrapper.java index 1120192b8..3878c2c45 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/chunk/ChunkWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/chunk/ChunkWrapper.java @@ -24,7 +24,7 @@ import com.seibel.distanthorizons.common.wrappers.block.BlockStateWrapper; import com.seibel.distanthorizons.common.wrappers.worldGeneration.mimicObject.DhLitWorldGenRegion; import com.seibel.distanthorizons.core.api.internal.SharedApi; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; -import com.seibel.distanthorizons.core.pos.DhBlockPos; +import com.seibel.distanthorizons.core.pos.blockPos.DhBlockPos; import com.seibel.distanthorizons.core.pos.DhChunkPos; import com.seibel.distanthorizons.core.util.LodUtil; import com.seibel.distanthorizons.core.world.EWorldEnvironment; @@ -467,7 +467,7 @@ public class ChunkWrapper implements IChunkWrapper * before the list has finished populating. */ @Override - public synchronized ArrayList getBlockLightPosList() + public synchronized ArrayList getWorldBlockLightPosList() { // only populate the list once if (this.blockLightPosList == null) @@ -483,7 +483,13 @@ public class ChunkWrapper implements IChunkWrapper #else this.chunk.findBlockLightSources((blockPos, blockState) -> { - this.blockLightPosList.add(new DhBlockPos(blockPos.getX(), blockPos.getY(), blockPos.getZ())); + DhBlockPos pos = new DhBlockPos(blockPos.getX(), blockPos.getY(), blockPos.getZ()); + + // this can be uncommented if MC decides to return relative block positions in the future instead of world positions + //pos.mutateToChunkRelativePos(pos); + //pos.mutateOffset(this.chunkPos.getMinBlockX(), 0, this.chunkPos.getMinBlockZ(), pos); + + this.blockLightPosList.add(pos); }); #endif } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftClientWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftClientWrapper.java index 7adb86b9f..3d9579387 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftClientWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftClientWrapper.java @@ -39,7 +39,7 @@ import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftCli import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftSharedWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IProfilerWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.world.ILevelWrapper; -import com.seibel.distanthorizons.core.pos.DhBlockPos; +import com.seibel.distanthorizons.core.pos.blockPos.DhBlockPos; import com.seibel.distanthorizons.core.pos.DhChunkPos; import net.minecraft.CrashReport; @@ -47,7 +47,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.multiplayer.ServerData; import net.minecraft.client.player.LocalPlayer; -import net.minecraft.client.resources.model.ModelManager; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; #if MC_VER < MC_1_19_2 diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftRenderWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftRenderWrapper.java index defdf0103..272a78976 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftRenderWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/minecraft/MinecraftRenderWrapper.java @@ -21,29 +21,26 @@ package com.seibel.distanthorizons.common.wrappers.minecraft; import java.awt.Color; import java.lang.invoke.MethodHandles; -import java.util.Collection; -import java.util.HashSet; import java.util.concurrent.ConcurrentHashMap; -import java.util.stream.Collectors; import com.mojang.blaze3d.pipeline.RenderTarget; import com.mojang.blaze3d.platform.NativeImage; -import com.mojang.blaze3d.systems.RenderSystem; -import com.seibel.distanthorizons.common.wrappers.McObjectConverter; import com.seibel.distanthorizons.common.wrappers.WrapperFactory; import com.seibel.distanthorizons.common.wrappers.misc.LightMapWrapper; -import com.seibel.distanthorizons.core.pos.DhChunkPos; import com.seibel.distanthorizons.core.dependencyInjection.ModAccessorInjector; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; import com.seibel.distanthorizons.core.wrapperInterfaces.misc.ILightMapWrapper; +#if MC_VER >= MC_1_17_1 +import net.minecraft.client.renderer.FogRenderer; +import com.mojang.blaze3d.systems.RenderSystem; +#endif + #if MC_VER < MC_1_19_4 import org.joml.Matrix4f; import org.joml.Vector3f; #else -import org.joml.Matrix4f; -import org.joml.Vector3f; #endif #if MC_VER >= MC_1_20_2 import net.minecraft.client.renderer.chunk.SectionRenderDispatcher; @@ -53,20 +50,14 @@ import com.seibel.distanthorizons.core.wrapperInterfaces.modAccessor.AbstractOpt import com.seibel.distanthorizons.core.wrapperInterfaces.world.IClientLevelWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.world.IDimensionTypeWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.world.ILevelWrapper; -import com.seibel.distanthorizons.core.util.math.Mat4f; import com.seibel.distanthorizons.core.util.math.Vec3d; import com.seibel.distanthorizons.core.util.math.Vec3f; import com.seibel.distanthorizons.core.wrapperInterfaces.IWrapperFactory; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.modAccessor.IOptifineAccessor; -import com.seibel.distanthorizons.core.wrapperInterfaces.modAccessor.ISodiumAccessor; -import com.seibel.distanthorizons.core.pos.DhBlockPos; import net.minecraft.client.Camera; import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.FogRenderer; -import net.minecraft.client.renderer.LevelRenderer; -import net.minecraft.core.BlockPos; import net.minecraft.world.effect.MobEffects; #if MC_VER < MC_1_17_1 import net.minecraft.tags.FluidTags; @@ -76,7 +67,6 @@ import org.lwjgl.opengl.GL15; #else import net.minecraft.world.level.material.FogType; #endif -import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; import org.apache.logging.log4j.Logger; diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/world/ClientLevelWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/world/ClientLevelWrapper.java index a82a29444..55ee87511 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/world/ClientLevelWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/world/ClientLevelWrapper.java @@ -7,14 +7,12 @@ 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.core.api.internal.ClientApi; import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector; import com.seibel.distanthorizons.core.level.*; import com.seibel.distanthorizons.core.level.IServerKeyedClientLevel; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; -import com.seibel.distanthorizons.core.pos.DhBlockPos; +import com.seibel.distanthorizons.core.pos.blockPos.DhBlockPos; import com.seibel.distanthorizons.core.pos.DhChunkPos; -import com.seibel.distanthorizons.core.util.ColorUtil; import com.seibel.distanthorizons.core.wrapperInterfaces.block.IBlockStateWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.chunk.IChunkWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.world.IBiomeWrapper; @@ -27,10 +25,12 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.chunk.ChunkAccess; import net.minecraft.world.level.chunk.ChunkSource; +import net.minecraft.world.phys.Vec3; import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.awt.*; import java.io.IOException; import java.util.concurrent.ConcurrentHashMap; @@ -221,12 +221,12 @@ public class ClientLevelWrapper implements IClientLevelWrapper @Override public IChunkWrapper tryGetChunk(DhChunkPos pos) { - if (!this.level.hasChunk(pos.x, pos.z)) + if (!this.level.hasChunk(pos.getX(), pos.getZ())) { return null; } - ChunkAccess chunk = this.level.getChunk(pos.x, pos.z, ChunkStatus.EMPTY, false); + ChunkAccess chunk = this.level.getChunk(pos.getX(), pos.getZ(), ChunkStatus.EMPTY, false); if (chunk == null) { return null; @@ -281,6 +281,13 @@ public class ClientLevelWrapper implements IClientLevelWrapper return this.parentDhLevel.getGenericRenderer(); } + @Override + public Color getCloudColor(float tickDelta) + { + Vec3 colorVec3 = this.level.getCloudColor(tickDelta); + return new Color((float)colorVec3.x, (float)colorVec3.y, (float)colorVec3.z); + } + //================// diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/world/ServerLevelWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/world/ServerLevelWrapper.java index 5504e96c0..15f672f0e 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/world/ServerLevelWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/world/ServerLevelWrapper.java @@ -30,7 +30,7 @@ import com.seibel.distanthorizons.common.wrappers.block.BlockStateWrapper; import com.seibel.distanthorizons.common.wrappers.chunk.ChunkWrapper; import com.seibel.distanthorizons.core.level.IDhLevel; import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; -import com.seibel.distanthorizons.core.pos.DhBlockPos; +import com.seibel.distanthorizons.core.pos.blockPos.DhBlockPos; import com.seibel.distanthorizons.core.pos.DhChunkPos; import com.seibel.distanthorizons.core.wrapperInterfaces.block.IBlockStateWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.chunk.IChunkWrapper; @@ -137,11 +137,11 @@ public class ServerLevelWrapper implements IServerLevelWrapper @Override public IChunkWrapper tryGetChunk(DhChunkPos pos) { - if (!this.level.hasChunk(pos.x, pos.z)) + if (!this.level.hasChunk(pos.getX(), pos.getZ())) { return null; } - ChunkAccess chunk = this.level.getChunk(pos.x, pos.z, ChunkStatus.FULL, false); + ChunkAccess chunk = this.level.getChunk(pos.getX(), pos.getZ(), ChunkStatus.FULL, false); if (chunk == null) { return null; diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/BatchGenerationEnvironment.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/BatchGenerationEnvironment.java index 0b70d2309..6311dfa60 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/BatchGenerationEnvironment.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/BatchGenerationEnvironment.java @@ -398,8 +398,8 @@ public final class BatchGenerationEnvironment extends AbstractBatchGenerationEnv int borderSize = MAX_WORLD_GEN_CHUNK_BORDER_NEEDED; // genEvent.size - 1 converts the even width size to an odd number for MC compatability int refSize = (genEvent.size - 1) + (borderSize * 2); - int refPosX = genEvent.minPos.x - borderSize; - int refPosZ = genEvent.minPos.z - borderSize; + int refPosX = genEvent.minPos.getX() - borderSize; + int refPosZ = genEvent.minPos.getZ() - borderSize; LightGetterAdaptor lightGetterAdaptor = new LightGetterAdaptor(this.params.level); DummyLightEngine dummyLightEngine = new DummyLightEngine(lightGetterAdaptor); diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/mimicObject/DhLitWorldGenRegion.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/mimicObject/DhLitWorldGenRegion.java index 1d9c76676..4c2641aa4 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/mimicObject/DhLitWorldGenRegion.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/mimicObject/DhLitWorldGenRegion.java @@ -20,7 +20,6 @@ package com.seibel.distanthorizons.common.wrappers.worldGeneration.mimicObject; import java.lang.invoke.MethodHandles; -import java.util.EnumSet; import java.util.List; import java.util.concurrent.locks.ReentrantLock; import com.seibel.distanthorizons.common.wrappers.chunk.ChunkWrapper; @@ -235,6 +234,22 @@ public class DhLitWorldGenRegion extends WorldGenRegion #endif } + /** + * This needs to be manually overridden to make sure Lithium 0.11.2 and lower + * don't try to get null chunks.

+ * + * Problematic Lithium code was removed in 0.13.0 (MC 1.21.1) and higher:
+ * https://github.com/CaffeineMC/lithium-fabric/commit/b7cfd53a1ed0197e1d13dea2799b898eb52ecab3 + */ + @NotNull + @Override + public BlockState getBlockState(BlockPos blockPos) + { + int chunkX = SectionPos.blockToSectionCoord(blockPos.getX()); + int chunkZ = SectionPos.blockToSectionCoord(blockPos.getZ()); + return this.getChunk(chunkX, chunkZ).getBlockState(blockPos); + } + /** Skip BlockEntity stuff. They aren't needed for our use case. */ @Override public boolean addFreshEntity(@NotNull Entity entity) { return true; } diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/step/StepFeatures.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/step/StepFeatures.java index 962dd8e15..382d777dc 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/step/StepFeatures.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/worldGeneration/step/StepFeatures.java @@ -80,7 +80,7 @@ public final class StepFeatures worldGenRegion.setOverrideCenter(chunk.getPos()); environment.params.generator.applyBiomeDecoration(worldGenRegion, tParams.structFeat); #else - if (worldGenRegion.hasChunk(chunkWrapper.getChunkPos().x, chunkWrapper.getChunkPos().z)) + if (worldGenRegion.hasChunk(chunkWrapper.getChunkPos().getX(), chunkWrapper.getChunkPos().getZ())) { this.environment.params.generator.applyBiomeDecoration(worldGenRegion, chunk, tParams.structFeat.forWorldGenRegion(worldGenRegion)); } diff --git a/coreSubProjects b/coreSubProjects index 6fe0477ca..a2949b812 160000 --- a/coreSubProjects +++ b/coreSubProjects @@ -1 +1 @@ -Subproject commit 6fe0477ca7b9b66908a1f66854e7f124506b648b +Subproject commit a2949b81248303c4949758a4a1003d0bda7c5381 diff --git a/gradle.properties b/gradle.properties index 2a5894915..81b87ae8d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,7 @@ org.gradle.caching=true # Mod Info mod_name=DistantHorizons -mod_version=2.2.1-a-dev +mod_version=2.2.2-a-dev api_version=3.0.0 maven_group=com.seibel.distanthorizons mod_readable_name=Distant Horizons