mabye i have goten somewhere

This commit is contained in:
lukasabbe
2025-06-13 11:38:02 +02:00
parent b0d29e1917
commit cf25e24f66
5 changed files with 22 additions and 18 deletions
@@ -1,17 +1,14 @@
package com.lukasabbe.bookshelfinspector; package com.lukasabbe.bookshelfinspector;
import net.neoforged.bus.api.IEventBus; import net.neoforged.bus.api.IEventBus;
import net.neoforged.fml.ModLoadingContext;
import net.neoforged.fml.common.Mod; import net.neoforged.fml.common.Mod;
import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
@Mod(Constants.MOD_ID) @Mod(value = Constants.MOD_ID)
public class BookshelfInspectorNeoForge { public class BookshelfInspectorNeoForge {
public BookshelfInspectorNeoForge(IEventBus eventBus) { public BookshelfInspectorNeoForge(IEventBus eventBus) {
EventHandler.init(); EventHandler.initServer();
eventBus.addListener(NetworkHandler::registerPayloads); eventBus.addListener(NetworkHandler::registerPayloads);
BookshelfInspector.init(); BookshelfInspector.init();
ModLoadingContext.get().registerExtensionPoint(IConfigScreenFactory.class, () -> (client, parent) -> ClothConfigGenerator.createConfig(parent));
} }
} }
@@ -2,11 +2,15 @@ package com.lukasabbe.bookshelfinspector;
import net.neoforged.api.distmarker.Dist; import net.neoforged.api.distmarker.Dist;
import net.neoforged.bus.api.IEventBus; import net.neoforged.bus.api.IEventBus;
import net.neoforged.fml.ModLoadingContext;
import net.neoforged.fml.common.Mod; import net.neoforged.fml.common.Mod;
import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
@Mod(value = Constants.MOD_ID, dist = Dist.CLIENT) @Mod(value = Constants.MOD_ID, dist = Dist.CLIENT)
public class BookshelfInspectorNeoForgeClient { public class BookshelfInspectorNeoForgeClient {
public BookshelfInspectorNeoForgeClient(IEventBus bus) { public BookshelfInspectorNeoForgeClient(IEventBus bus) {
EventHandler.initClient();
BookshelfInspectorClient.clientInit(); BookshelfInspectorClient.clientInit();
ModLoadingContext.get().registerExtensionPoint(IConfigScreenFactory.class, () -> (client, parent) -> ClothConfigGenerator.createConfig(parent));
} }
} }
@@ -14,10 +14,12 @@ public class EventHandler {
public static List<OnPlayerJoinEvent> playerJoinEvents = new ArrayList<>(); public static List<OnPlayerJoinEvent> playerJoinEvents = new ArrayList<>();
public static List<OnPlayerDisconnectEvent> playerDisconnectEvents = new ArrayList<>(); public static List<OnPlayerDisconnectEvent> playerDisconnectEvents = new ArrayList<>();
public static void init(){ public static void initClient(){
NeoForge.EVENT_BUS.addListener(EventHandler::onJoin);
NeoForge.EVENT_BUS.addListener(EventHandler::onDisconnect); NeoForge.EVENT_BUS.addListener(EventHandler::onDisconnect);
} }
public static void initServer(){
NeoForge.EVENT_BUS.addListener(EventHandler::onJoin);
}
private static void onJoin(PlayerEvent.PlayerLoggedInEvent event){ 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(),event.getEntity().getServer()));
@@ -15,16 +15,6 @@ public class NetworkHandler {
@SubscribeEvent @SubscribeEvent
public static void registerPayloads(final RegisterPayloadHandlersEvent event){ public static void registerPayloads(final RegisterPayloadHandlersEvent event){
final PayloadRegistrar registrar = event.registrar("1"); final PayloadRegistrar registrar = event.registrar("1");
registrar.playToServer(
BookShelfInventoryRequestPayload.ID,
BookShelfInventoryRequestPayload.CODEC,
((payload, context) -> BookshelfInspector.networkHandlers.bookShelfInventoryRequestServerPayloadHandler.receive(payload, (ServerPlayer) context.player()))
);
registrar.playToServer(
LecternInventoryRequestPayload.ID,
LecternInventoryRequestPayload.CODEC,
((payload, context) -> BookshelfInspector.networkHandlers.lecternInventoryRequestServerPayloadHandler.receive(payload, (ServerPlayer) context.player()))
);
registrar.playToClient( registrar.playToClient(
BookShelfInventoryPayload.ID, BookShelfInventoryPayload.ID,
BookShelfInventoryPayload.CODEC, BookShelfInventoryPayload.CODEC,
@@ -35,6 +25,16 @@ public class NetworkHandler {
ModCheckPayload.CODEC, ModCheckPayload.CODEC,
((payload, context) -> BookshelfInspector.networkHandlers.modServerPayloadHandler.receive(payload, (LocalPlayer) context.player())) ((payload, context) -> BookshelfInspector.networkHandlers.modServerPayloadHandler.receive(payload, (LocalPlayer) context.player()))
); );
registrar.playToServer(
BookShelfInventoryRequestPayload.ID,
BookShelfInventoryRequestPayload.CODEC,
((payload, context) -> BookshelfInspector.networkHandlers.bookShelfInventoryRequestServerPayloadHandler.receive(payload, (ServerPlayer) context.player()))
);
registrar.playToServer(
LecternInventoryRequestPayload.ID,
LecternInventoryRequestPayload.CODEC,
((payload, context) -> BookshelfInspector.networkHandlers.lecternInventoryRequestServerPayloadHandler.receive(payload, (ServerPlayer) context.player()))
);
} }
} }
@@ -1,5 +1,5 @@
modLoader = "javafml" #mandatory modLoader = "javafml" #mandatory
loaderVersion = "${neoforge_loader_version_range}" #mandatory loaderVersion = "*" #mandatory
license = "${license}" # Review your options at https://choosealicense.com/. license = "${license}" # Review your options at https://choosealicense.com/.
#issueTrackerURL="https://change.me.to.your.issue.tracker.example.invalid/" #optional #issueTrackerURL="https://change.me.to.your.issue.tracker.example.invalid/" #optional
[[mods]] #mandatory [[mods]] #mandatory
@@ -12,6 +12,7 @@ logoFile="${mod_id}.png" #optional
credits="${credits}" #optional credits="${credits}" #optional
authors = "${mod_author}" #optional authors = "${mod_author}" #optional
description = '''${description}''' #mandatory (Supports multiline text) description = '''${description}''' #mandatory (Supports multiline text)
displayTest = "NONE"
[[mixins]] [[mixins]]
config = "${mod_id}.mixins.json" config = "${mod_id}.mixins.json"
[[dependencies.${mod_id}]] #optional [[dependencies.${mod_id}]] #optional