diff --git a/README.md b/README.md index 70d71e2e..4246c4b7 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ To get started, add Bibliocraft as a dependency for your mod in your `build.grad repositories { // Bibliocraft is hosted on the MinecraftschurliMods maven. maven { - url 'https://minecraftschurli.ddns.net/repository/maven-public' + url 'https://maven.minecraftschurli.at/' } } diff --git a/settings.gradle.kts b/settings.gradle.kts index ee490d91..323aed16 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -7,7 +7,7 @@ pluginManagement { mavenLocal() gradlePluginPortal() maven { url = uri("https://maven.neoforged.net/releases") } - maven { url = uri("https://minecraftschurli.ddns.net/repository/maven-public") } + maven { url = uri("https://maven.minecraftschurli.at/maven-public") } } } diff --git a/src/data/java/com/github/minecraftschurlimods/bibliocraft/datagen/data/BCBlockTagsProvider.java b/src/data/java/com/github/minecraftschurlimods/bibliocraft/datagen/data/BCBlockTagsProvider.java index 691184e4..490c1ee4 100644 --- a/src/data/java/com/github/minecraftschurlimods/bibliocraft/datagen/data/BCBlockTagsProvider.java +++ b/src/data/java/com/github/minecraftschurlimods/bibliocraft/datagen/data/BCBlockTagsProvider.java @@ -28,7 +28,7 @@ protected void addTags(HolderLookup.Provider lookupProvider) { tag(BCTags.Blocks.FANCY_LANTERNS).addTags(BCTags.Blocks.FANCY_LANTERNS_GOLD, BCTags.Blocks.FANCY_LANTERNS_IRON); DatagenUtil.addAll(BuiltInRegistries.BLOCK, BCBlocks.FANCY_GOLD_LANTERN.values(), tag(BCTags.Blocks.FANCY_LANTERNS_GOLD).add(BCBlocks.CLEAR_FANCY_GOLD_LANTERN.get())); DatagenUtil.addAll(BuiltInRegistries.BLOCK, BCBlocks.FANCY_IRON_LANTERN.values(), tag(BCTags.Blocks.FANCY_LANTERNS_IRON).add(BCBlocks.CLEAR_FANCY_IRON_LANTERN.get())); - tag(BlockTags.MINEABLE_WITH_AXE).addTags(BCTags.Blocks.BOOKCASES, BCTags.Blocks.DISPLAY_CASES, BCTags.Blocks.FANCY_ARMOR_STANDS_WOOD, BCTags.Blocks.FANCY_CLOCKS, BCTags.Blocks.FANCY_CRAFTERS, BCTags.Blocks.GRANDFATHER_CLOCKS, BCTags.Blocks.LABELS, BCTags.Blocks.POTION_SHELVES, BCTags.Blocks.SEATS, BCTags.Blocks.SHELVES, BCTags.Blocks.TABLES, BCTags.Blocks.TOOL_RACKS).add(BCBlocks.DISC_RACK.get(), BCBlocks.WALL_DISC_RACK.get()); + tag(BlockTags.MINEABLE_WITH_AXE).addTags(BCTags.Blocks.BOOKCASES, BCTags.Blocks.DISPLAY_CASES, BCTags.Blocks.FANCY_ARMOR_STANDS_WOOD, BCTags.Blocks.FANCY_CLOCKS, BCTags.Blocks.FANCY_CRAFTERS, BCTags.Blocks.FANCY_SIGNS, BCTags.Blocks.GRANDFATHER_CLOCKS, BCTags.Blocks.LABELS, BCTags.Blocks.POTION_SHELVES, BCTags.Blocks.SEATS, BCTags.Blocks.SHELVES, BCTags.Blocks.TABLES, BCTags.Blocks.TOOL_RACKS).add(BCBlocks.DISC_RACK.get(), BCBlocks.WALL_DISC_RACK.get()); tag(BlockTags.MINEABLE_WITH_PICKAXE).addTags(BCTags.Blocks.FANCY_LANTERNS).add(BCBlocks.COOKIE_JAR.get(), BCBlocks.DESK_BELL.get(), BCBlocks.DINNER_PLATE.get(), BCBlocks.GOLD_CHAIN.get(), BCBlocks.GOLD_LANTERN.get(), BCBlocks.GOLD_SOUL_LANTERN.get(), BCBlocks.IRON_FANCY_ARMOR_STAND.get(), BCBlocks.SWORD_PEDESTAL.get()); } } diff --git a/src/main/java/com/github/minecraftschurlimods/bibliocraft/apiimpl/BibliocraftDatagenHelperImpl.java b/src/main/java/com/github/minecraftschurlimods/bibliocraft/apiimpl/BibliocraftDatagenHelperImpl.java index 27c660a9..9341cbf2 100644 --- a/src/main/java/com/github/minecraftschurlimods/bibliocraft/apiimpl/BibliocraftDatagenHelperImpl.java +++ b/src/main/java/com/github/minecraftschurlimods/bibliocraft/apiimpl/BibliocraftDatagenHelperImpl.java @@ -5,6 +5,7 @@ import com.github.minecraftschurlimods.bibliocraft.api.datagen.BlockLootTableProvider; import com.github.minecraftschurlimods.bibliocraft.api.woodtype.BibliocraftWoodType; import com.github.minecraftschurlimods.bibliocraft.client.model.TableModel; +import com.github.minecraftschurlimods.bibliocraft.content.fancysign.FancySignBlock; import com.github.minecraftschurlimods.bibliocraft.content.seat.SeatBackBlock; import com.github.minecraftschurlimods.bibliocraft.content.seat.SeatBackItem; import com.github.minecraftschurlimods.bibliocraft.content.seat.SeatBackType; @@ -145,6 +146,8 @@ public void generateEnglishTranslationsFor(LanguageProvider provider, Bibliocraf woodenBlockTranslation(provider, woodType, BCBlocks.FANCY_CLOCK, "Fancy Clock"); woodenBlockTranslation(provider, woodType, BCBlocks.WALL_FANCY_CLOCK, "Fancy Clock"); woodenBlockTranslation(provider, woodType, BCBlocks.FANCY_CRAFTER, "Fancy Crafter"); + woodenBlockTranslation(provider, woodType, BCBlocks.FANCY_SIGN, "Fancy Sign"); + woodenBlockTranslation(provider, woodType, BCBlocks.WALL_FANCY_SIGN, "Fancy Sign"); woodenBlockTranslation(provider, woodType, BCBlocks.GRANDFATHER_CLOCK, "Grandfather Clock"); woodenBlockTranslation(provider, woodType, BCBlocks.LABEL, "Label"); woodenBlockTranslation(provider, woodType, BCBlocks.POTION_SHELF, "Potion Shelf"); @@ -189,6 +192,13 @@ public void generateBlockStatesFor(BlockStateProvider provider, BibliocraftWoodT prefix + "fancy_crafter", bcLoc("block/template/fancy_crafter"), woodTexture); + DatagenUtil.horizontalBlockModel(provider, BCBlocks.FANCY_SIGN.holder(woodType), state -> state.getValue(FancySignBlock.HANGING) + ? models.withExistingParent(prefix + "fancy_sign_hanging", bcLoc("block/template/fancy_sign/hanging")).texture("texture", woodTexture) + : models.withExistingParent(prefix + "fancy_sign", bcLoc("block/template/fancy_sign/standing")).texture("texture", woodTexture)); + DatagenUtil.horizontalBlockModel(provider, BCBlocks.WALL_FANCY_SIGN.holder(woodType), + prefix + "wall_fancy_sign", + bcLoc("block/template/fancy_sign/wall"), + woodTexture); DatagenUtil.doubleHighHorizontalBlockModel(provider, BCBlocks.GRANDFATHER_CLOCK.holder(woodType), models.withExistingParent(prefix + "grandfather_clock_bottom", bcLoc("block/template/clock/grandfather_bottom")).texture("texture", woodTexture), models.withExistingParent(prefix + "grandfather_clock_top", bcLoc("block/template/clock/grandfather_top")).texture("texture", woodTexture), @@ -279,6 +289,8 @@ public void generateBlockTagsFor(Function, IntrinsicHolderTagsProv tagAccessor.apply(BCTags.Blocks.FANCY_CLOCKS) .add(BCBlocks.FANCY_CLOCK.get(woodType)); tagAccessor.apply(BCTags.Blocks.FANCY_CLOCKS) .add(BCBlocks.WALL_FANCY_CLOCK.get(woodType)); tagAccessor.apply(BCTags.Blocks.FANCY_CRAFTERS) .add(BCBlocks.FANCY_CRAFTER.get(woodType)); + tagAccessor.apply(BCTags.Blocks.FANCY_SIGNS) .add(BCBlocks.FANCY_SIGN.get(woodType)); + tagAccessor.apply(BCTags.Blocks.FANCY_SIGNS) .add(BCBlocks.WALL_FANCY_SIGN.get(woodType)); tagAccessor.apply(BCTags.Blocks.GRANDFATHER_CLOCKS) .add(BCBlocks.GRANDFATHER_CLOCK.get(woodType)); tagAccessor.apply(BCTags.Blocks.LABELS) .add(BCBlocks.LABEL.get(woodType)); tagAccessor.apply(BCTags.Blocks.POTION_SHELVES) .add(BCBlocks.POTION_SHELF.get(woodType)); @@ -295,6 +307,8 @@ public void generateBlockTagsFor(Function, IntrinsicHolderTagsProv tagAccessor.apply(BCTags.Blocks.FANCY_CLOCKS) .addOptional(BCBlocks.FANCY_CLOCK.id(woodType)); tagAccessor.apply(BCTags.Blocks.FANCY_CLOCKS) .addOptional(BCBlocks.WALL_FANCY_CLOCK.id(woodType)); tagAccessor.apply(BCTags.Blocks.FANCY_CRAFTERS) .addOptional(BCBlocks.FANCY_CRAFTER.id(woodType)); + tagAccessor.apply(BCTags.Blocks.FANCY_SIGNS) .addOptional(BCBlocks.FANCY_SIGN.id(woodType)); + tagAccessor.apply(BCTags.Blocks.FANCY_SIGNS) .addOptional(BCBlocks.WALL_FANCY_SIGN.id(woodType)); tagAccessor.apply(BCTags.Blocks.GRANDFATHER_CLOCKS) .addOptional(BCBlocks.GRANDFATHER_CLOCK.id(woodType)); tagAccessor.apply(BCTags.Blocks.LABELS) .addOptional(BCBlocks.LABEL.id(woodType)); tagAccessor.apply(BCTags.Blocks.POTION_SHELVES) .addOptional(BCBlocks.POTION_SHELF.id(woodType)); @@ -315,6 +329,7 @@ public void generateItemTagsFor(Function, IntrinsicHolderTagsProvid tagAccessor.apply(BCTags.Items.FANCY_ARMOR_STANDS_WOOD).add(BCItems.FANCY_ARMOR_STAND.get(woodType)); tagAccessor.apply(BCTags.Items.FANCY_CLOCKS) .add(BCItems.FANCY_CLOCK.get(woodType)); tagAccessor.apply(BCTags.Items.FANCY_CRAFTERS) .add(BCItems.FANCY_CRAFTER.get(woodType)); + tagAccessor.apply(BCTags.Items.FANCY_SIGNS) .add(BCItems.FANCY_SIGN.get(woodType)); tagAccessor.apply(BCTags.Items.GRANDFATHER_CLOCKS) .add(BCItems.GRANDFATHER_CLOCK.get(woodType)); tagAccessor.apply(BCTags.Items.LABELS) .add(BCItems.LABEL.get(woodType)); tagAccessor.apply(BCTags.Items.POTION_SHELVES) .add(BCItems.POTION_SHELF.get(woodType)); @@ -333,6 +348,7 @@ public void generateItemTagsFor(Function, IntrinsicHolderTagsProvid tagAccessor.apply(BCTags.Items.FANCY_ARMOR_STANDS_WOOD).addOptional(BCItems.FANCY_ARMOR_STAND.id(woodType)); tagAccessor.apply(BCTags.Items.FANCY_CLOCKS) .addOptional(BCItems.FANCY_CLOCK.id(woodType)); tagAccessor.apply(BCTags.Items.FANCY_CRAFTERS) .addOptional(BCItems.FANCY_CRAFTER.id(woodType)); + tagAccessor.apply(BCTags.Items.FANCY_SIGNS) .addOptional(BCItems.FANCY_SIGN.id(woodType)); tagAccessor.apply(BCTags.Items.GRANDFATHER_CLOCKS) .addOptional(BCItems.GRANDFATHER_CLOCK.id(woodType)); tagAccessor.apply(BCTags.Items.LABELS) .addOptional(BCItems.LABEL.id(woodType)); tagAccessor.apply(BCTags.Items.POTION_SHELVES) .addOptional(BCItems.POTION_SHELF.id(woodType)); @@ -356,6 +372,8 @@ public void generateLootTablesFor(BlockLootTableProvider provider, BibliocraftWo loot(provider, BCBlocks.FANCY_CLOCK.get(woodType), woodType, DatagenUtil::createDefaultTable); loot(provider, BCBlocks.WALL_FANCY_CLOCK.get(woodType), woodType, DatagenUtil::createDefaultTable); loot(provider, BCBlocks.FANCY_CRAFTER.get(woodType), woodType, DatagenUtil::createNameableTable); + loot(provider, BCBlocks.FANCY_SIGN.get(woodType), woodType, DatagenUtil::createDefaultTable); + loot(provider, BCBlocks.WALL_FANCY_SIGN.get(woodType), woodType, DatagenUtil::createDefaultTable); loot(provider, BCBlocks.GRANDFATHER_CLOCK.get(woodType), woodType, DatagenUtil::createGrandfatherClockTable); loot(provider, BCBlocks.LABEL.get(woodType), woodType, DatagenUtil::createNameableTable); loot(provider, BCBlocks.POTION_SHELF.get(woodType), woodType, DatagenUtil::createNameableTable); @@ -418,6 +436,14 @@ public void generateRecipesFor(RecipeOutput output, BibliocraftWoodType woodType .define('G', Tags.Items.GLASS_BLOCKS) .define('C', Items.CRAFTER) .save(output, ResourceLocation.fromNamespaceAndPath(modId, prefix + "fancy_crafter")); + shapedRecipe(BCItems.FANCY_SIGN.get(woodType), woodType, "fancy_sign") + .pattern("P#P") + .pattern("P#P") + .pattern(" R ") + .define('P', planks) + .define('#', Items.PAPER) + .define('R', Tags.Items.RODS_WOODEN) + .save(output, ResourceLocation.fromNamespaceAndPath(modId, prefix + "fancy_sign")); shapelessRecipe(BCItems.GRANDFATHER_CLOCK.get(woodType), woodType, "grandfather_clock") .requires(BCItems.FANCY_CLOCK.get(woodType)) .requires(BCItems.FANCY_CLOCK.get(woodType)) diff --git a/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCBlockEntities.java b/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCBlockEntities.java index 18bb3afe..dbdc705b 100644 --- a/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCBlockEntities.java +++ b/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCBlockEntities.java @@ -9,6 +9,7 @@ import com.github.minecraftschurlimods.bibliocraft.content.displaycase.DisplayCaseBlockEntity; import com.github.minecraftschurlimods.bibliocraft.content.fancyarmorstand.FancyArmorStandBlockEntity; import com.github.minecraftschurlimods.bibliocraft.content.fancycrafter.FancyCrafterBlockEntity; +import com.github.minecraftschurlimods.bibliocraft.content.fancysign.FancySignBlockEntity; import com.github.minecraftschurlimods.bibliocraft.content.label.LabelBlockEntity; import com.github.minecraftschurlimods.bibliocraft.content.potionshelf.PotionShelfBlockEntity; import com.github.minecraftschurlimods.bibliocraft.content.shelf.ShelfBlockEntity; @@ -34,6 +35,7 @@ public interface BCBlockEntities { Supplier> DISPLAY_CASE = register("display_case", DisplayCaseBlockEntity::new, BCUtil.mergeRaw(BCBlocks.DISPLAY_CASE.holders(), BCBlocks.WALL_DISPLAY_CASE.holders())); Supplier> FANCY_ARMOR_STAND = register("fancy_armor_stand", FancyArmorStandBlockEntity::new, BCUtil.merge(BCBlocks.FANCY_ARMOR_STAND.holders(), BCBlocks.IRON_FANCY_ARMOR_STAND)); Supplier> FANCY_CRAFTER = register("fancy_crafter", FancyCrafterBlockEntity::new, BCBlocks.FANCY_CRAFTER.holders()); + Supplier> FANCY_SIGN = register("fancy_sign", FancySignBlockEntity::new, BCUtil.mergeRaw(BCBlocks.FANCY_SIGN.holders(), BCBlocks.WALL_FANCY_SIGN.holders())); Supplier> LABEL = register("label", LabelBlockEntity::new, BCBlocks.LABEL.holders()); Supplier> POTION_SHELF = register("potion_shelf", PotionShelfBlockEntity::new, BCBlocks.POTION_SHELF.holders()); Supplier> SHELF = register("shelf", ShelfBlockEntity::new, BCBlocks.SHELF.holders()); diff --git a/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCBlocks.java b/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCBlocks.java index aa103f53..5524cbff 100644 --- a/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCBlocks.java +++ b/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCBlocks.java @@ -16,6 +16,8 @@ import com.github.minecraftschurlimods.bibliocraft.content.fancycrafter.FancyCrafterBlock; import com.github.minecraftschurlimods.bibliocraft.content.fancylight.FancyLampBlock; import com.github.minecraftschurlimods.bibliocraft.content.fancylight.FancyLanternBlock; +import com.github.minecraftschurlimods.bibliocraft.content.fancysign.FancySignBlock; +import com.github.minecraftschurlimods.bibliocraft.content.fancysign.WallFancySignBlock; import com.github.minecraftschurlimods.bibliocraft.content.label.LabelBlock; import com.github.minecraftschurlimods.bibliocraft.content.potionshelf.PotionShelfBlock; import com.github.minecraftschurlimods.bibliocraft.content.seat.SeatBackBlock; @@ -44,6 +46,8 @@ public interface BCBlocks { WoodTypeDeferredHolder FANCY_CLOCK = woodenBlock("fancy_clock", FancyClockBlock::new); WoodTypeDeferredHolder WALL_FANCY_CLOCK = woodenBlock("wall_fancy_clock", WallFancyClockBlock::new); WoodTypeDeferredHolder FANCY_CRAFTER = woodenBlock("fancy_crafter", FancyCrafterBlock::new); + WoodTypeDeferredHolder FANCY_SIGN = woodenBlock("fancy_sign", FancySignBlock::new); + WoodTypeDeferredHolder WALL_FANCY_SIGN = woodenBlock("wall_fancy_sign", WallFancySignBlock::new); WoodTypeDeferredHolder GRANDFATHER_CLOCK = woodenBlock("grandfather_clock", GrandfatherClockBlock::new); WoodTypeDeferredHolder LABEL = woodenBlock("label", LabelBlock::new); WoodTypeDeferredHolder POTION_SHELF = woodenBlock("potion_shelf", PotionShelfBlock::new); diff --git a/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCCreativeTabs.java b/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCCreativeTabs.java index 92e47a60..80355626 100644 --- a/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCCreativeTabs.java +++ b/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCCreativeTabs.java @@ -24,6 +24,7 @@ public interface BCCreativeTabs { addToTab(output, BCItems.FANCY_ARMOR_STAND.values()); addToTab(output, BCItems.FANCY_CLOCK.values()); addToTab(output, BCItems.FANCY_CRAFTER.values()); + addToTab(output, BCItems.FANCY_SIGN.values()); addToTab(output, BCItems.GRANDFATHER_CLOCK.values()); addToTab(output, BCItems.LABEL.values()); addToTab(output, BCItems.POTION_SHELF.values()); diff --git a/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCItems.java b/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCItems.java index c1378c12..2405ae72 100644 --- a/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCItems.java +++ b/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCItems.java @@ -6,6 +6,7 @@ import com.github.minecraftschurlimods.bibliocraft.content.discrack.DiscRackItem; import com.github.minecraftschurlimods.bibliocraft.content.displaycase.DisplayCaseItem; import com.github.minecraftschurlimods.bibliocraft.content.fancylight.FancyLightItem; +import com.github.minecraftschurlimods.bibliocraft.content.fancysign.FancySignItem; import com.github.minecraftschurlimods.bibliocraft.content.lockandkey.LockAndKeyItem; import com.github.minecraftschurlimods.bibliocraft.content.plumbline.PlumbLineItem; import com.github.minecraftschurlimods.bibliocraft.content.redstonebook.RedstoneBookItem; @@ -35,6 +36,7 @@ public interface BCItems { WoodTypeDeferredHolder FANCY_ARMOR_STAND = woodenBlock("fancy_armor_stand", wood -> new DoubleHighBlockItem(BCBlocks.FANCY_ARMOR_STAND.get(wood), PROPERTIES)); WoodTypeDeferredHolder FANCY_CLOCK = woodenBlock("fancy_clock", FancyClockItem::new); WoodTypeDeferredHolder FANCY_CRAFTER = woodenBlock("fancy_crafter", BCBlocks.FANCY_CRAFTER); + WoodTypeDeferredHolder FANCY_SIGN = woodenBlock("fancy_sign", FancySignItem::new); WoodTypeDeferredHolder GRANDFATHER_CLOCK = woodenBlock("grandfather_clock", wood -> new DoubleHighBlockItem(BCBlocks.GRANDFATHER_CLOCK.get(wood), PROPERTIES)); WoodTypeDeferredHolder LABEL = woodenBlock("label", BCBlocks.LABEL); WoodTypeDeferredHolder POTION_SHELF = woodenBlock("potion_shelf", BCBlocks.POTION_SHELF); diff --git a/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCTags.java b/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCTags.java index 2520df4e..e587182c 100644 --- a/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCTags.java +++ b/src/main/java/com/github/minecraftschurlimods/bibliocraft/init/BCTags.java @@ -14,6 +14,7 @@ interface Blocks { TagKey FANCY_ARMOR_STANDS = tag("fancy_armor_stands"); TagKey FANCY_CLOCKS = tag("fancy_clocks"); TagKey FANCY_CRAFTERS = tag("fancy_crafters"); + TagKey FANCY_SIGNS = tag("fancy_signs"); TagKey GRANDFATHER_CLOCKS = tag("grandfather_clocks"); TagKey LABELS = tag("labels"); TagKey POTION_SHELVES = tag("potion_shelves"); @@ -45,6 +46,7 @@ interface Items { TagKey FANCY_ARMOR_STANDS = tag("fancy_armor_stands"); TagKey FANCY_CLOCKS = tag("fancy_clocks"); TagKey FANCY_CRAFTERS = tag("fancy_crafters"); + TagKey FANCY_SIGNS = tag("fancy_signs"); TagKey GRANDFATHER_CLOCKS = tag("grandfather_clocks"); TagKey LABELS = tag("labels"); TagKey POTION_SHELVES = tag("potion_shelves");