Compare commits

...

16 Commits

Author SHA1 Message Date
morippi cd00c02bef Added some other comment 2022-07-22 14:37:38 +02:00
morippi b8bb69cb00 small fix 2022-07-22 13:59:04 +02:00
morippi 225bfab05e everything seems to work, new vertical merge 2022-07-22 13:33:43 +02:00
morippi 79861a4c2d Some error are still present. Almost working (the games run, but doesn't generate chunk) 2022-07-22 01:46:05 +02:00
morippi d7936fce5f Transparency should work but it doesn't 2022-07-21 18:46:09 +02:00
morippi 4de88ce088 block that touch trasparent surfaces are added in the building phase and added to the rendering phase. Transparenc is not working for some reason 2022-07-21 16:32:48 +02:00
James Seibel 086185783c Update the required Forge version
41.0.94 is the last version that doesn't work
2022-07-14 01:52:14 +00:00
coolGi 70321c2d0f Changed the version range to say when forge decided to rename stuff 2022-07-13 13:23:29 +09:30
coolGi 9ce353d897 Changed version numbers to 1.6.7 2022-07-12 23:42:07 +09:30
coolGi 1d1a2d455d Changed version numbers to 1.6.7 2022-07-12 23:41:52 +09:30
coolGi fa1e7704e0 Forge fix *again. For the 2nd time.* **In the same update.** 2022-07-12 23:36:36 +09:30
jas35484 1227c56353 Merge branch 'minecraft-lod-mod-1.6.4a_dev' into 1.6.4a_dev
# Conflicts:
#	.gitlab-ci.yml
2022-07-11 07:48:24 -05:00
James Seibel 22c85f1eda Update forge mods.toml to the correct max version 2022-07-10 18:20:58 -05:00
James Seibel d75a4f8d1a Fix compiling for MC 18 and below 2022-07-10 17:30:03 -05:00
James Seibel 7f69809345 Fix compatibility with Forge 1.19-41.0.85 2022-07-09 19:49:15 -05:00
Mitchell Skaggs 6576f55c55 Fix CI 2022-06-23 04:49:50 -05:00
9 changed files with 83 additions and 23 deletions
+3 -3
View File
@@ -6,8 +6,8 @@ parchment_version=2022.03.13
compatible_minecraft_versions=["1.19"] compatible_minecraft_versions=["1.19"]
# Fabric loader # Fabric loader
fabric_loader_version=0.14.7 fabric_loader_version=0.14.8
fabric_api_version=0.55.3+1.19 fabric_api_version=0.57.0+1.19
# Fabric mod versions # Fabric mod versions
modmenu_version=4.0.0 modmenu_version=4.0.0
starlight_version_fabric=0 starlight_version_fabric=0
@@ -30,7 +30,7 @@ fabric_api_version=0.55.3+1.19
enable_bclib=0 enable_bclib=0
# Forge loader # Forge loader
forge_version=41.0.19 forge_version=41.0.94
# Forge mod versions # Forge mod versions
starlight_version_forge=0 starlight_version_forge=0
terraforged_version= terraforged_version=
+3 -3
View File
@@ -27,9 +27,9 @@ Architectury loom version: 0.12.0-SNAPSHOT\
Java Compiler plugin: Manifold Preprocessor Java Compiler plugin: Manifold Preprocessor
#### 1.19 mods #### 1.19 mods
Forge version: 41.0.10\ Forge version: 41.0.94\
Fabric version: 0.14.7\ Fabric version: 0.14.8\
Fabric API version: 0.55.3+1.19\ Fabric API version: 0.57.0+1.19\
Modmenu version: 4.0.0 Modmenu version: 4.0.0
#### 1.18.2 mods #### 1.18.2 mods
@@ -157,13 +157,14 @@ public class BlockDetailWrapper extends IBlockDetailWrapper
(int) (Math.sqrt(blue / count)*255.)); (int) (Math.sqrt(blue / count)*255.));
} }
// TODO: Remove this when transparency is added! // TODO: Remove this when transparency is added!
/*
double colorAlpha = ColorUtil.getAlpha(tempColor)/255.; double colorAlpha = ColorUtil.getAlpha(tempColor)/255.;
tempColor = ColorUtil.rgbToInt( tempColor = ColorUtil.rgbToInt(
ColorUtil.getAlpha(tempColor), ColorUtil.getAlpha(tempColor),
(int)(ColorUtil.getRed(tempColor) * colorAlpha), (int)(ColorUtil.getRed(tempColor) * colorAlpha),
(int)(ColorUtil.getGreen(tempColor) * colorAlpha), (int)(ColorUtil.getGreen(tempColor) * colorAlpha),
(int)(ColorUtil.getBlue(tempColor) * colorAlpha) (int)(ColorUtil.getBlue(tempColor) * colorAlpha)
); );*/
return tempColor; return tempColor;
} }
@@ -244,6 +245,7 @@ public class BlockDetailWrapper extends IBlockDetailWrapper
} }
} else { // Liquid Block } else { // Liquid Block
dontOccludeFaces = new boolean[6]; dontOccludeFaces = new boolean[6];
Arrays.fill(dontOccludeFaces, true);
} }
} }
+1 -1
Submodule core updated: e1b2c62854...6f4b0a54e9
@@ -35,9 +35,15 @@ import com.seibel.lod.common.wrappers.world.WorldWrapper;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraftforge.client.event.InputEvent; import net.minecraftforge.client.event.InputEvent;
import net.minecraftforge.event.TickEvent; import net.minecraftforge.event.TickEvent;
#if PRE_MC_1_19
import net.minecraftforge.event.world.BlockEvent; import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.event.world.ChunkEvent; import net.minecraftforge.event.world.ChunkEvent;
import net.minecraftforge.event.world.WorldEvent; import net.minecraftforge.event.world.WorldEvent;
#else
import net.minecraftforge.event.level.BlockEvent;
import net.minecraftforge.event.level.ChunkEvent;
import net.minecraftforge.event.level.LevelEvent;
#endif
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
/** /**
@@ -64,30 +70,55 @@ public class ForgeClientProxy
@SubscribeEvent @SubscribeEvent
public void chunkLoadEvent(ChunkEvent.Load event) public void chunkLoadEvent(ChunkEvent.Load event)
{ {
#if PRE_MC_1_19
clientApi.clientChunkLoadEvent(new ChunkWrapper(event.getChunk(), event.getWorld()), WorldWrapper.getWorldWrapper(event.getWorld())); clientApi.clientChunkLoadEvent(new ChunkWrapper(event.getChunk(), event.getWorld()), WorldWrapper.getWorldWrapper(event.getWorld()));
#else
clientApi.clientChunkLoadEvent(new ChunkWrapper(event.getChunk(), event.getLevel()), WorldWrapper.getWorldWrapper(event.getLevel()));
#endif
} }
@SubscribeEvent @SubscribeEvent
#if PRE_MC_1_19
public void worldSaveEvent(WorldEvent.Save event) public void worldSaveEvent(WorldEvent.Save event)
#else
public void worldSaveEvent(LevelEvent.Save event)
#endif
{ {
eventApi.worldSaveEvent(); eventApi.worldSaveEvent();
} }
/** This is also called when a new dimension loads */ /** This is also called when a new dimension loads */
@SubscribeEvent @SubscribeEvent
#if PRE_MC_1_19
public void worldLoadEvent(WorldEvent.Load event) public void worldLoadEvent(WorldEvent.Load event)
#else
public void worldLoadEvent(LevelEvent.Load event)
#endif
{ {
if (Minecraft.getInstance().screen instanceof TitleScreen) return; if (Minecraft.getInstance().screen instanceof TitleScreen) return;
#if PRE_MC_1_19
if (event.getWorld() != null) { if (event.getWorld() != null) {
eventApi.worldLoadEvent(WorldWrapper.getWorldWrapper(event.getWorld())); eventApi.worldLoadEvent(WorldWrapper.getWorldWrapper(event.getWorld()));
} }
#else
if (event.getLevel() != null) {
eventApi.worldLoadEvent(WorldWrapper.getWorldWrapper(event.getLevel()));
}
#endif
} }
@SubscribeEvent @SubscribeEvent
#if PRE_MC_1_19
public void worldUnloadEvent(WorldEvent.Unload event) public void worldUnloadEvent(WorldEvent.Unload event)
{ {
eventApi.worldUnloadEvent(WorldWrapper.getWorldWrapper(event.getWorld())); eventApi.worldUnloadEvent(WorldWrapper.getWorldWrapper(event.getWorld()));
} }
#else
public void worldUnloadEvent(LevelEvent.Unload event)
{
eventApi.worldUnloadEvent(WorldWrapper.getWorldWrapper(event.getLevel()));
}
#endif
@SubscribeEvent @SubscribeEvent
public void blockChangeEvent(BlockEvent event) public void blockChangeEvent(BlockEvent event)
@@ -99,8 +130,13 @@ public class ForgeClientProxy
event.getClass() == BlockEvent.FluidPlaceBlockEvent.class || event.getClass() == BlockEvent.FluidPlaceBlockEvent.class ||
event.getClass() == BlockEvent.PortalSpawnEvent.class) event.getClass() == BlockEvent.PortalSpawnEvent.class)
{ {
#if PRE_MC_1_19
IChunkWrapper chunk = new ChunkWrapper(event.getWorld().getChunk(event.getPos()), event.getWorld()); IChunkWrapper chunk = new ChunkWrapper(event.getWorld().getChunk(event.getPos()), event.getWorld());
DimensionTypeWrapper dimType = DimensionTypeWrapper.getDimensionTypeWrapper(event.getWorld().dimensionType()); DimensionTypeWrapper dimType = DimensionTypeWrapper.getDimensionTypeWrapper(event.getWorld().dimensionType());
#else
IChunkWrapper chunk = new ChunkWrapper(event.getLevel().getChunk(event.getPos()), event.getLevel());
DimensionTypeWrapper dimType = DimensionTypeWrapper.getDimensionTypeWrapper(event.getLevel().dimensionType());
#endif
// recreate the LOD where the blocks were changed // recreate the LOD where the blocks were changed
eventApi.blockChangeEvent(chunk, dimType); eventApi.blockChangeEvent(chunk, dimType);
@@ -108,7 +144,7 @@ public class ForgeClientProxy
} }
@SubscribeEvent @SubscribeEvent
public void onKeyInput(InputEvent.KeyInputEvent event) public void onKeyInput(#if PRE_MC_1_19 InputEvent.KeyInputEvent event #else InputEvent.Key event #endif)
{ {
if (Minecraft.getInstance().player == null) return; if (Minecraft.getInstance().player == null) return;
if (event.getAction() != GLFW.GLFW_PRESS) return; if (event.getAction() != GLFW.GLFW_PRESS) return;
@@ -116,5 +152,4 @@ public class ForgeClientProxy
} }
} }
@@ -34,14 +34,10 @@ import com.seibel.lod.forge.wrappers.modAccessor.OptifineAccessor;
import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.renderer.block.model.BakedQuad;
import net.minecraft.core.Direction; import net.minecraft.core.Direction;
#if POST_MC_1_19
import net.minecraft.util.RandomSource;
#endif
import net.minecraft.world.level.ColorResolver; import net.minecraft.world.level.ColorResolver;
import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.client.model.data.ModelDataMap;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.ModLoadingContext;
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod;
@@ -53,12 +49,24 @@ import net.minecraftforge.fml.loading.FMLLoader;
import net.minecraftforge.fml.ExtensionPoint; import net.minecraftforge.fml.ExtensionPoint;
#elif MC_1_17_1 #elif MC_1_17_1
import net.minecraftforge.fmlclient.ConfigGuiHandler; import net.minecraftforge.fmlclient.ConfigGuiHandler;
#else // 1.18+ #elif POST_MC_1_19
import net.minecraftforge.client.ConfigScreenHandler;
#else // 1.18+ untill 1.19
import net.minecraftforge.client.ConfigGuiHandler; import net.minecraftforge.client.ConfigGuiHandler;
#endif #endif
import java.util.List; // these imports change due to forge refactoring classes in 1.19
#if POST_MC_1_19
import net.minecraft.util.RandomSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraftforge.client.model.data.ModelData;
#else
import net.minecraftforge.client.model.data.ModelDataMap;
import java.util.Random; import java.util.Random;
#endif
import java.util.List;
/** /**
* Initialize and setup the Mod. <br> * Initialize and setup the Mod. <br>
@@ -101,6 +109,9 @@ public class ForgeMain implements LodForgeMethodCaller
#if PRE_MC_1_17_1 #if PRE_MC_1_17_1
ModLoadingContext.get().registerExtensionPoint(ExtensionPoint.CONFIGGUIFACTORY, ModLoadingContext.get().registerExtensionPoint(ExtensionPoint.CONFIGGUIFACTORY,
() -> (client, parent) -> ConfigGui.getScreen(parent, "")); () -> (client, parent) -> ConfigGui.getScreen(parent, ""));
#elif POST_MC_1_19
ModLoadingContext.get().registerExtensionPoint(ConfigScreenHandler.ConfigScreenFactory.class,
() -> new ConfigScreenHandler.ConfigScreenFactory((client, parent) -> ConfigGui.getScreen(parent, "")));
#else #else
ModLoadingContext.get().registerExtensionPoint(ConfigGuiHandler.ConfigGuiFactory.class, ModLoadingContext.get().registerExtensionPoint(ConfigGuiHandler.ConfigGuiFactory.class,
() -> new ConfigGuiHandler.ConfigGuiFactory((client, parent) -> ConfigGui.getScreen(parent, ""))); () -> new ConfigGuiHandler.ConfigGuiFactory((client, parent) -> ConfigGui.getScreen(parent, "")));
@@ -109,15 +120,21 @@ public class ForgeMain implements LodForgeMethodCaller
MinecraftForge.EVENT_BUS.register(forgeClientProxy); MinecraftForge.EVENT_BUS.register(forgeClientProxy);
} }
private final ModelDataMap dataMap = new ModelDataMap.Builder().build(); #if PRE_MC_1_19
private final ModelDataMap modelData = new ModelDataMap.Builder().build();
#else
private final ModelData modelData = ModelData.EMPTY;
#endif
@Override @Override
#if PRE_MC_1_19 #if PRE_MC_1_19
public List<BakedQuad> getQuads(MinecraftClientWrapper mc, Block block, BlockState blockState, Direction direction, Random random) { public List<BakedQuad> getQuads(MinecraftClientWrapper mc, Block block, BlockState blockState, Direction direction, Random random) {
return mc.getModelManager().getBlockModelShaper().getBlockModel(block.defaultBlockState()).getQuads(blockState, direction, random, dataMap); return mc.getModelManager().getBlockModelShaper().getBlockModel(block.defaultBlockState()).getQuads(blockState, direction, random, modelData);
} }
#else #else
public List<BakedQuad> getQuads(MinecraftClientWrapper mc, Block block, BlockState blockState, Direction direction, RandomSource random) { public List<BakedQuad> getQuads(MinecraftClientWrapper mc, Block block, BlockState blockState, Direction direction, RandomSource random)
return mc.getModelManager().getBlockModelShaper().getBlockModel(block.defaultBlockState()).getQuads(blockState, direction, random, dataMap); {
return mc.getModelManager().getBlockModelShaper().getBlockModel(block.defaultBlockState()).getQuads(blockState, direction, random, modelData #if POST_MC_1_19, RenderType.solid() #endif);
} }
#endif #endif
@@ -24,3 +24,9 @@ issueTrackerURL="${issues}"
#// Allow any version to be present (or not) on the server #// Allow any version to be present (or not) on the server
acceptableRemoteVersions="*" acceptableRemoteVersions="*"
[[dependencies.lod]]
modId="forge"
mandatory=true
versionRange="[41.0.95,)" #// NOTE: this will cause issues for anything using MC 1.18 and lower, this is only here for MC 1.19
ordering="NONE"
side="BOTH"
+2 -2
View File
@@ -5,7 +5,7 @@ maven_group=com.seibel.lod
archives_base_name=DistantHorizons archives_base_name=DistantHorizons
# Mod info # Mod info
mod_version=1.6.5a mod_version=1.6.7a
mod_name=Distant Horizons mod_name=Distant Horizons
mod_description=This mod generates and renders simplified terrain beyond the normal view distance at a low performance cost. Allowing you to see much farther without turning your game into a slideshow. mod_description=This mod generates and renders simplified terrain beyond the normal view distance at a low performance cost. Allowing you to see much farther without turning your game into a slideshow.
mod_authors=["James Seibel", "Leonardo Amato", "Cola", "coolGi", "Ran", "Leetom"] mod_authors=["James Seibel", "Leonardo Amato", "Cola", "coolGi", "Ran", "Leetom"]
@@ -20,4 +20,4 @@ enabled_platforms=fabric,forge
mcVersions=1.16.5,1.17.1,1.18.1,1.18.2,1.19 mcVersions=1.16.5,1.17.1,1.18.1,1.18.2,1.19
##### FOR IDE SUPPORT AND TELL IDE TO USE CERTIAN MC VERSION: SWITCH THIS: ##### FOR IDE SUPPORT AND TELL IDE TO USE CERTIAN MC VERSION: SWITCH THIS:
mcVer=1.16.5 mcVer=1.19
+1 -1
View File
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.2-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists