diff --git a/gradle.properties b/gradle.properties index 5b38978..3d5e1fe 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ minecraft_version=1.21 yarn_mappings=1.21+build.9 loader_version=0.16.5 # Mod Properties -mod_version=1.3+1.21 +mod_version=1.4+1.21 maven_group=me.lukasabbe archives_base_name=Bookshelfinspector diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java b/src/main/java/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java index 670b19f..82807cc 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java @@ -1,5 +1,6 @@ package me.lukasabbe.bookshelfinspector; +import io.netty.buffer.Unpooled; import me.lukasabbe.bookshelfinspector.network.BookShelfInventoryPayload; import me.lukasabbe.bookshelfinspector.network.BookShelfInventoryRequestPayload; import me.lukasabbe.bookshelfinspector.network.ModCheckPayload; @@ -10,6 +11,9 @@ 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.network.RegistryByteBuf; +import net.minecraft.network.codec.PacketCodec; +import net.minecraft.registry.DynamicRegistryManager; import net.minecraft.server.MinecraftServer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,6 +40,7 @@ public class Bookshelfinspector implements ModInitializer { return; } ServerPlayNetworking.send(context.player(), new BookShelfInventoryPayload(stack, payload.pos(), payload.slotNum())); + new RegistryByteBuf(Unpooled.buffer(), DynamicRegistryManager.EMPTY); }))); ServerPlayConnectionEvents.JOIN.register(((handler, sender, server) -> { diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/BookshelfinspectorClient.java b/src/main/java/me/lukasabbe/bookshelfinspector/BookshelfinspectorClient.java index d721475..2071db6 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/BookshelfinspectorClient.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/BookshelfinspectorClient.java @@ -10,7 +10,6 @@ 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; -import net.minecraft.text.Text; @Environment(EnvType.CLIENT) public class BookshelfinspectorClient implements ClientModInitializer { @@ -41,6 +40,9 @@ public class BookshelfinspectorClient implements ClientModInitializer { Bookshelfinspector.LOGGER.info("[bookshelfinspector] Connected to server"); modAvailable = true; })); - ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> modAvailable = false); + ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> { + modAvailable = false; + bookShelfData = new BookShelfData(); + }); } } diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/network/ModCheckPayload.java b/src/main/java/me/lukasabbe/bookshelfinspector/network/ModCheckPayload.java index dcdcb38..7d40785 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/network/ModCheckPayload.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/network/ModCheckPayload.java @@ -5,8 +5,7 @@ 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 record ModCheckPayload(boolean modActivated) implements CustomPayload { public static final CustomPayload.Id ID = new CustomPayload.Id<>(BookShelfInspectorNetworkConstants.MOD_CHECK_PACKET_ID); public static final PacketCodec CODEC = PacketCodec.tuple( diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java b/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java index 30ce03f..8c8d16b 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java @@ -7,6 +7,7 @@ import net.fabricmc.api.Environment; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; import net.minecraft.component.DataComponentTypes; +import net.minecraft.component.type.ItemEnchantmentsComponent; import net.minecraft.enchantment.Enchantment; import net.minecraft.item.ItemStack; import net.minecraft.registry.entry.RegistryEntry; @@ -32,11 +33,15 @@ public class HudRenderer { } context.drawCenteredTextWithShadow(client.textRenderer, itemStack.getName(), x,y+10, color); - var storedComponets = itemStack.getComponents().get(DataComponentTypes.STORED_ENCHANTMENTS); - if(storedComponets != null){ + ItemEnchantmentsComponent storedComponents = itemStack.getComponents().get(DataComponentTypes.STORED_ENCHANTMENTS); + if(storedComponents != null){ int i = 20; - for(RegistryEntry enchantment : storedComponets.getEnchantments()){ - context.drawCenteredTextWithShadow(client.textRenderer, enchantment.value().description(), x,y+i, 0xFFFFFFFF); + for(RegistryEntry enchantment : storedComponents.getEnchantments()){ + String lvl = ""; + if(storedComponents.getLevel(enchantment) != 1) + lvl = String.valueOf(storedComponents.getLevel(enchantment)); + + context.drawCenteredTextWithShadow(client.textRenderer, enchantment.value().description().copy().append(" " + lvl), x,y+i, 0xFFFFFFFF); i+=10; } }