mirror of
https://github.com/lukasabbe/bookshelf-inspector.git
synced 2026-04-30 10:40:53 +00:00
1.2.0
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.1+1.21
|
mod_version=1.2+1.21
|
||||||
maven_group=me.lukasabbe
|
maven_group=me.lukasabbe
|
||||||
archives_base_name=Bookshelfinspector
|
archives_base_name=Bookshelfinspector
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import me.lukasabbe.bookshelfinspector.network.ModCheckPayload;
|
|||||||
import net.fabricmc.api.ClientModInitializer;
|
import net.fabricmc.api.ClientModInitializer;
|
||||||
import net.fabricmc.api.EnvType;
|
import net.fabricmc.api.EnvType;
|
||||||
import net.fabricmc.api.Environment;
|
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.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||||
import net.minecraft.item.Items;
|
import net.minecraft.item.Items;
|
||||||
|
|
||||||
@@ -39,5 +40,6 @@ 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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,10 @@
|
|||||||
package me.lukasabbe.bookshelfinspector.mixin;
|
package me.lukasabbe.bookshelfinspector.mixin;
|
||||||
|
|
||||||
import me.lukasabbe.bookshelfinspector.BookshelfinspectorClient;
|
import me.lukasabbe.bookshelfinspector.util.HudRenderer;
|
||||||
import me.lukasabbe.bookshelfinspector.data.BookData;
|
|
||||||
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.client.gui.hud.InGameHud;
|
import net.minecraft.client.gui.hud.InGameHud;
|
||||||
import net.minecraft.client.render.RenderTickCounter;
|
import net.minecraft.client.render.RenderTickCounter;
|
||||||
import net.minecraft.component.DataComponentTypes;
|
|
||||||
import net.minecraft.enchantment.Enchantment;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraft.registry.entry.RegistryEntry;
|
|
||||||
import net.minecraft.text.Text;
|
|
||||||
import org.spongepowered.asm.mixin.Final;
|
import org.spongepowered.asm.mixin.Final;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
@@ -25,38 +19,6 @@ public class InGameHudMixin {
|
|||||||
|
|
||||||
@Inject(method = "render",at=@At("RETURN"))
|
@Inject(method = "render",at=@At("RETURN"))
|
||||||
public void render(DrawContext context, RenderTickCounter tickCounter, CallbackInfo ci){
|
public void render(DrawContext context, RenderTickCounter tickCounter, CallbackInfo ci){
|
||||||
if(!BookshelfinspectorClient.modAvailable) return;
|
HudRenderer.hudRender(context, client);
|
||||||
|
|
||||||
if(client.options.hudHidden) return;
|
|
||||||
|
|
||||||
if(BookshelfinspectorClient.bookShelfData.isCurrentBookDataToggled){
|
|
||||||
final BookData currentBookData = BookshelfinspectorClient.currentBookData;
|
|
||||||
int screenWidth = client.getWindow().getScaledWidth();
|
|
||||||
int screenHeight = client.getWindow().getScaledHeight();
|
|
||||||
int x = screenWidth / 2;
|
|
||||||
int y = screenHeight / 2;
|
|
||||||
final ItemStack itemStack = currentBookData.itemStack;
|
|
||||||
int color = 0xFFFFFFFF;
|
|
||||||
if(itemStack.getRarity().getFormatting().getColorValue() != null){
|
|
||||||
color = itemStack.getRarity().getFormatting().getColorValue();
|
|
||||||
}
|
|
||||||
context.drawCenteredTextWithShadow(client.textRenderer, itemStack.getName(), x,y+10, color);
|
|
||||||
|
|
||||||
var storedComponets = itemStack.getComponents().get(DataComponentTypes.STORED_ENCHANTMENTS);
|
|
||||||
if(storedComponets != null){
|
|
||||||
int i = 20;
|
|
||||||
for(RegistryEntry<Enchantment> enchantment : storedComponets.getEnchantments()){
|
|
||||||
context.drawCenteredTextWithShadow(client.textRenderer, enchantment.value().description(), x,y+i, 0xFFFFFFFF);
|
|
||||||
i+=10;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var writtenBookContentComponent = itemStack.getComponents().get(DataComponentTypes.WRITTEN_BOOK_CONTENT);
|
|
||||||
|
|
||||||
if(writtenBookContentComponent != null){
|
|
||||||
context.drawCenteredTextWithShadow(client.textRenderer, Text.translatableWithFallback("bookshelfinspector.text.book","By ").append(writtenBookContentComponent.author()), x,y+20, 0xFFFFFFFF);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
package me.lukasabbe.bookshelfinspector.util;
|
||||||
|
|
||||||
|
import me.lukasabbe.bookshelfinspector.BookshelfinspectorClient;
|
||||||
|
import me.lukasabbe.bookshelfinspector.data.BookData;
|
||||||
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
import net.minecraft.client.gui.DrawContext;
|
||||||
|
import net.minecraft.component.DataComponentTypes;
|
||||||
|
import net.minecraft.enchantment.Enchantment;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.registry.entry.RegistryEntry;
|
||||||
|
import net.minecraft.text.Text;
|
||||||
|
|
||||||
|
public class HudRenderer {
|
||||||
|
public static void hudRender(DrawContext context, MinecraftClient client){
|
||||||
|
if(!BookshelfinspectorClient.modAvailable) return;
|
||||||
|
|
||||||
|
if(client.options.hudHidden) return;
|
||||||
|
|
||||||
|
if(BookshelfinspectorClient.bookShelfData.isCurrentBookDataToggled){
|
||||||
|
final BookData currentBookData = BookshelfinspectorClient.currentBookData;
|
||||||
|
int screenWidth = client.getWindow().getScaledWidth();
|
||||||
|
int screenHeight = client.getWindow().getScaledHeight();
|
||||||
|
int x = screenWidth / 2;
|
||||||
|
int y = screenHeight / 2;
|
||||||
|
final ItemStack itemStack = currentBookData.itemStack;
|
||||||
|
int color = 0xFFFFFFFF;
|
||||||
|
if(itemStack.getRarity().getFormatting().getColorValue() != null){
|
||||||
|
color = itemStack.getRarity().getFormatting().getColorValue();
|
||||||
|
}
|
||||||
|
context.drawCenteredTextWithShadow(client.textRenderer, itemStack.getName(), x,y+10, color);
|
||||||
|
|
||||||
|
var storedComponets = itemStack.getComponents().get(DataComponentTypes.STORED_ENCHANTMENTS);
|
||||||
|
if(storedComponets != null){
|
||||||
|
int i = 20;
|
||||||
|
for(RegistryEntry<Enchantment> enchantment : storedComponets.getEnchantments()){
|
||||||
|
context.drawCenteredTextWithShadow(client.textRenderer, enchantment.value().description(), x,y+i, 0xFFFFFFFF);
|
||||||
|
i+=10;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var writtenBookContentComponent = itemStack.getComponents().get(DataComponentTypes.WRITTEN_BOOK_CONTENT);
|
||||||
|
|
||||||
|
if(writtenBookContentComponent != null){
|
||||||
|
context.drawCenteredTextWithShadow(client.textRenderer, Text.translatableWithFallback("bookshelfinspector.text.book","by ").append(writtenBookContentComponent.author()), x,y+20, 0xFFFFFFFF);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"bookshelfinspector.text.book" : "By "
|
"bookshelfinspector.text.book" : "by "
|
||||||
}
|
}
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"bookshelfinspector.text.book" : "Av "
|
"bookshelfinspector.text.book" : "av "
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user