From 17f515ef062bc08f9221d0aef62c77791d7f5dec Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sun, 8 Oct 2023 21:00:54 -0500 Subject: [PATCH] Move some ForgeApi code into common --- .../common/util/ProxyUtil.java | 47 +++++++++++++++++++ .../forge/ForgeClientProxy.java | 23 ++------- .../forge/ForgeServerProxy.java | 20 ++------ 3 files changed, 54 insertions(+), 36 deletions(-) create mode 100644 common/src/main/java/com/seibel/distanthorizons/common/util/ProxyUtil.java diff --git a/common/src/main/java/com/seibel/distanthorizons/common/util/ProxyUtil.java b/common/src/main/java/com/seibel/distanthorizons/common/util/ProxyUtil.java new file mode 100644 index 000000000..ee805387b --- /dev/null +++ b/common/src/main/java/com/seibel/distanthorizons/common/util/ProxyUtil.java @@ -0,0 +1,47 @@ +/* + * This file is part of the Distant Horizons mod + * licensed under the GNU LGPL v3 License. + * + * Copyright (C) 2020-2023 James Seibel + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ + +package com.seibel.distanthorizons.common.util; + +import com.seibel.distanthorizons.common.wrappers.world.ClientLevelWrapper; +import com.seibel.distanthorizons.common.wrappers.world.ServerLevelWrapper; +import com.seibel.distanthorizons.core.wrapperInterfaces.world.ILevelWrapper; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.level.LevelAccessor; + +public class ProxyUtil +{ + + public static ILevelWrapper getLevelWrapper(LevelAccessor level) + { + ILevelWrapper levelWrapper; + if (level instanceof ServerLevel) + { + levelWrapper = ServerLevelWrapper.getWrapper((ServerLevel) level); + } + else + { + levelWrapper = ClientLevelWrapper.getWrapper((ClientLevel) level); + } + + return levelWrapper; + } + +} 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 f82de9e11..d11104254 100644 --- a/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeClientProxy.java +++ b/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeClientProxy.java @@ -19,6 +19,7 @@ package com.seibel.distanthorizons.forge; +import com.seibel.distanthorizons.common.util.ProxyUtil; import com.seibel.distanthorizons.common.wrappers.world.ClientLevelWrapper; import com.seibel.distanthorizons.common.wrappers.world.ServerLevelWrapper; import com.seibel.distanthorizons.core.api.internal.ClientApi; @@ -187,7 +188,7 @@ public class ForgeClientProxy } private void onBlockChangeEvent(LevelAccessor level, ChunkAccess chunk) { - ILevelWrapper wrappedLevel = getLevelWrapper(level); + ILevelWrapper wrappedLevel = ProxyUtil.getLevelWrapper(level); SharedApi.INSTANCE.chunkBlockChangedEvent(new ChunkWrapper(chunk, level, wrappedLevel), wrappedLevel); } @@ -195,14 +196,14 @@ public class ForgeClientProxy @SubscribeEvent public void clientChunkLoadEvent(ChunkEvent.Load event) { - ILevelWrapper wrappedLevel = getLevelWrapper(GetEventLevel(event)); + ILevelWrapper wrappedLevel = ProxyUtil.getLevelWrapper(GetEventLevel(event)); IChunkWrapper chunk = new ChunkWrapper(event.getChunk(), GetEventLevel(event), wrappedLevel); SharedApi.INSTANCE.chunkLoadEvent(chunk, wrappedLevel); } @SubscribeEvent public void clientChunkUnloadEvent(ChunkEvent.Unload event) { - ILevelWrapper wrappedLevel = getLevelWrapper(GetEventLevel(event)); + ILevelWrapper wrappedLevel = ProxyUtil.getLevelWrapper(GetEventLevel(event)); IChunkWrapper chunk = new ChunkWrapper(event.getChunk(), GetEventLevel(event), wrappedLevel); SharedApi.INSTANCE.chunkSaveEvent(chunk, wrappedLevel); } @@ -288,20 +289,4 @@ public class ForgeClientProxy } } - - private static ILevelWrapper getLevelWrapper(LevelAccessor level) - { - ILevelWrapper levelWrapper; - if (level instanceof ServerLevel) - { - levelWrapper = ServerLevelWrapper.getWrapper((ServerLevel) level); - } - else - { - levelWrapper = ClientLevelWrapper.getWrapper((ClientLevel) level); - } - - return levelWrapper; - } - } diff --git a/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeServerProxy.java b/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeServerProxy.java index 6fa24e8f5..46d2f5c6a 100644 --- a/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeServerProxy.java +++ b/forge/src/main/java/com/seibel/distanthorizons/forge/ForgeServerProxy.java @@ -1,5 +1,6 @@ package com.seibel.distanthorizons.forge; +import com.seibel.distanthorizons.common.util.ProxyUtil; import com.seibel.distanthorizons.common.wrappers.chunk.ChunkWrapper; import com.seibel.distanthorizons.common.wrappers.world.ClientLevelWrapper; import com.seibel.distanthorizons.common.wrappers.world.ServerLevelWrapper; @@ -123,7 +124,7 @@ public class ForgeServerProxy @SubscribeEvent public void serverChunkLoadEvent(ChunkEvent.Load event) { - ILevelWrapper levelWrapper = getLevelWrapper(GetEventLevel(event)); + ILevelWrapper levelWrapper = ProxyUtil.getLevelWrapper(GetEventLevel(event)); IChunkWrapper chunk = new ChunkWrapper(event.getChunk(), GetEventLevel(event), levelWrapper); this.serverApi.serverChunkLoadEvent(chunk, levelWrapper); @@ -131,7 +132,7 @@ public class ForgeServerProxy @SubscribeEvent public void serverChunkSaveEvent(ChunkEvent.Unload event) { - ILevelWrapper levelWrapper = getLevelWrapper(GetEventLevel(event)); + ILevelWrapper levelWrapper = ProxyUtil.getLevelWrapper(GetEventLevel(event)); IChunkWrapper chunk = new ChunkWrapper(event.getChunk(), GetEventLevel(event), levelWrapper); this.serverApi.serverChunkSaveEvent(chunk, levelWrapper); @@ -145,20 +146,5 @@ public class ForgeServerProxy private static ServerLevelWrapper getServerLevelWrapper(ServerLevel level) { return ServerLevelWrapper.getWrapper(level); } - private static ILevelWrapper getLevelWrapper(LevelAccessor level) - { - ILevelWrapper levelWrapper; - if (level instanceof ServerLevel) - { - levelWrapper = ServerLevelWrapper.getWrapper((ServerLevel) level); - } - else - { - levelWrapper = ClientLevelWrapper.getWrapper((ClientLevel) level); - } - - return levelWrapper; - } - }