From 8b418ce01c7ff33a3131050da1fd4af750ee3cd9 Mon Sep 17 00:00:00 2001 From: Dustin Norberg Date: Wed, 23 Sep 2026 15:07:55 -0400 Subject: [PATCH] Use legacy unbound linking book texture --- docs/ASSET_PROVENANCE.md | 1 + gradle.properties | 2 +- .../rivencraft/client/ClientEvents.java | 9 +++++++++ .../rivencraft/models/item/linking_book.json | 12 ++++++++++-- .../models/item/linking_book_bound.json | 6 ++++++ .../textures/entity/descriptive_book.png | Bin 546 -> 441 bytes .../textures/entity/linking_book.png | Bin 1059 -> 489 bytes .../textures/item/linking_book_unwritten.png | Bin 0 -> 405 bytes 8 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 src/main/resources/assets/rivencraft/models/item/linking_book_bound.json create mode 100644 src/main/resources/assets/rivencraft/textures/item/linking_book_unwritten.png diff --git a/docs/ASSET_PROVENANCE.md b/docs/ASSET_PROVENANCE.md index 57bb3a3..70bca3a 100644 --- a/docs/ASSET_PROVENANCE.md +++ b/docs/ASSET_PROVENANCE.md @@ -7,6 +7,7 @@ project's GNU LGPL v3 license. Rivencraft itself uses the same license. | Rivencraft asset | Upstream asset | Upstream revision | Changes | | --- | --- | --- | --- | | `assets/rivencraft/textures/item/page.png` | `assets/mystcraft/textures/items/page_background.png` | `9bc8ddc061845df0cd5ea47f4fdef773cff786ae` | Namespace/path rename only | +| `assets/rivencraft/textures/item/linking_book_unwritten.png` | `assets/mystcraft/textures/items/unlinked.png` | `9bc8ddc061845df0cd5ea47f4fdef773cff786ae` | Namespace/path rename only | | `assets/rivencraft/textures/item/page_link_panel.png` | `page_background.png` and `PageBuilder.BasicPageSprite` | `9bc8ddc061845df0cd5ea47f4fdef773cff786ae` | Reproduces the legacy 160 px scale, black panel at `(25,30)`–`(135,75)`, and 128 px resample | | `assets/rivencraft/textures/item/page_symbol*.png` and `page_unresolved.png` | `page_background.png`, `textures/symbolcomponents.png`, `WordData`, `ModSymbols`, and `PageBuilder.PageSprite` | `9bc8ddc061845df0cd5ea47f4fdef773cff786ae` | Static 1.21.1 renditions of the legacy runtime-composed four-word symbol pages; `normal_time` uses the legacy Full Length poem | diff --git a/gradle.properties b/gradle.properties index 69a52aa..51425c2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -35,7 +35,7 @@ mod_name=Rivencraft # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=LGPL-3.0-or-later # The mod version. Rivencraft uses the x.y.z.b policy documented in README.md. -mod_version=0.3.2.0 +mod_version=0.3.2.1 immersive_portals_version=6.0.7 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. diff --git a/src/main/java/net/dnorberg/rivencraft/client/ClientEvents.java b/src/main/java/net/dnorberg/rivencraft/client/ClientEvents.java index 6673ae6..6865926 100644 --- a/src/main/java/net/dnorberg/rivencraft/client/ClientEvents.java +++ b/src/main/java/net/dnorberg/rivencraft/client/ClientEvents.java @@ -2,6 +2,10 @@ package net.dnorberg.rivencraft.client; import net.dnorberg.rivencraft.Rivencraft; import net.dnorberg.rivencraft.registry.ModBlockEntities; +import net.dnorberg.rivencraft.registry.ModDataComponents; +import net.dnorberg.rivencraft.registry.ModItems; +import net.minecraft.client.renderer.item.ItemProperties; +import net.minecraft.resources.ResourceLocation; import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; @@ -21,6 +25,11 @@ public final class ClientEvents { @SubscribeEvent public static void clientSetup(FMLClientSetupEvent event) { + event.enqueueWork(() -> ItemProperties.register( + ModItems.LINKING_BOOK.get(), + ResourceLocation.fromNamespaceAndPath(Rivencraft.MOD_ID, "bound"), + (stack, level, entity, seed) -> stack.has(ModDataComponents.LINK_TARGET.get()) ? 1.0F : 0.0F + )); NeoForge.EVENT_BUS.addListener(ClientBookInteractionHandler::onRightClickItem); NeoForge.EVENT_BUS.addListener(ClientBookInteractionHandler::onRightClickBlock); NeoForge.EVENT_BUS.addListener(ClientBookExploreOverlay::onClientTickPre); diff --git a/src/main/resources/assets/rivencraft/models/item/linking_book.json b/src/main/resources/assets/rivencraft/models/item/linking_book.json index b61a80c..5ce2cb2 100644 --- a/src/main/resources/assets/rivencraft/models/item/linking_book.json +++ b/src/main/resources/assets/rivencraft/models/item/linking_book.json @@ -1,6 +1,14 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "rivencraft:item/linking_book" - } + "layer0": "rivencraft:item/linking_book_unwritten" + }, + "overrides": [ + { + "predicate": { + "rivencraft:bound": 1.0 + }, + "model": "rivencraft:item/linking_book_bound" + } + ] } diff --git a/src/main/resources/assets/rivencraft/models/item/linking_book_bound.json b/src/main/resources/assets/rivencraft/models/item/linking_book_bound.json new file mode 100644 index 0000000..b61a80c --- /dev/null +++ b/src/main/resources/assets/rivencraft/models/item/linking_book_bound.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "rivencraft:item/linking_book" + } +} diff --git a/src/main/resources/assets/rivencraft/textures/entity/descriptive_book.png b/src/main/resources/assets/rivencraft/textures/entity/descriptive_book.png index 9874dc9fb6f1163ac27cd03c6ef60dd0a36a9efe..c38f093c21b19fb7ca88182193f7dbdd3994021a 100644 GIT binary patch delta 416 zcmV;R0bl;21i1r{BYy#aNklZq}6oy|SCN@-dmW~}*Dlt}w8}u-hdV}16 zOLXbd1)+|N3>`~PK*bSAjAR5a564CdHnKk{0qh^d`~CC4`+9%wf#Cb+A6}jwW@C@9 zC;0t%8|N8VLuseiJbnIwNqFp!7b64KQs*w2Vj`ZRek@MKG=Gy(HegL!m}#aOwn+j^ zPRptU$Ufs(XQC0S5+Ga1RA*{qR5pMiYr-Dh26t_OdtfktTB)T%aTDCrJD=ik`SnFn zNQtv78@4L?uIr?grfDEe(_z0X%h^7IAL}we z*aN0FN!>h$Du0UW`95apT3d7X1Vm8;GU!UcQ8dX{hi&mnQFBXrJTAKK){F^=<9Hmb z>)M(GNPh?LmGXUmcFf?j51EK_wBYyw^b5ch_0Itp)=>Px$+(|@1RA_P;L;u(ZqKwM{MF5sqX(T$5DLb@muCX-1!Q;IKb^MR0=`6vAI`+Nxo z(PNwgM3Weu+v!RecZ=~QJF#DHczRwI>p)4PbO8JHhKJ?6w13tcMI2vVX%a#780WoF zWL>l!u1>4-_Id&Ap*Agmj*oc1-Vny!N-%ZW-$3ZQL6yFbHjKMo`|gQX1pv+!pwraD z!#69yH2_oB#2~x_@F{0q=UX-R!aD$P522}t*752A56d~X)79zl<~u-B>A=TxTQ#@3 zCZ}G6%yo00dVdGluQyz>Q|Z%00wCXRw@%{OYzBaj{(L?=X$OOWlkTSpR;yJ$olYwY z$K#RVa9Ej7(-a^5;cy^H5&(9)UFjMq#!>-2qje*h}z+^HhuCpww)h9_(%;}gx zND(SCbw*61{eJ(`8=CsXVo?dtrkA3441Q%qt*2?~bbn*Bip-Gpv1ABE0H(?DcwCv& zjp}7zcMtt%VD7h#CAdoy)G-56p@}y^9b2b1o1+bz-nK`dldgiI3EJ>AYST-7v#ta{ zE^R^*@Bah-8f^g52Bc{NkTxJq8-TO{Y1#m!4M@`lAZd*Us3b{@s!@P00000 MNkvXXt^-0~f~arv@&Et; diff --git a/src/main/resources/assets/rivencraft/textures/entity/linking_book.png b/src/main/resources/assets/rivencraft/textures/entity/linking_book.png index 23bd0e24085b02e31c73afc9c5416b49c1c5bfb4..8830fe829f94d67464f8d26bc8aebf4565c900d0 100644 GIT binary patch delta 474 zcmV<00VV#U2t9^=`Z8Q+`b7)Nmbw+K2t~MeOe0fq&-x04A|P1F&O#^d%?L zihLeUtn4$@Gy`sQ#5k&G3N=Qi{R?bC6F&8Iv}l-4yE)M|fRFwZBTQt{3{d$5*vpB| zL?b560M$f9ovLYbqiq0dq-cVvNsDOh0=TbZ;ws70Gk~cu190Ew+na2g;|C!cr|tL| z0JYdgyi8=1=YM${$MIF5X&Uf-|Ej*KD$vmfK>#Yat_w>r_z9F{$u53R>&3WCPvd>s zB^g`-tyM0BQ_E zjaq6AP(BCn&hB=*i)W;76nQ+$GU-fMdi0S|1L$z>% literal 1059 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3-p)I`?e@QjEnx?oJHr&dI!FU|?nl@Ck7R z3YPmRZLc!@e}kc~uW!bT8EeH=O_B)Im%%+-~EhlRLh30s=IEHu} ze;ee;cUXZ(`9$-f|MGV%v}LWA<}P{L#ClNSXrWS&8OPye%lEvWZM#hSg3O^!DGydU zoO5hE*_g*^x#97?<_zx2JjZ`FN2Hl9_D^}$sejMk;^%s|kZxoBy~U#O3~L=HGjP2) ze9(0JhC0o4%nV_o5=>9{qa~P1668vL@@QL70(Y)*K0-AbW|YuPggqR%RhhneRsoOM#|{db&7dQGzd!iIXPG(00#1643<*7rL0n6(WcOS)VPsgOVKr4EfP-=Al-5>(3sL)*0S&rr z;uoY9YIl$RG)JYu&%`@{W5?0bV}TdNxvm;%F$!PC{xWt~$(695Ukmuvt4 literal 0 HcmV?d00001