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 9874dc9..c38f093 100644 Binary files a/src/main/resources/assets/rivencraft/textures/entity/descriptive_book.png and b/src/main/resources/assets/rivencraft/textures/entity/descriptive_book.png differ 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 23bd0e2..8830fe8 100644 Binary files a/src/main/resources/assets/rivencraft/textures/entity/linking_book.png and b/src/main/resources/assets/rivencraft/textures/entity/linking_book.png differ diff --git a/src/main/resources/assets/rivencraft/textures/item/linking_book_unwritten.png b/src/main/resources/assets/rivencraft/textures/item/linking_book_unwritten.png new file mode 100644 index 0000000..4905e7a Binary files /dev/null and b/src/main/resources/assets/rivencraft/textures/item/linking_book_unwritten.png differ