diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6b9f7ef..4fabca1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,5 +1,5 @@ name: build -on: [push, pull_request] +on: [push] jobs: build: diff --git a/build.gradle b/build.gradle index a9a76dd..7c571ad 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,6 @@ plugins { // see https://fabricmc.net/develop/ for new versions - id 'fabric-loom' version '1.10-SNAPSHOT' apply false + id 'fabric-loom' version '1.11-SNAPSHOT' apply false // see https://projects.neoforged.net/neoforged/moddevgradle for new versions - id 'net.neoforged.moddev' version '2.0.97' apply false - + id 'net.neoforged.moddev' version '2.0.112' apply false } \ No newline at end of file diff --git a/common/src/main/java/com/lukasabbe/bookshelfinspector/config/Config.java b/common/src/main/java/com/lukasabbe/bookshelfinspector/config/Config.java index 131538e..73e75b6 100644 --- a/common/src/main/java/com/lukasabbe/bookshelfinspector/config/Config.java +++ b/common/src/main/java/com/lukasabbe/bookshelfinspector/config/Config.java @@ -19,7 +19,7 @@ public class Config { public void loadConfig(){ Path configPath = Services.PLATFORM.getConfigPath("bookshelfinspector-config.yml"); - if(!Files.exists(configPath))createConfig(configPath); + if(!Files.exists(configPath)) createConfig(configPath); Yaml yaml = new Yaml(); try{ Map configMap = yaml.load(new FileReader(configPath.toFile())); @@ -39,7 +39,8 @@ public class Config { } private void createConfig(Path configPath){ - Path defaultConfigPath = Services.PLATFORM.getFileInModContainer("bookshelfinspector", "bookshelfinspector-config.yml"); + Path defaultConfigPath = Services.PLATFORM.getFileOrCopyInModContainer("bookshelfinspector", "bookshelfinspector-config.yml"); + if(defaultConfigPath == null) return; try { Files.copy(defaultConfigPath, configPath); } catch (IOException e) { diff --git a/common/src/main/java/com/lukasabbe/bookshelfinspector/mixin/BookshelfInvoker.java b/common/src/main/java/com/lukasabbe/bookshelfinspector/mixin/BookshelfInvoker.java deleted file mode 100644 index 22cb6d8..0000000 --- a/common/src/main/java/com/lukasabbe/bookshelfinspector/mixin/BookshelfInvoker.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.lukasabbe.bookshelfinspector.mixin; - -import net.minecraft.world.level.block.ChiseledBookShelfBlock; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.phys.BlockHitResult; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Invoker; - -import java.util.OptionalInt; - -@Mixin(ChiseledBookShelfBlock.class) -public interface BookshelfInvoker { - @Invoker("getHitSlot") - OptionalInt invokerGetSlotForHitPos(BlockHitResult hit, BlockState state); -} diff --git a/common/src/main/java/com/lukasabbe/bookshelfinspector/mixin/BookshelfMixin.java b/common/src/main/java/com/lukasabbe/bookshelfinspector/mixin/BookshelfMixin.java index 65b5fcd..15415ea 100644 --- a/common/src/main/java/com/lukasabbe/bookshelfinspector/mixin/BookshelfMixin.java +++ b/common/src/main/java/com/lukasabbe/bookshelfinspector/mixin/BookshelfMixin.java @@ -1,6 +1,5 @@ package com.lukasabbe.bookshelfinspector.mixin; -import com.lukasabbe.bookshelfinspector.Constants; import com.lukasabbe.bookshelfinspector.renderer.Inspector; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; diff --git a/common/src/main/java/com/lukasabbe/bookshelfinspector/mixin/InGameHudMixin.java b/common/src/main/java/com/lukasabbe/bookshelfinspector/mixin/InGameHudMixin.java index ebf8a57..1fabb7d 100644 --- a/common/src/main/java/com/lukasabbe/bookshelfinspector/mixin/InGameHudMixin.java +++ b/common/src/main/java/com/lukasabbe/bookshelfinspector/mixin/InGameHudMixin.java @@ -1,6 +1,5 @@ package com.lukasabbe.bookshelfinspector.mixin; -import com.lukasabbe.bookshelfinspector.Constants; import com.lukasabbe.bookshelfinspector.renderer.HudRenderer; import net.minecraft.client.DeltaTracker; import net.minecraft.client.Minecraft; diff --git a/common/src/main/java/com/lukasabbe/bookshelfinspector/platform/services/IPlatformHelper.java b/common/src/main/java/com/lukasabbe/bookshelfinspector/platform/services/IPlatformHelper.java index 6cc619a..47aade5 100644 --- a/common/src/main/java/com/lukasabbe/bookshelfinspector/platform/services/IPlatformHelper.java +++ b/common/src/main/java/com/lukasabbe/bookshelfinspector/platform/services/IPlatformHelper.java @@ -7,14 +7,7 @@ public interface IPlatformHelper { boolean isModLoaded(String modId); - boolean isDevelopmentEnvironment(); - Path getConfigPath(String file); - Path getFileInModContainer(String mod, String fileName); - - default String getEnvironmentName() { - - return isDevelopmentEnvironment() ? "development" : "production"; - } + Path getFileOrCopyInModContainer(String mod, String fileName); } \ No newline at end of file diff --git a/common/src/main/java/com/lukasabbe/bookshelfinspector/renderer/HudRenderer.java b/common/src/main/java/com/lukasabbe/bookshelfinspector/renderer/HudRenderer.java index ee8728d..1ff0b37 100644 --- a/common/src/main/java/com/lukasabbe/bookshelfinspector/renderer/HudRenderer.java +++ b/common/src/main/java/com/lukasabbe/bookshelfinspector/renderer/HudRenderer.java @@ -1,10 +1,8 @@ package com.lukasabbe.bookshelfinspector.renderer; import com.lukasabbe.bookshelfinspector.BookshelfInspectorClient; -import com.lukasabbe.bookshelfinspector.Constants; import com.lukasabbe.bookshelfinspector.data.BookData; import com.lukasabbe.bookshelfinspector.util.RomanNumerals; -import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; diff --git a/common/src/main/java/com/lukasabbe/bookshelfinspector/renderer/Inspector.java b/common/src/main/java/com/lukasabbe/bookshelfinspector/renderer/Inspector.java index 0156875..e1b85ff 100644 --- a/common/src/main/java/com/lukasabbe/bookshelfinspector/renderer/Inspector.java +++ b/common/src/main/java/com/lukasabbe/bookshelfinspector/renderer/Inspector.java @@ -3,13 +3,11 @@ package com.lukasabbe.bookshelfinspector.renderer; import com.lukasabbe.bookshelfinspector.BookshelfInspectorClient; import com.lukasabbe.bookshelfinspector.data.BookData; import com.lukasabbe.bookshelfinspector.data.Tags; -import com.lukasabbe.bookshelfinspector.mixin.BookshelfInvoker; import com.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryRequestPayload; import com.lukasabbe.bookshelfinspector.network.packets.LecternInventoryRequestPayload; import com.lukasabbe.bookshelfinspector.platform.Services; import net.minecraft.client.Minecraft; import net.minecraft.core.BlockPos; -import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.ChiseledBookShelfBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.BlockHitResult; @@ -23,9 +21,9 @@ public class Inspector { public void inspect(Minecraft client){ if(!modAvailable) return; - if(client.cameraEntity == null || client.player == null) return; + if(client.getCameraEntity() == null || client.player == null) return; - HitResult hit = client.cameraEntity.pick(5f,0f,false); + HitResult hit = client.getCameraEntity().pick(5f,0f,false); //find block hit, if not found block returns final HitResult.Type type = hit.getType(); @@ -81,7 +79,7 @@ public class Inspector { //Gets index position for a book in the bookshelf ChiseledBookShelfBlock bookshelfBlock = (ChiseledBookShelfBlock) blockState.getBlock(); - OptionalInt optionalInt = ((BookshelfInvoker)bookshelfBlock).invokerGetSlotForHitPos(blockHitResult,blockState); + OptionalInt optionalInt = bookshelfBlock.getHitSlot(blockHitResult, blockState.getValue(ChiseledBookShelfBlock.FACING)); //if the position is empty, return if(optionalInt.isEmpty()) { diff --git a/common/src/main/resources/bookshelfinspector.mixins.json b/common/src/main/resources/bookshelfinspector.mixins.json index 5443468..57187a8 100644 --- a/common/src/main/resources/bookshelfinspector.mixins.json +++ b/common/src/main/resources/bookshelfinspector.mixins.json @@ -8,8 +8,7 @@ ], "client": [ "BookshelfMixin", - "InGameHudMixin", - "BookshelfInvoker" + "InGameHudMixin" ], "server": [], "injectors": { diff --git a/fabric/build.gradle b/fabric/build.gradle index 6cad713..8cff053 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -1,6 +1,7 @@ plugins { id 'multiloader-loader' id 'fabric-loom' + id "com.modrinth.minotaur" version "2.+" } repositories { maven { url "https://maven.shedaniel.me/" } @@ -44,4 +45,25 @@ loom { runDir('runs/server') } } +} + +modrinth { + token = System.getenv("MODRINTH_TOKEN") + projectId = "rOrXjyPb" // https://modrinth.com/mod/bookshelf-inspector + version = project.version + versionType = project.versionType + uploadFile = remapJar + gameVersions = [project.minecraft_version] + loaders = ["fabric"] + if(project.versionType == "beta" || project.versionType == "alpha"){ + dependencies { + required.project "fabric-api" + } + }else{ + dependencies { + required.project "fabric-api" + required.project "cloth-config" + required.project "modmenu" + } + } } \ No newline at end of file diff --git a/fabric/src/main/java/com/lukasabbe/bookshelfinspector/ModMenu.java b/fabric/src/main/java/com/lukasabbe/bookshelfinspector/config/ModMenu.java similarity index 95% rename from fabric/src/main/java/com/lukasabbe/bookshelfinspector/ModMenu.java rename to fabric/src/main/java/com/lukasabbe/bookshelfinspector/config/ModMenu.java index 7238d99..934b26a 100644 --- a/fabric/src/main/java/com/lukasabbe/bookshelfinspector/ModMenu.java +++ b/fabric/src/main/java/com/lukasabbe/bookshelfinspector/config/ModMenu.java @@ -1,5 +1,6 @@ -package com.lukasabbe.bookshelfinspector; +package com.lukasabbe.bookshelfinspector.config; +import com.lukasabbe.bookshelfinspector.BookshelfInspectorClient; import com.terraformersmc.modmenu.api.ConfigScreenFactory; import com.terraformersmc.modmenu.api.ModMenuApi; import me.shedaniel.clothconfig2.api.ConfigBuilder; diff --git a/fabric/src/main/java/com/lukasabbe/bookshelfinspector/platform/FabricPlatformHelper.java b/fabric/src/main/java/com/lukasabbe/bookshelfinspector/platform/FabricPlatformHelper.java index cda435e..8e79533 100644 --- a/fabric/src/main/java/com/lukasabbe/bookshelfinspector/platform/FabricPlatformHelper.java +++ b/fabric/src/main/java/com/lukasabbe/bookshelfinspector/platform/FabricPlatformHelper.java @@ -15,23 +15,16 @@ public class FabricPlatformHelper implements IPlatformHelper { @Override public boolean isModLoaded(String modId) { - return FabricLoader.getInstance().isModLoaded(modId); } - @Override - public boolean isDevelopmentEnvironment() { - - return FabricLoader.getInstance().isDevelopmentEnvironment(); - } - @Override public Path getConfigPath(String file) { return FabricLoader.getInstance().getConfigDir().resolve(file); } @Override - public Path getFileInModContainer(String mod, String fileName) { + public Path getFileOrCopyInModContainer(String mod, String fileName) { if(FabricLoader.getInstance().getModContainer(mod).isEmpty()) return null; ModContainer modContainer = FabricLoader.getInstance().getModContainer(mod).get(); return modContainer.findPath(fileName).orElseThrow(); diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index ed78e4f..c9e4e0c 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -22,7 +22,7 @@ "com.lukasabbe.bookshelfinspector.BookshelfInspectorFabricClient" ], "modmenu": [ - "com.lukasabbe.bookshelfinspector.ModMenu" + "com.lukasabbe.bookshelfinspector.config.ModMenu" ] }, "mixins": [ @@ -31,7 +31,7 @@ "depends": { "fabricloader": ">=${fabric_loader_version}", "fabric-api": "*", - "minecraft": "~${minecraft_version}", + "minecraft": "~1.21.9-beta.1", "java": ">=${java_version}" } } diff --git a/gradle.properties b/gradle.properties index 5132024..d45f458 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,28 +1,32 @@ -version=2.1+1.21.8 +version=2.1+1.21.10 + +# release, beta & alpha +versionType=release group=com.lukasabbe.bookshelfinspector java_version=21 # Common -minecraft_version=1.21.8 +minecraft_version=1.21.10 mod_name=BookshelfInspector mod_author=Lukasabbe mod_id=bookshelfinspector license=MIT credits= description=Inspect any book in a chiseled bookshelf. -minecraft_version_range=[1.21.8, 1.22) +minecraft_version_range=[1.21.10, 1.22) -neo_form_version=1.21.8-20250717.133445 +# https://projects.neoforged.net/neoforged/neoform +neo_form_version=1.21.10-20251007.142004 # The version of ParchmentMC that is used, see https://parchmentmc.org/docs/getting-started#choose-a-version for new versions -parchment_minecraft=1.21.8 -parchment_version=2025.07.20 +parchment_minecraft=1.21.9 +parchment_version=2025.10.05 # Fabric -fabric_version=0.132.0+1.21.8 +fabric_version=0.134.1+1.21.10 fabric_loader_version=0.17.2 # NeoForge -neoforge_version=21.8.39 +neoforge_version=21.10.1-beta neoforge_loader_version_range=[4,) # Gradle @@ -30,6 +34,6 @@ org.gradle.jvmargs=-Xmx3G org.gradle.daemon=false # Global dep -YAML_snake=2.4 -cloth_config=19.0.147 -mod_menu=15.0.0-beta.3 \ No newline at end of file +YAML_snake=2.5 +cloth_config=20.0.148 +mod_menu=16.0.0-rc.1 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index cea7a79..ca025c8 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/neoforge/build.gradle b/neoforge/build.gradle index acf946a..f4b58ac 100644 --- a/neoforge/build.gradle +++ b/neoforge/build.gradle @@ -1,6 +1,7 @@ plugins { id 'multiloader-loader' id 'net.neoforged.moddev' + id "com.modrinth.minotaur" version "2.+" } repositories { maven { url "https://maven.shedaniel.me/" } @@ -45,7 +46,26 @@ neoForge { dependencies { jarJar(implementation("org.yaml:snakeyaml:2.4")){} - additionalRuntimeClasspath "org.yaml:snakeyaml:2.4" + runtimeOnly "org.yaml:snakeyaml:2.4" } -sourceSets.main.resources { srcDir 'src/generated/resources' } \ No newline at end of file +sourceSets.main.resources { srcDir 'src/generated/resources' } + +sourceSets.main.resources { srcDir 'src/generated/resources' } + +modrinth { + token = System.getenv("MODRINTH_TOKEN") + projectId = "rOrXjyPb" // https://modrinth.com/mod/bookshelf-inspector + version = project.version + versionType = project.versionType + uploadFile = jar + gameVersions = [project.minecraft_version] + loaders = ["neoforge"] + if(project.versionType == "beta" || project.versionType == "alpha"){ + dependencies {} + }else{ + dependencies { + required.project "cloth-config" + } + } +} \ No newline at end of file diff --git a/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/BookshelfInspectorNeoForge.java b/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/BookshelfInspectorNeoForge.java index baab42a..9e07a38 100644 --- a/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/BookshelfInspectorNeoForge.java +++ b/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/BookshelfInspectorNeoForge.java @@ -1,11 +1,12 @@ package com.lukasabbe.bookshelfinspector; +import com.lukasabbe.bookshelfinspector.util.EventHandler; +import com.lukasabbe.bookshelfinspector.util.NetworkHandler; import net.neoforged.bus.api.IEventBus; import net.neoforged.fml.common.Mod; @Mod(value = Constants.MOD_ID) public class BookshelfInspectorNeoForge { - public BookshelfInspectorNeoForge(IEventBus eventBus) { EventHandler.initServer(); eventBus.addListener(NetworkHandler::registerPayloads); diff --git a/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/BookshelfInspectorNeoForgeClient.java b/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/BookshelfInspectorNeoForgeClient.java index 0832287..c85a4ec 100644 --- a/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/BookshelfInspectorNeoForgeClient.java +++ b/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/BookshelfInspectorNeoForgeClient.java @@ -1,5 +1,7 @@ package com.lukasabbe.bookshelfinspector; +import com.lukasabbe.bookshelfinspector.config.ClothConfigGenerator; +import com.lukasabbe.bookshelfinspector.util.EventHandler; import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.IEventBus; import net.neoforged.fml.ModLoadingContext; diff --git a/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/ClothConfigGenerator.java b/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/config/ClothConfigGenerator.java similarity index 94% rename from neoforge/src/main/java/com/lukasabbe/bookshelfinspector/ClothConfigGenerator.java rename to neoforge/src/main/java/com/lukasabbe/bookshelfinspector/config/ClothConfigGenerator.java index 0ca2df2..2809a06 100644 --- a/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/ClothConfigGenerator.java +++ b/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/config/ClothConfigGenerator.java @@ -1,5 +1,6 @@ -package com.lukasabbe.bookshelfinspector; +package com.lukasabbe.bookshelfinspector.config; +import com.lukasabbe.bookshelfinspector.BookshelfInspectorClient; import me.shedaniel.clothconfig2.api.ConfigBuilder; import me.shedaniel.clothconfig2.api.ConfigEntryBuilder; import net.minecraft.client.gui.screens.Screen; @@ -35,4 +36,4 @@ public class ClothConfigGenerator { builder.setSavingRunnable(BookshelfInspectorClient.config::saveConfig); return builder.build(); } -} +} \ No newline at end of file diff --git a/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/platform/NeoForgeEventHelper.java b/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/platform/NeoForgeEventHelper.java index 3bd0cc9..395e7ca 100644 --- a/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/platform/NeoForgeEventHelper.java +++ b/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/platform/NeoForgeEventHelper.java @@ -1,6 +1,6 @@ package com.lukasabbe.bookshelfinspector.platform; -import com.lukasabbe.bookshelfinspector.EventHandler; +import com.lukasabbe.bookshelfinspector.util.EventHandler; import com.lukasabbe.bookshelfinspector.platform.handlers.OnPlayerDisconnectEvent; import com.lukasabbe.bookshelfinspector.platform.handlers.OnPlayerJoinEvent; import com.lukasabbe.bookshelfinspector.platform.services.IEventHelper; @@ -12,7 +12,5 @@ public class NeoForgeEventHelper implements IEventHelper { } @Override - public void registerOnPlayerDisconnect(OnPlayerDisconnectEvent event) { - EventHandler.playerDisconnectEvents.add(event); - } + public void registerOnPlayerDisconnect(OnPlayerDisconnectEvent event) { EventHandler.playerDisconnectEvents.add(event); } } diff --git a/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/platform/NeoForgePlatformHelper.java b/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/platform/NeoForgePlatformHelper.java index 8d0883f..269b082 100644 --- a/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/platform/NeoForgePlatformHelper.java +++ b/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/platform/NeoForgePlatformHelper.java @@ -7,7 +7,9 @@ import net.neoforged.fml.config.ModConfig; import net.neoforged.fml.loading.FMLLoader; import net.neoforged.fml.loading.FMLPaths; +import java.io.*; import java.nio.file.Path; +import java.nio.file.Paths; public class NeoForgePlatformHelper implements IPlatformHelper { @@ -19,25 +21,29 @@ public class NeoForgePlatformHelper implements IPlatformHelper { @Override public boolean isModLoaded(String modId) { - return ModList.get().isLoaded(modId); } - @Override - public boolean isDevelopmentEnvironment() { - - return !FMLLoader.isProduction(); - } - @Override public Path getConfigPath(String file) { return FMLPaths.CONFIGDIR.get().resolve(file); } @Override - public Path getFileInModContainer(String mod, String fileName) { + public Path getFileOrCopyInModContainer(String mod, String fileName) { if(ModList.get().getModContainerById(mod).isEmpty()) return null; ModContainer container = ModList.get().getModContainerById(mod).get(); - return container.getModInfo().getOwningFile().getFile().findResource(fileName); + try { + InputStream inputStream = container.getModInfo().getOwningFile().getFile().getContents().get(fileName).open(); + File targetFile = new File(getConfigPath("bookshelfinspector-config.yml").toUri()); + try(OutputStream outputStream = new FileOutputStream(targetFile)){ + byte[] buffer = new byte[8192]; + int bytesRead; + while((bytesRead = inputStream.read(buffer)) != -1){ + outputStream.write(buffer, 0, bytesRead); + } + }catch (IOException ignore){} + }catch (IOException ignore){} + return null; } } \ No newline at end of file diff --git a/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/EventHandler.java b/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/util/EventHandler.java similarity index 80% rename from neoforge/src/main/java/com/lukasabbe/bookshelfinspector/EventHandler.java rename to neoforge/src/main/java/com/lukasabbe/bookshelfinspector/util/EventHandler.java index a8da5dd..3fa57d6 100644 --- a/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/EventHandler.java +++ b/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/util/EventHandler.java @@ -1,4 +1,4 @@ -package com.lukasabbe.bookshelfinspector; +package com.lukasabbe.bookshelfinspector.util; import com.lukasabbe.bookshelfinspector.platform.handlers.OnPlayerDisconnectEvent; import com.lukasabbe.bookshelfinspector.platform.handlers.OnPlayerJoinEvent; @@ -17,12 +17,10 @@ public class EventHandler { public static void initClient(){ NeoForge.EVENT_BUS.addListener(EventHandler::onDisconnect); } - public static void initServer(){ - NeoForge.EVENT_BUS.addListener(EventHandler::onJoin); - } + public static void initServer(){ NeoForge.EVENT_BUS.addListener(EventHandler::onJoin); } private static void onJoin(PlayerEvent.PlayerLoggedInEvent event){ - playerJoinEvents.forEach(onPlayerJoinEvent -> onPlayerJoinEvent.onPlayerJoin((ServerPlayer) event.getEntity(),event.getEntity().getServer())); + playerJoinEvents.forEach(onPlayerJoinEvent -> onPlayerJoinEvent.onPlayerJoin((ServerPlayer) event.getEntity(), ((ServerPlayer)event.getEntity()).level().getServer())); } private static void onDisconnect(ClientPlayerNetworkEvent.LoggingOut event){ diff --git a/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/NetworkHandler.java b/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/util/NetworkHandler.java similarity index 88% rename from neoforge/src/main/java/com/lukasabbe/bookshelfinspector/NetworkHandler.java rename to neoforge/src/main/java/com/lukasabbe/bookshelfinspector/util/NetworkHandler.java index 49458c2..f7462fb 100644 --- a/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/NetworkHandler.java +++ b/neoforge/src/main/java/com/lukasabbe/bookshelfinspector/util/NetworkHandler.java @@ -1,5 +1,7 @@ -package com.lukasabbe.bookshelfinspector; +package com.lukasabbe.bookshelfinspector.util; +import com.lukasabbe.bookshelfinspector.BookshelfInspector; +import com.lukasabbe.bookshelfinspector.Constants; import com.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryPayload; import com.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryRequestPayload; import com.lukasabbe.bookshelfinspector.network.packets.LecternInventoryRequestPayload; @@ -7,7 +9,6 @@ import com.lukasabbe.bookshelfinspector.network.packets.ModCheckPayload; import net.minecraft.client.player.LocalPlayer; import net.minecraft.server.level.ServerPlayer; import net.neoforged.bus.api.SubscribeEvent; -import net.neoforged.neoforge.network.event.RegisterConfigurationTasksEvent; import net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent; import net.neoforged.neoforge.network.registration.PayloadRegistrar; @@ -15,7 +16,7 @@ public class NetworkHandler { @SubscribeEvent public static void registerPayloads(final RegisterPayloadHandlersEvent event){ - final PayloadRegistrar registrar = event.registrar("bookshelfinspector").optional(); + final PayloadRegistrar registrar = event.registrar(Constants.MOD_ID).optional(); registrar.playToClient( BookShelfInventoryPayload.ID, BookShelfInventoryPayload.CODEC, diff --git a/neoforge/src/main/resources/META-INF/neoforge.mods.toml b/neoforge/src/main/resources/META-INF/neoforge.mods.toml index 86a7eec..dac2060 100644 --- a/neoforge/src/main/resources/META-INF/neoforge.mods.toml +++ b/neoforge/src/main/resources/META-INF/neoforge.mods.toml @@ -10,4 +10,16 @@ credits="${credits}" #optional authors = "${mod_author}" #optional description = '''${description}''' #mandatory (Supports multiline text) [[mixins]] -config = "${mod_id}.mixins.json" \ No newline at end of file +config = "${mod_id}.mixins.json" +[[dependencies.${mod_id}]] #optional +modId = "neoforge" #mandatory +type = "required" #mandatory (Can be one of "required", "optional", "incompatible" or "discouraged") +versionRange = "[${neoforge_version},)" #mandatory +ordering = "NONE" # The order that this dependency should load in relation to your mod, required to be either 'BEFORE' or 'AFTER' if the dependency is not mandatory +side = "BOTH" # Side this dependency is applied on - 'BOTH', 'CLIENT' or 'SERVER' +[[dependencies.${mod_id}]] +modId = "minecraft" +type="required" #mandatory (Can be one of "required", "optional", "incompatible" or "discouraged") +versionRange = "${minecraft_version_range}" +ordering = "NONE" +side = "BOTH" \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 358a557..f050bfa 100644 --- a/settings.gradle +++ b/settings.gradle @@ -3,18 +3,11 @@ pluginManagement { gradlePluginPortal() mavenCentral() - exclusiveContent { - forRepository { - maven { - name = 'Fabric' - url = uri('https://maven.fabricmc.net') - } - } - filter { - includeGroup('net.fabricmc') - includeGroup('fabric-loom') - } + maven { + name = 'Fabric' + url = uri('https://maven.fabricmc.net') } + exclusiveContent { forRepository { maven { @@ -48,6 +41,4 @@ plugins { rootProject.name = 'BookshelfInspectorMultiloader' include('common') include('fabric') -include('neoforge') - -include 'spigot' \ No newline at end of file +include('neoforge') \ No newline at end of file