feat: Add pride dyes, renamed things; major break.

This commit is contained in:
Ampflower 🌺 2025-03-14 08:51:23 -07:00
parent a18c08039b
commit 9eea65be65
No known key found for this signature in database
GPG Key ID: FC0397C90D508D7F
33 changed files with 330 additions and 54 deletions

View File

@ -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());

View File

@ -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

View File

@ -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);

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);

View File

@ -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<Item> 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));
}
}

View File

@ -32,9 +32,9 @@ public final class BlahajBlocks {
BROWN_BEAR_ITEM = mkItem(BROWN_BEAR_BLOCK);
private static final List<String> 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<Block> PRIDE_BLOCKS;
public static final List<Item> PRIDE_ITEMS;

View File

@ -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);
}
}

View File

@ -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

View File

@ -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,

View File

@ -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<ItemStack> icon, ItemGroup.EntryCollector collector) {
return Pivot.INSTANCE.register(RegistryKeys.ITEM_GROUP, name, Pivot.itemGroupBuilder()
.displayName(Text.translatable("itemgroup.joy." + name))

View File

@ -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<Item> 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"),

View File

@ -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<Block>
PRIDE_DYEABLE = joy("pride_dyeable"),
PLUSHIES = joy("plushies"),
SHARKS = joy("sharks");
private static TagKey<Block> joy(String name) {
return TagKey.of(RegistryKeys.BLOCK, JoyUtil.id(name));
}
private static TagKey<Block> common(String name) {
return TagKey.of(RegistryKeys.BLOCK, Identifier.of("c", name));
}
}

View File

@ -17,6 +17,7 @@ public final class JoyItemTags {
TOTEM_OF_UNDYING = common("totem_of_undying");
public static final TagKey<Item>
PRIDE_DYEABLE = joy("pride_dyeable"),
PLUSHIES = joy("plushies"),
SHARKS = joy("sharks");

View File

@ -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"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 549 B

After

Width:  |  Height:  |  Size: 575 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 549 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 575 B