From 56d9d69e1b0df1ab389c5af3b4237f05c60f7acc Mon Sep 17 00:00:00 2001 From: lukasabbe <67807954+lukasabbe@users.noreply.github.com> Date: Thu, 10 Apr 2025 18:35:53 +0200 Subject: [PATCH 01/16] craftmine version, if you want it you can build it your self --- .gitignore | 2 + gradle.properties | 10 +- .../Bookshelfinspector.java | 39 ------ .../BookshelfinspectorClient.java | 35 ----- .../bookshelfinspector/config/Config.java | 71 ---------- .../bookshelfinspector/config/ModMenu.java | 46 ------- .../bookshelfinspector/data/BookData.java | 20 --- .../data/BookShelfData.java | 10 -- .../mixin/BookshelfInvoker.java | 15 --- .../mixin/BookshelfMixin.java | 28 ---- .../mixin/InGameHudMixin.java | 29 ---- .../BookShelfInspectorNetworkConstants.java | 11 -- .../client/BookShelfInventoryHandler.java | 28 ---- .../network/client/ModPayloadHandler.java | 19 --- .../packets/BookShelfInventoryPayload.java | 23 ---- .../BookShelfInventoryRequestPayload.java | 23 ---- .../LecternInventoryRequestPayload.java | 20 --- .../network/packets/ModCheckPayload.java | 21 --- ...okShelfInventoryRequestPayloadHandler.java | 25 ---- ...LecternInventoryRequestPayloadHandler.java | 26 ---- .../util/BookshelfTools.java | 28 ---- .../bookshelfinspector/util/HudRenderer.java | 92 ------------- .../bookshelfinspector/util/Inspector.java | 125 ------------------ .../bookshelfinspector/util/LecternTools.java | 25 ---- .../util/RomanNumerals.java | 34 ----- .../util/BookshelfTools.java | 3 +- .../bookshelfinspector/util/LecternTools.java | 3 +- src/main/resources/fabric.mod.json | 2 +- 28 files changed, 10 insertions(+), 803 deletions(-) delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/BookshelfinspectorClient.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/config/Config.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/config/ModMenu.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/data/BookData.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/data/BookShelfData.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/mixin/BookshelfInvoker.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/mixin/BookshelfMixin.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/mixin/InGameHudMixin.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/network/BookShelfInspectorNetworkConstants.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/network/client/BookShelfInventoryHandler.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/network/client/ModPayloadHandler.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/network/packets/BookShelfInventoryPayload.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/network/packets/BookShelfInventoryRequestPayload.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/network/packets/LecternInventoryRequestPayload.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/network/packets/ModCheckPayload.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/network/server/BookShelfInventoryRequestPayloadHandler.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/network/server/LecternInventoryRequestPayloadHandler.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/util/BookshelfTools.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/util/HudRenderer.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/util/Inspector.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/util/LecternTools.java delete mode 100644 remappedSrc/me/lukasabbe/bookshelfinspector/util/RomanNumerals.java diff --git a/.gitignore b/.gitignore index 3c37caf..7eba375 100644 --- a/.gitignore +++ b/.gitignore @@ -116,3 +116,5 @@ run/ # Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) !gradle-wrapper.jar + +remappedSrc/ diff --git a/gradle.properties b/gradle.properties index e07b518..3fbc902 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,16 +2,16 @@ org.gradle.jvmargs=-Xmx4G # Fabric Properties # check these on https://modmuss50.me/fabric.html -minecraft_version=1.21.5 -yarn_mappings=1.21.5+build.1 -loader_version=0.16.10 +minecraft_version=25w14craftmine +yarn_mappings=25w14craftmine+build.2 +loader_version=0.16.13 # Mod Properties -mod_version=1.10+1.21.5 +mod_version=1.10+25w14craftmine maven_group=me.lukasabbe archives_base_name=Bookshelfinspector # Dependencies -fabric_version=0.119.5+1.21.5 +fabric_version=0.119.9+25w14craftmine cloth_config=18.0.145 modmenu=14.0.0-rc.2 YAML_snake=2.3 \ No newline at end of file diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java b/remappedSrc/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java deleted file mode 100644 index c5fe547..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java +++ /dev/null @@ -1,39 +0,0 @@ -package me.lukasabbe.bookshelfinspector; - -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.server.MinecraftServer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class Bookshelfinspector implements ModInitializer { - public static MinecraftServer serverInstance; - public final static String MOD_ID = "bookshelfinspector"; - - public static Logger LOGGER = LoggerFactory.getLogger(MOD_ID); - - @Override - public void onInitialize() { - PayloadTypeRegistry.playC2S().register(BookShelfInventoryRequestPayload.ID,BookShelfInventoryRequestPayload.CODEC); - PayloadTypeRegistry.playC2S().register(LecternInventoryRequestPayload.ID, LecternInventoryRequestPayload.CODEC); - PayloadTypeRegistry.playS2C().register(BookShelfInventoryPayload.ID,BookShelfInventoryPayload.CODEC); - PayloadTypeRegistry.playS2C().register(ModCheckPayload.ID, ModCheckPayload.CODEC); - - ServerPlayNetworking.registerGlobalReceiver(BookShelfInventoryRequestPayload.ID, new BookShelfInventoryRequestPayloadHandler()); - - ServerPlayNetworking.registerGlobalReceiver(LecternInventoryRequestPayload.ID, new LecternInventoryRequestPayloadHandler()); - - ServerPlayConnectionEvents.JOIN.register(((handler, sender, server) -> { - serverInstance = server; - ServerPlayNetworking.send(handler.player, new ModCheckPayload(true)); - })); - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/BookshelfinspectorClient.java b/remappedSrc/me/lukasabbe/bookshelfinspector/BookshelfinspectorClient.java deleted file mode 100644 index 218ba51..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/BookshelfinspectorClient.java +++ /dev/null @@ -1,35 +0,0 @@ -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.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; - -@Environment(EnvType.CLIENT) -public class BookshelfinspectorClient implements ClientModInitializer { - - public static BookData currentBookData = BookData.empty(); - public static BookShelfData bookShelfData = new BookShelfData(); - public static boolean modAvailable = false; - public static Config config = new Config(); - - @Override - public void onInitializeClient() { - config.loadConfig(); - ClientPlayNetworking.registerGlobalReceiver(BookShelfInventoryPayload.ID, new BookShelfInventoryHandler()); - ClientPlayNetworking.registerGlobalReceiver(ModCheckPayload.ID,new ModPayloadHandler()); - - ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> { - modAvailable = false; - bookShelfData = new BookShelfData(); - }); - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/config/Config.java b/remappedSrc/me/lukasabbe/bookshelfinspector/config/Config.java deleted file mode 100644 index 3ffaa63..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/config/Config.java +++ /dev/null @@ -1,71 +0,0 @@ -package me.lukasabbe.bookshelfinspector.config; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.fabricmc.loader.api.FabricLoader; -import org.yaml.snakeyaml.Yaml; - -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.Map; - -@Environment(EnvType.CLIENT) -public class Config { - public boolean lecternToggle = true; - public int scale = 10; - public boolean useRoman = false; - - public void loadConfig(){ - Path configPath = FabricLoader.getInstance().getConfigDir().resolve("bookshelfinspector-config.yml"); - if(!Files.exists(configPath))createConfig(configPath); - Yaml yaml = new Yaml(); - try{ - Map configMap = yaml.load(new FileReader(configPath.toFile())); - if(configMap.containsKey("lectern-toggle")){ - lecternToggle = (boolean) configMap.get("lectern-toggle"); - } - if(configMap.containsKey("scale")){ - scale = (int) configMap.get("scale"); - } - if(configMap.containsKey("roman")){ - useRoman = (boolean) configMap.get("roman"); - } - - } catch (FileNotFoundException e) { - throw new RuntimeException(e); - } - } - - private void createConfig(Path configPath){ - FabricLoader.getInstance().getModContainer("bookshelfinspector").ifPresent(modContainer -> { - Path path = modContainer.findPath("bookshelfinspector-config.yml").orElseThrow(); - try { - Files.copy(path,configPath); - } catch (IOException e) { - throw new RuntimeException(e); - } - }); - } - - public void saveConfig(){ - Path configPath = FabricLoader.getInstance().getConfigDir().resolve("bookshelfinspector-config.yml"); - if(!Files.exists(configPath))createConfig(configPath); - Yaml yaml = new Yaml(); - try{ - Map configMap = yaml.load(new FileReader(configPath.toFile())); - configMap.put("lectern-toggle",lecternToggle); - configMap.put("scale",scale); - configMap.put("roman", useRoman); - FileWriter writer = new FileWriter(configPath.toString()); - yaml.dump(configMap,writer); - writer.close(); - - } catch (IOException e) { - throw new RuntimeException(e); - } - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/config/ModMenu.java b/remappedSrc/me/lukasabbe/bookshelfinspector/config/ModMenu.java deleted file mode 100644 index 74a74cb..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/config/ModMenu.java +++ /dev/null @@ -1,46 +0,0 @@ -package me.lukasabbe.bookshelfinspector.config; - -import com.terraformersmc.modmenu.api.ConfigScreenFactory; -import com.terraformersmc.modmenu.api.ModMenuApi; -import me.lukasabbe.bookshelfinspector.BookshelfinspectorClient; -import me.shedaniel.clothconfig2.api.ConfigBuilder; -import me.shedaniel.clothconfig2.api.ConfigEntryBuilder; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.text.Text; - -@Environment(EnvType.CLIENT) -public class ModMenu implements ModMenuApi { - @Override - public ConfigScreenFactory getModConfigScreenFactory() { - return parent -> { - ConfigBuilder builder = ConfigBuilder - .create() - .setParentScreen(parent) - .setTitle(Text.translatable("bookshelfinspector.config.title")); - ConfigEntryBuilder entryBuilder = builder.entryBuilder(); - - builder - .getOrCreateCategory(Text.translatable("bookshelfinspector.config.category")) - .addEntry(entryBuilder - .startBooleanToggle(Text.translatable("bookshelfinspector.config.lectern.toggle"), BookshelfinspectorClient.config.lecternToggle) - .setTooltip(Text.translatable("bookshelfinspector.config.lectern.toggle.tooltip")) - .setDefaultValue(true) - .setSaveConsumer(val -> BookshelfinspectorClient.config.lecternToggle = val).build()) - .addEntry(entryBuilder - .startIntSlider(Text.translatable("bookshelfinspector.config.scale"),BookshelfinspectorClient.config.scale,0,20) - .setTooltip(Text.translatable("bookshelfinspector.config.scale.tooltip")) - .setDefaultValue(10).setSaveConsumer(val -> BookshelfinspectorClient.config.scale = val) - .build()) - .addEntry(entryBuilder - .startBooleanToggle(Text.translatable("bookshelfinspector.config.roman_scale"), BookshelfinspectorClient.config.useRoman) - .setTooltip(Text.translatable("bookshelfinspector.config.roman_scale.tooltip")) - .setDefaultValue(false) - .setSaveConsumer(val -> BookshelfinspectorClient.config.useRoman = val) - .build()); - - builder.setSavingRunnable(BookshelfinspectorClient.config::saveConfig); - return builder.build(); - }; - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/data/BookData.java b/remappedSrc/me/lukasabbe/bookshelfinspector/data/BookData.java deleted file mode 100644 index 0644338..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/data/BookData.java +++ /dev/null @@ -1,20 +0,0 @@ -package me.lukasabbe.bookshelfinspector.data; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; - -public class BookData { - public ItemStack itemStack; - public BlockPos pos; - public int slotId; - - public BookData(ItemStack itemStack, BlockPos pos, int slotId) { - this.itemStack = itemStack; - this.pos = pos; - this.slotId = slotId; - } - - public static BookData empty(){ - return new BookData(ItemStack.EMPTY, null, -1); - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/data/BookShelfData.java b/remappedSrc/me/lukasabbe/bookshelfinspector/data/BookShelfData.java deleted file mode 100644 index d63dece..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/data/BookShelfData.java +++ /dev/null @@ -1,10 +0,0 @@ -package me.lukasabbe.bookshelfinspector.data; - -import net.minecraft.util.math.BlockPos; - -public class BookShelfData { - public boolean isCurrentBookDataToggled = false; - public BlockPos latestPos = null; - public boolean requestSent = false; - public int currentSlotInt = -1; -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/mixin/BookshelfInvoker.java b/remappedSrc/me/lukasabbe/bookshelfinspector/mixin/BookshelfInvoker.java deleted file mode 100644 index 5a82b55..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/mixin/BookshelfInvoker.java +++ /dev/null @@ -1,15 +0,0 @@ -package me.lukasabbe.bookshelfinspector.mixin; - -import net.minecraft.block.BlockState; -import net.minecraft.block.ChiseledBookshelfBlock; -import net.minecraft.util.hit.BlockHitResult; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Invoker; - -import java.util.OptionalInt; - -@Mixin(ChiseledBookshelfBlock.class) -public interface BookshelfInvoker { - @Invoker("getSlotForHitPos") - OptionalInt invokerGetSlotForHitPos(BlockHitResult hit, BlockState state); -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/mixin/BookshelfMixin.java b/remappedSrc/me/lukasabbe/bookshelfinspector/mixin/BookshelfMixin.java deleted file mode 100644 index 63bdb6c..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/mixin/BookshelfMixin.java +++ /dev/null @@ -1,28 +0,0 @@ -package me.lukasabbe.bookshelfinspector.mixin; - -import me.lukasabbe.bookshelfinspector.util.Inspector; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.network.ClientPlayerEntity; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Mixin(ClientPlayerEntity.class) -public class BookshelfMixin{ - - @Shadow @Final protected MinecraftClient client; - - @Unique - private final Inspector inspector = new Inspector(); - - @Inject(method = "tick", at= @At(value = "INVOKE", target = "Ljava/util/List;iterator()Ljava/util/Iterator;")) - public void injectTick(CallbackInfo ci){ - inspector.inspect(client); - } - - -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/mixin/InGameHudMixin.java b/remappedSrc/me/lukasabbe/bookshelfinspector/mixin/InGameHudMixin.java deleted file mode 100644 index 2786248..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/mixin/InGameHudMixin.java +++ /dev/null @@ -1,29 +0,0 @@ -package me.lukasabbe.bookshelfinspector.mixin; - -import com.mojang.blaze3d.systems.RenderSystem; -import me.lukasabbe.bookshelfinspector.util.HudRenderer; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.gui.hud.InGameHud; -import net.minecraft.client.render.RenderTickCounter; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Environment(EnvType.CLIENT) -@Mixin(InGameHud.class) -public class InGameHudMixin { - @Shadow @Final private MinecraftClient client; - - @Inject(method = "render",at=@At("RETURN")) - public void render(DrawContext context, RenderTickCounter tickCounter, CallbackInfo ci){ - RenderSystem.enableBlend(); - HudRenderer.hudRender(context, client); - RenderSystem.disableBlend(); - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/network/BookShelfInspectorNetworkConstants.java b/remappedSrc/me/lukasabbe/bookshelfinspector/network/BookShelfInspectorNetworkConstants.java deleted file mode 100644 index 9923e1d..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/network/BookShelfInspectorNetworkConstants.java +++ /dev/null @@ -1,11 +0,0 @@ -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"); -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/network/client/BookShelfInventoryHandler.java b/remappedSrc/me/lukasabbe/bookshelfinspector/network/client/BookShelfInventoryHandler.java deleted file mode 100644 index 6e1671b..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/network/client/BookShelfInventoryHandler.java +++ /dev/null @@ -1,28 +0,0 @@ -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 { - @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()); - } - }); - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/network/client/ModPayloadHandler.java b/remappedSrc/me/lukasabbe/bookshelfinspector/network/client/ModPayloadHandler.java deleted file mode 100644 index 58685e8..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/network/client/ModPayloadHandler.java +++ /dev/null @@ -1,19 +0,0 @@ -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 { - @Override - public void receive(ModCheckPayload modCheckPayload, ClientPlayNetworking.Context context) { - context.client().execute(() ->{ - Bookshelfinspector.LOGGER.info("[bookshelfinspector] Connected to server"); - BookshelfinspectorClient.modAvailable = true; - }); - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/network/packets/BookShelfInventoryPayload.java b/remappedSrc/me/lukasabbe/bookshelfinspector/network/packets/BookShelfInventoryPayload.java deleted file mode 100644 index 83719dd..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/network/packets/BookShelfInventoryPayload.java +++ /dev/null @@ -1,23 +0,0 @@ -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 ID = new CustomPayload.Id<>(BookShelfInspectorNetworkConstants.BOOK_SHELF_INVENTORY_PACKET_ID); - public static final PacketCodec CODEC = PacketCodec.tuple( - ItemStack.OPTIONAL_PACKET_CODEC, BookShelfInventoryPayload::itemStack, - BlockPos.PACKET_CODEC, BookShelfInventoryPayload::pos, - PacketCodecs.INTEGER, BookShelfInventoryPayload::slotNum, - BookShelfInventoryPayload::new); - - @Override - public CustomPayload.Id getId() { - return ID; - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/network/packets/BookShelfInventoryRequestPayload.java b/remappedSrc/me/lukasabbe/bookshelfinspector/network/packets/BookShelfInventoryRequestPayload.java deleted file mode 100644 index 918dba2..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/network/packets/BookShelfInventoryRequestPayload.java +++ /dev/null @@ -1,23 +0,0 @@ -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 ID = new CustomPayload.Id<>(BookShelfInspectorNetworkConstants.BOOK_SHELF_INVENTORY_REQUEST_PACKET_ID); - - public static final PacketCodec CODEC = PacketCodec.tuple( - BlockPos.PACKET_CODEC,BookShelfInventoryRequestPayload::pos, - PacketCodecs.INTEGER, BookShelfInventoryRequestPayload::slotNum, - BookShelfInventoryRequestPayload::new); - - @Override - public Id getId() { - return ID; - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/network/packets/LecternInventoryRequestPayload.java b/remappedSrc/me/lukasabbe/bookshelfinspector/network/packets/LecternInventoryRequestPayload.java deleted file mode 100644 index 29cd8e5..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/network/packets/LecternInventoryRequestPayload.java +++ /dev/null @@ -1,20 +0,0 @@ -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 ID = new CustomPayload.Id<>(BookShelfInspectorNetworkConstants.LECTERN_INVENTORY_REQUEST_PACKET_ID); - - public static final PacketCodec CODEC = PacketCodec.tuple( - BlockPos.PACKET_CODEC,LecternInventoryRequestPayload::pos, - LecternInventoryRequestPayload::new); - - @Override - public CustomPayload.Id getId() { - return ID; - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/network/packets/ModCheckPayload.java b/remappedSrc/me/lukasabbe/bookshelfinspector/network/packets/ModCheckPayload.java deleted file mode 100644 index 56c4927..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/network/packets/ModCheckPayload.java +++ /dev/null @@ -1,21 +0,0 @@ -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 ID = new CustomPayload.Id<>(BookShelfInspectorNetworkConstants.MOD_CHECK_PACKET_ID); - - public static final PacketCodec CODEC = PacketCodec.tuple( - PacketCodecs.BOOLEAN, ModCheckPayload::modActivated, - ModCheckPayload::new - ); - - @Override - public Id getId() { - return ID; - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/network/server/BookShelfInventoryRequestPayloadHandler.java b/remappedSrc/me/lukasabbe/bookshelfinspector/network/server/BookShelfInventoryRequestPayloadHandler.java deleted file mode 100644 index 18e211a..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/network/server/BookShelfInventoryRequestPayloadHandler.java +++ /dev/null @@ -1,25 +0,0 @@ -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 { - @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())); - }); - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/network/server/LecternInventoryRequestPayloadHandler.java b/remappedSrc/me/lukasabbe/bookshelfinspector/network/server/LecternInventoryRequestPayloadHandler.java deleted file mode 100644 index 6fdaa58..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/network/server/LecternInventoryRequestPayloadHandler.java +++ /dev/null @@ -1,26 +0,0 @@ -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{ - @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)); - }); - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/util/BookshelfTools.java b/remappedSrc/me/lukasabbe/bookshelfinspector/util/BookshelfTools.java deleted file mode 100644 index 7a1e091..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/util/BookshelfTools.java +++ /dev/null @@ -1,28 +0,0 @@ -package me.lukasabbe.bookshelfinspector.util; - -import me.lukasabbe.bookshelfinspector.Bookshelfinspector; -import net.minecraft.block.entity.BlockEntityType; -import net.minecraft.block.entity.ChiseledBookshelfBlockEntity; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -import java.util.Optional; - -public class BookshelfTools { - public static ItemStack getItemById(BlockPos pos, int slotNum, PlayerEntity player){ - final World world = Bookshelfinspector.serverInstance.getPlayerManager().getPlayer(player.getUuid()).getWorld(); - - if(world == null) return null; - Optional blockEntityOptional = world.getBlockEntity(pos,BlockEntityType.CHISELED_BOOKSHELF); - if(blockEntityOptional.isEmpty()) return null; - - ChiseledBookshelfBlockEntity blockEntity = blockEntityOptional.get(); - - final ItemStack stack = blockEntity.getStack(slotNum); - if(stack.isEmpty()) return null; - - return stack; - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/util/HudRenderer.java b/remappedSrc/me/lukasabbe/bookshelfinspector/util/HudRenderer.java deleted file mode 100644 index e72eb41..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/util/HudRenderer.java +++ /dev/null @@ -1,92 +0,0 @@ -package me.lukasabbe.bookshelfinspector.util; - -import me.lukasabbe.bookshelfinspector.BookshelfinspectorClient; -import me.lukasabbe.bookshelfinspector.data.BookData; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.font.TextRenderer; -import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.util.math.MatrixStack; -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; -import net.minecraft.registry.tag.EnchantmentTags; -import net.minecraft.text.MutableText; -import net.minecraft.text.Style; -import net.minecraft.text.Text; -import net.minecraft.text.Texts; -import net.minecraft.util.Formatting; - -@Environment(EnvType.CLIENT) -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; - - final Integer colorValue = itemStack.getRarity().getFormatting().getColorValue(); - if(colorValue != null){ - color = colorValue; - } - - float scaleFactor = ((float) BookshelfinspectorClient.config.scale /10); - drawScaledText(context, itemStack.getName(), x,y+((int)(10*scaleFactor)), color, client.textRenderer); - - ItemEnchantmentsComponent storedComponents = itemStack.getComponents().get(DataComponentTypes.STORED_ENCHANTMENTS); - if(storedComponents != null){ - int i = ((int)(20*scaleFactor)); - for(RegistryEntry enchantment : storedComponents.getEnchantments()){ - String lvl = ""; - final int level = storedComponents.getLevel(enchantment); - if(level != 1) - lvl = String.valueOf(level); - final MutableText enchantmentText; - - if(!BookshelfinspectorClient.config.useRoman || level == -1) - enchantmentText = enchantment.value().description().copy().append(" " + lvl); - else if (level != 1) - enchantmentText = enchantment.value().description().copy().append(" " + RomanNumerals.toRoman(level)); - else - enchantmentText = enchantment.value().description().copy(); - - if(enchantment.isIn(EnchantmentTags.CURSE)) { - Texts.setStyleIfAbsent(enchantmentText, Style.EMPTY.withColor(Formatting.RED)); - }else { - Texts.setStyleIfAbsent(enchantmentText, Style.EMPTY.withColor(Formatting.GRAY)); - } - drawScaledText(context, enchantmentText, x,y+i, 0xFFFFFFFF,client.textRenderer); - i+=(int)(10*scaleFactor); - } - } - - var writtenBookContentComponent = itemStack.getComponents().get(DataComponentTypes.WRITTEN_BOOK_CONTENT); - - if(writtenBookContentComponent != null){ - drawScaledText(context, Text.translatable("book.byAuthor",writtenBookContentComponent.author()), x,y+(int)(20*scaleFactor), 0xFFFFFFFF,client.textRenderer); - } - - } - } - private static void drawScaledText(DrawContext context, Text text, int centerX, int y, int color, TextRenderer textRenderer){ - MatrixStack stack = context.getMatrices(); - stack.push(); - stack.translate(centerX,y,0); - final float scale = (float) BookshelfinspectorClient.config.scale / 10; - stack.scale(scale, scale, scale); - stack.translate(-centerX,-y,0); - context.drawCenteredTextWithShadow(textRenderer,text,centerX,y,color); - stack.pop(); - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/util/Inspector.java b/remappedSrc/me/lukasabbe/bookshelfinspector/util/Inspector.java deleted file mode 100644 index 676d0bb..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/util/Inspector.java +++ /dev/null @@ -1,125 +0,0 @@ -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.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; -import net.fabricmc.fabric.api.tag.convention.v2.ConventionalBlockTags; -import net.minecraft.block.BlockState; -import net.minecraft.block.Blocks; -import net.minecraft.block.ChiseledBookshelfBlock; -import net.minecraft.client.MinecraftClient; -import net.minecraft.registry.tag.BlockTags; -import net.minecraft.util.hit.BlockHitResult; -import net.minecraft.util.hit.HitResult; -import net.minecraft.util.math.BlockPos; - -import java.util.OptionalInt; - -import static me.lukasabbe.bookshelfinspector.BookshelfinspectorClient.*; - -@Environment(EnvType.CLIENT) -public class Inspector { - public void inspect(MinecraftClient client){ - if(!modAvailable) return; - - if(client.cameraEntity == null || client.player == null) return; - - //Send raycast max 5 blocks - HitResult hit = client.cameraEntity.raycast(5f,0f,false); - - //find block hit, if not found block returns - final HitResult.Type type = hit.getType(); - if(type != HitResult.Type.BLOCK) { - resetBookShelfData(); - return; - } - - final BlockHitResult blockHitResult = (BlockHitResult) hit; - BlockPos pos = blockHitResult.getBlockPos(); - - if(bookShelfData.latestPos == null) - bookShelfData.latestPos = pos; - - //If you look at a new block - if(!bookShelfData.latestPos.equals(pos)){ - resetBookShelfData(); - currentBookData = BookData.empty(); - } - bookShelfData.latestPos = pos; - - - if(client.player.getWorld().getBlockState(pos).isOf(Blocks.CHISELED_BOOKSHELF)){ - bookShelfInspect(pos, blockHitResult, client); - }else if(client.player.getWorld().getBlockState(pos).isOf(Blocks.LECTERN) && config.lecternToggle){ - lecternInspect(pos); - }else{ - - bookShelfData.requestSent = false; // Just for servers that don't have the latest version of mod - - if(!bookShelfData.isCurrentBookDataToggled) return; - resetBookShelfData(); - } - } - - - private void lecternInspect(BlockPos pos){ - - //Checks if there is saved data. - final BookData currentBookData = BookshelfinspectorClient.currentBookData; - - if(currentBookData.pos != null && currentBookData.pos.equals(pos)) return; - - if(!bookShelfData.requestSent){ - bookShelfData.requestSent = true; - ClientPlayNetworking.send(new LecternInventoryRequestPayload(pos)); - } - } - - - private void bookShelfInspect(BlockPos pos, BlockHitResult blockHitResult, MinecraftClient client){ - final BlockState blockState = client.player.getWorld().getBlockState(pos); - - //Gets index position for a book in the bookshelf - ChiseledBookshelfBlock bookshelfBlock = (ChiseledBookshelfBlock) blockState.getBlock(); - OptionalInt optionalInt = ((BookshelfInvoker)bookshelfBlock).invokerGetSlotForHitPos(blockHitResult,blockState); - - //if the position is empty, return - if(optionalInt.isEmpty()) { - resetBookShelfData(); - return; - } - - //Checks if there is saved data. - final BookData currentBookData = BookshelfinspectorClient.currentBookData; - - //Changes the id for the new one if it's new. - final int temp = bookShelfData.currentSlotInt; - final int slotNum = optionalInt.getAsInt(); - bookShelfData.currentSlotInt = slotNum; - - if(currentBookData.slotId!= slotNum && currentBookData.slotId!=-2 && !bookShelfData.requestSent){ - bookShelfData.requestSent = true; - ClientPlayNetworking.send(new BookShelfInventoryRequestPayload(pos, slotNum)); - } - else { - if(temp == slotNum) - bookShelfData.isCurrentBookDataToggled = currentBookData.slotId != -2; - else{ - bookShelfData.isCurrentBookDataToggled = false; - BookshelfinspectorClient.currentBookData = BookData.empty(); - } - } - } - - private void resetBookShelfData(){ - if(!bookShelfData.isCurrentBookDataToggled) return; - - bookShelfData.isCurrentBookDataToggled = false; - currentBookData = BookData.empty(); - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/util/LecternTools.java b/remappedSrc/me/lukasabbe/bookshelfinspector/util/LecternTools.java deleted file mode 100644 index 4811ebf..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/util/LecternTools.java +++ /dev/null @@ -1,25 +0,0 @@ -package me.lukasabbe.bookshelfinspector.util; - -import me.lukasabbe.bookshelfinspector.Bookshelfinspector; -import net.minecraft.block.entity.BlockEntityType; -import net.minecraft.block.entity.LecternBlockEntity; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -import java.util.Optional; - -public class LecternTools { - public static ItemStack getItemStack(BlockPos pos, PlayerEntity player){ - final World world = Bookshelfinspector.serverInstance.getPlayerManager().getPlayer(player.getUuid()).getWorld(); - - if(world == null) return null; - Optional blockEntityOptional = world.getBlockEntity(pos, BlockEntityType.LECTERN); - if(blockEntityOptional.isEmpty()) return null; - - LecternBlockEntity lecternBlock = blockEntityOptional.get(); - - return lecternBlock.getBook(); - } -} diff --git a/remappedSrc/me/lukasabbe/bookshelfinspector/util/RomanNumerals.java b/remappedSrc/me/lukasabbe/bookshelfinspector/util/RomanNumerals.java deleted file mode 100644 index 6105be5..0000000 --- a/remappedSrc/me/lukasabbe/bookshelfinspector/util/RomanNumerals.java +++ /dev/null @@ -1,34 +0,0 @@ -package me.lukasabbe.bookshelfinspector.util; - -import java.util.TreeMap; - -//https://stackoverflow.com/questions/12967896/converting-integers-to-roman-numerals-java -public class RomanNumerals { - private final static TreeMap map = new TreeMap<>(); - static { - map.put(1000, "M"); - map.put(900, "CM"); - map.put(500, "D"); - map.put(400, "CD"); - map.put(100, "C"); - map.put(90, "XC"); - map.put(50, "L"); - map.put(40, "XL"); - map.put(10, "X"); - map.put(9, "IX"); - map.put(5, "V"); - map.put(4, "IV"); - map.put(1, "I"); - } - - - public static String toRoman(int number){ - int key = map.floorKey(number); - - if(number == key){ - return map.get(number); - } - - return map.get(key) + toRoman(number-key); - } -} diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/util/BookshelfTools.java b/src/main/java/me/lukasabbe/bookshelfinspector/util/BookshelfTools.java index c04fa99..c334ede 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/util/BookshelfTools.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/util/BookshelfTools.java @@ -1,6 +1,5 @@ package me.lukasabbe.bookshelfinspector.util; -import me.lukasabbe.bookshelfinspector.Bookshelfinspector; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.block.entity.ChiseledBookshelfBlockEntity; import net.minecraft.entity.player.PlayerEntity; @@ -12,7 +11,7 @@ import java.util.Optional; public class BookshelfTools { public static ItemStack getItemById(BlockPos pos, int slotNum, PlayerEntity player){ - final World world = Bookshelfinspector.serverInstance.getPlayerManager().getPlayer(player.getUuid()).getWorld(); + final World world = player.getWorld(); if(world == null) return null; diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/util/LecternTools.java b/src/main/java/me/lukasabbe/bookshelfinspector/util/LecternTools.java index 4811ebf..ad21953 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/util/LecternTools.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/util/LecternTools.java @@ -1,6 +1,5 @@ package me.lukasabbe.bookshelfinspector.util; -import me.lukasabbe.bookshelfinspector.Bookshelfinspector; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.block.entity.LecternBlockEntity; import net.minecraft.entity.player.PlayerEntity; @@ -12,7 +11,7 @@ import java.util.Optional; public class LecternTools { public static ItemStack getItemStack(BlockPos pos, PlayerEntity player){ - final World world = Bookshelfinspector.serverInstance.getPlayerManager().getPlayer(player.getUuid()).getWorld(); + final World world = player.getWorld(); if(world == null) return null; Optional blockEntityOptional = world.getBlockEntity(pos, BlockEntityType.LECTERN); diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 7f68fc4..88282b8 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -25,7 +25,7 @@ ], "depends": { "fabricloader": ">=${loader_version}", - "minecraft": ">=1.21.5", + "minecraft": ">=1.21.6-alpha.25.14.craftmine", "fabric-api-base": "*", "fabric-networking-api-v1": "*", "fabric-lifecycle-events-v1": "*", From ad2f95d7adac6cfb4d8e48086110d41e4ef4dc77 Mon Sep 17 00:00:00 2001 From: lukasabbe <67807954+lukasabbe@users.noreply.github.com> Date: Thu, 10 Apr 2025 19:03:51 +0200 Subject: [PATCH 02/16] Start for snapshots, alot of small things had broken --- build.gradle | 8 +++++--- gradle.properties | 10 +++++----- .../bookshelfinspector/config/ModMenu.java | 2 ++ .../bookshelfinspector/util/HudRenderer.java | 18 +++++++++++------- src/main/resources/fabric.mod.json | 5 +---- 5 files changed, 24 insertions(+), 19 deletions(-) diff --git a/build.gradle b/build.gradle index 8222d66..780114d 100644 --- a/build.gradle +++ b/build.gradle @@ -22,6 +22,8 @@ dependencies { mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" + //modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" + Set apiMudules = [ "fabric-api-base", "fabric-networking-api-v1", @@ -32,11 +34,11 @@ dependencies { ] apiMudules.forEach { - modImplementation(fabricApi.module(it,project.fabric_version)) + modImplementation(fabricApi.module(it, project.fabric_version)) } - modApi "me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config}" - modApi "com.terraformersmc:modmenu:${project.modmenu}" + //modApi "me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config}" Turned off until they have been released + //modApi "com.terraformersmc:modmenu:${project.modmenu}" include(implementation "org.yaml:snakeyaml:${project.YAML_snake}") } diff --git a/gradle.properties b/gradle.properties index 3fbc902..b92fef2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,16 +2,16 @@ org.gradle.jvmargs=-Xmx4G # Fabric Properties # check these on https://modmuss50.me/fabric.html -minecraft_version=25w14craftmine -yarn_mappings=25w14craftmine+build.2 +minecraft_version=25w15a +yarn_mappings=25w15a+build.5 loader_version=0.16.13 # Mod Properties -mod_version=1.10+25w14craftmine +mod_version=1.10+1.21.6-SNAPSHOT.1 maven_group=me.lukasabbe archives_base_name=Bookshelfinspector # Dependencies -fabric_version=0.119.9+25w14craftmine +fabric_version=0.119.10+1.21.6 cloth_config=18.0.145 modmenu=14.0.0-rc.2 -YAML_snake=2.3 \ No newline at end of file +YAML_snake=2.4 \ No newline at end of file diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/config/ModMenu.java b/src/main/java/me/lukasabbe/bookshelfinspector/config/ModMenu.java index 74a74cb..f768c1b 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/config/ModMenu.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/config/ModMenu.java @@ -1,3 +1,4 @@ +/* package me.lukasabbe.bookshelfinspector.config; import com.terraformersmc.modmenu.api.ConfigScreenFactory; @@ -44,3 +45,4 @@ public class ModMenu implements ModMenuApi { }; } } +*/ \ No newline at end of file diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java b/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java index 72fe50e..b278d44 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java @@ -7,7 +7,7 @@ import net.fabricmc.api.Environment; import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.client.gui.GuiLayer; import net.minecraft.component.DataComponentTypes; import net.minecraft.component.type.ItemEnchantmentsComponent; import net.minecraft.enchantment.Enchantment; @@ -19,6 +19,7 @@ import net.minecraft.text.Style; import net.minecraft.text.Text; import net.minecraft.text.Texts; import net.minecraft.util.Formatting; +import org.joml.Matrix3x2fStack; @Environment(EnvType.CLIENT) public class HudRenderer { @@ -27,6 +28,7 @@ public class HudRenderer { if(client.options.hudHidden) return; if(!BookshelfinspectorClient.bookShelfData.isCurrentBookDataToggled) return; + context.pushGuiLayer(GuiLayer.HUD); final BookData currentBookData = BookshelfinspectorClient.currentBookData; final int screenWidth = client.getWindow().getScaledWidth(); final int screenHeight = client.getWindow().getScaledHeight(); @@ -78,15 +80,17 @@ public class HudRenderer { drawScaledText(context, Text.translatable("book.byAuthor",writtenBookContentComponent.author()), x,y+(int)(20*scaleFactor), 0xFFFFFFFF,client.textRenderer); } + context.popGuiLayer(); + } private static void drawScaledText(DrawContext context, Text text, int centerX, int y, int color, TextRenderer textRenderer){ - MatrixStack stack = context.getMatrices(); - stack.push(); - stack.translate(centerX,y,0); + Matrix3x2fStack stack = context.getMatrices(); + stack.pushMatrix(); + stack.translate(centerX,y); final float scale = (float) BookshelfinspectorClient.config.scale / 10; - stack.scale(scale, scale, scale); - stack.translate(-centerX,-y,0); + stack.scale(scale, scale); + stack.translate(-centerX,-y); context.drawCenteredTextWithShadow(textRenderer,text,centerX,y,color); - stack.pop(); + stack.popMatrix(); } } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 88282b8..eecd329 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -15,9 +15,6 @@ ], "main": [ "me.lukasabbe.bookshelfinspector.Bookshelfinspector" - ], - "modmenu": [ - "me.lukasabbe.bookshelfinspector.config.ModMenu" ] }, "mixins": [ @@ -25,7 +22,7 @@ ], "depends": { "fabricloader": ">=${loader_version}", - "minecraft": ">=1.21.6-alpha.25.14.craftmine", + "minecraft": ">=1.21.6-alpha.25.15.a", "fabric-api-base": "*", "fabric-networking-api-v1": "*", "fabric-lifecycle-events-v1": "*", From f15f748c80c528ca3b1f694a64afc14328bdf9ad Mon Sep 17 00:00:00 2001 From: lukasabbe <67807954+lukasabbe@users.noreply.github.com> Date: Fri, 11 Apr 2025 12:16:54 +0200 Subject: [PATCH 03/16] Small changes --- .../lukasabbe/bookshelfinspector/Bookshelfinspector.java | 5 +++-- .../bookshelfinspector/BookshelfinspectorClient.java | 1 + .../network/client/ModPayloadHandler.java | 4 ++-- .../me/lukasabbe/bookshelfinspector/util/Inspector.java | 8 ++++---- .../lukasabbe/bookshelfinspector/util/LecternTools.java | 4 ++-- .../lukasabbe/bookshelfinspector/util/RomanNumerals.java | 3 ++- 6 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java b/src/main/java/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java index 0e6de5c..0b9dc6e 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java @@ -15,19 +15,20 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Bookshelfinspector implements ModInitializer { + public static MinecraftServer serverInstance; public final static String MOD_ID = "bookshelfinspector"; - public static Logger LOGGER = LoggerFactory.getLogger(MOD_ID); @Override public void onInitialize() { - //Registers request types + //Registers client-to-server payloads PayloadTypeRegistry.playC2S().register(BookShelfInventoryRequestPayload.ID,BookShelfInventoryRequestPayload.CODEC); PayloadTypeRegistry.playC2S().register(LecternInventoryRequestPayload.ID, LecternInventoryRequestPayload.CODEC); PayloadTypeRegistry.playS2C().register(BookShelfInventoryPayload.ID,BookShelfInventoryPayload.CODEC); PayloadTypeRegistry.playS2C().register(ModCheckPayload.ID, ModCheckPayload.CODEC); + //Registers server-to-client receivers ServerPlayNetworking.registerGlobalReceiver(BookShelfInventoryRequestPayload.ID, new BookShelfInventoryRequestPayloadHandler()); ServerPlayNetworking.registerGlobalReceiver(LecternInventoryRequestPayload.ID, new LecternInventoryRequestPayloadHandler()); diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/BookshelfinspectorClient.java b/src/main/java/me/lukasabbe/bookshelfinspector/BookshelfinspectorClient.java index 0fc8851..1139345 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/BookshelfinspectorClient.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/BookshelfinspectorClient.java @@ -26,6 +26,7 @@ public class BookshelfinspectorClient implements ClientModInitializer { config.loadConfig(); + //Registers server-to-client receivers ClientPlayNetworking.registerGlobalReceiver(BookShelfInventoryPayload.ID, new BookShelfInventoryHandler()); ClientPlayNetworking.registerGlobalReceiver(ModCheckPayload.ID,new ModPayloadHandler()); diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/network/client/ModPayloadHandler.java b/src/main/java/me/lukasabbe/bookshelfinspector/network/client/ModPayloadHandler.java index 58685e8..74f8391 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/network/client/ModPayloadHandler.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/network/client/ModPayloadHandler.java @@ -11,8 +11,8 @@ import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; public class ModPayloadHandler implements ClientPlayNetworking.PlayPayloadHandler { @Override public void receive(ModCheckPayload modCheckPayload, ClientPlayNetworking.Context context) { - context.client().execute(() ->{ - Bookshelfinspector.LOGGER.info("[bookshelfinspector] Connected to server"); + context.client().execute(() -> { + Bookshelfinspector.LOGGER.info("[bookshelfinspector] Connected to server [{}]", context.client().getServer().getVersion()); BookshelfinspectorClient.modAvailable = true; }); } diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/util/Inspector.java b/src/main/java/me/lukasabbe/bookshelfinspector/util/Inspector.java index 676d0bb..aa92e0a 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/util/Inspector.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/util/Inspector.java @@ -1,5 +1,6 @@ package me.lukasabbe.bookshelfinspector.util; +import me.lukasabbe.bookshelfinspector.Bookshelfinspector; import me.lukasabbe.bookshelfinspector.BookshelfinspectorClient; import me.lukasabbe.bookshelfinspector.data.BookData; import me.lukasabbe.bookshelfinspector.mixin.BookshelfInvoker; @@ -8,12 +9,10 @@ import me.lukasabbe.bookshelfinspector.network.packets.LecternInventoryRequestPa import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; -import net.fabricmc.fabric.api.tag.convention.v2.ConventionalBlockTags; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.block.ChiseledBookshelfBlock; import net.minecraft.client.MinecraftClient; -import net.minecraft.registry.tag.BlockTags; import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.hit.HitResult; import net.minecraft.util.math.BlockPos; @@ -29,10 +28,10 @@ public class Inspector { if(client.cameraEntity == null || client.player == null) return; - //Send raycast max 5 blocks + //Send ray-cast max 5 blocks HitResult hit = client.cameraEntity.raycast(5f,0f,false); - //find block hit, if not found block returns + //Find block hit, if not found block returns final HitResult.Type type = hit.getType(); if(type != HitResult.Type.BLOCK) { resetBookShelfData(); @@ -42,6 +41,7 @@ public class Inspector { final BlockHitResult blockHitResult = (BlockHitResult) hit; BlockPos pos = blockHitResult.getBlockPos(); + if(bookShelfData.latestPos == null) bookShelfData.latestPos = pos; diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/util/LecternTools.java b/src/main/java/me/lukasabbe/bookshelfinspector/util/LecternTools.java index ad21953..9f54b65 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/util/LecternTools.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/util/LecternTools.java @@ -11,14 +11,14 @@ import java.util.Optional; public class LecternTools { public static ItemStack getItemStack(BlockPos pos, PlayerEntity player){ - final World world = player.getWorld(); + final World world = player.getWorld(); if(world == null) return null; + Optional blockEntityOptional = world.getBlockEntity(pos, BlockEntityType.LECTERN); if(blockEntityOptional.isEmpty()) return null; LecternBlockEntity lecternBlock = blockEntityOptional.get(); - return lecternBlock.getBook(); } } diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/util/RomanNumerals.java b/src/main/java/me/lukasabbe/bookshelfinspector/util/RomanNumerals.java index 6105be5..3f7c24f 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/util/RomanNumerals.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/util/RomanNumerals.java @@ -4,7 +4,9 @@ import java.util.TreeMap; //https://stackoverflow.com/questions/12967896/converting-integers-to-roman-numerals-java public class RomanNumerals { + private final static TreeMap map = new TreeMap<>(); + static { map.put(1000, "M"); map.put(900, "CM"); @@ -21,7 +23,6 @@ public class RomanNumerals { map.put(1, "I"); } - public static String toRoman(int number){ int key = map.floorKey(number); From ac376cb36797352d1253eac70a97674befd4f6c2 Mon Sep 17 00:00:00 2001 From: lukasabbe <67807954+lukasabbe@users.noreply.github.com> Date: Fri, 11 Apr 2025 12:32:41 +0200 Subject: [PATCH 04/16] Added log to server when player joins server --- .../me/lukasabbe/bookshelfinspector/Bookshelfinspector.java | 1 + .../bookshelfinspector/network/client/ModPayloadHandler.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java b/src/main/java/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java index 0b9dc6e..d8502ab 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java @@ -35,6 +35,7 @@ public class Bookshelfinspector implements ModInitializer { ServerPlayConnectionEvents.JOIN.register(((handler, sender, server) -> { serverInstance = server; ServerPlayNetworking.send(handler.player, new ModCheckPayload(true)); + LOGGER.info("[" + MOD_ID + "] {} has Bookshelf Inspector and is now turned on!", handler.player.getName()); })); } } diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/network/client/ModPayloadHandler.java b/src/main/java/me/lukasabbe/bookshelfinspector/network/client/ModPayloadHandler.java index 74f8391..0b1a132 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/network/client/ModPayloadHandler.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/network/client/ModPayloadHandler.java @@ -12,7 +12,7 @@ public class ModPayloadHandler implements ClientPlayNetworking.PlayPayloadHandle @Override public void receive(ModCheckPayload modCheckPayload, ClientPlayNetworking.Context context) { context.client().execute(() -> { - Bookshelfinspector.LOGGER.info("[bookshelfinspector] Connected to server [{}]", context.client().getServer().getVersion()); + Bookshelfinspector.LOGGER.info("[bookshelfinspector] Connected to server"); BookshelfinspectorClient.modAvailable = true; }); } From 9a7be375611edcc32536ffd2e4bb1f127e529e15 Mon Sep 17 00:00:00 2001 From: lukasabbe <67807954+lukasabbe@users.noreply.github.com> Date: Wed, 16 Apr 2025 21:21:43 +0200 Subject: [PATCH 05/16] Removed things that was added last snapshots? --- gradle.properties | 8 ++++---- .../me/lukasabbe/bookshelfinspector/util/HudRenderer.java | 3 --- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/gradle.properties b/gradle.properties index 699e53b..fff20a1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,16 +2,16 @@ org.gradle.jvmargs=-Xmx4G # Fabric Properties # check these on https://modmuss50.me/fabric.html -minecraft_version=25w15a -yarn_mappings=25w15a+build.5 +minecraft_version=25w16a +yarn_mappings=25w16a+build.2 loader_version=0.16.13 # Mod Properties -mod_version=1.11+1.21.6-SNAPSHOT.1 +mod_version=1.11+1.21.6-SNAPSHOT.2 maven_group=me.lukasabbe archives_base_name=Bookshelfinspector # Dependencies -fabric_version=0.119.10+1.21.6 +fabric_version=0.120.2+1.21.6 cloth_config=18.0.145 modmenu=14.0.0-rc.2 YAML_snake=2.4 \ No newline at end of file diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java b/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java index b278d44..bc9e4df 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java @@ -7,7 +7,6 @@ import net.fabricmc.api.Environment; import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.gui.GuiLayer; import net.minecraft.component.DataComponentTypes; import net.minecraft.component.type.ItemEnchantmentsComponent; import net.minecraft.enchantment.Enchantment; @@ -28,7 +27,6 @@ public class HudRenderer { if(client.options.hudHidden) return; if(!BookshelfinspectorClient.bookShelfData.isCurrentBookDataToggled) return; - context.pushGuiLayer(GuiLayer.HUD); final BookData currentBookData = BookshelfinspectorClient.currentBookData; final int screenWidth = client.getWindow().getScaledWidth(); final int screenHeight = client.getWindow().getScaledHeight(); @@ -80,7 +78,6 @@ public class HudRenderer { drawScaledText(context, Text.translatable("book.byAuthor",writtenBookContentComponent.author()), x,y+(int)(20*scaleFactor), 0xFFFFFFFF,client.textRenderer); } - context.popGuiLayer(); } private static void drawScaledText(DrawContext context, Text text, int centerX, int y, int color, TextRenderer textRenderer){ From 12f48485201503fdca263681381723ebc795c302 Mon Sep 17 00:00:00 2001 From: lukasabbe <67807954+lukasabbe@users.noreply.github.com> Date: Wed, 23 Apr 2025 01:19:06 +0200 Subject: [PATCH 06/16] works --- gradle.properties | 8 ++++---- .../me/lukasabbe/bookshelfinspector/util/HudRenderer.java | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/gradle.properties b/gradle.properties index fff20a1..74fa3af 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,16 +2,16 @@ org.gradle.jvmargs=-Xmx4G # Fabric Properties # check these on https://modmuss50.me/fabric.html -minecraft_version=25w16a -yarn_mappings=25w16a+build.2 +minecraft_version=25w17a +yarn_mappings=25w17a+build.1 loader_version=0.16.13 # Mod Properties -mod_version=1.11+1.21.6-SNAPSHOT.2 +mod_version=1.11+1.21.6-SNAPSHOT.3 maven_group=me.lukasabbe archives_base_name=Bookshelfinspector # Dependencies -fabric_version=0.120.2+1.21.6 +fabric_version=0.121.1+1.21.6 cloth_config=18.0.145 modmenu=14.0.0-rc.2 YAML_snake=2.4 \ No newline at end of file diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java b/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java index bc9e4df..ff2c39a 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java @@ -27,6 +27,7 @@ public class HudRenderer { if(client.options.hudHidden) return; if(!BookshelfinspectorClient.bookShelfData.isCurrentBookDataToggled) return; + final BookData currentBookData = BookshelfinspectorClient.currentBookData; final int screenWidth = client.getWindow().getScaledWidth(); final int screenHeight = client.getWindow().getScaledHeight(); @@ -77,8 +78,6 @@ public class HudRenderer { if(writtenBookContentComponent != null){ drawScaledText(context, Text.translatable("book.byAuthor",writtenBookContentComponent.author()), x,y+(int)(20*scaleFactor), 0xFFFFFFFF,client.textRenderer); } - - } private static void drawScaledText(DrawContext context, Text text, int centerX, int y, int color, TextRenderer textRenderer){ Matrix3x2fStack stack = context.getMatrices(); From fcbfb26400d5873f739b09096985cac6b3609831 Mon Sep 17 00:00:00 2001 From: lukasabbe <67807954+lukasabbe@users.noreply.github.com> Date: Tue, 13 May 2025 22:10:34 +0200 Subject: [PATCH 07/16] They for some reason changed a bit of some color code, idk what part. But now i need to add opacity manualy --- gradle.properties | 12 ++++++------ .../bookshelfinspector/util/HudRenderer.java | 10 +++++----- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/gradle.properties b/gradle.properties index 74fa3af..b43f418 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,17 +1,17 @@ # Done to increase the memory available to gradle. org.gradle.jvmargs=-Xmx4G # Fabric Properties -# check these on https://modmuss50.me/fabric.html -minecraft_version=25w17a -yarn_mappings=25w17a+build.1 -loader_version=0.16.13 +# check these on https://fabricmc.net/develop/ +minecraft_version=25w20a +yarn_mappings=25w20a+build.1 +loader_version=0.16.14 # Mod Properties -mod_version=1.11+1.21.6-SNAPSHOT.3 +mod_version=1.11+1.21.6-SNAPSHOT.4 maven_group=me.lukasabbe archives_base_name=Bookshelfinspector # Dependencies -fabric_version=0.121.1+1.21.6 +fabric_version=0.124.1+1.21.6 cloth_config=18.0.145 modmenu=14.0.0-rc.2 YAML_snake=2.4 \ No newline at end of file diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java b/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java index ff2c39a..a17b123 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java @@ -17,6 +17,8 @@ import net.minecraft.text.MutableText; import net.minecraft.text.Style; import net.minecraft.text.Text; import net.minecraft.text.Texts; +import net.minecraft.util.ColorCode; +import net.minecraft.util.Colors; import net.minecraft.util.Formatting; import org.joml.Matrix3x2fStack; @@ -27,7 +29,6 @@ public class HudRenderer { if(client.options.hudHidden) return; if(!BookshelfinspectorClient.bookShelfData.isCurrentBookDataToggled) return; - final BookData currentBookData = BookshelfinspectorClient.currentBookData; final int screenWidth = client.getWindow().getScaledWidth(); final int screenHeight = client.getWindow().getScaledHeight(); @@ -36,14 +37,13 @@ public class HudRenderer { final ItemStack itemStack = currentBookData.itemStack; int color = 0xFFFFFFFF; - final Integer colorValue = itemStack.getRarity().getFormatting().getColorValue(); if(colorValue != null){ - color = colorValue; + color = colorValue + 0xFF000000; } - float scaleFactor = ((float) BookshelfinspectorClient.config.scale /10); + float scaleFactor = ((float) BookshelfinspectorClient.config.scale / 10); drawScaledText(context, itemStack.getName(), x,y+((int)(10*scaleFactor)), color, client.textRenderer); ItemEnchantmentsComponent storedComponents = itemStack.getComponents().get(DataComponentTypes.STORED_ENCHANTMENTS); @@ -68,7 +68,7 @@ public class HudRenderer { }else { Texts.setStyleIfAbsent(enchantmentText, Style.EMPTY.withColor(Formatting.GRAY)); } - drawScaledText(context, enchantmentText, x,y+i, 0xFFFFFFFF,client.textRenderer); + drawScaledText(context, enchantmentText, x,y+i, 0xFFFFFFFF, client.textRenderer); i+=(int)(10*scaleFactor); } } From cc96216a624376df0a3eeb73d618cdc7da5078b6 Mon Sep 17 00:00:00 2001 From: lukasabbe <67807954+lukasabbe@users.noreply.github.com> Date: Fri, 16 May 2025 18:10:42 +0200 Subject: [PATCH 08/16] small things --- gradle.properties | 2 +- src/main/resources/fabric.mod.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index b43f418..e1f9671 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ minecraft_version=25w20a yarn_mappings=25w20a+build.1 loader_version=0.16.14 # Mod Properties -mod_version=1.11+1.21.6-SNAPSHOT.4 +mod_version=1.11+1.21.6-SNAPSHOT.5 maven_group=me.lukasabbe archives_base_name=Bookshelfinspector diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index eecd329..9be39d5 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -22,7 +22,7 @@ ], "depends": { "fabricloader": ">=${loader_version}", - "minecraft": ">=1.21.6-alpha.25.15.a", + "minecraft": ">=1.21.6-alpha.25.20.a", "fabric-api-base": "*", "fabric-networking-api-v1": "*", "fabric-lifecycle-events-v1": "*", From d78698aa5427620913d8e4cf5425300c6f525700 Mon Sep 17 00:00:00 2001 From: lukasabbe <67807954+lukasabbe@users.noreply.github.com> Date: Fri, 23 May 2025 22:25:48 +0200 Subject: [PATCH 09/16] 25w21a --- build.gradle | 6 +++--- gradle.properties | 8 ++++---- src/main/resources/fabric.mod.json | 4 +++- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/build.gradle b/build.gradle index 780114d..2a57b3c 100644 --- a/build.gradle +++ b/build.gradle @@ -24,16 +24,16 @@ dependencies { //modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - Set apiMudules = [ + Set apiModules = [ "fabric-api-base", "fabric-networking-api-v1", "fabric-lifecycle-events-v1", "fabric-resource-loader-v0", - "fabric-client-tags-api-v1", + "fabric-tag-api-v1", "fabric-convention-tags-v2", ] - apiMudules.forEach { + apiModules.forEach { modImplementation(fabricApi.module(it, project.fabric_version)) } diff --git a/gradle.properties b/gradle.properties index e1f9671..f816fb7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,16 +2,16 @@ org.gradle.jvmargs=-Xmx4G # Fabric Properties # check these on https://fabricmc.net/develop/ -minecraft_version=25w20a -yarn_mappings=25w20a+build.1 +minecraft_version=25w21a +yarn_mappings=25w21a+build.2 loader_version=0.16.14 # Mod Properties -mod_version=1.11+1.21.6-SNAPSHOT.5 +mod_version=1.11+1.21.6-SNAPSHOT.6 maven_group=me.lukasabbe archives_base_name=Bookshelfinspector # Dependencies -fabric_version=0.124.1+1.21.6 +fabric_version=0.124.4+1.21.6 cloth_config=18.0.145 modmenu=14.0.0-rc.2 YAML_snake=2.4 \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 9be39d5..daefe26 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -26,6 +26,8 @@ "fabric-api-base": "*", "fabric-networking-api-v1": "*", "fabric-lifecycle-events-v1": "*", - "fabric-resource-loader-v0": "*" + "fabric-resource-loader-v0": "*", + "fabric-tag-api-v1": "*", + "fabric-convention-tags-v2": "*" } } From df68cb527df58fe7ff6ec0173e74b34c676ce01f Mon Sep 17 00:00:00 2001 From: lukasabbe <67807954+lukasabbe@users.noreply.github.com> Date: Wed, 28 May 2025 15:31:51 +0200 Subject: [PATCH 10/16] 1.21.6 pre rel --- build.gradle | 2 +- gradle.properties | 6 +++--- src/main/resources/fabric.mod.json | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index 2a57b3c..9eda2ea 100644 --- a/build.gradle +++ b/build.gradle @@ -37,7 +37,7 @@ dependencies { modImplementation(fabricApi.module(it, project.fabric_version)) } - //modApi "me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config}" Turned off until they have been released + //modApi "me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config}" //modApi "com.terraformersmc:modmenu:${project.modmenu}" include(implementation "org.yaml:snakeyaml:${project.YAML_snake}") diff --git a/gradle.properties b/gradle.properties index f816fb7..6b64917 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,8 +2,8 @@ org.gradle.jvmargs=-Xmx4G # Fabric Properties # check these on https://fabricmc.net/develop/ -minecraft_version=25w21a -yarn_mappings=25w21a+build.2 +minecraft_version=1.21.6-pre1 +yarn_mappings=1.21.6-pre1+build.1 loader_version=0.16.14 # Mod Properties mod_version=1.11+1.21.6-SNAPSHOT.6 @@ -11,7 +11,7 @@ maven_group=me.lukasabbe archives_base_name=Bookshelfinspector # Dependencies -fabric_version=0.124.4+1.21.6 +fabric_version=0.125.1+1.21.6 cloth_config=18.0.145 modmenu=14.0.0-rc.2 YAML_snake=2.4 \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index daefe26..6a006f1 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -22,7 +22,7 @@ ], "depends": { "fabricloader": ">=${loader_version}", - "minecraft": ">=1.21.6-alpha.25.20.a", + "minecraft": ">=1.21.6-beta.1", "fabric-api-base": "*", "fabric-networking-api-v1": "*", "fabric-lifecycle-events-v1": "*", From c9dc6215f1fa98014e3485d8ffb4a6b0a54086c2 Mon Sep 17 00:00:00 2001 From: lukasabbe <67807954+lukasabbe@users.noreply.github.com> Date: Wed, 28 May 2025 15:32:46 +0200 Subject: [PATCH 11/16] changed mod id version --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 6b64917..062f5bd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ minecraft_version=1.21.6-pre1 yarn_mappings=1.21.6-pre1+build.1 loader_version=0.16.14 # Mod Properties -mod_version=1.11+1.21.6-SNAPSHOT.6 +mod_version=1.11+1.21.6-Pre.1 maven_group=me.lukasabbe archives_base_name=Bookshelfinspector From 2320e015b4bcf51e183ac93035749a0faf651c7a Mon Sep 17 00:00:00 2001 From: lukasabbe <67807954+lukasabbe@users.noreply.github.com> Date: Wed, 4 Jun 2025 17:20:29 +0200 Subject: [PATCH 12/16] 1.21.6-pre3 --- gradle.properties | 6 +++--- src/main/resources/fabric.mod.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gradle.properties b/gradle.properties index 062f5bd..76f4ae9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,8 +2,8 @@ org.gradle.jvmargs=-Xmx4G # Fabric Properties # check these on https://fabricmc.net/develop/ -minecraft_version=1.21.6-pre1 -yarn_mappings=1.21.6-pre1+build.1 +minecraft_version=1.21.6-pre3 +yarn_mappings=1.21.6-pre3+build.1 loader_version=0.16.14 # Mod Properties mod_version=1.11+1.21.6-Pre.1 @@ -11,7 +11,7 @@ maven_group=me.lukasabbe archives_base_name=Bookshelfinspector # Dependencies -fabric_version=0.125.1+1.21.6 +fabric_version=0.125.3+1.21.6 cloth_config=18.0.145 modmenu=14.0.0-rc.2 YAML_snake=2.4 \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 6a006f1..5053f2f 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -22,7 +22,7 @@ ], "depends": { "fabricloader": ">=${loader_version}", - "minecraft": ">=1.21.6-beta.1", + "minecraft": ">=1.21.6-beta.3", "fabric-api-base": "*", "fabric-networking-api-v1": "*", "fabric-lifecycle-events-v1": "*", From e3f672bd9823b9d975a94504f0a11bda6890cbd9 Mon Sep 17 00:00:00 2001 From: lukasabbe <67807954+lukasabbe@users.noreply.github.com> Date: Wed, 4 Jun 2025 17:21:03 +0200 Subject: [PATCH 13/16] updated version num --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 76f4ae9..d73f729 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ minecraft_version=1.21.6-pre3 yarn_mappings=1.21.6-pre3+build.1 loader_version=0.16.14 # Mod Properties -mod_version=1.11+1.21.6-Pre.1 +mod_version=1.11+1.21.6-Pre.3 maven_group=me.lukasabbe archives_base_name=Bookshelfinspector From d7c5ea96486563e88cb08dca14c9f30cac112423 Mon Sep 17 00:00:00 2001 From: Lukas Date: Tue, 17 Jun 2025 17:18:11 +0200 Subject: [PATCH 14/16] 1.21.6 version, without modmenu and cloth-config --- gradle.properties | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gradle.properties b/gradle.properties index d73f729..81824e0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,16 +2,16 @@ org.gradle.jvmargs=-Xmx4G # Fabric Properties # check these on https://fabricmc.net/develop/ -minecraft_version=1.21.6-pre3 -yarn_mappings=1.21.6-pre3+build.1 +minecraft_version=1.21.6 +yarn_mappings=1.21.6+build.1 loader_version=0.16.14 # Mod Properties -mod_version=1.11+1.21.6-Pre.3 +mod_version=1.11+1.21.6 maven_group=me.lukasabbe archives_base_name=Bookshelfinspector # Dependencies -fabric_version=0.125.3+1.21.6 +fabric_version=0.127.0+1.21.6 cloth_config=18.0.145 modmenu=14.0.0-rc.2 YAML_snake=2.4 \ No newline at end of file From ed822952c82b011f14fc10d3e86902be2d43b180 Mon Sep 17 00:00:00 2001 From: Lukas Date: Tue, 17 Jun 2025 17:19:27 +0200 Subject: [PATCH 15/16] changed num in minecraft fabirc json file --- src/main/resources/fabric.mod.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 5053f2f..778e54b 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -22,7 +22,7 @@ ], "depends": { "fabricloader": ">=${loader_version}", - "minecraft": ">=1.21.6-beta.3", + "minecraft": ">=1.21.6", "fabric-api-base": "*", "fabric-networking-api-v1": "*", "fabric-lifecycle-events-v1": "*", From 43045ffe27b49f5fb76b32feb826c96f8fc7406b Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 18 Jun 2025 15:52:13 +0200 Subject: [PATCH 16/16] fully 1.21.6 --- build.gradle | 4 ++-- gradle.properties | 4 ++-- .../java/me/lukasabbe/bookshelfinspector/config/ModMenu.java | 4 +--- src/main/resources/fabric.mod.json | 3 +++ 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/build.gradle b/build.gradle index 9eda2ea..7732747 100644 --- a/build.gradle +++ b/build.gradle @@ -37,8 +37,8 @@ dependencies { modImplementation(fabricApi.module(it, project.fabric_version)) } - //modApi "me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config}" - //modApi "com.terraformersmc:modmenu:${project.modmenu}" + modApi "me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config}" + modApi "com.terraformersmc:modmenu:${project.modmenu}" include(implementation "org.yaml:snakeyaml:${project.YAML_snake}") } diff --git a/gradle.properties b/gradle.properties index 81824e0..91d7f24 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,6 +12,6 @@ archives_base_name=Bookshelfinspector # Dependencies fabric_version=0.127.0+1.21.6 -cloth_config=18.0.145 -modmenu=14.0.0-rc.2 +cloth_config=19.0.146 +modmenu=15.0.0-beta.2 YAML_snake=2.4 \ No newline at end of file diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/config/ModMenu.java b/src/main/java/me/lukasabbe/bookshelfinspector/config/ModMenu.java index f768c1b..f1b5933 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/config/ModMenu.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/config/ModMenu.java @@ -1,4 +1,3 @@ -/* package me.lukasabbe.bookshelfinspector.config; import com.terraformersmc.modmenu.api.ConfigScreenFactory; @@ -44,5 +43,4 @@ public class ModMenu implements ModMenuApi { return builder.build(); }; } -} -*/ \ No newline at end of file +} \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 778e54b..44505fe 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -15,6 +15,9 @@ ], "main": [ "me.lukasabbe.bookshelfinspector.Bookshelfinspector" + ], + "modmenu": [ + "me.lukasabbe.bookshelfinspector.config.ModMenu" ] }, "mixins": [