mirror of
https://github.com/lukasabbe/bookshelf-inspector.git
synced 2026-04-30 10:40:53 +00:00
1.21.4 version, reworks to network handling. No code changes just made it more clear
This commit is contained in:
+5
-5
@@ -2,16 +2,16 @@
|
||||
org.gradle.jvmargs=-Xmx1G
|
||||
# Fabric Properties
|
||||
# check these on https://modmuss50.me/fabric.html
|
||||
minecraft_version=1.21.2
|
||||
yarn_mappings=1.21.2+build.1
|
||||
loader_version=0.16.7
|
||||
minecraft_version=24w44a
|
||||
yarn_mappings=24w44a+build.1
|
||||
loader_version=0.16.9
|
||||
# Mod Properties
|
||||
mod_version=1.5+1.21.2
|
||||
mod_version=1.5+1.21.4-SNAPSHOT.1
|
||||
maven_group=me.lukasabbe
|
||||
archives_base_name=Bookshelfinspector
|
||||
|
||||
# Dependencies
|
||||
fabric_version=0.106.1+1.21.2
|
||||
fabric_version=0.107.0+1.21.4
|
||||
cloth_config=16.0.141
|
||||
modmenu=12.0.0-beta.1
|
||||
YAML_snake=2.2
|
||||
@@ -1,17 +1,15 @@
|
||||
package me.lukasabbe.bookshelfinspector;
|
||||
|
||||
import me.lukasabbe.bookshelfinspector.network.BookShelfInventoryPayload;
|
||||
import me.lukasabbe.bookshelfinspector.network.BookShelfInventoryRequestPayload;
|
||||
import me.lukasabbe.bookshelfinspector.network.LecternInventoryRequestPayload;
|
||||
import me.lukasabbe.bookshelfinspector.network.ModCheckPayload;
|
||||
import me.lukasabbe.bookshelfinspector.util.BookshelfTools;
|
||||
import me.lukasabbe.bookshelfinspector.util.LecternTools;
|
||||
import me.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryPayload;
|
||||
import me.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryRequestPayload;
|
||||
import me.lukasabbe.bookshelfinspector.network.packets.LecternInventoryRequestPayload;
|
||||
import me.lukasabbe.bookshelfinspector.network.packets.ModCheckPayload;
|
||||
import me.lukasabbe.bookshelfinspector.network.server.BookShelfInventoryRequestPayloadHandler;
|
||||
import me.lukasabbe.bookshelfinspector.network.server.LecternInventoryRequestPayloadHandler;
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -29,28 +27,9 @@ public class Bookshelfinspector implements ModInitializer {
|
||||
PayloadTypeRegistry.playS2C().register(BookShelfInventoryPayload.ID,BookShelfInventoryPayload.CODEC);
|
||||
PayloadTypeRegistry.playS2C().register(ModCheckPayload.ID, ModCheckPayload.CODEC);
|
||||
|
||||
ServerPlayNetworking.registerGlobalReceiver(BookShelfInventoryRequestPayload.ID,((payload, context) -> context.server().execute(() -> {
|
||||
if(Bookshelfinspector.serverInstance == null) return;
|
||||
ServerPlayNetworking.registerGlobalReceiver(BookShelfInventoryRequestPayload.ID, new BookShelfInventoryRequestPayloadHandler());
|
||||
|
||||
ItemStack stack = BookshelfTools.getItemById(payload.pos(),payload.slotNum(),context.player());
|
||||
if(stack == null){
|
||||
ServerPlayNetworking.send(context.player(), new BookShelfInventoryPayload(Items.AIR.getDefaultStack(), payload.pos(), payload.slotNum()));
|
||||
return;
|
||||
}
|
||||
ServerPlayNetworking.send(context.player(), new BookShelfInventoryPayload(stack, payload.pos(), payload.slotNum()));
|
||||
})));
|
||||
|
||||
ServerPlayNetworking.registerGlobalReceiver(LecternInventoryRequestPayload.ID, ((payload, context) -> context.server().execute(() ->{
|
||||
if(Bookshelfinspector.serverInstance == null) return;
|
||||
|
||||
ItemStack stack = LecternTools.getItemStack(payload.pos(), context.player());
|
||||
|
||||
if(stack == null){
|
||||
ServerPlayNetworking.send(context.player(), new BookShelfInventoryPayload(Items.AIR.getDefaultStack(), payload.pos(), 0));
|
||||
return;
|
||||
}
|
||||
ServerPlayNetworking.send(context.player(), new BookShelfInventoryPayload(stack, payload.pos(), 0));
|
||||
})));
|
||||
ServerPlayNetworking.registerGlobalReceiver(LecternInventoryRequestPayload.ID, new LecternInventoryRequestPayloadHandler());
|
||||
|
||||
ServerPlayConnectionEvents.JOIN.register(((handler, sender, server) -> {
|
||||
serverInstance = server;
|
||||
|
||||
@@ -3,14 +3,15 @@ package me.lukasabbe.bookshelfinspector;
|
||||
import me.lukasabbe.bookshelfinspector.config.Config;
|
||||
import me.lukasabbe.bookshelfinspector.data.BookData;
|
||||
import me.lukasabbe.bookshelfinspector.data.BookShelfData;
|
||||
import me.lukasabbe.bookshelfinspector.network.BookShelfInventoryPayload;
|
||||
import me.lukasabbe.bookshelfinspector.network.ModCheckPayload;
|
||||
import me.lukasabbe.bookshelfinspector.network.client.BookShelfInventoryHandler;
|
||||
import me.lukasabbe.bookshelfinspector.network.client.ModPayloadHandler;
|
||||
import me.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryPayload;
|
||||
import me.lukasabbe.bookshelfinspector.network.packets.ModCheckPayload;
|
||||
import net.fabricmc.api.ClientModInitializer;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||
import net.minecraft.item.Items;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class BookshelfinspectorClient implements ClientModInitializer {
|
||||
@@ -23,26 +24,9 @@ public class BookshelfinspectorClient implements ClientModInitializer {
|
||||
@Override
|
||||
public void onInitializeClient() {
|
||||
config.loadConfig();
|
||||
ClientPlayNetworking.registerGlobalReceiver(BookShelfInventoryPayload.ID,
|
||||
((payload, context) ->
|
||||
context.client().execute(() ->{
|
||||
bookShelfData.requestSent = false;
|
||||
if(payload.itemStack().isOf(Items.AIR)){
|
||||
bookShelfData.isCurrentBookDataToggled = false;
|
||||
currentBookData = BookData.empty();
|
||||
currentBookData.slotId = -2;
|
||||
}
|
||||
else{
|
||||
bookShelfData.isCurrentBookDataToggled = true;
|
||||
currentBookData = new BookData(payload.itemStack(),payload.pos(),payload.slotNum());
|
||||
}
|
||||
})));
|
||||
ClientPlayNetworking.registerGlobalReceiver(BookShelfInventoryPayload.ID, new BookShelfInventoryHandler());
|
||||
ClientPlayNetworking.registerGlobalReceiver(ModCheckPayload.ID,new ModPayloadHandler());
|
||||
|
||||
ClientPlayNetworking.registerGlobalReceiver(ModCheckPayload.ID,
|
||||
(payload, context) -> context.client().execute(() ->{
|
||||
Bookshelfinspector.LOGGER.info("[bookshelfinspector] Connected to server");
|
||||
modAvailable = true;
|
||||
}));
|
||||
ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> {
|
||||
modAvailable = false;
|
||||
bookShelfData = new BookShelfData();
|
||||
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
package me.lukasabbe.bookshelfinspector.network.client;
|
||||
|
||||
import me.lukasabbe.bookshelfinspector.BookshelfinspectorClient;
|
||||
import me.lukasabbe.bookshelfinspector.data.BookData;
|
||||
import me.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryPayload;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||
import net.minecraft.item.Items;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class BookShelfInventoryHandler implements ClientPlayNetworking.PlayPayloadHandler<BookShelfInventoryPayload> {
|
||||
@Override
|
||||
public void receive(BookShelfInventoryPayload bookShelfInventoryPayload, ClientPlayNetworking.Context context) {
|
||||
context.client().execute(() ->{
|
||||
BookshelfinspectorClient.bookShelfData.requestSent = false;
|
||||
if(bookShelfInventoryPayload.itemStack().isOf(Items.AIR)){
|
||||
BookshelfinspectorClient.bookShelfData.isCurrentBookDataToggled = false;
|
||||
BookshelfinspectorClient.currentBookData = BookData.empty();
|
||||
BookshelfinspectorClient.currentBookData.slotId = -2;
|
||||
}
|
||||
else{
|
||||
BookshelfinspectorClient.bookShelfData.isCurrentBookDataToggled = true;
|
||||
BookshelfinspectorClient.currentBookData = new BookData(bookShelfInventoryPayload.itemStack(),bookShelfInventoryPayload.pos(),bookShelfInventoryPayload.slotNum());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package me.lukasabbe.bookshelfinspector.network.client;
|
||||
|
||||
import me.lukasabbe.bookshelfinspector.Bookshelfinspector;
|
||||
import me.lukasabbe.bookshelfinspector.BookshelfinspectorClient;
|
||||
import me.lukasabbe.bookshelfinspector.network.packets.ModCheckPayload;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class ModPayloadHandler implements ClientPlayNetworking.PlayPayloadHandler<ModCheckPayload> {
|
||||
@Override
|
||||
public void receive(ModCheckPayload modCheckPayload, ClientPlayNetworking.Context context) {
|
||||
context.client().execute(() ->{
|
||||
Bookshelfinspector.LOGGER.info("[bookshelfinspector] Connected to server");
|
||||
BookshelfinspectorClient.modAvailable = true;
|
||||
});
|
||||
}
|
||||
}
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
package me.lukasabbe.bookshelfinspector.network;
|
||||
package me.lukasabbe.bookshelfinspector.network.packets;
|
||||
|
||||
import me.lukasabbe.bookshelfinspector.network.BookShelfInspectorNetworkConstants;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.network.RegistryByteBuf;
|
||||
import net.minecraft.network.codec.PacketCodec;
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
package me.lukasabbe.bookshelfinspector.network;
|
||||
package me.lukasabbe.bookshelfinspector.network.packets;
|
||||
|
||||
import me.lukasabbe.bookshelfinspector.network.BookShelfInspectorNetworkConstants;
|
||||
import net.minecraft.network.RegistryByteBuf;
|
||||
import net.minecraft.network.codec.PacketCodec;
|
||||
import net.minecraft.network.codec.PacketCodecs;
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
package me.lukasabbe.bookshelfinspector.network;
|
||||
package me.lukasabbe.bookshelfinspector.network.packets;
|
||||
|
||||
import me.lukasabbe.bookshelfinspector.network.BookShelfInspectorNetworkConstants;
|
||||
import net.minecraft.network.RegistryByteBuf;
|
||||
import net.minecraft.network.codec.PacketCodec;
|
||||
import net.minecraft.network.packet.CustomPayload;
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
package me.lukasabbe.bookshelfinspector.network;
|
||||
package me.lukasabbe.bookshelfinspector.network.packets;
|
||||
|
||||
import me.lukasabbe.bookshelfinspector.network.BookShelfInspectorNetworkConstants;
|
||||
import net.minecraft.network.RegistryByteBuf;
|
||||
import net.minecraft.network.codec.PacketCodec;
|
||||
import net.minecraft.network.codec.PacketCodecs;
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
package me.lukasabbe.bookshelfinspector.network.server;
|
||||
|
||||
import me.lukasabbe.bookshelfinspector.Bookshelfinspector;
|
||||
import me.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryPayload;
|
||||
import me.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryRequestPayload;
|
||||
import me.lukasabbe.bookshelfinspector.util.BookshelfTools;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
|
||||
public class BookShelfInventoryRequestPayloadHandler implements ServerPlayNetworking.PlayPayloadHandler<BookShelfInventoryRequestPayload> {
|
||||
@Override
|
||||
public void receive(BookShelfInventoryRequestPayload bookShelfInventoryRequestPayload, ServerPlayNetworking.Context context) {
|
||||
context.server().execute(() -> {
|
||||
if(Bookshelfinspector.serverInstance == null) return;
|
||||
|
||||
ItemStack stack = BookshelfTools.getItemById(bookShelfInventoryRequestPayload.pos(),bookShelfInventoryRequestPayload.slotNum(),context.player());
|
||||
if(stack == null){
|
||||
ServerPlayNetworking.send(context.player(), new BookShelfInventoryPayload(Items.AIR.getDefaultStack(), bookShelfInventoryRequestPayload.pos(), bookShelfInventoryRequestPayload.slotNum()));
|
||||
return;
|
||||
}
|
||||
ServerPlayNetworking.send(context.player(), new BookShelfInventoryPayload(stack, bookShelfInventoryRequestPayload.pos(), bookShelfInventoryRequestPayload.slotNum()));
|
||||
});
|
||||
}
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
package me.lukasabbe.bookshelfinspector.network.server;
|
||||
|
||||
import me.lukasabbe.bookshelfinspector.Bookshelfinspector;
|
||||
import me.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryPayload;
|
||||
import me.lukasabbe.bookshelfinspector.network.packets.LecternInventoryRequestPayload;
|
||||
import me.lukasabbe.bookshelfinspector.util.LecternTools;
|
||||
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
|
||||
public class LecternInventoryRequestPayloadHandler implements ServerPlayNetworking.PlayPayloadHandler<LecternInventoryRequestPayload>{
|
||||
@Override
|
||||
public void receive(LecternInventoryRequestPayload lecternInventoryRequestPayload, ServerPlayNetworking.Context context) {
|
||||
context.server().execute(() ->{
|
||||
if(Bookshelfinspector.serverInstance == null) return;
|
||||
|
||||
ItemStack stack = LecternTools.getItemStack(lecternInventoryRequestPayload.pos(), context.player());
|
||||
|
||||
if(stack == null){
|
||||
ServerPlayNetworking.send(context.player(), new BookShelfInventoryPayload(Items.AIR.getDefaultStack(), lecternInventoryRequestPayload.pos(), 0));
|
||||
return;
|
||||
}
|
||||
ServerPlayNetworking.send(context.player(), new BookShelfInventoryPayload(stack, lecternInventoryRequestPayload.pos(), 0));
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -3,8 +3,8 @@ package me.lukasabbe.bookshelfinspector.util;
|
||||
import me.lukasabbe.bookshelfinspector.BookshelfinspectorClient;
|
||||
import me.lukasabbe.bookshelfinspector.data.BookData;
|
||||
import me.lukasabbe.bookshelfinspector.mixin.BookshelfInvoker;
|
||||
import me.lukasabbe.bookshelfinspector.network.BookShelfInventoryRequestPayload;
|
||||
import me.lukasabbe.bookshelfinspector.network.LecternInventoryRequestPayload;
|
||||
import me.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryRequestPayload;
|
||||
import me.lukasabbe.bookshelfinspector.network.packets.LecternInventoryRequestPayload;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
"bookshelfinspector.config.title": "Bookshelf Inspector Config",
|
||||
"bookshelfinspector.config.category": "Inställningar",
|
||||
"bookshelfinspector.config.lectern.toggle": "Stäng AV eller PÅ läspulpet stöd",
|
||||
"bookshelfinspector.config.lectern.toggle.tooltip": "Denna inställning kommer stänga av eller på synligeten av läspulpet inspection"
|
||||
"bookshelfinspector.config.lectern.toggle.tooltip": "Denna inställning kommer stänga av eller på synligeten av läspulpet inspektion"
|
||||
}
|
||||
@@ -25,7 +25,7 @@
|
||||
],
|
||||
"depends": {
|
||||
"fabricloader": ">=${loader_version}",
|
||||
"minecraft": ">=1.21.2",
|
||||
"minecraft": ">=1.21.4-alpha.24.44.a",
|
||||
"fabric-api-base": "*",
|
||||
"fabric-networking-api-v1": "*",
|
||||
"fabric-lifecycle-events-v1": "*"
|
||||
|
||||
Reference in New Issue
Block a user