From 377a0f592b87d3ac929c1ec19ffeec9db1851a80 Mon Sep 17 00:00:00 2001 From: lukasabbe <67807954+lukasabbe@users.noreply.github.com> Date: Wed, 30 Oct 2024 23:35:54 +0100 Subject: [PATCH 1/3] 1.21.4 version, reworks to network handling. No code changes just made it more clear --- gradle.properties | 10 ++--- .../Bookshelfinspector.java | 37 ++++--------------- .../BookshelfinspectorClient.java | 28 +++----------- .../client/BookShelfInventoryHandler.java | 28 ++++++++++++++ .../network/client/ModPayloadHandler.java | 19 ++++++++++ .../BookShelfInventoryPayload.java | 3 +- .../BookShelfInventoryRequestPayload.java | 3 +- .../LecternInventoryRequestPayload.java | 3 +- .../{ => packets}/ModCheckPayload.java | 3 +- ...okShelfInventoryRequestPayloadHandler.java | 25 +++++++++++++ ...LecternInventoryRequestPayloadHandler.java | 26 +++++++++++++ .../bookshelfinspector/util/Inspector.java | 4 +- .../assets/bookshelfinspector/lang/sv_se.json | 2 +- src/main/resources/fabric.mod.json | 2 +- 14 files changed, 129 insertions(+), 64 deletions(-) create mode 100644 src/main/java/me/lukasabbe/bookshelfinspector/network/client/BookShelfInventoryHandler.java create mode 100644 src/main/java/me/lukasabbe/bookshelfinspector/network/client/ModPayloadHandler.java rename src/main/java/me/lukasabbe/bookshelfinspector/network/{ => packets}/BookShelfInventoryPayload.java (88%) rename src/main/java/me/lukasabbe/bookshelfinspector/network/{ => packets}/BookShelfInventoryRequestPayload.java (86%) rename src/main/java/me/lukasabbe/bookshelfinspector/network/{ => packets}/LecternInventoryRequestPayload.java (84%) rename src/main/java/me/lukasabbe/bookshelfinspector/network/{ => packets}/ModCheckPayload.java (83%) create mode 100644 src/main/java/me/lukasabbe/bookshelfinspector/network/server/BookShelfInventoryRequestPayloadHandler.java create mode 100644 src/main/java/me/lukasabbe/bookshelfinspector/network/server/LecternInventoryRequestPayloadHandler.java diff --git a/gradle.properties b/gradle.properties index 1d29558..f3da13b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,16 +2,16 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://modmuss50.me/fabric.html -minecraft_version=1.21.2 -yarn_mappings=1.21.2+build.1 -loader_version=0.16.7 +minecraft_version=24w44a +yarn_mappings=24w44a+build.1 +loader_version=0.16.9 # Mod Properties -mod_version=1.5+1.21.2 +mod_version=1.5+1.21.4-SNAPSHOT.1 maven_group=me.lukasabbe archives_base_name=Bookshelfinspector # Dependencies -fabric_version=0.106.1+1.21.2 +fabric_version=0.107.0+1.21.4 cloth_config=16.0.141 modmenu=12.0.0-beta.1 YAML_snake=2.2 \ No newline at end of file diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java b/src/main/java/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java index e65a5db..c5fe547 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/Bookshelfinspector.java @@ -1,17 +1,15 @@ package me.lukasabbe.bookshelfinspector; -import me.lukasabbe.bookshelfinspector.network.BookShelfInventoryPayload; -import me.lukasabbe.bookshelfinspector.network.BookShelfInventoryRequestPayload; -import me.lukasabbe.bookshelfinspector.network.LecternInventoryRequestPayload; -import me.lukasabbe.bookshelfinspector.network.ModCheckPayload; -import me.lukasabbe.bookshelfinspector.util.BookshelfTools; -import me.lukasabbe.bookshelfinspector.util.LecternTools; +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.item.ItemStack; -import net.minecraft.item.Items; import net.minecraft.server.MinecraftServer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -29,28 +27,9 @@ public class Bookshelfinspector implements ModInitializer { PayloadTypeRegistry.playS2C().register(BookShelfInventoryPayload.ID,BookShelfInventoryPayload.CODEC); PayloadTypeRegistry.playS2C().register(ModCheckPayload.ID, ModCheckPayload.CODEC); - ServerPlayNetworking.registerGlobalReceiver(BookShelfInventoryRequestPayload.ID,((payload, context) -> context.server().execute(() -> { - if(Bookshelfinspector.serverInstance == null) return; + ServerPlayNetworking.registerGlobalReceiver(BookShelfInventoryRequestPayload.ID, new BookShelfInventoryRequestPayloadHandler()); - ItemStack stack = BookshelfTools.getItemById(payload.pos(),payload.slotNum(),context.player()); - if(stack == null){ - ServerPlayNetworking.send(context.player(), new BookShelfInventoryPayload(Items.AIR.getDefaultStack(), payload.pos(), payload.slotNum())); - return; - } - ServerPlayNetworking.send(context.player(), new BookShelfInventoryPayload(stack, payload.pos(), payload.slotNum())); - }))); - - ServerPlayNetworking.registerGlobalReceiver(LecternInventoryRequestPayload.ID, ((payload, context) -> context.server().execute(() ->{ - if(Bookshelfinspector.serverInstance == null) return; - - ItemStack stack = LecternTools.getItemStack(payload.pos(), context.player()); - - if(stack == null){ - ServerPlayNetworking.send(context.player(), new BookShelfInventoryPayload(Items.AIR.getDefaultStack(), payload.pos(), 0)); - return; - } - ServerPlayNetworking.send(context.player(), new BookShelfInventoryPayload(stack, payload.pos(), 0)); - }))); + ServerPlayNetworking.registerGlobalReceiver(LecternInventoryRequestPayload.ID, new LecternInventoryRequestPayloadHandler()); ServerPlayConnectionEvents.JOIN.register(((handler, sender, server) -> { serverInstance = server; diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/BookshelfinspectorClient.java b/src/main/java/me/lukasabbe/bookshelfinspector/BookshelfinspectorClient.java index 00f7903..218ba51 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/BookshelfinspectorClient.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/BookshelfinspectorClient.java @@ -3,14 +3,15 @@ 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.BookShelfInventoryPayload; -import me.lukasabbe.bookshelfinspector.network.ModCheckPayload; +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; -import net.minecraft.item.Items; @Environment(EnvType.CLIENT) public class BookshelfinspectorClient implements ClientModInitializer { @@ -23,26 +24,9 @@ public class BookshelfinspectorClient implements ClientModInitializer { @Override public void onInitializeClient() { config.loadConfig(); - ClientPlayNetworking.registerGlobalReceiver(BookShelfInventoryPayload.ID, - ((payload, context) -> - context.client().execute(() ->{ - bookShelfData.requestSent = false; - if(payload.itemStack().isOf(Items.AIR)){ - bookShelfData.isCurrentBookDataToggled = false; - currentBookData = BookData.empty(); - currentBookData.slotId = -2; - } - else{ - bookShelfData.isCurrentBookDataToggled = true; - currentBookData = new BookData(payload.itemStack(),payload.pos(),payload.slotNum()); - } - }))); + ClientPlayNetworking.registerGlobalReceiver(BookShelfInventoryPayload.ID, new BookShelfInventoryHandler()); + ClientPlayNetworking.registerGlobalReceiver(ModCheckPayload.ID,new ModPayloadHandler()); - ClientPlayNetworking.registerGlobalReceiver(ModCheckPayload.ID, - (payload, context) -> context.client().execute(() ->{ - Bookshelfinspector.LOGGER.info("[bookshelfinspector] Connected to server"); - modAvailable = true; - })); ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> { modAvailable = false; bookShelfData = new BookShelfData(); diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/network/client/BookShelfInventoryHandler.java b/src/main/java/me/lukasabbe/bookshelfinspector/network/client/BookShelfInventoryHandler.java new file mode 100644 index 0000000..6e1671b --- /dev/null +++ b/src/main/java/me/lukasabbe/bookshelfinspector/network/client/BookShelfInventoryHandler.java @@ -0,0 +1,28 @@ +package me.lukasabbe.bookshelfinspector.network.client; + +import me.lukasabbe.bookshelfinspector.BookshelfinspectorClient; +import me.lukasabbe.bookshelfinspector.data.BookData; +import me.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryPayload; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.item.Items; + +@Environment(EnvType.CLIENT) +public class BookShelfInventoryHandler implements ClientPlayNetworking.PlayPayloadHandler { + @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/src/main/java/me/lukasabbe/bookshelfinspector/network/client/ModPayloadHandler.java b/src/main/java/me/lukasabbe/bookshelfinspector/network/client/ModPayloadHandler.java new file mode 100644 index 0000000..58685e8 --- /dev/null +++ b/src/main/java/me/lukasabbe/bookshelfinspector/network/client/ModPayloadHandler.java @@ -0,0 +1,19 @@ +package me.lukasabbe.bookshelfinspector.network.client; + +import me.lukasabbe.bookshelfinspector.Bookshelfinspector; +import me.lukasabbe.bookshelfinspector.BookshelfinspectorClient; +import me.lukasabbe.bookshelfinspector.network.packets.ModCheckPayload; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; + +@Environment(EnvType.CLIENT) +public class ModPayloadHandler implements ClientPlayNetworking.PlayPayloadHandler { + @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/src/main/java/me/lukasabbe/bookshelfinspector/network/BookShelfInventoryPayload.java b/src/main/java/me/lukasabbe/bookshelfinspector/network/packets/BookShelfInventoryPayload.java similarity index 88% rename from src/main/java/me/lukasabbe/bookshelfinspector/network/BookShelfInventoryPayload.java rename to src/main/java/me/lukasabbe/bookshelfinspector/network/packets/BookShelfInventoryPayload.java index 7ed9360..83719dd 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/network/BookShelfInventoryPayload.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/network/packets/BookShelfInventoryPayload.java @@ -1,5 +1,6 @@ -package me.lukasabbe.bookshelfinspector.network; +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; diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/network/BookShelfInventoryRequestPayload.java b/src/main/java/me/lukasabbe/bookshelfinspector/network/packets/BookShelfInventoryRequestPayload.java similarity index 86% rename from src/main/java/me/lukasabbe/bookshelfinspector/network/BookShelfInventoryRequestPayload.java rename to src/main/java/me/lukasabbe/bookshelfinspector/network/packets/BookShelfInventoryRequestPayload.java index 34155fd..918dba2 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/network/BookShelfInventoryRequestPayload.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/network/packets/BookShelfInventoryRequestPayload.java @@ -1,5 +1,6 @@ -package me.lukasabbe.bookshelfinspector.network; +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; diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/network/LecternInventoryRequestPayload.java b/src/main/java/me/lukasabbe/bookshelfinspector/network/packets/LecternInventoryRequestPayload.java similarity index 84% rename from src/main/java/me/lukasabbe/bookshelfinspector/network/LecternInventoryRequestPayload.java rename to src/main/java/me/lukasabbe/bookshelfinspector/network/packets/LecternInventoryRequestPayload.java index 07751aa..29cd8e5 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/network/LecternInventoryRequestPayload.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/network/packets/LecternInventoryRequestPayload.java @@ -1,5 +1,6 @@ -package me.lukasabbe.bookshelfinspector.network; +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; diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/network/ModCheckPayload.java b/src/main/java/me/lukasabbe/bookshelfinspector/network/packets/ModCheckPayload.java similarity index 83% rename from src/main/java/me/lukasabbe/bookshelfinspector/network/ModCheckPayload.java rename to src/main/java/me/lukasabbe/bookshelfinspector/network/packets/ModCheckPayload.java index 7d40785..5f2866c 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/network/ModCheckPayload.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/network/packets/ModCheckPayload.java @@ -1,5 +1,6 @@ -package me.lukasabbe.bookshelfinspector.network; +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; diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/network/server/BookShelfInventoryRequestPayloadHandler.java b/src/main/java/me/lukasabbe/bookshelfinspector/network/server/BookShelfInventoryRequestPayloadHandler.java new file mode 100644 index 0000000..18e211a --- /dev/null +++ b/src/main/java/me/lukasabbe/bookshelfinspector/network/server/BookShelfInventoryRequestPayloadHandler.java @@ -0,0 +1,25 @@ +package me.lukasabbe.bookshelfinspector.network.server; + +import me.lukasabbe.bookshelfinspector.Bookshelfinspector; +import me.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryPayload; +import me.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryRequestPayload; +import me.lukasabbe.bookshelfinspector.util.BookshelfTools; +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; + +public class BookShelfInventoryRequestPayloadHandler implements ServerPlayNetworking.PlayPayloadHandler { + @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/src/main/java/me/lukasabbe/bookshelfinspector/network/server/LecternInventoryRequestPayloadHandler.java b/src/main/java/me/lukasabbe/bookshelfinspector/network/server/LecternInventoryRequestPayloadHandler.java new file mode 100644 index 0000000..6fdaa58 --- /dev/null +++ b/src/main/java/me/lukasabbe/bookshelfinspector/network/server/LecternInventoryRequestPayloadHandler.java @@ -0,0 +1,26 @@ +package me.lukasabbe.bookshelfinspector.network.server; + +import me.lukasabbe.bookshelfinspector.Bookshelfinspector; +import me.lukasabbe.bookshelfinspector.network.packets.BookShelfInventoryPayload; +import me.lukasabbe.bookshelfinspector.network.packets.LecternInventoryRequestPayload; +import me.lukasabbe.bookshelfinspector.util.LecternTools; +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; + +public class LecternInventoryRequestPayloadHandler implements ServerPlayNetworking.PlayPayloadHandler{ + @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/src/main/java/me/lukasabbe/bookshelfinspector/util/Inspector.java b/src/main/java/me/lukasabbe/bookshelfinspector/util/Inspector.java index 6a1db55..0e95b5f 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/util/Inspector.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/util/Inspector.java @@ -3,8 +3,8 @@ 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.BookShelfInventoryRequestPayload; -import me.lukasabbe.bookshelfinspector.network.LecternInventoryRequestPayload; +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; diff --git a/src/main/resources/assets/bookshelfinspector/lang/sv_se.json b/src/main/resources/assets/bookshelfinspector/lang/sv_se.json index 6d167bd..47a2c42 100644 --- a/src/main/resources/assets/bookshelfinspector/lang/sv_se.json +++ b/src/main/resources/assets/bookshelfinspector/lang/sv_se.json @@ -2,5 +2,5 @@ "bookshelfinspector.config.title": "Bookshelf Inspector Config", "bookshelfinspector.config.category": "Inställningar", "bookshelfinspector.config.lectern.toggle": "Stäng AV eller PÅ läspulpet stöd", - "bookshelfinspector.config.lectern.toggle.tooltip": "Denna inställning kommer stänga av eller på synligeten av läspulpet inspection" + "bookshelfinspector.config.lectern.toggle.tooltip": "Denna inställning kommer stänga av eller på synligeten av läspulpet inspektion" } \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 7cf0969..6e2125f 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.2", + "minecraft": ">=1.21.4-alpha.24.44.a", "fabric-api-base": "*", "fabric-networking-api-v1": "*", "fabric-lifecycle-events-v1": "*" From cb96389739e23e27a109765145dddc43fa325dea Mon Sep 17 00:00:00 2001 From: lukasabbe <67807954+lukasabbe@users.noreply.github.com> Date: Sun, 10 Nov 2024 22:47:45 +0100 Subject: [PATCH 2/3] added scale to text --- gradle.properties | 2 +- .../bookshelfinspector/config/Config.java | 5 +++++ .../bookshelfinspector/config/ModMenu.java | 6 ++++- .../bookshelfinspector/util/HudRenderer.java | 22 ++++++++++++++----- .../assets/bookshelfinspector/lang/en_us.json | 4 +++- .../assets/bookshelfinspector/lang/sv_se.json | 4 +++- 6 files changed, 34 insertions(+), 9 deletions(-) diff --git a/gradle.properties b/gradle.properties index f3da13b..49435b7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ minecraft_version=24w44a yarn_mappings=24w44a+build.1 loader_version=0.16.9 # Mod Properties -mod_version=1.5+1.21.4-SNAPSHOT.1 +mod_version=1.6+1.21.4-SNAPSHOT.1 maven_group=me.lukasabbe archives_base_name=Bookshelfinspector diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/config/Config.java b/src/main/java/me/lukasabbe/bookshelfinspector/config/Config.java index 7fe6b05..91f8ec0 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/config/Config.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/config/Config.java @@ -16,6 +16,7 @@ import java.util.Map; @Environment(EnvType.CLIENT) public class Config { public boolean lecternToggle = true; + public int scale = 10; public void loadConfig(){ Path configPath = FabricLoader.getInstance().getConfigDir().resolve("bookshelfinspector-config.yml"); @@ -26,6 +27,9 @@ public class Config { if(configMap.containsKey("lectern-toggle")){ lecternToggle = (boolean) configMap.get("lectern-toggle"); } + if(configMap.containsKey("scale")){ + scale = (int) configMap.get("scale"); + } } catch (FileNotFoundException e) { throw new RuntimeException(e); @@ -50,6 +54,7 @@ public class Config { try{ Map configMap = yaml.load(new FileReader(configPath.toFile())); configMap.put("lectern-toggle",lecternToggle); + configMap.put("scale",scale); FileWriter writer = new FileWriter(configPath.toString()); yaml.dump(configMap,writer); writer.close(); diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/config/ModMenu.java b/src/main/java/me/lukasabbe/bookshelfinspector/config/ModMenu.java index 7959572..8e72113 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/config/ModMenu.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/config/ModMenu.java @@ -26,7 +26,11 @@ public class ModMenu implements ModMenuApi { .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()); + .setSaveConsumer(val -> BookshelfinspectorClient.config.lecternToggle = val).build()) + .addEntry(entryBuilder + .startIntSlider(Text.translatable("bookshelfinspector.config.scale"),BookshelfinspectorClient.config.scale,0,20) + .setDefaultValue(10).setSaveConsumer(val -> BookshelfinspectorClient.config.scale = val) + .build()); builder.setSavingRunnable(BookshelfinspectorClient.config::saveConfig); return builder.build(); }; diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java b/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java index 8c8d16b..dfe3a95 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/util/HudRenderer.java @@ -5,7 +5,9 @@ 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; @@ -31,27 +33,37 @@ public class HudRenderer { if(itemStack.getRarity().getFormatting().getColorValue() != null){ color = itemStack.getRarity().getFormatting().getColorValue(); } - context.drawCenteredTextWithShadow(client.textRenderer, itemStack.getName(), x,y+10, color); + 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 = 20; + int i = ((int)(20*scaleFactor)); for(RegistryEntry enchantment : storedComponents.getEnchantments()){ String lvl = ""; if(storedComponents.getLevel(enchantment) != 1) lvl = String.valueOf(storedComponents.getLevel(enchantment)); - context.drawCenteredTextWithShadow(client.textRenderer, enchantment.value().description().copy().append(" " + lvl), x,y+i, 0xFFFFFFFF); - i+=10; + drawScaledText(context,enchantment.value().description().copy().append(" " + lvl), x,y+i, 0xFFFFFFFF,client.textRenderer); + i+=(int)(10*scaleFactor); } } var writtenBookContentComponent = itemStack.getComponents().get(DataComponentTypes.WRITTEN_BOOK_CONTENT); if(writtenBookContentComponent != null){ - context.drawCenteredTextWithShadow(client.textRenderer, Text.translatable("book.byAuthor",writtenBookContentComponent.author()), x,y+20, 0xFFFFFFFF); + 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); + stack.scale((float) BookshelfinspectorClient.config.scale /10, (float) BookshelfinspectorClient.config.scale /10, (float) BookshelfinspectorClient.config.scale /10); + stack.translate(-centerX,-y,0); + context.drawCenteredTextWithShadow(textRenderer,text,centerX,y,color); + stack.pop(); + } } diff --git a/src/main/resources/assets/bookshelfinspector/lang/en_us.json b/src/main/resources/assets/bookshelfinspector/lang/en_us.json index 114660d..87ec6cc 100644 --- a/src/main/resources/assets/bookshelfinspector/lang/en_us.json +++ b/src/main/resources/assets/bookshelfinspector/lang/en_us.json @@ -2,5 +2,7 @@ "bookshelfinspector.config.title": "Bookshelf Inspector Config", "bookshelfinspector.config.category": "Settings", "bookshelfinspector.config.lectern.toggle": "Turn OFF or ON lectern support", - "bookshelfinspector.config.lectern.toggle.tooltip": "This will turn OFF/ON the visibility of lectern inspection" + "bookshelfinspector.config.lectern.toggle.tooltip": "This will turn OFF/ON the visibility of lectern inspection", + "bookshelfinspector.config.scale": "Change the scale of the text by dragging the slider", + "bookshelfinspector.config.scale.tooltip": "Change the scale of the text, if you drag it against 0 it will become smaller and if you drag it against 20 it will become bigger" } \ No newline at end of file diff --git a/src/main/resources/assets/bookshelfinspector/lang/sv_se.json b/src/main/resources/assets/bookshelfinspector/lang/sv_se.json index 47a2c42..7c71355 100644 --- a/src/main/resources/assets/bookshelfinspector/lang/sv_se.json +++ b/src/main/resources/assets/bookshelfinspector/lang/sv_se.json @@ -2,5 +2,7 @@ "bookshelfinspector.config.title": "Bookshelf Inspector Config", "bookshelfinspector.config.category": "Inställningar", "bookshelfinspector.config.lectern.toggle": "Stäng AV eller PÅ läspulpet stöd", - "bookshelfinspector.config.lectern.toggle.tooltip": "Denna inställning kommer stänga av eller på synligeten av läspulpet inspektion" + "bookshelfinspector.config.lectern.toggle.tooltip": "Denna inställning kommer stänga av eller på synligeten av läspulpet inspektion", + "bookshelfinspector.config.scale": "Ändra storleken på texten igenom att dra på inställningen nedan", + "bookshelfinspector.config.scale.tooltip": "Ändra storleken på texten, om du drar den mot 0 så kommer texten bli mindre och om du drar den mot 20 så kommer den bli störe" } \ No newline at end of file From 9f0841d29433c55a1a4cc763d3762ed4a269a366 Mon Sep 17 00:00:00 2001 From: lukasabbe <67807954+lukasabbe@users.noreply.github.com> Date: Sun, 10 Nov 2024 22:54:48 +0100 Subject: [PATCH 3/3] fixed small things --- .../java/me/lukasabbe/bookshelfinspector/config/ModMenu.java | 1 + src/main/resources/assets/bookshelfinspector/lang/en_us.json | 4 ++-- src/main/resources/assets/bookshelfinspector/lang/sv_se.json | 4 ++-- src/main/resources/fabric.mod.json | 3 ++- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/me/lukasabbe/bookshelfinspector/config/ModMenu.java b/src/main/java/me/lukasabbe/bookshelfinspector/config/ModMenu.java index 8e72113..bf696c7 100644 --- a/src/main/java/me/lukasabbe/bookshelfinspector/config/ModMenu.java +++ b/src/main/java/me/lukasabbe/bookshelfinspector/config/ModMenu.java @@ -29,6 +29,7 @@ public class ModMenu implements ModMenuApi { .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()); builder.setSavingRunnable(BookshelfinspectorClient.config::saveConfig); diff --git a/src/main/resources/assets/bookshelfinspector/lang/en_us.json b/src/main/resources/assets/bookshelfinspector/lang/en_us.json index 87ec6cc..d8111de 100644 --- a/src/main/resources/assets/bookshelfinspector/lang/en_us.json +++ b/src/main/resources/assets/bookshelfinspector/lang/en_us.json @@ -3,6 +3,6 @@ "bookshelfinspector.config.category": "Settings", "bookshelfinspector.config.lectern.toggle": "Turn OFF or ON lectern support", "bookshelfinspector.config.lectern.toggle.tooltip": "This will turn OFF/ON the visibility of lectern inspection", - "bookshelfinspector.config.scale": "Change the scale of the text by dragging the slider", - "bookshelfinspector.config.scale.tooltip": "Change the scale of the text, if you drag it against 0 it will become smaller and if you drag it against 20 it will become bigger" + "bookshelfinspector.config.scale": "Change the scale of the text", + "bookshelfinspector.config.scale.tooltip": "Change the scale of the text by dragging the slider" } \ No newline at end of file diff --git a/src/main/resources/assets/bookshelfinspector/lang/sv_se.json b/src/main/resources/assets/bookshelfinspector/lang/sv_se.json index 7c71355..e1609a5 100644 --- a/src/main/resources/assets/bookshelfinspector/lang/sv_se.json +++ b/src/main/resources/assets/bookshelfinspector/lang/sv_se.json @@ -3,6 +3,6 @@ "bookshelfinspector.config.category": "Inställningar", "bookshelfinspector.config.lectern.toggle": "Stäng AV eller PÅ läspulpet stöd", "bookshelfinspector.config.lectern.toggle.tooltip": "Denna inställning kommer stänga av eller på synligeten av läspulpet inspektion", - "bookshelfinspector.config.scale": "Ändra storleken på texten igenom att dra på inställningen nedan", - "bookshelfinspector.config.scale.tooltip": "Ändra storleken på texten, om du drar den mot 0 så kommer texten bli mindre och om du drar den mot 20 så kommer den bli störe" + "bookshelfinspector.config.scale": "Ändra storleken på texten", + "bookshelfinspector.config.scale.tooltip": "Du kan göra det igenom att dra på den nedan" } \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 6e2125f..04df3f8 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -28,6 +28,7 @@ "minecraft": ">=1.21.4-alpha.24.44.a", "fabric-api-base": "*", "fabric-networking-api-v1": "*", - "fabric-lifecycle-events-v1": "*" + "fabric-lifecycle-events-v1": "*", + "fabric-resource-loader-v0": "*" } }