mirror of
https://github.com/lukasabbe/bookshelf-inspector.git
synced 2026-04-30 10:40:53 +00:00
graddle update
This commit is contained in:
+11
@@ -0,0 +1,11 @@
|
||||
package me.lukasabbe.bookshelfinspector.network;
|
||||
|
||||
import me.lukasabbe.bookshelfinspector.Bookshelfinspector;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class BookShelfInspectorNetworkConstants {
|
||||
public static final Identifier BOOK_SHELF_INVENTORY_REQUEST_PACKET_ID = Identifier.of(Bookshelfinspector.MOD_ID,"book_shelf_inventory_request");
|
||||
public static final Identifier BOOK_SHELF_INVENTORY_PACKET_ID = Identifier.of(Bookshelfinspector.MOD_ID,"book_shelf_inventory");
|
||||
public static final Identifier MOD_CHECK_PACKET_ID = Identifier.of(Bookshelfinspector.MOD_ID,"mod_check");
|
||||
public static final Identifier LECTERN_INVENTORY_REQUEST_PACKET_ID = Identifier.of(Bookshelfinspector.MOD_ID, "lectern_inventory_request");
|
||||
}
|
||||
+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;
|
||||
});
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
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;
|
||||
import net.minecraft.network.codec.PacketCodecs;
|
||||
import net.minecraft.network.packet.CustomPayload;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public record BookShelfInventoryPayload(ItemStack itemStack, BlockPos pos, int slotNum) implements CustomPayload{
|
||||
public static final CustomPayload.Id<BookShelfInventoryPayload> ID = new CustomPayload.Id<>(BookShelfInspectorNetworkConstants.BOOK_SHELF_INVENTORY_PACKET_ID);
|
||||
public static final PacketCodec<RegistryByteBuf, BookShelfInventoryPayload> CODEC = PacketCodec.tuple(
|
||||
ItemStack.OPTIONAL_PACKET_CODEC, BookShelfInventoryPayload::itemStack,
|
||||
BlockPos.PACKET_CODEC, BookShelfInventoryPayload::pos,
|
||||
PacketCodecs.INTEGER, BookShelfInventoryPayload::slotNum,
|
||||
BookShelfInventoryPayload::new);
|
||||
|
||||
@Override
|
||||
public CustomPayload.Id<? extends CustomPayload> getId() {
|
||||
return ID;
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
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;
|
||||
import net.minecraft.network.packet.CustomPayload;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public record BookShelfInventoryRequestPayload(BlockPos pos, int slotNum) implements CustomPayload {
|
||||
|
||||
public static final CustomPayload.Id<BookShelfInventoryRequestPayload> ID = new CustomPayload.Id<>(BookShelfInspectorNetworkConstants.BOOK_SHELF_INVENTORY_REQUEST_PACKET_ID);
|
||||
|
||||
public static final PacketCodec<RegistryByteBuf, BookShelfInventoryRequestPayload> CODEC = PacketCodec.tuple(
|
||||
BlockPos.PACKET_CODEC,BookShelfInventoryRequestPayload::pos,
|
||||
PacketCodecs.INTEGER, BookShelfInventoryRequestPayload::slotNum,
|
||||
BookShelfInventoryRequestPayload::new);
|
||||
|
||||
@Override
|
||||
public Id<? extends CustomPayload> getId() {
|
||||
return ID;
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
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;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public record LecternInventoryRequestPayload(BlockPos pos) implements CustomPayload{
|
||||
public static final CustomPayload.Id<LecternInventoryRequestPayload> ID = new CustomPayload.Id<>(BookShelfInspectorNetworkConstants.LECTERN_INVENTORY_REQUEST_PACKET_ID);
|
||||
|
||||
public static final PacketCodec<RegistryByteBuf, LecternInventoryRequestPayload> CODEC = PacketCodec.tuple(
|
||||
BlockPos.PACKET_CODEC,LecternInventoryRequestPayload::pos,
|
||||
LecternInventoryRequestPayload::new);
|
||||
|
||||
@Override
|
||||
public CustomPayload.Id<? extends CustomPayload> getId() {
|
||||
return ID;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
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;
|
||||
import net.minecraft.network.packet.CustomPayload;
|
||||
|
||||
public record ModCheckPayload(boolean modActivated) implements CustomPayload {
|
||||
public static final CustomPayload.Id<ModCheckPayload> ID = new CustomPayload.Id<>(BookShelfInspectorNetworkConstants.MOD_CHECK_PACKET_ID);
|
||||
|
||||
public static final PacketCodec<RegistryByteBuf, ModCheckPayload> CODEC = PacketCodec.tuple(
|
||||
PacketCodecs.BOOLEAN, ModCheckPayload::modActivated,
|
||||
ModCheckPayload::new
|
||||
);
|
||||
|
||||
@Override
|
||||
public Id<? extends CustomPayload> getId() {
|
||||
return ID;
|
||||
}
|
||||
}
|
||||
+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));
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user