From 036754c54a079bf3bcf49bf5e8cbfe5369ab858f Mon Sep 17 00:00:00 2001 From: James Seibel Date: Fri, 28 Jul 2023 07:22:45 -0500 Subject: [PATCH] Fix 1.19 and 1.20 compiling --- .../forge/ForgeClientProxy.java | 55 +++++++++++++++---- versionProperties/1.20.1.properties | 2 +- 2 files changed, 45 insertions(+), 12 deletions(-) diff --git a/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeClientProxy.java b/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeClientProxy.java index d9e2d8f3a..4cf416e6b 100644 --- a/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeClientProxy.java +++ b/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeClientProxy.java @@ -34,8 +34,6 @@ import net.minecraft.world.level.LevelAccessor; import net.minecraft.client.multiplayer.ClientLevel; #if PRE_MC_1_19_2 -import net.minecraft.world.level.chunk.ChunkAccess; -import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.event.world.ChunkEvent; import net.minecraftforge.event.world.WorldEvent; #else @@ -43,6 +41,9 @@ import net.minecraftforge.event.level.ChunkEvent; import net.minecraftforge.event.level.LevelEvent; #endif +import net.minecraftforge.event.entity.player.PlayerInteractEvent; +import net.minecraft.world.level.chunk.ChunkAccess; + import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraftforge.network.NetworkRegistry; import net.minecraftforge.network.simple.SimpleChannel; @@ -99,29 +100,51 @@ public class ForgeClientProxy //==============// @SubscribeEvent + #if PRE_MC_1_19_2 public void clientLevelLoadEvent(WorldEvent.Load event) + #else + public void clientLevelLoadEvent(LevelEvent.Load event) + #endif { LOGGER.info("level load"); - if (event != null && event.getWorld() != null && event.getWorld() instanceof ClientLevel) + #if PRE_MC_1_19_2 + LevelAccessor level = event.getWorld(); + #else + LevelAccessor level = event.getLevel(); + #endif + if (!(level instanceof ClientLevel)) { - ClientLevel clientLevel = (ClientLevel) event.getWorld(); - IClientLevelWrapper clientLevelWrapper = ClientLevelWrapper.getWrapper(clientLevel); - // TODO this causes a crash due to level being set to null somewhere - ClientApi.INSTANCE.clientLevelLoadEvent(clientLevelWrapper); + return; } + + ClientLevel clientLevel = (ClientLevel) level; + IClientLevelWrapper clientLevelWrapper = ClientLevelWrapper.getWrapper(clientLevel); + // TODO this causes a crash due to level being set to null somewhere + ClientApi.INSTANCE.clientLevelLoadEvent(clientLevelWrapper); } @SubscribeEvent + #if PRE_MC_1_19_2 public void clientLevelUnloadEvent(WorldEvent.Unload event) + #else + public void clientLevelUnloadEvent(LevelEvent.Load event) + #endif { LOGGER.info("level unload"); - if (event != null && event.getWorld() != null && event.getWorld() instanceof ClientLevel) + #if PRE_MC_1_19_2 + LevelAccessor level = event.getWorld(); + #else + LevelAccessor level = event.getLevel(); + #endif + if (!(level instanceof ClientLevel)) { - ClientLevel clientLevel = (ClientLevel) event.getWorld(); - IClientLevelWrapper clientLevelWrapper = ClientLevelWrapper.getWrapper(clientLevel); - ClientApi.INSTANCE.clientLevelUnloadEvent(clientLevelWrapper); + return; } + + ClientLevel clientLevel = (ClientLevel) level; + IClientLevelWrapper clientLevelWrapper = ClientLevelWrapper.getWrapper(clientLevel); + ClientApi.INSTANCE.clientLevelUnloadEvent(clientLevelWrapper); } @@ -135,7 +158,12 @@ public class ForgeClientProxy { LOGGER.trace("interact or block place event at blockPos: " + event.getPos()); + #if PRE_MC_1_19_2 LevelAccessor level = event.getWorld(); + #else + LevelAccessor level = event.getLevel(); + #endif + ChunkAccess chunk = level.getChunk(event.getPos()); this.onClientBlockChangeEvent(level, chunk); } @@ -144,7 +172,12 @@ public class ForgeClientProxy { LOGGER.trace("break or block attack at blockPos: " + event.getPos()); + #if PRE_MC_1_19_2 LevelAccessor level = event.getWorld(); + #else + LevelAccessor level = event.getLevel(); + #endif + ChunkAccess chunk = level.getChunk(event.getPos()); this.onClientBlockChangeEvent(level, chunk); } diff --git a/versionProperties/1.20.1.properties b/versionProperties/1.20.1.properties index 1ee01acec..d50fe48db 100644 --- a/versionProperties/1.20.1.properties +++ b/versionProperties/1.20.1.properties @@ -16,7 +16,7 @@ fabric_api_version=0.85.0+1.20.1 lithium_version= sodium_version=mc1.20-0.4.10 iris_version=1.6.4+1.20.1 - bclib_version=3.0.11 + bclib_version=3.0.12 immersive_portals_version= canvas_version=