mirror of
https://github.com/lukasabbe/bookshelf-inspector.git
synced 2026-04-30 10:40:53 +00:00
Init for multiloader
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package com.lukasabbe.bookshelfinspector;
|
||||
|
||||
import com.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryPayload;
|
||||
import com.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryRequestPayload;
|
||||
import com.lukasabbe.bookshelfinspector.network.packets.LecternInventoryRequestPayload;
|
||||
import com.lukasabbe.bookshelfinspector.network.packets.ModCheckPayload;
|
||||
import com.lukasabbe.bookshelfinspector.network.server.BookShelfInventoryRequestServerPayloadHandler;
|
||||
import com.lukasabbe.bookshelfinspector.network.server.LecternInventoryRequestServerPayloadHandler;
|
||||
import com.lukasabbe.bookshelfinspector.platform.Services;
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
|
||||
|
||||
public class BookshelfInspectorFabric implements ModInitializer {
|
||||
|
||||
@Override
|
||||
public void onInitialize() {
|
||||
|
||||
PayloadTypeRegistry.playC2S().register(BookShelfInventoryRequestPayload.ID, BookShelfInventoryRequestPayload.CODEC);
|
||||
PayloadTypeRegistry.playC2S().register(LecternInventoryRequestPayload.ID, LecternInventoryRequestPayload.CODEC);
|
||||
PayloadTypeRegistry.playS2C().register(BookShelfInventoryPayload.ID, BookShelfInventoryPayload.CODEC);
|
||||
PayloadTypeRegistry.playS2C().register(ModCheckPayload.ID, ModCheckPayload.CODEC);
|
||||
|
||||
ServerPlayNetworking.registerGlobalReceiver(
|
||||
BookShelfInventoryRequestPayload.ID,
|
||||
(payload, context) -> BookshelfInspector.networkHandlers.bookShelfInventoryRequestServerPayloadHandler.receive(payload, context.player()));
|
||||
ServerPlayNetworking.registerGlobalReceiver(
|
||||
LecternInventoryRequestPayload.ID,
|
||||
((payload, context) -> BookshelfInspector.networkHandlers.lecternInventoryRequestServerPayloadHandler.receive(payload, context.player())));
|
||||
|
||||
BookshelfInspector.init();
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package com.lukasabbe.bookshelfinspector;
|
||||
|
||||
import com.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryPayload;
|
||||
import com.lukasabbe.bookshelfinspector.network.packets.ModCheckPayload;
|
||||
import net.fabricmc.api.ClientModInitializer;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||
|
||||
public class BookshelfInspectorFabricClient implements ClientModInitializer {
|
||||
@Override
|
||||
public void onInitializeClient() {
|
||||
ClientPlayNetworking.registerGlobalReceiver(
|
||||
BookShelfInventoryPayload.ID,
|
||||
((payload, context) -> BookshelfInspector.networkHandlers.bookShelfInventoryHandlerServer.receive(payload, context.player())));
|
||||
ClientPlayNetworking.registerGlobalReceiver(
|
||||
ModCheckPayload.ID,
|
||||
((payload, context) -> BookshelfInspector.networkHandlers.modServerPayloadHandler.receive(payload, context.player())));
|
||||
BookshelfInspectorClient.clientInit();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.lukasabbe.bookshelfinspector;
|
||||
|
||||
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
|
||||
import com.terraformersmc.modmenu.api.ModMenuApi;
|
||||
import me.shedaniel.clothconfig2.api.ConfigBuilder;
|
||||
import me.shedaniel.clothconfig2.api.ConfigEntryBuilder;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
public class ModMenu implements ModMenuApi {
|
||||
@Override
|
||||
public ConfigScreenFactory<?> getModConfigScreenFactory() {
|
||||
return parent -> {
|
||||
ConfigBuilder builder = ConfigBuilder
|
||||
.create()
|
||||
.setParentScreen(parent)
|
||||
.setTitle(Component.translatable("bookshelfinspector.config.title"));
|
||||
ConfigEntryBuilder entryBuilder = builder.entryBuilder();
|
||||
|
||||
builder
|
||||
.getOrCreateCategory(Component.translatable("bookshelfinspector.config.category"))
|
||||
.addEntry(entryBuilder
|
||||
.startBooleanToggle(Component.translatable("bookshelfinspector.config.lectern.toggle"), BookshelfInspectorClient.config.lecternToggle)
|
||||
.setTooltip(Component.translatable("bookshelfinspector.config.lectern.toggle.tooltip"))
|
||||
.setDefaultValue(true)
|
||||
.setSaveConsumer(val -> BookshelfInspectorClient.config.lecternToggle = val).build())
|
||||
.addEntry(entryBuilder
|
||||
.startIntSlider(Component.translatable("bookshelfinspector.config.scale"),BookshelfInspectorClient.config.scale,0,20)
|
||||
.setTooltip(Component.translatable("bookshelfinspector.config.scale.tooltip"))
|
||||
.setDefaultValue(10).setSaveConsumer(val -> BookshelfInspectorClient.config.scale = val)
|
||||
.build())
|
||||
.addEntry(entryBuilder
|
||||
.startBooleanToggle(Component.translatable("bookshelfinspector.config.roman_scale"), BookshelfInspectorClient.config.useRoman)
|
||||
.setTooltip(Component.translatable("bookshelfinspector.config.roman_scale.tooltip"))
|
||||
.setDefaultValue(false)
|
||||
.setSaveConsumer(val -> BookshelfInspectorClient.config.useRoman = val)
|
||||
.build());
|
||||
|
||||
builder.setSavingRunnable(BookshelfInspectorClient.config::saveConfig);
|
||||
return builder.build();
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.lukasabbe.bookshelfinspector.platform;
|
||||
|
||||
import com.lukasabbe.bookshelfinspector.platform.handlers.OnPlayerDisconnectEvent;
|
||||
import com.lukasabbe.bookshelfinspector.platform.handlers.OnPlayerJoinEvent;
|
||||
import com.lukasabbe.bookshelfinspector.platform.services.IEventHelper;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents;
|
||||
|
||||
public class FabricEventHelper implements IEventHelper {
|
||||
@Override
|
||||
public void registerOnPlayerJoinEvent(OnPlayerJoinEvent event) {
|
||||
ServerPlayConnectionEvents.JOIN.register((handler, sender, server) -> event.onPlayerJoin(handler.getPlayer(), server));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerOnPlayerDisconnect(OnPlayerDisconnectEvent event) {
|
||||
ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> event.onDisconnect());
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.lukasabbe.bookshelfinspector.platform;
|
||||
|
||||
import com.lukasabbe.bookshelfinspector.platform.services.INetworkHelper;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
|
||||
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
|
||||
public class FabricNetworkHelper implements INetworkHelper {
|
||||
|
||||
@Override
|
||||
public void sendPacketFromServer(ServerPlayer player, CustomPacketPayload payload) {
|
||||
ServerPlayNetworking.send(player, payload);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendPacketFromClient(CustomPacketPayload payload) {
|
||||
ClientPlayNetworking.send(payload);
|
||||
}
|
||||
}
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
package com.lukasabbe.bookshelfinspector.platform;
|
||||
|
||||
import com.lukasabbe.bookshelfinspector.platform.services.IPlatformHelper;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import net.fabricmc.loader.api.ModContainer;
|
||||
|
||||
import java.nio.file.Path;
|
||||
|
||||
public class FabricPlatformHelper implements IPlatformHelper {
|
||||
|
||||
@Override
|
||||
public String getPlatformName() {
|
||||
return "Fabric";
|
||||
}
|
||||
|
||||
@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) {
|
||||
if(FabricLoader.getInstance().getModContainer(mod).isEmpty()) return null;
|
||||
ModContainer modContainer = FabricLoader.getInstance().getModContainer(mod).get();
|
||||
return modContainer.findPath(fileName).orElseThrow();
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
com.lukasabbe.bookshelfinspector.platform.FabricEventHelper
|
||||
+1
@@ -0,0 +1 @@
|
||||
com.lukasabbe.bookshelfinspector.platform.FabricNetworkHelper
|
||||
+1
@@ -0,0 +1 @@
|
||||
com.lukasabbe.bookshelfinspector.platform.FabricPlatformHelper
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"id": "${mod_id}",
|
||||
"version": "${version}",
|
||||
"name": "${mod_name}",
|
||||
"description": "${description}",
|
||||
"authors": [
|
||||
"${mod_author}"
|
||||
],
|
||||
"contact": {
|
||||
"homepage": "https://modrinth.com/mod/bookshelf-inspector",
|
||||
"sources": "https://github.com/lukasabbe/bookshelf-inspector"
|
||||
},
|
||||
"license": "${license}",
|
||||
"environment": "*",
|
||||
"icon": "assets/bookshelfinspector/icon.png",
|
||||
"entrypoints": {
|
||||
"main": [
|
||||
"com.lukasabbe.bookshelfinspector.BookshelfInspectorFabric"
|
||||
],
|
||||
"client": [
|
||||
"com.lukasabbe.bookshelfinspector.BookshelfInspectorFabricClient"
|
||||
],
|
||||
"modmenu": [
|
||||
"com.lukasabbe.bookshelfinspector.ModMenu"
|
||||
]
|
||||
},
|
||||
"mixins": [
|
||||
"bookshelfinspector.mixins.json"
|
||||
],
|
||||
"depends": {
|
||||
"fabricloader": ">=${fabric_loader_version}",
|
||||
"fabric-api": "*",
|
||||
"minecraft": "~${minecraft_version}",
|
||||
"java": ">=${java_version}"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user