mirror of
https://github.com/lukasabbe/bookshelf-inspector.git
synced 2026-04-30 10:40:53 +00:00
Enchanted books now show there lvl when looked at
This commit is contained in:
+1
-1
@@ -6,7 +6,7 @@ minecraft_version=1.21
|
|||||||
yarn_mappings=1.21+build.9
|
yarn_mappings=1.21+build.9
|
||||||
loader_version=0.16.5
|
loader_version=0.16.5
|
||||||
# Mod Properties
|
# Mod Properties
|
||||||
mod_version=1.3+1.21
|
mod_version=1.4+1.21
|
||||||
maven_group=me.lukasabbe
|
maven_group=me.lukasabbe
|
||||||
archives_base_name=Bookshelfinspector
|
archives_base_name=Bookshelfinspector
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package me.lukasabbe.bookshelfinspector;
|
package me.lukasabbe.bookshelfinspector;
|
||||||
|
|
||||||
|
import io.netty.buffer.Unpooled;
|
||||||
import me.lukasabbe.bookshelfinspector.network.BookShelfInventoryPayload;
|
import me.lukasabbe.bookshelfinspector.network.BookShelfInventoryPayload;
|
||||||
import me.lukasabbe.bookshelfinspector.network.BookShelfInventoryRequestPayload;
|
import me.lukasabbe.bookshelfinspector.network.BookShelfInventoryRequestPayload;
|
||||||
import me.lukasabbe.bookshelfinspector.network.ModCheckPayload;
|
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.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.item.Items;
|
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 net.minecraft.server.MinecraftServer;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@@ -36,6 +40,7 @@ public class Bookshelfinspector implements ModInitializer {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ServerPlayNetworking.send(context.player(), new BookShelfInventoryPayload(stack, payload.pos(), payload.slotNum()));
|
ServerPlayNetworking.send(context.player(), new BookShelfInventoryPayload(stack, payload.pos(), payload.slotNum()));
|
||||||
|
new RegistryByteBuf(Unpooled.buffer(), DynamicRegistryManager.EMPTY);
|
||||||
})));
|
})));
|
||||||
|
|
||||||
ServerPlayConnectionEvents.JOIN.register(((handler, sender, server) -> {
|
ServerPlayConnectionEvents.JOIN.register(((handler, sender, server) -> {
|
||||||
|
|||||||
@@ -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.ClientPlayConnectionEvents;
|
||||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||||
import net.minecraft.item.Items;
|
import net.minecraft.item.Items;
|
||||||
import net.minecraft.text.Text;
|
|
||||||
|
|
||||||
@Environment(EnvType.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
public class BookshelfinspectorClient implements ClientModInitializer {
|
public class BookshelfinspectorClient implements ClientModInitializer {
|
||||||
@@ -41,6 +40,9 @@ public class BookshelfinspectorClient implements ClientModInitializer {
|
|||||||
Bookshelfinspector.LOGGER.info("[bookshelfinspector] Connected to server");
|
Bookshelfinspector.LOGGER.info("[bookshelfinspector] Connected to server");
|
||||||
modAvailable = true;
|
modAvailable = true;
|
||||||
}));
|
}));
|
||||||
ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> modAvailable = false);
|
ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> {
|
||||||
|
modAvailable = false;
|
||||||
|
bookShelfData = new BookShelfData();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import net.minecraft.network.codec.PacketCodecs;
|
|||||||
import net.minecraft.network.packet.CustomPayload;
|
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<ModCheckPayload> ID = new CustomPayload.Id<>(BookShelfInspectorNetworkConstants.MOD_CHECK_PACKET_ID);
|
public static final CustomPayload.Id<ModCheckPayload> ID = new CustomPayload.Id<>(BookShelfInspectorNetworkConstants.MOD_CHECK_PACKET_ID);
|
||||||
|
|
||||||
public static final PacketCodec<RegistryByteBuf, ModCheckPayload> CODEC = PacketCodec.tuple(
|
public static final PacketCodec<RegistryByteBuf, ModCheckPayload> CODEC = PacketCodec.tuple(
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import net.fabricmc.api.Environment;
|
|||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.component.DataComponentTypes;
|
import net.minecraft.component.DataComponentTypes;
|
||||||
|
import net.minecraft.component.type.ItemEnchantmentsComponent;
|
||||||
import net.minecraft.enchantment.Enchantment;
|
import net.minecraft.enchantment.Enchantment;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.registry.entry.RegistryEntry;
|
import net.minecraft.registry.entry.RegistryEntry;
|
||||||
@@ -32,11 +33,15 @@ public class HudRenderer {
|
|||||||
}
|
}
|
||||||
context.drawCenteredTextWithShadow(client.textRenderer, itemStack.getName(), x,y+10, color);
|
context.drawCenteredTextWithShadow(client.textRenderer, itemStack.getName(), x,y+10, color);
|
||||||
|
|
||||||
var storedComponets = itemStack.getComponents().get(DataComponentTypes.STORED_ENCHANTMENTS);
|
ItemEnchantmentsComponent storedComponents = itemStack.getComponents().get(DataComponentTypes.STORED_ENCHANTMENTS);
|
||||||
if(storedComponets != null){
|
if(storedComponents != null){
|
||||||
int i = 20;
|
int i = 20;
|
||||||
for(RegistryEntry<Enchantment> enchantment : storedComponets.getEnchantments()){
|
for(RegistryEntry<Enchantment> enchantment : storedComponents.getEnchantments()){
|
||||||
context.drawCenteredTextWithShadow(client.textRenderer, enchantment.value().description(), x,y+i, 0xFFFFFFFF);
|
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;
|
i+=10;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user