From 9eea65be65f9812e9e433978c2317f42aa45aeb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ampflower=20=F0=9F=8C=BA?= Date: Fri, 14 Mar 2025 08:51:23 -0700 Subject: [PATCH] feat: Add pride dyes, renamed things; major break. --- .../joy/fabric/client/JoyClient.java | 2 +- .../pridecraft/joy/BedTextureProvider.java | 2 +- .../joy/data/JoyBlockLootProvider.java | 6 +- .../joy/data/JoyBlockTagProvider.java | 17 +++ .../joy/data/JoyItemTagProvider.java | 10 ++ .../pridecraft/joy/data/JoyModelProvider.java | 6 +- .../joy/data/JoyRecipeProvider.java | 91 +++++++++++++++ .../pridecraft/joy/block/BlahajBlocks.java | 6 +- .../gay/pridecraft/joy/item/PrideDyeItem.java | 13 +++ .../joy/registry/JoyBlockEntityTypes.java | 2 +- .../pridecraft/joy/registry/JoyBlocks.java | 12 +- .../joy/registry/JoyItemGroups.java | 26 ++++- .../gay/pridecraft/joy/registry/JoyItems.java | 106 ++++++++++++++---- .../gay/pridecraft/joy/tags/JoyBlockTags.java | 26 +++++ .../gay/pridecraft/joy/tags/JoyItemTags.java | 1 + .../main/resources/assets/joy/lang/en_us.json | 58 +++++++--- ...luid_candle.png => genderfluid_candle.png} | Bin ...dle_lit.png => genderfluid_candle_lit.png} | Bin .../pride_sharks/{bi.png => bisexual.png} | Bin .../{demi_r.png => demiromantic.png} | Bin .../{demi_s.png => demisexual.png} | Bin .../joy/textures/block/pride_sharks/gay.png | Bin 549 -> 575 bytes .../pride_sharks/{grey_s.png => greyace.png} | Bin .../pride_sharks/{grey_r.png => greyaro.png} | Bin .../joy/textures/block/pride_sharks/mlm.png | Bin 0 -> 549 bytes .../pride_sharks/{poly.png => polyam.png} | Bin .../joy/textures/block/pride_sharks/pride.png | Bin 575 -> 0 bytes ...nder_fluid_bed.png => genderfluid_bed.png} | Bin ...nder_fluid_bed.png => genderfluid_bed.png} | Bin ...luid_bundle.png => genderfluid_bundle.png} | Bin ...k.png => genderfluid_bundle_open_back.png} | Bin ....png => genderfluid_bundle_open_front.png} | Bin ...luid_candle.png => genderfluid_candle.png} | Bin 33 files changed, 330 insertions(+), 54 deletions(-) create mode 100644 xplat/src/main/java/gay/pridecraft/joy/item/PrideDyeItem.java create mode 100644 xplat/src/main/java/gay/pridecraft/joy/tags/JoyBlockTags.java rename xplat/src/main/resources/assets/joy/textures/block/{gender_fluid_candle.png => genderfluid_candle.png} (100%) rename xplat/src/main/resources/assets/joy/textures/block/{gender_fluid_candle_lit.png => genderfluid_candle_lit.png} (100%) rename xplat/src/main/resources/assets/joy/textures/block/pride_sharks/{bi.png => bisexual.png} (100%) rename xplat/src/main/resources/assets/joy/textures/block/pride_sharks/{demi_r.png => demiromantic.png} (100%) rename xplat/src/main/resources/assets/joy/textures/block/pride_sharks/{demi_s.png => demisexual.png} (100%) rename xplat/src/main/resources/assets/joy/textures/block/pride_sharks/{grey_s.png => greyace.png} (100%) rename xplat/src/main/resources/assets/joy/textures/block/pride_sharks/{grey_r.png => greyaro.png} (100%) create mode 100644 xplat/src/main/resources/assets/joy/textures/block/pride_sharks/mlm.png rename xplat/src/main/resources/assets/joy/textures/block/pride_sharks/{poly.png => polyam.png} (100%) delete mode 100644 xplat/src/main/resources/assets/joy/textures/block/pride_sharks/pride.png rename xplat/src/main/resources/assets/joy/textures/entity/bed/{gender_fluid_bed.png => genderfluid_bed.png} (100%) rename xplat/src/main/resources/assets/joy/textures/item/{gender_fluid_bed.png => genderfluid_bed.png} (100%) rename xplat/src/main/resources/assets/joy/textures/item/{gender_fluid_bundle.png => genderfluid_bundle.png} (100%) rename xplat/src/main/resources/assets/joy/textures/item/{gender_fluid_bundle_open_back.png => genderfluid_bundle_open_back.png} (100%) rename xplat/src/main/resources/assets/joy/textures/item/{gender_fluid_bundle_open_front.png => genderfluid_bundle_open_front.png} (100%) rename xplat/src/main/resources/assets/joy/textures/item/{gender_fluid_candle.png => genderfluid_candle.png} (100%) diff --git a/fabric/src/client/java/gay/pridecraft/joy/fabric/client/JoyClient.java b/fabric/src/client/java/gay/pridecraft/joy/fabric/client/JoyClient.java index 564017d..9fc14a0 100644 --- a/fabric/src/client/java/gay/pridecraft/joy/fabric/client/JoyClient.java +++ b/fabric/src/client/java/gay/pridecraft/joy/fabric/client/JoyClient.java @@ -72,7 +72,7 @@ public class JoyClient implements ClientModInitializer { BlockRenderLayerMap.INSTANCE.putBlock(JoyBlocks.AGENDER_BED, RenderLayer.getCutout()); BlockRenderLayerMap.INSTANCE.putBlock(JoyBlocks.ENBY_BED, RenderLayer.getCutout()); BlockRenderLayerMap.INSTANCE.putBlock(JoyBlocks.GAY_BED, RenderLayer.getCutout()); - BlockRenderLayerMap.INSTANCE.putBlock(JoyBlocks.GENDER_FLUID_BED, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(JoyBlocks.GENDERFLUID_BED, RenderLayer.getCutout()); BlockRenderLayerMap.INSTANCE.putBlock(JoyBlocks.LESBIAN_BED, RenderLayer.getCutout()); BlockRenderLayerMap.INSTANCE.putBlock(JoyBlocks.BIGENDER_BED, RenderLayer.getCutout()); BlockRenderLayerMap.INSTANCE.putBlock(JoyBlocks.MLM_BED, RenderLayer.getCutout()); diff --git a/xplat/src/client/java/gay/pridecraft/joy/BedTextureProvider.java b/xplat/src/client/java/gay/pridecraft/joy/BedTextureProvider.java index ce868a8..9779d90 100644 --- a/xplat/src/client/java/gay/pridecraft/joy/BedTextureProvider.java +++ b/xplat/src/client/java/gay/pridecraft/joy/BedTextureProvider.java @@ -24,7 +24,7 @@ public final class BedTextureProvider { JoyBlocks.TRANS_BED, JoyBlocks.PROGRESS_BED, JoyBlocks.LESBIAN_BED, - JoyBlocks.GENDER_FLUID_BED, + JoyBlocks.GENDERFLUID_BED, JoyBlocks.GAY_BED, JoyBlocks.INTERSEX_BED, JoyBlocks.AROACE_BED diff --git a/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyBlockLootProvider.java b/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyBlockLootProvider.java index d032eb1..4a6ec6d 100644 --- a/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyBlockLootProvider.java +++ b/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyBlockLootProvider.java @@ -27,8 +27,8 @@ import static gay.pridecraft.joy.registry.JoyBlocks.ENBY_CANDLE; import static gay.pridecraft.joy.registry.JoyBlocks.ENBY_CANDLE_CAKE; import static gay.pridecraft.joy.registry.JoyBlocks.GAY_CANDLE; import static gay.pridecraft.joy.registry.JoyBlocks.GAY_CANDLE_CAKE; -import static gay.pridecraft.joy.registry.JoyBlocks.GENDER_FLUID_CANDLE; -import static gay.pridecraft.joy.registry.JoyBlocks.GENDER_FLUID_CANDLE_CAKE; +import static gay.pridecraft.joy.registry.JoyBlocks.GENDERFLUID_CANDLE; +import static gay.pridecraft.joy.registry.JoyBlocks.GENDERFLUID_CANDLE_CAKE; import static gay.pridecraft.joy.registry.JoyBlocks.INTERSEX_CANDLE; import static gay.pridecraft.joy.registry.JoyBlocks.INTERSEX_CANDLE_CAKE; import static gay.pridecraft.joy.registry.JoyBlocks.LESBIAN_CANDLE; @@ -72,7 +72,7 @@ public class JoyBlockLootProvider extends FabricBlockLootTableProvider { addDrop(ACE_CANDLE_CAKE, ACE_CANDLE); addDrop(ARO_CANDLE_CAKE, ARO_CANDLE); addDrop(APLATONIC_CANDLE_CAKE, APLATONIC_CANDLE); - addDrop(GENDER_FLUID_CANDLE_CAKE, GENDER_FLUID_CANDLE); + addDrop(GENDERFLUID_CANDLE_CAKE, GENDERFLUID_CANDLE); addDrop(PAN_CANDLE_CAKE, PAN_CANDLE); addDrop(TRANS_CANDLE_CAKE, TRANS_CANDLE); addDrop(AROACE_CANDLE_CAKE, AROACE_CANDLE); diff --git a/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyBlockTagProvider.java b/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyBlockTagProvider.java index 3dfcef4..410f383 100644 --- a/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyBlockTagProvider.java +++ b/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyBlockTagProvider.java @@ -1,6 +1,8 @@ package gay.pridecraft.joy.data; +import gay.pridecraft.joy.block.BlahajBlocks; import gay.pridecraft.joy.registry.JoyBlocks; +import gay.pridecraft.joy.tags.JoyBlockTags; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.minecraft.block.Block; @@ -30,5 +32,20 @@ public class JoyBlockTagProvider extends FabricTagProvider.BlockTagProvider { getOrCreateTagBuilder(BlockTags.FLOWER_POTS) .add(JoyBlocks.POTTED_PLANTS.toArray(Block[]::new)); + + getOrCreateTagBuilder(JoyBlockTags.SHARKS).add( + BlahajBlocks.BLAHAJ_BLOCK, + BlahajBlocks.GRAY_SHARK_BLOCK + ).add(BlahajBlocks.PRIDE_BLOCKS.toArray(Block[]::new)); + + getOrCreateTagBuilder(JoyBlockTags.PLUSHIES).add( + BlahajBlocks.BLAVINGAD_BLOCK, + BlahajBlocks.BREAD_BLOCK, + BlahajBlocks.BROWN_BEAR_BLOCK + ).addTag(JoyBlockTags.SHARKS); + + getOrCreateTagBuilder(JoyBlockTags.PRIDE_DYEABLE) + .addTag(JoyBlockTags.SHARKS) + .addTag(BlockTags.BEDS); } } diff --git a/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyItemTagProvider.java b/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyItemTagProvider.java index eb19cb1..c27188f 100644 --- a/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyItemTagProvider.java +++ b/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyItemTagProvider.java @@ -1,13 +1,16 @@ package gay.pridecraft.joy.data; import gay.pridecraft.joy.block.BlahajBlocks; +import gay.pridecraft.joy.registry.JoyBlocks; import gay.pridecraft.joy.registry.JoyItems; import gay.pridecraft.joy.tags.JoyItemTags; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.Items; import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.ItemTags; import java.util.concurrent.CompletableFuture; @@ -34,6 +37,9 @@ public class JoyItemTagProvider extends FabricTagProvider.ItemTagProvider { JoyItems.TOTEM_OF_PRIDE ); + getOrCreateTagBuilder(ItemTags.BEDS) + .add(JoyBlocks.BEDS.stream().map(Block::asItem).toArray(Item[]::new)); + getOrCreateTagBuilder(JoyItemTags.SHARKS).add( BlahajBlocks.BLAHAJ_ITEM, BlahajBlocks.GRAY_SHARK_ITEM @@ -44,5 +50,9 @@ public class JoyItemTagProvider extends FabricTagProvider.ItemTagProvider { BlahajBlocks.BREAD_ITEM, BlahajBlocks.BROWN_BEAR_ITEM ).addTag(JoyItemTags.SHARKS); + + getOrCreateTagBuilder(JoyItemTags.PRIDE_DYEABLE) + .addTag(JoyItemTags.SHARKS) + .addTag(ItemTags.BEDS); } } diff --git a/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyModelProvider.java b/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyModelProvider.java index d6e270e..b8b2c00 100644 --- a/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyModelProvider.java +++ b/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyModelProvider.java @@ -48,7 +48,7 @@ public class JoyModelProvider extends FabricModelProvider { gen.registerCandle(JoyBlocks.ACE_CANDLE, JoyBlocks.ACE_CANDLE_CAKE); gen.registerCandle(JoyBlocks.ARO_CANDLE, JoyBlocks.ARO_CANDLE_CAKE); gen.registerCandle(JoyBlocks.APLATONIC_CANDLE, JoyBlocks.APLATONIC_CANDLE_CAKE); - gen.registerCandle(JoyBlocks.GENDER_FLUID_CANDLE, JoyBlocks.GENDER_FLUID_CANDLE_CAKE); + gen.registerCandle(JoyBlocks.GENDERFLUID_CANDLE, JoyBlocks.GENDERFLUID_CANDLE_CAKE); gen.registerCandle(JoyBlocks.PAN_CANDLE, JoyBlocks.PAN_CANDLE_CAKE); gen.registerCandle(JoyBlocks.TRANS_CANDLE, JoyBlocks.TRANS_CANDLE_CAKE); gen.registerCandle(JoyBlocks.AROACE_CANDLE, JoyBlocks.AROACE_CANDLE_CAKE); @@ -185,6 +185,10 @@ public class JoyModelProvider extends FabricModelProvider { gen.register(rosette, Models.GENERATED); } + for (final var dye : JoyItems.PRIDE_DYES) { + gen.register(dye, Models.GENERATED); + } + gen.register(JoyItems.TOTEM_OF_PRIDE, Models.GENERATED); gen.register(JoyItems.PRIDE_ELYTRA, Models.GENERATED); gen.register(JoyItems.PRIDE_BRUSH, Models.GENERATED); diff --git a/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyRecipeProvider.java b/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyRecipeProvider.java index 3a1168f..edb62ee 100644 --- a/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyRecipeProvider.java +++ b/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyRecipeProvider.java @@ -1,7 +1,9 @@ package gay.pridecraft.joy.data; +import gay.pridecraft.joy.JoyUtil; import gay.pridecraft.joy.block.BlahajBlocks; import gay.pridecraft.joy.registry.JoyBlocks; +import gay.pridecraft.joy.registry.JoyItems; import gay.pridecraft.joy.tags.JoyItemTags; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; @@ -15,6 +17,7 @@ import net.minecraft.recipe.Ingredient; import net.minecraft.recipe.book.RecipeCategory; import net.minecraft.registry.Registries; import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.ItemTags; import net.minecraft.registry.tag.TagKey; import java.util.concurrent.CompletableFuture; @@ -33,9 +36,93 @@ public class JoyRecipeProvider extends FabricRecipeProvider { offerConversion(JoyBlocks.BLUE_ALLIUM, Items.BLUE_DYE, exporter); offerConversion(JoyBlocks.PINK_ALLIUM, Items.PINK_DYE, exporter); offerConversion(JoyBlocks.WHITE_ALLIUM, Items.WHITE_DYE, exporter); + offerConversion(JoyBlocks.TRANS_ALLIUM, JoyItems.TRANS_DYE, exporter); stonecutting(exporter, RecipeCategory.MISC, JoyItemTags.SHARKS, 1, BlahajBlocks.PRIDE_ITEMS.toArray(Item[]::new)); + + offerDye(ItemTags.BEDS, JoyItems.GAY_DYE, JoyBlocks.GAY_BED, exporter); + offerDye(ItemTags.BEDS, JoyItems.ENBY_DYE, JoyBlocks.ENBY_BED, exporter); + offerDye(ItemTags.BEDS, JoyItems.INTERSEX_DYE, JoyBlocks.INTERSEX_BED, exporter); + offerDye(ItemTags.BEDS, JoyItems.AGENDER_DYE, JoyBlocks.AGENDER_BED, exporter); + offerDye(ItemTags.BEDS, JoyItems.BIGENDER_DYE, JoyBlocks.BIGENDER_BED, exporter); + offerDye(ItemTags.BEDS, JoyItems.BISEXUAL_DYE, JoyBlocks.BISEXUAL_BED, exporter); + offerDye(ItemTags.BEDS, JoyItems.MLM_DYE, JoyBlocks.MLM_BED, exporter); + offerDye(ItemTags.BEDS, JoyItems.ACE_DYE, JoyBlocks.ACE_BED, exporter); + offerDye(ItemTags.BEDS, JoyItems.ARO_DYE, JoyBlocks.ARO_BED, exporter); + offerDye(ItemTags.BEDS, JoyItems.APLATONIC_DYE, JoyBlocks.APLATONIC_BED, exporter); + offerDye(ItemTags.BEDS, JoyItems.GENDERFLUID_DYE, JoyBlocks.GENDERFLUID_BED, exporter); + offerDye(ItemTags.BEDS, JoyItems.PAN_DYE, JoyBlocks.PAN_BED, exporter); + offerDye(ItemTags.BEDS, JoyItems.TRANS_DYE, JoyBlocks.TRANS_BED, exporter); + offerDye(ItemTags.BEDS, JoyItems.AROACE_DYE, JoyBlocks.AROACE_BED, exporter); + offerDye(ItemTags.BEDS, JoyItems.LESBIAN_DYE, JoyBlocks.LESBIAN_BED, exporter); + offerDye(ItemTags.BEDS, JoyItems.PROGRESS_DYE, JoyBlocks.PROGRESS_BED, exporter); + + offerDye(Items.CANDLE, JoyItems.GAY_DYE, JoyBlocks.GAY_CANDLE, exporter); + offerDye(Items.CANDLE, JoyItems.ENBY_DYE, JoyBlocks.ENBY_CANDLE, exporter); + offerDye(Items.CANDLE, JoyItems.INTERSEX_DYE, JoyBlocks.INTERSEX_CANDLE, exporter); + offerDye(Items.CANDLE, JoyItems.AGENDER_DYE, JoyBlocks.AGENDER_CANDLE, exporter); + offerDye(Items.CANDLE, JoyItems.BIGENDER_DYE, JoyBlocks.BIGENDER_CANDLE, exporter); + offerDye(Items.CANDLE, JoyItems.BISEXUAL_DYE, JoyBlocks.BISEXUAL_CANDLE, exporter); + offerDye(Items.CANDLE, JoyItems.MLM_DYE, JoyBlocks.MLM_CANDLE, exporter); + offerDye(Items.CANDLE, JoyItems.ACE_DYE, JoyBlocks.ACE_CANDLE, exporter); + offerDye(Items.CANDLE, JoyItems.ARO_DYE, JoyBlocks.ARO_CANDLE, exporter); + offerDye(Items.CANDLE, JoyItems.APLATONIC_DYE, JoyBlocks.APLATONIC_CANDLE, exporter); + offerDye(Items.CANDLE, JoyItems.GENDERFLUID_DYE, JoyBlocks.GENDERFLUID_CANDLE, exporter); + offerDye(Items.CANDLE, JoyItems.PAN_DYE, JoyBlocks.PAN_CANDLE, exporter); + offerDye(Items.CANDLE, JoyItems.TRANS_DYE, JoyBlocks.TRANS_CANDLE, exporter); + offerDye(Items.CANDLE, JoyItems.AROACE_DYE, JoyBlocks.AROACE_CANDLE, exporter); + offerDye(Items.CANDLE, JoyItems.LESBIAN_DYE, JoyBlocks.LESBIAN_CANDLE, exporter); + offerDye(Items.CANDLE, JoyItems.PROGRESS_DYE, JoyBlocks.PROGRESS_CANDLE, exporter); + + offerDye(Items.TOTEM_OF_UNDYING, JoyItems.GAY_DYE, JoyItems.TOTEM_OF_PRIDE, exporter); + offerDye(Items.BRUSH, JoyItems.GAY_DYE, JoyItems.PRIDE_BRUSH, exporter); + offerDye(Items.ELYTRA, JoyItems.GAY_DYE, JoyItems.PRIDE_ELYTRA, exporter); + offerDye(Items.CAKE, JoyItems.GAY_DYE, JoyBlocks.PRIDE_CAKE, exporter); + + // offerDye(JoyItemTags.SHARKS, JoyItems.QUEER_DYE, joyItem("queer_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.GAY_DYE, joyItem("gay_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.ENBY_DYE, joyItem("enby_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.INTERSEX_DYE, joyItem("intersex_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.AGENDER_DYE, joyItem("agender_shark"), exporter); + // offerDye(JoyItemTags.SHARKS, JoyItems.BIGENDER_DYE, joyItem("bigender_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.BISEXUAL_DYE, joyItem("bisexual_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.MLM_DYE, joyItem("mlm_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.ARO_DYE, joyItem("aro_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.ACE_DYE, joyItem("ace_shark"), exporter); + // offerDye(JoyItemTags.SHARKS, JoyItems.APLATONIC_DYE, joyItem("aplatonic_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.DEMIROMANTIC_DYE, joyItem("demiromantic_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.DEMISEXUAL_DYE, joyItem("demisexual_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.GREYARO_DYE, joyItem("greyaro_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.GREYACE_DYE, joyItem("greyace_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.GREYROSE_DYE, joyItem("greyrose_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.GENDERFLUID_DYE, joyItem("genderfluid_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.GENDERQUEER_DYE, joyItem("genderqueer_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.PAN_DYE, joyItem("pan_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.TRANS_DYE, joyItem("trans_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.AROACE_DYE, joyItem("aroace_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.LESBIAN_DYE, joyItem("lesbian_shark"), exporter); + // offerDye(JoyItemTags.SHARKS, JoyItems.PROGRESS_DYE, joyItem("progress_shark"), exporter); + // offerDye(JoyItemTags.SHARKS, JoyItems.PLURAL_DYE, joyItem("plural_shark"), exporter); + offerDye(JoyItemTags.SHARKS, JoyItems.POLYAM_DYE, joyItem("polyam_shark"), exporter); + } + + private static void offerDye(TagKey base, ItemConvertible dye, ItemConvertible result, RecipeExporter exporter) { + ShapelessRecipeJsonBuilder.create(RecipeCategory.MISC, result) + .input(base) + .input(dye) + .group(base.id().getPath()) + .criterion("has_needed_dye", conditionsFromItem(dye)) + .offerTo(exporter, "dye_" + getItemPath(result)); + } + + private static void offerDye(ItemConvertible base, ItemConvertible dye, ItemConvertible result, RecipeExporter exporter) { + ShapelessRecipeJsonBuilder.create(RecipeCategory.MISC, result) + .input(base) + .input(dye) + .group(Registries.ITEM.getId(base.asItem()).getPath()) + .criterion("has_needed_dye", conditionsFromItem(dye)) + .offerTo(exporter, "dye_" + getItemPath(result)); } private static void offerConversion(ItemConvertible base, Item dye, RecipeExporter exporter) { @@ -66,4 +153,8 @@ public class JoyRecipeProvider extends FabricRecipeProvider { private static String hasTag(TagKey tag) { return tag.id().withSuffixedPath("has_").toString(); } + + private static Item joyItem(String id) { + return Registries.ITEM.getOrEmpty(JoyUtil.id(id)).orElseThrow(() -> new IllegalArgumentException(id)); + } } diff --git a/xplat/src/main/java/gay/pridecraft/joy/block/BlahajBlocks.java b/xplat/src/main/java/gay/pridecraft/joy/block/BlahajBlocks.java index 6beb369..98e4999 100644 --- a/xplat/src/main/java/gay/pridecraft/joy/block/BlahajBlocks.java +++ b/xplat/src/main/java/gay/pridecraft/joy/block/BlahajBlocks.java @@ -32,9 +32,9 @@ public final class BlahajBlocks { BROWN_BEAR_ITEM = mkItem(BROWN_BEAR_BLOCK); private static final List PRIDE_NAMES = List.of( - "ace", "agender", "aro", "aroace", "bi", "demiboy", "demigirl", - "demi_r", "demi_s", "enby", "gay", "genderfluid", "genderqueer", "greyrose", - "grey_r", "grey_s", "intersex", "lesbian", "pan", "poly", "pride", "trans"); + "ace", "agender", "aro", "aroace", "bisexual", "demiboy", "demigirl", + "demiromantic", "demisexual", "enby", "mlm", "genderfluid", "genderqueer", "greyrose", + "greyaro", "greyace", "intersex", "lesbian", "pan", "polyam", "gay", "trans"); public static final List PRIDE_BLOCKS; public static final List PRIDE_ITEMS; diff --git a/xplat/src/main/java/gay/pridecraft/joy/item/PrideDyeItem.java b/xplat/src/main/java/gay/pridecraft/joy/item/PrideDyeItem.java new file mode 100644 index 0000000..8d67364 --- /dev/null +++ b/xplat/src/main/java/gay/pridecraft/joy/item/PrideDyeItem.java @@ -0,0 +1,13 @@ +package gay.pridecraft.joy.item; + +import net.minecraft.item.Item; + +/** + * @author Ampflower + * @since 1.0.0 + **/ +public class PrideDyeItem extends Item { + public PrideDyeItem(final Settings settings) { + super(settings); + } +} diff --git a/xplat/src/main/java/gay/pridecraft/joy/registry/JoyBlockEntityTypes.java b/xplat/src/main/java/gay/pridecraft/joy/registry/JoyBlockEntityTypes.java index 00f086c..fb07be6 100644 --- a/xplat/src/main/java/gay/pridecraft/joy/registry/JoyBlockEntityTypes.java +++ b/xplat/src/main/java/gay/pridecraft/joy/registry/JoyBlockEntityTypes.java @@ -22,7 +22,7 @@ public final class JoyBlockEntityTypes { JoyBlocks.TRANS_BED, JoyBlocks.PROGRESS_BED, JoyBlocks.LESBIAN_BED, - JoyBlocks.GENDER_FLUID_BED, + JoyBlocks.GENDERFLUID_BED, JoyBlocks.GAY_BED, JoyBlocks.INTERSEX_BED, JoyBlocks.AROACE_BED diff --git a/xplat/src/main/java/gay/pridecraft/joy/registry/JoyBlocks.java b/xplat/src/main/java/gay/pridecraft/joy/registry/JoyBlocks.java index e3c2bad..48f2156 100644 --- a/xplat/src/main/java/gay/pridecraft/joy/registry/JoyBlocks.java +++ b/xplat/src/main/java/gay/pridecraft/joy/registry/JoyBlocks.java @@ -32,7 +32,7 @@ public final class JoyBlocks { ACE_BED = registerBed("ace_bed", Blocks.LIGHT_GRAY_BED), ARO_BED = registerBed("aro_bed", Blocks.GRAY_BED), APLATONIC_BED = registerBed("aplatonic_bed", Blocks.PINK_BED), - GENDER_FLUID_BED = registerBed("gender_fluid_bed", Blocks.LIME_BED), + GENDERFLUID_BED = registerBed("genderfluid_bed", Blocks.LIME_BED), PAN_BED = registerBed("pan_bed", Blocks.YELLOW_BED), TRANS_BED = registerBed("trans_bed", Blocks.LIGHT_BLUE_BED), AROACE_BED = registerBed("aroace_bed", Blocks.MAGENTA_BED), @@ -50,7 +50,7 @@ public final class JoyBlocks { ACE_BED, ARO_BED, APLATONIC_BED, - GENDER_FLUID_BED, + GENDERFLUID_BED, PAN_BED, TRANS_BED, AROACE_BED, @@ -78,7 +78,7 @@ public final class JoyBlocks { ACE_CANDLE = registerCandle("ace_candle"), ARO_CANDLE = registerCandle("aro_candle"), APLATONIC_CANDLE = registerCandle("aplatonic_candle"), - GENDER_FLUID_CANDLE = registerCandle("gender_fluid_candle"), + GENDERFLUID_CANDLE = registerCandle("genderfluid_candle"), PAN_CANDLE = registerCandle("pan_candle"), TRANS_CANDLE = registerCandle("trans_candle"), AROACE_CANDLE = registerCandle("aroace_candle"), @@ -97,7 +97,7 @@ public final class JoyBlocks { ACE_CANDLE, ARO_CANDLE, APLATONIC_CANDLE, - GENDER_FLUID_CANDLE, + GENDERFLUID_CANDLE, PAN_CANDLE, TRANS_CANDLE, AROACE_CANDLE, @@ -123,7 +123,7 @@ public final class JoyBlocks { ACE_CANDLE_CAKE = registerCandleCake(ACE_CANDLE), ARO_CANDLE_CAKE = registerCandleCake(ARO_CANDLE), APLATONIC_CANDLE_CAKE = registerCandleCake(APLATONIC_CANDLE), - GENDER_FLUID_CANDLE_CAKE = registerCandleCake(GENDER_FLUID_CANDLE), + GENDERFLUID_CANDLE_CAKE = registerCandleCake(GENDERFLUID_CANDLE), PAN_CANDLE_CAKE = registerCandleCake(PAN_CANDLE), TRANS_CANDLE_CAKE = registerCandleCake(TRANS_CANDLE), AROACE_CANDLE_CAKE = registerCandleCake(AROACE_CANDLE), @@ -142,7 +142,7 @@ public final class JoyBlocks { ACE_CANDLE_CAKE, ARO_CANDLE_CAKE, APLATONIC_CANDLE_CAKE, - GENDER_FLUID_CANDLE_CAKE, + GENDERFLUID_CANDLE_CAKE, PAN_CANDLE_CAKE, TRANS_CANDLE_CAKE, AROACE_CANDLE_CAKE, diff --git a/xplat/src/main/java/gay/pridecraft/joy/registry/JoyItemGroups.java b/xplat/src/main/java/gay/pridecraft/joy/registry/JoyItemGroups.java index 7f59761..21a157e 100644 --- a/xplat/src/main/java/gay/pridecraft/joy/registry/JoyItemGroups.java +++ b/xplat/src/main/java/gay/pridecraft/joy/registry/JoyItemGroups.java @@ -28,7 +28,7 @@ public final class JoyItemGroups { entries.add(JoyBlocks.ACE_BED); entries.add(JoyBlocks.ARO_BED); entries.add(JoyBlocks.APLATONIC_BED); - entries.add(JoyBlocks.GENDER_FLUID_BED); + entries.add(JoyBlocks.GENDERFLUID_BED); entries.add(JoyBlocks.PAN_BED); entries.add(JoyBlocks.TRANS_BED); entries.add(JoyBlocks.AROACE_BED); @@ -51,7 +51,7 @@ public final class JoyItemGroups { entries.add(JoyBlocks.ACE_CANDLE); entries.add(JoyBlocks.ARO_CANDLE); entries.add(JoyBlocks.APLATONIC_CANDLE); - entries.add(JoyBlocks.GENDER_FLUID_CANDLE); + entries.add(JoyBlocks.GENDERFLUID_CANDLE); entries.add(JoyBlocks.PAN_CANDLE); entries.add(JoyBlocks.TRANS_CANDLE); entries.add(JoyBlocks.AROACE_CANDLE); @@ -118,6 +118,28 @@ public final class JoyItemGroups { JoyItems.PLURAL_ROSETTE::getDefaultStack, (ctx, entries) -> JoyItems.ROSETTES.forEach(entries::add)); + public static final ItemGroup DYES = register("dyes", + JoyItems.PROGRESS_DYE::getDefaultStack, + (ctx, entries) -> { + entries.add(Items.WHITE_DYE); + entries.add(Items.ORANGE_DYE); + entries.add(Items.MAGENTA_DYE); + entries.add(Items.LIGHT_BLUE_DYE); + entries.add(Items.YELLOW_DYE); + entries.add(Items.LIME_DYE); + entries.add(Items.PINK_DYE); + entries.add(Items.GRAY_DYE); + entries.add(Items.LIGHT_GRAY_DYE); + entries.add(Items.CYAN_DYE); + entries.add(Items.PURPLE_DYE); + entries.add(Items.BLUE_DYE); + entries.add(Items.BROWN_DYE); + entries.add(Items.GREEN_DYE); + entries.add(Items.RED_DYE); + entries.add(Items.BLACK_DYE); + JoyItems.PRIDE_DYES.forEach(entries::add); + }); + private static ItemGroup register(String name, Supplier icon, ItemGroup.EntryCollector collector) { return Pivot.INSTANCE.register(RegistryKeys.ITEM_GROUP, name, Pivot.itemGroupBuilder() .displayName(Text.translatable("itemgroup.joy." + name)) diff --git a/xplat/src/main/java/gay/pridecraft/joy/registry/JoyItems.java b/xplat/src/main/java/gay/pridecraft/joy/registry/JoyItems.java index 9373d4e..aada0b6 100644 --- a/xplat/src/main/java/gay/pridecraft/joy/registry/JoyItems.java +++ b/xplat/src/main/java/gay/pridecraft/joy/registry/JoyItems.java @@ -5,6 +5,7 @@ import gay.pridecraft.joy.JoyUtil; import gay.pridecraft.joy.Pivot; import gay.pridecraft.joy.item.CustomElytraItem; import gay.pridecraft.joy.item.ParticleEmittingItem; +import gay.pridecraft.joy.item.PrideDyeItem; import net.minecraft.component.DataComponentTypes; import net.minecraft.component.type.BundleContentsComponent; import net.minecraft.item.BrushItem; @@ -29,45 +30,45 @@ public final class JoyItems { ); public static final Item PRIDE_BRUSH = registerItem( - "pride_brush", - new BrushItem(new Item.Settings()) + "pride_brush", + new BrushItem(new Item.Settings()) ); // region Spawn Eggs public static final Item SOCK_FOX_SPAWN_EGG = registerItem( - "sock_fox_spawn_egg", - new SpawnEggItem( - JoyEntities.SOCK_FOX, 0xd5b69f, 0xff80bf, new Item.Settings()) + "sock_fox_spawn_egg", + new SpawnEggItem( + JoyEntities.SOCK_FOX, 0xd5b69f, 0xff80bf, new Item.Settings()) ); public static final Item BII_SPAWN_EGG = registerItem( - "bii_spawn_egg", - new SpawnEggItem( - JoyEntities.BII, 0xedc343, 0xFF69B4, new Item.Settings()) + "bii_spawn_egg", + new SpawnEggItem( + JoyEntities.BII, 0xedc343, 0xFF69B4, new Item.Settings()) ); public static final Item ENBEE_SPAWN_EGG = registerItem( - "enbee_spawn_egg", - new SpawnEggItem( - JoyEntities.ENBEE, 0xfcf434, 0x9C59D1, new Item.Settings()) + "enbee_spawn_egg", + new SpawnEggItem( + JoyEntities.ENBEE, 0xfcf434, 0x9C59D1, new Item.Settings()) ); public static final Item TRANS_BEE_SPAWN_EGG = registerItem( - "trans_bee_spawn_egg", - new SpawnEggItem( - JoyEntities.TRANS_BEE, 0x2fa637c, 0x48B518, new Item.Settings()) + "trans_bee_spawn_egg", + new SpawnEggItem( + JoyEntities.TRANS_BEE, 0x2fa637c, 0x48B518, new Item.Settings()) ); public static final Item TREE_SPAWN_EGG = registerItem( - "tree_spawn_egg", - new SpawnEggItem( - JoyEntities.TREE, 0xfcf434, 0x9C59D1, new Item.Settings()) + "tree_spawn_egg", + new SpawnEggItem( + JoyEntities.TREE, 0xfcf434, 0x9C59D1, new Item.Settings()) ); public static final Item FROG_SPAWN_EGG = registerItem( - "frog_spawn_egg", - new SpawnEggItem( - JoyEntities.FROG, 0xd07444, 0xff80bf, new Item.Settings()) + "frog_spawn_egg", + new SpawnEggItem( + JoyEntities.FROG, 0xd07444, 0xff80bf, new Item.Settings()) ); public static final Item SNIFFER_SPAWN_EGG = registerItem( @@ -90,7 +91,7 @@ public final class JoyItems { ACE_BUNDLE = registerBundle("ace_bundle"), ARO_BUNDLE = registerBundle("aro_bundle"), APLATONIC_BUNDLE = registerBundle("aplatonic_bundle"), - GENDER_FLUID_BUNDLE = registerBundle("gender_fluid_bundle"), + GENDER_FLUID_BUNDLE = registerBundle("genderfluid_bundle"), PAN_BUNDLE = registerBundle("pan_bundle"), TRANS_BUNDLE = registerBundle("trans_bundle"), AROACE_BUNDLE = registerBundle("aroace_bundle"), @@ -154,6 +155,69 @@ public final class JoyItems { ); // endregion + // region dyes + + public static final Item + QUEER_DYE = registerDye("queer_dye"), + GAY_DYE = registerDye("gay_dye"), + ENBY_DYE = registerDye("enby_dye"), + INTERSEX_DYE = registerDye("intersex_dye"), + AGENDER_DYE = registerDye("agender_dye"), + BIGENDER_DYE = registerDye("bigender_dye"), + BISEXUAL_DYE = registerDye("bisexual_dye"), + MLM_DYE = registerDye("mlm_dye"), + ARO_DYE = registerDye("aro_dye"), + ACE_DYE = registerDye("ace_dye"), + APLATONIC_DYE = registerDye("aplatonic_dye"), + DEMIROMANTIC_DYE = registerDye("demiromantic_dye"), + DEMISEXUAL_DYE = registerDye("demisexual_dye"), + GREYARO_DYE = registerDye("greyaro_dye"), + GREYACE_DYE = registerDye("greyace_dye"), + GREYROSE_DYE = registerDye("greyrose_dye"), + GENDERFLUID_DYE = registerDye("genderfluid_dye"), + GENDERQUEER_DYE = registerDye("genderqueer_dye"), + PAN_DYE = registerDye("pan_dye"), + TRANS_DYE = registerDye("trans_dye"), + AROACE_DYE = registerDye("aroace_dye"), + LESBIAN_DYE = registerDye("lesbian_dye"), + PROGRESS_DYE = registerDye("progress_dye"), + PLURAL_DYE = registerDye("plural_dye"), + POLYAM_DYE = registerDye("polyam_dye"); + + public static final List PRIDE_DYES = List.of( + QUEER_DYE, + GAY_DYE, + ENBY_DYE, + INTERSEX_DYE, + AGENDER_DYE, + BIGENDER_DYE, + BISEXUAL_DYE, + MLM_DYE, + ACE_DYE, + ARO_DYE, + APLATONIC_DYE, + DEMIROMANTIC_DYE, + DEMISEXUAL_DYE, + GREYARO_DYE, + GREYACE_DYE, + GREYROSE_DYE, + GENDERFLUID_DYE, + GENDERQUEER_DYE, + PAN_DYE, + TRANS_DYE, + AROACE_DYE, + LESBIAN_DYE, + PROGRESS_DYE, + PLURAL_DYE, + POLYAM_DYE + ); + + private static Item registerDye(String name) { + return registerItem(name, new PrideDyeItem(new Item.Settings())); + } + + // endregion + // Currently inaccessible, only exists to serve as an example. public static final Item DOUGLAS_DISC = registerDisc("douglas"), diff --git a/xplat/src/main/java/gay/pridecraft/joy/tags/JoyBlockTags.java b/xplat/src/main/java/gay/pridecraft/joy/tags/JoyBlockTags.java new file mode 100644 index 0000000..384f304 --- /dev/null +++ b/xplat/src/main/java/gay/pridecraft/joy/tags/JoyBlockTags.java @@ -0,0 +1,26 @@ +package gay.pridecraft.joy.tags; + +import gay.pridecraft.joy.JoyUtil; +import net.minecraft.block.Block; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.tag.TagKey; +import net.minecraft.util.Identifier; + +/** + * @author Ampflower + * @since 1.0.0 + **/ +public final class JoyBlockTags { + public static final TagKey + PRIDE_DYEABLE = joy("pride_dyeable"), + PLUSHIES = joy("plushies"), + SHARKS = joy("sharks"); + + private static TagKey joy(String name) { + return TagKey.of(RegistryKeys.BLOCK, JoyUtil.id(name)); + } + + private static TagKey common(String name) { + return TagKey.of(RegistryKeys.BLOCK, Identifier.of("c", name)); + } +} diff --git a/xplat/src/main/java/gay/pridecraft/joy/tags/JoyItemTags.java b/xplat/src/main/java/gay/pridecraft/joy/tags/JoyItemTags.java index 89422f2..56125a7 100644 --- a/xplat/src/main/java/gay/pridecraft/joy/tags/JoyItemTags.java +++ b/xplat/src/main/java/gay/pridecraft/joy/tags/JoyItemTags.java @@ -17,6 +17,7 @@ public final class JoyItemTags { TOTEM_OF_UNDYING = common("totem_of_undying"); public static final TagKey + PRIDE_DYEABLE = joy("pride_dyeable"), PLUSHIES = joy("plushies"), SHARKS = joy("sharks"); diff --git a/xplat/src/main/resources/assets/joy/lang/en_us.json b/xplat/src/main/resources/assets/joy/lang/en_us.json index 01b29d0..1e4743c 100644 --- a/xplat/src/main/resources/assets/joy/lang/en_us.json +++ b/xplat/src/main/resources/assets/joy/lang/en_us.json @@ -10,6 +10,7 @@ "itemgroup.joy.food": "Joy Food", "itemgroup.joy.flowers": "Joy Flowers", "itemgroup.joy.rosettes": "Pridecraft Rosettes", + "itemgroup.joy.dyes": "Dyes", "block.joy.gay_bed": "Gay Bed", "block.joy.enby_bed": "Enby Bed", @@ -20,8 +21,8 @@ "block.joy.mlm_bed": "MLM Bed", "block.joy.ace_bed": "Ace Bed", "block.joy.aro_bed": "Aro Bed", - "block.joy.aplatonic_bed": "Aplatonically Oriented Bed", - "block.joy.gender_fluid_bed": "Gender Fluid Bed", + "block.joy.aplatonic_bed": "Aplatonic Bed", + "block.joy.genderfluid_bed": "Genderfluid Bed", "block.joy.pan_bed": "Pan Bed", "block.joy.trans_bed": "Trans Bed", "block.joy.aroace_bed": "Aro-Ace Bed", @@ -38,8 +39,8 @@ "block.joy.mlm_candle": "MLM Candle", "block.joy.ace_candle": "Ace Candle", "block.joy.aro_candle": "Aro Candle", - "block.joy.aplatonic_candle": "Aplatonically Oriented Candle", - "block.joy.gender_fluid_candle": "Gender Fluid Candle", + "block.joy.aplatonic_candle": "Aplatonic Candle", + "block.joy.genderfluid_candle": "Genderfluid Candle", "block.joy.pan_candle": "Pan Candle", "block.joy.trans_candle": "Trans Candle", "block.joy.aroace_candle": "Aro-Ace Candle", @@ -71,8 +72,8 @@ "item.joy.mlm_bundle": "MLM Bundle", "item.joy.ace_bundle": "Ace Bundle", "item.joy.aro_bundle": "Aro Bundle", - "item.joy.aplatonic_bundle": "Aplatonically Orientated Bundle", - "item.joy.gender_fluid_bundle": "Gender Fluid Bundle", + "item.joy.aplatonic_bundle": "Aplatonic Bundle", + "item.joy.genderfluid_bundle": "Genderfluid Bundle", "item.joy.pan_bundle": "Pan Bundle", "item.joy.trans_bundle": "Trans Bundle", "item.joy.aroace_bundle": "Aro-Ace Bundle", @@ -90,6 +91,32 @@ "item.joy.lesbian_rosette": "Lesbian Rosette", "item.joy.plural_rosette": "Plural Rosette", + "item.joy.queer_dye": "Queer Dye", + "item.joy.gay_dye": "Gay Dye", + "item.joy.enby_dye": "Enby Dye", + "item.joy.intersex_dye": "Intersex Dye", + "item.joy.agender_dye": "Agender Dye", + "item.joy.bigender_dye": "Bigender Dye", + "item.joy.bisexual_dye": "Bisexual Dye", + "item.joy.mlm_dye": "Mlm Dye", + "item.joy.aro_dye": "Aro Dye", + "item.joy.ace_dye": "Ace Dye", + "item.joy.aplatonic_dye": "Aplatonic Dye", + "item.joy.demiromantic_dye": "Demiromantic Dye", + "item.joy.demisexual_dye": "Demisexual Dye", + "item.joy.greyaro_dye": "Greyaro Dye", + "item.joy.greyace_dye": "Greyace Dye", + "item.joy.greyrose_dye": "Greyrose Dye", + "item.joy.genderfluid_dye": "Genderfluid Dye", + "item.joy.genderqueer_dye": "Genderqueer Dye", + "item.joy.pan_dye": "Pan Dye", + "item.joy.trans_dye": "Trans Dye", + "item.joy.aroace_dye": "Aroace Dye", + "item.joy.lesbian_dye": "Lesbian Dye", + "item.joy.progress_dye": "Progress Dye", + "item.joy.plural_dye": "Plural Dye", + "item.joy.polyam_dye": "Polyam Dye", + "item.joy.sock_fox_spawn_egg": "Thigh-High Fox Spawn Egg", "item.joy.bii_spawn_egg": "Bii Spawn Egg", "item.joy.enbee_spawn_egg": "Enbee Spawn Egg", @@ -164,23 +191,23 @@ "block.joy.agender_shark": "Agender Toy Shark", "block.joy.aro_shark": "Aro Toy Shark", "block.joy.aroace_shark": "Aroace Toy Shark", - "block.joy.bi_shark": "Bi Toy Shark", + "block.joy.bisexual_shark": "Bisexual Toy Shark", "block.joy.demiboy_shark": "Demiboy Toy Shark", "block.joy.demigirl_shark": "Demigirl Toy Shark", - "block.joy.demi_r_shark": "Demi R Toy Shark", - "block.joy.demi_s_shark": "Demi S Toy Shark", + "block.joy.demiromantic_shark": "Demi R Toy Shark", + "block.joy.demisexual_shark": "Demi S Toy Shark", "block.joy.enby_shark": "Enby Toy Shark", - "block.joy.gay_shark": "Gay Toy Shark", + "block.joy.mlm_shark": "Gay Men Toy Shark", "block.joy.genderfluid_shark": "Genderfluid Toy Shark", "block.joy.genderqueer_shark": "Genderqueer Toy Shark", "block.joy.greyrose_shark": "Greyrose Toy Shark", - "block.joy.grey_r_shark": "Grey R Toy Shark", - "block.joy.grey_s_shark": "Grey S Toy Shark", + "block.joy.greyaro_shark": "Grey R Toy Shark", + "block.joy.greyace_shark": "Grey S Toy Shark", "block.joy.intersex_shark": "Intersex Toy Shark", "block.joy.lesbian_shark": "Lesbian Toy Shark", "block.joy.pan_shark": "Pan Toy Shark", - "block.joy.poly_shark": "Poly Toy Shark", - "block.joy.pride_shark": "Pride Toy Shark", + "block.joy.polyam_shark": "Poly Toy Shark", + "block.joy.gay_shark": "Gay Toy Shark", "block.joy.trans_shark": "Trans Toy Shark", "tooltip.joy.owner.craft": "Crafted by %s", @@ -191,5 +218,6 @@ "tag.item.c.gliders": "Gliders", "tag.item.c.elytra": "Elytra", - "tag.item.c.totem_of_undying": "Totems of Undying" + "tag.item.c.totem_of_undying": "Totems of Undying", + "tag.item.joy.pride_dyeable": "Pride Dyeable Items" } diff --git a/xplat/src/main/resources/assets/joy/textures/block/gender_fluid_candle.png b/xplat/src/main/resources/assets/joy/textures/block/genderfluid_candle.png similarity index 100% rename from xplat/src/main/resources/assets/joy/textures/block/gender_fluid_candle.png rename to xplat/src/main/resources/assets/joy/textures/block/genderfluid_candle.png diff --git a/xplat/src/main/resources/assets/joy/textures/block/gender_fluid_candle_lit.png b/xplat/src/main/resources/assets/joy/textures/block/genderfluid_candle_lit.png similarity index 100% rename from xplat/src/main/resources/assets/joy/textures/block/gender_fluid_candle_lit.png rename to xplat/src/main/resources/assets/joy/textures/block/genderfluid_candle_lit.png diff --git a/xplat/src/main/resources/assets/joy/textures/block/pride_sharks/bi.png b/xplat/src/main/resources/assets/joy/textures/block/pride_sharks/bisexual.png similarity index 100% rename from xplat/src/main/resources/assets/joy/textures/block/pride_sharks/bi.png rename to xplat/src/main/resources/assets/joy/textures/block/pride_sharks/bisexual.png diff --git a/xplat/src/main/resources/assets/joy/textures/block/pride_sharks/demi_r.png b/xplat/src/main/resources/assets/joy/textures/block/pride_sharks/demiromantic.png similarity index 100% rename from xplat/src/main/resources/assets/joy/textures/block/pride_sharks/demi_r.png rename to xplat/src/main/resources/assets/joy/textures/block/pride_sharks/demiromantic.png diff --git a/xplat/src/main/resources/assets/joy/textures/block/pride_sharks/demi_s.png b/xplat/src/main/resources/assets/joy/textures/block/pride_sharks/demisexual.png similarity index 100% rename from xplat/src/main/resources/assets/joy/textures/block/pride_sharks/demi_s.png rename to xplat/src/main/resources/assets/joy/textures/block/pride_sharks/demisexual.png diff --git a/xplat/src/main/resources/assets/joy/textures/block/pride_sharks/gay.png b/xplat/src/main/resources/assets/joy/textures/block/pride_sharks/gay.png index 0f0587752ea87dd4a1f297ec77eaa5543186ef11..07da332de607c94839d5e76ffa1b6d20f9a16cf7 100644 GIT binary patch delta 550 zcmV+>0@?kg1iu83B!2;OQb$4nuFf3k0001xP)t-s0002R($&Jx(!b2l;C5B#ds)Pw zN5`Z}>B3*+y~XkJDI@*ISg@UY6fp zn&V-f>1CqsY0r+1(~ywNjEw1DV&q(3-dJ1ORan+;Ol@qh0Dk}gWn-jjXsTjipUqK~#9!e9eQh zTuT^7@%8UI7~dP)#!TM-HG)z~v5n)s(tD2iD|CMbCil5<8+!eIZ#WnZfNpOzV#5rC z+ws=(6dGdyX@A%>Gl{b^J^_UMr3-W|+YJ&GnE%D_CocA!2N$}JbA;y#x zTE)f+NF^E*Q%P&)8P%nWmPEb_DVix-xzr@Ds4fHTM-FkhV!w1^H;yctG|3OM5M%O} zR>|7zF;7fuu~@&yX4hgOQ!^%C^5y@RMq;jf@k?SUS$|_Hz1TJ1lvZ+VdZNVqVyE%s z;h5^|N%p({2p*2_-l6Ia*lh-I0hS7(l06C!?ou9((?kvu#>;UoA8o=Pm1OA0ohOP- zip45ai4FUmJAdjV2gxK0{z4#(>_(rk(@YjDO{CH+bi+Pp&z(JW`V@zlff$iP o_>P0jSRc`nqZ^v=Z$lRV0O;bTmsc5~+yDRo07*qoM6N<$f?#0>*8l(j delta 524 zcmV+n0`vX91f>L!B!7NTOjJbx002~=c!tNBrQWuk*{_t-r;g8|V2-F`k*iXebAZB> zRi}K5%ALT?&|He7!_d=Fl5kOtZcvD8(%|LG+ThKHht!RY(29!Ki^)7kE+1E&B000DGT zPE!Ct=GbNc00C7=L_t(|0d$dtqUtaVhC^2yRJeEU9nSl|;7N+xH;?{H0ARr&;Q&HP zp|sLuNta7_uwqqtC!Xw2OX^d3X>Sz-JZU~-mA?d{!;jDKlrQoqn zAtD9(sbGSU&VO6CPA~p{{~=-w`We1tg6GzIYj`Ybn1KgHSrv6w*S={yld&ng{YX)j z1rRmTAn=PCfiEPy&hjj)^9-N#imf;a7H}bJyEf}{ipVLVj|Pf_3&ZHfVG6z>fsGGS zG|XDfaA6L3pdTU_5e;$XF9;rD%4Q3ns2vSd2SE0RZ+`)MT6WM;(r19ieqrX<3WJ7M zNG19wA(cKH=V=(G&GEI$Zok>@_6gT&OA+M%CX^@2!B=RgLP$i2%c9|xVImP433{GT z#02kPBF*hLSlFR}-)?E7;Mg3#lb_Dr`IO_T;X6Sqr*sIHLH=!s0swwc8XALJf9(JO O002ovP6b4+LSTa20{SHY diff --git a/xplat/src/main/resources/assets/joy/textures/block/pride_sharks/grey_s.png b/xplat/src/main/resources/assets/joy/textures/block/pride_sharks/greyace.png similarity index 100% rename from xplat/src/main/resources/assets/joy/textures/block/pride_sharks/grey_s.png rename to xplat/src/main/resources/assets/joy/textures/block/pride_sharks/greyace.png diff --git a/xplat/src/main/resources/assets/joy/textures/block/pride_sharks/grey_r.png b/xplat/src/main/resources/assets/joy/textures/block/pride_sharks/greyaro.png similarity index 100% rename from xplat/src/main/resources/assets/joy/textures/block/pride_sharks/grey_r.png rename to xplat/src/main/resources/assets/joy/textures/block/pride_sharks/greyaro.png diff --git a/xplat/src/main/resources/assets/joy/textures/block/pride_sharks/mlm.png b/xplat/src/main/resources/assets/joy/textures/block/pride_sharks/mlm.png new file mode 100644 index 0000000000000000000000000000000000000000..0f0587752ea87dd4a1f297ec77eaa5543186ef11 GIT binary patch literal 549 zcmV+=0^0qFP)JInWf&go!PIH)2EKlp`jc!ng zYtrE5%i7@0hlkXSjnImU*yZZR)7G%W%)rpr0001Vq`y{!oo}DIWtFgLnY2GsfIUoa zKv<4IR);@Oc0N&i$JX7%)7kE+1E&B000DGTPE!Ct=GbNc00C7=L_t(|0d$dtqUtaV zhC^2yRJeEU9nSl|;7N+xH;?{H0ARr&;Q&HPp|sLuNta7_uwqqtC z!Xw2OX^d3X>Sz-JZU~-mA?d{!;jDKlrQoqnAtD9(sbGSU&Re%mFaCf3Az}>r8NOtK z=hk~`cr0p|fd@rd6?InEzG*y@u_?R#NKusq5H->u@QWIOFC@Iq@+_`X?ckJ{;$17^cnfwaRY4+3)rV*J?`< z0UD?_eU$?KfE1p@83RX{6xT9KMsE&fWQx nJ%=P)Px#kWfriMF0Q*#nRQn&(gol&){}d=X+Viphw4~O6kI1Rn@Rn(yda? zsZQB)Py2^u_Jm>Ze_iZ-S&!3Lk=I+4+Fq95UYg@!p6O+x?rG1Cj?<8k%#4ibUt;83 zU*1?-+ErNAZcJ@#uK)l5Wn-jjXsTjipUqK~#9!e9eQhTuT^7@%8UI7~dP)#!TM-HG)z~v5n)s z(tD2iD|CMbCil5<8+!eIZ#WnZfNpOzV#5rC+ws=(6dGdyY1lL~iL*040fhXe3v?~p z4H6ZY|HbepF7})U7rMp28x5#HGf)g6#*`FV#l{LqB^nb`No(dA)uoG;M7|3tnkibj z)FiK{E(7gH4sp3+zjR_Zjx3rq$q%y-WAc|)$=d8OPfTmESii?+*J2`5GbUg1<^PvP zVy=AgOJXTmV=BGaHQ$t0a%_5{#Qb8X@#Nu{>g-AOyZ;Ctj_=-~>JHd#25m59*)yQ4id)8aV{Ti!XK4n=*OKWicN~eDpZLL`<**~>LdrrBn$pRAdKurpRm(R z7A#Gq(kyhtK4;IJJ$3pNhnRsFkwfI1nuPd{gUndblA{}%@NYvG008LXrk7V4q1*rf N002ovPDHLkV1ifF2>bv5 diff --git a/xplat/src/main/resources/assets/joy/textures/entity/bed/gender_fluid_bed.png b/xplat/src/main/resources/assets/joy/textures/entity/bed/genderfluid_bed.png similarity index 100% rename from xplat/src/main/resources/assets/joy/textures/entity/bed/gender_fluid_bed.png rename to xplat/src/main/resources/assets/joy/textures/entity/bed/genderfluid_bed.png diff --git a/xplat/src/main/resources/assets/joy/textures/item/gender_fluid_bed.png b/xplat/src/main/resources/assets/joy/textures/item/genderfluid_bed.png similarity index 100% rename from xplat/src/main/resources/assets/joy/textures/item/gender_fluid_bed.png rename to xplat/src/main/resources/assets/joy/textures/item/genderfluid_bed.png diff --git a/xplat/src/main/resources/assets/joy/textures/item/gender_fluid_bundle.png b/xplat/src/main/resources/assets/joy/textures/item/genderfluid_bundle.png similarity index 100% rename from xplat/src/main/resources/assets/joy/textures/item/gender_fluid_bundle.png rename to xplat/src/main/resources/assets/joy/textures/item/genderfluid_bundle.png diff --git a/xplat/src/main/resources/assets/joy/textures/item/gender_fluid_bundle_open_back.png b/xplat/src/main/resources/assets/joy/textures/item/genderfluid_bundle_open_back.png similarity index 100% rename from xplat/src/main/resources/assets/joy/textures/item/gender_fluid_bundle_open_back.png rename to xplat/src/main/resources/assets/joy/textures/item/genderfluid_bundle_open_back.png diff --git a/xplat/src/main/resources/assets/joy/textures/item/gender_fluid_bundle_open_front.png b/xplat/src/main/resources/assets/joy/textures/item/genderfluid_bundle_open_front.png similarity index 100% rename from xplat/src/main/resources/assets/joy/textures/item/gender_fluid_bundle_open_front.png rename to xplat/src/main/resources/assets/joy/textures/item/genderfluid_bundle_open_front.png diff --git a/xplat/src/main/resources/assets/joy/textures/item/gender_fluid_candle.png b/xplat/src/main/resources/assets/joy/textures/item/genderfluid_candle.png similarity index 100% rename from xplat/src/main/resources/assets/joy/textures/item/gender_fluid_candle.png rename to xplat/src/main/resources/assets/joy/textures/item/genderfluid_candle.png