diff --git a/gradle.properties b/gradle.properties index f40d7e0..3ed167f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -33,7 +33,7 @@ mod_name=3944Realms 's Lib Mod # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=MIT # The mod version. See https://semver.org/ -mod_version=0.1.7 +mod_version=0.1.8 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. # See https://maven.apache.org/guides/mini/guide-naming-conventions.html diff --git a/src/main/java/top/r3944realms/lib39/core/event/ServerEventHandler.java b/src/main/java/top/r3944realms/lib39/core/event/ServerEventHandler.java index f68738f..e75ba20 100644 --- a/src/main/java/top/r3944realms/lib39/core/event/ServerEventHandler.java +++ b/src/main/java/top/r3944realms/lib39/core/event/ServerEventHandler.java @@ -1,9 +1,11 @@ package top.r3944realms.lib39.core.event; import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.server.level.ServerLevel; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.event.level.LevelEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod; import top.r3944realms.lib39.Lib39; import top.r3944realms.lib39.util.ILevelHelper; @@ -19,7 +21,7 @@ public class ServerEventHandler { /** * The type Game. */ - @net.minecraftforge.fml.common.Mod.EventBusSubscriber(value = Dist.DEDICATED_SERVER, bus = net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus.MOD, modid = Lib39.MOD_ID) + @net.minecraftforge.fml.common.Mod.EventBusSubscriber(value = Dist.DEDICATED_SERVER, bus = net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus.FORGE, modid = Lib39.MOD_ID) public static class Game extends ServerEventHandler { /** * Register layer definitions. @@ -28,8 +30,8 @@ public class ServerEventHandler { */ @SubscribeEvent public static void registerLayerDefinitions(LevelEvent.Load event) { - if (event.getLevel() != null && event.getLevel() instanceof ClientLevel level) { - ILevelHelper.LevelHelper.CLIENT.setLevel(level); + if (event.getLevel() != null && event.getLevel() instanceof ServerLevel level) { + ILevelHelper.LevelHelper.SERVER.setLevel(level); } } @@ -40,8 +42,8 @@ public class ServerEventHandler { */ @SubscribeEvent public static void registerLayerDefinitions(LevelEvent.Unload event) { - if (event.getLevel() != null && event.getLevel() instanceof ClientLevel level) { - ILevelHelper.LevelHelper.CLIENT.setLevel(null); + if (event.getLevel() != null && event.getLevel() instanceof ServerLevel) { + ILevelHelper.LevelHelper.SERVER.setLevel(null); } } } diff --git a/src/main/java/top/r3944realms/lib39/example/content/item/ForgeItem.java b/src/main/java/top/r3944realms/lib39/example/content/item/ForgeItem.java index 8c47461..47fd599 100644 --- a/src/main/java/top/r3944realms/lib39/example/content/item/ForgeItem.java +++ b/src/main/java/top/r3944realms/lib39/example/content/item/ForgeItem.java @@ -7,6 +7,8 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; import org.jetbrains.annotations.NotNull; import top.r3944realms.lib39.example.client.screen.ForgeScreen; @@ -26,8 +28,13 @@ public class ForgeItem extends Item { @Override public @NotNull InteractionResultHolder use(@NotNull Level level, @NotNull Player player, @NotNull InteractionHand usedHand) { if (level.isClientSide() && usedHand == InteractionHand.MAIN_HAND) { - Minecraft.getInstance().setScreen(new ForgeScreen(usedHand, 0)); + clientUse(usedHand); } return super.use(level, player, usedHand); } + + @OnlyIn(Dist.CLIENT) + private static void clientUse(@NotNull InteractionHand usedHand) { + Minecraft.getInstance().setScreen(new ForgeScreen(usedHand, 0)); + } } \ No newline at end of file diff --git a/src/main/java/top/r3944realms/lib39/util/ILevelHelper.java b/src/main/java/top/r3944realms/lib39/util/ILevelHelper.java index 0da329f..0aa5051 100644 --- a/src/main/java/top/r3944realms/lib39/util/ILevelHelper.java +++ b/src/main/java/top/r3944realms/lib39/util/ILevelHelper.java @@ -1,7 +1,8 @@ package top.r3944realms.lib39.util; import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; @@ -65,6 +66,7 @@ public interface ILevelHelper { * @return the client level */ @Nullable + @OnlyIn(Dist.CLIENT) static Level getClientLevel() { return LevelHelper.CLIENT.getLevel(); }