feat: Add pink/white/blue/trans allium

This commit is contained in:
Ampflower 🌺 2025-03-12 10:29:19 -07:00
parent 890492ea63
commit de6dc09899
No known key found for this signature in database
GPG Key ID: FC0397C90D508D7F
10 changed files with 145 additions and 64 deletions

View File

@ -30,13 +30,24 @@ public class JoyClient implements ClientModInitializer {
@Override
public void onInitializeClient() {
BlockEntityRendererFactories.register(
JoyBlockEntityTypes.JOY_BED_BLOCK_ENTITY,
JoyBedBlockEntityRenderer::new
JoyBlockEntityTypes.JOY_BED_BLOCK_ENTITY,
JoyBedBlockEntityRenderer::new
);
registerBedBlockRenderLayers();
registerEntityRenderers();
BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getCutout(),
JoyBlocks.PINK_ALLIUM,
JoyBlocks.BLUE_ALLIUM,
JoyBlocks.WHITE_ALLIUM,
JoyBlocks.TRANS_ALLIUM,
JoyBlocks.POTTED_PINK_ALLIUM,
JoyBlocks.POTTED_BLUE_ALLIUM,
JoyBlocks.POTTED_WHITE_ALLIUM,
JoyBlocks.POTTED_TRANS_ALLIUM
);
LivingEntityFeatureRendererRegistrationCallback.EVENT.register((entityType, entityRenderer, registrationHelper, context) -> {
Identifier elytra = Identifier.ofVanilla("textures/entity/elytra.png");
registrationHelper.register(new CustomElytraFeatureRenderer<>(entityRenderer, context.getModelLoader(), elytra));

View File

@ -60,15 +60,29 @@ public class JoyBlockTagProvider extends FabricTagProvider.BlockTagProvider {
.add(JoyBlocks.AGENDER_CANDLE_CAKE)
.add(JoyBlocks.BIGENDER_CANDLE_CAKE)
.add(JoyBlocks.BISEXUAL_CANDLE_CAKE)
.add(JoyBlocks.MLM_CANDLE_CAKE)
.add(JoyBlocks.ACE_CANDLE_CAKE)
.add(JoyBlocks.ARO_CANDLE_CAKE)
.add(JoyBlocks.APLATONIC_CANDLE_CAKE)
.add(JoyBlocks.GENDER_FLUID_CANDLE_CAKE)
.add(JoyBlocks.PAN_CANDLE_CAKE)
.add(JoyBlocks.TRANS_CANDLE_CAKE)
.add(JoyBlocks.AROACE_CANDLE_CAKE)
.add(JoyBlocks.LESBIAN_CANDLE_CAKE)
.add(JoyBlocks.PROGRESS_CANDLE_CAKE);
.add(JoyBlocks.MLM_CANDLE_CAKE)
.add(JoyBlocks.ACE_CANDLE_CAKE)
.add(JoyBlocks.ARO_CANDLE_CAKE)
.add(JoyBlocks.APLATONIC_CANDLE_CAKE)
.add(JoyBlocks.GENDER_FLUID_CANDLE_CAKE)
.add(JoyBlocks.PAN_CANDLE_CAKE)
.add(JoyBlocks.TRANS_CANDLE_CAKE)
.add(JoyBlocks.AROACE_CANDLE_CAKE)
.add(JoyBlocks.LESBIAN_CANDLE_CAKE)
.add(JoyBlocks.PROGRESS_CANDLE_CAKE);
getOrCreateTagBuilder(BlockTags.SMALL_FLOWERS).add(
JoyBlocks.PINK_ALLIUM,
JoyBlocks.BLUE_ALLIUM,
JoyBlocks.WHITE_ALLIUM,
JoyBlocks.TRANS_ALLIUM
);
getOrCreateTagBuilder(BlockTags.FLOWER_POTS).add(
JoyBlocks.POTTED_PINK_ALLIUM,
JoyBlocks.POTTED_BLUE_ALLIUM,
JoyBlocks.POTTED_WHITE_ALLIUM,
JoyBlocks.POTTED_TRANS_ALLIUM
);
}
}

View File

@ -65,6 +65,11 @@ public class JoyModelProvider extends FabricModelProvider {
gen.registerCandle(JoyBlocks.LESBIAN_CANDLE, JoyBlocks.LESBIAN_CANDLE_CAKE);
gen.registerCandle(JoyBlocks.PROGRESS_CANDLE, JoyBlocks.PROGRESS_CANDLE_CAKE);
registerCake(gen, JoyBlocks.PRIDE_CAKE);
gen.registerFlowerPotPlant(JoyBlocks.PINK_ALLIUM, JoyBlocks.POTTED_PINK_ALLIUM, BlockStateModelGenerator.TintType.NOT_TINTED);
gen.registerFlowerPotPlant(JoyBlocks.BLUE_ALLIUM, JoyBlocks.POTTED_BLUE_ALLIUM, BlockStateModelGenerator.TintType.NOT_TINTED);
gen.registerFlowerPotPlant(JoyBlocks.WHITE_ALLIUM, JoyBlocks.POTTED_WHITE_ALLIUM, BlockStateModelGenerator.TintType.NOT_TINTED);
gen.registerFlowerPotPlant(JoyBlocks.TRANS_ALLIUM, JoyBlocks.POTTED_TRANS_ALLIUM, BlockStateModelGenerator.TintType.NOT_TINTED);
}
private static void registerBed(BlockStateModelGenerator gen, Block block) {

View File

@ -2,182 +2,213 @@ package gay.pridecraft.joy.registry;
import gay.pridecraft.joy.Pivot;
import gay.pridecraft.joy.block.JoyBedBlock;
import net.minecraft.block.AbstractBlock;
import net.minecraft.block.Block;
import net.minecraft.block.Blocks;
import net.minecraft.block.CakeBlock;
import net.minecraft.block.CandleBlock;
import net.minecraft.block.CandleCakeBlock;
import net.minecraft.block.FlowerBlock;
import net.minecraft.block.FlowerPotBlock;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.registry.Registries;
import net.minecraft.registry.RegistryKeys;
import static net.minecraft.block.AbstractBlock.Settings.copy;
public final class JoyBlocks {
// region Beds
public static final Block GAY_BED = registerBlock("gay_bed",
new JoyBedBlock(AbstractBlock.Settings.copy(Blocks.RED_BED)));
new JoyBedBlock(copy(Blocks.RED_BED)));
public static final Block ENBY_BED = registerBlock("enby_bed",
new JoyBedBlock(AbstractBlock.Settings.copy(Blocks.BLACK_BED)));
new JoyBedBlock(copy(Blocks.BLACK_BED)));
public static final Block INTERSEX_BED = registerBlock("intersex_bed",
new JoyBedBlock(AbstractBlock.Settings.copy(Blocks.GREEN_BED)));
new JoyBedBlock(copy(Blocks.GREEN_BED)));
public static final Block AGENDER_BED = registerBlock("agender_bed",
new JoyBedBlock(AbstractBlock.Settings.copy(Blocks.BROWN_BED)));
new JoyBedBlock(copy(Blocks.BROWN_BED)));
public static final Block BIGENDER_BED = registerBlock("bigender_bed",
new JoyBedBlock(AbstractBlock.Settings.copy(Blocks.BLUE_BED)));
new JoyBedBlock(copy(Blocks.BLUE_BED)));
public static final Block BISEXUAL_BED = registerBlock("bisexual_bed",
new JoyBedBlock(AbstractBlock.Settings.copy(Blocks.PURPLE_BED)));
new JoyBedBlock(copy(Blocks.PURPLE_BED)));
public static final Block MLM_BED = registerBlock("mlm_bed",
new JoyBedBlock(AbstractBlock.Settings.copy(Blocks.CYAN_BED)));
new JoyBedBlock(copy(Blocks.CYAN_BED)));
public static final Block ACE_BED = registerBlock("ace_bed",
new JoyBedBlock(AbstractBlock.Settings.copy(Blocks.LIGHT_GRAY_BED)));
new JoyBedBlock(copy(Blocks.LIGHT_GRAY_BED)));
public static final Block ARO_BED = registerBlock("aro_bed",
new JoyBedBlock(AbstractBlock.Settings.copy(Blocks.GRAY_BED)));
new JoyBedBlock(copy(Blocks.GRAY_BED)));
public static final Block APLATONIC_BED = registerBlock("aplatonic_bed",
new JoyBedBlock(AbstractBlock.Settings.copy(Blocks.PINK_BED)));
new JoyBedBlock(copy(Blocks.PINK_BED)));
public static final Block GENDER_FLUID_BED = registerBlock("gender_fluid_bed",
new JoyBedBlock(AbstractBlock.Settings.copy(Blocks.LIME_BED)));
new JoyBedBlock(copy(Blocks.LIME_BED)));
public static final Block PAN_BED = registerBlock("pan_bed",
new JoyBedBlock(AbstractBlock.Settings.copy(Blocks.YELLOW_BED)));
new JoyBedBlock(copy(Blocks.YELLOW_BED)));
public static final Block TRANS_BED = registerBlock("trans_bed",
new JoyBedBlock(AbstractBlock.Settings.copy(Blocks.LIGHT_BLUE_BED)));
new JoyBedBlock(copy(Blocks.LIGHT_BLUE_BED)));
public static final Block AROACE_BED = registerBlock("aroace_bed",
new JoyBedBlock(AbstractBlock.Settings.copy(Blocks.MAGENTA_BED)));
new JoyBedBlock(copy(Blocks.MAGENTA_BED)));
public static final Block LESBIAN_BED = registerBlock("lesbian_bed",
new JoyBedBlock(AbstractBlock.Settings.copy(Blocks.ORANGE_BED)));
new JoyBedBlock(copy(Blocks.ORANGE_BED)));
public static final Block PROGRESS_BED = registerBlock("progress_bed",
new JoyBedBlock(AbstractBlock.Settings.copy(Blocks.WHITE_BED)));
new JoyBedBlock(copy(Blocks.WHITE_BED)));
// endregion
// region Candles
public static final Block QUEER_CANDLE = registerBlock("queer_candle",
new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
new CandleBlock(copy(Blocks.CANDLE)));
public static final Block GAY_CANDLE = registerBlock("gay_candle",
new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
new CandleBlock(copy(Blocks.CANDLE)));
public static final Block ENBY_CANDLE = registerBlock("enby_candle",
new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
new CandleBlock(copy(Blocks.CANDLE)));
public static final Block INTERSEX_CANDLE = registerBlock("intersex_candle",
new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
new CandleBlock(copy(Blocks.CANDLE)));
public static final Block AGENDER_CANDLE = registerBlock("agender_candle",
new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
new CandleBlock(copy(Blocks.CANDLE)));
public static final Block BIGENDER_CANDLE = registerBlock("bigender_candle",
new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
new CandleBlock(copy(Blocks.CANDLE)));
public static final Block BISEXUAL_CANDLE = registerBlock("bisexual_candle",
new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
new CandleBlock(copy(Blocks.CANDLE)));
public static final Block MLM_CANDLE = registerBlock("mlm_candle",
new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
new CandleBlock(copy(Blocks.CANDLE)));
public static final Block ACE_CANDLE = registerBlock("ace_candle",
new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
new CandleBlock(copy(Blocks.CANDLE)));
public static final Block ARO_CANDLE = registerBlock("aro_candle",
new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
new CandleBlock(copy(Blocks.CANDLE)));
public static final Block APLATONIC_CANDLE = registerBlock("aplatonic_candle",
new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
new CandleBlock(copy(Blocks.CANDLE)));
public static final Block GENDER_FLUID_CANDLE = registerBlock("gender_fluid_candle",
new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
new CandleBlock(copy(Blocks.CANDLE)));
public static final Block PAN_CANDLE = registerBlock("pan_candle",
new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
new CandleBlock(copy(Blocks.CANDLE)));
public static final Block TRANS_CANDLE = registerBlock("trans_candle",
new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
new CandleBlock(copy(Blocks.CANDLE)));
public static final Block AROACE_CANDLE = registerBlock("aroace_candle",
new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
new CandleBlock(copy(Blocks.CANDLE)));
public static final Block LESBIAN_CANDLE = registerBlock("lesbian_candle",
new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
new CandleBlock(copy(Blocks.CANDLE)));
public static final Block PROGRESS_CANDLE = registerBlock("progress_candle",
new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
new CandleBlock(copy(Blocks.CANDLE)));
// endregion
// region Candle Cakes
public static final Block QUEER_CANDLE_CAKE = registerBlock("queer_candle_cake",
new CandleCakeBlock(QUEER_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
new CandleCakeBlock(QUEER_CANDLE, copy(Blocks.CANDLE_CAKE)));
public static final Block GAY_CANDLE_CAKE = registerBlock("gay_candle_cake",
new CandleCakeBlock(GAY_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
new CandleCakeBlock(GAY_CANDLE, copy(Blocks.CANDLE_CAKE)));
public static final Block ENBY_CANDLE_CAKE = registerBlock("enby_candle_cake",
new CandleCakeBlock(ENBY_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
new CandleCakeBlock(ENBY_CANDLE, copy(Blocks.CANDLE_CAKE)));
public static final Block INTERSEX_CANDLE_CAKE = registerBlock("intersex_candle_cake",
new CandleCakeBlock(INTERSEX_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
new CandleCakeBlock(INTERSEX_CANDLE, copy(Blocks.CANDLE_CAKE)));
public static final Block AGENDER_CANDLE_CAKE = registerBlock("agender_candle_cake",
new CandleCakeBlock(AGENDER_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
new CandleCakeBlock(AGENDER_CANDLE, copy(Blocks.CANDLE_CAKE)));
public static final Block BIGENDER_CANDLE_CAKE = registerBlock("bigender_candle_cake",
new CandleCakeBlock(BIGENDER_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
new CandleCakeBlock(BIGENDER_CANDLE, copy(Blocks.CANDLE_CAKE)));
public static final Block BISEXUAL_CANDLE_CAKE = registerBlock("bisexual_candle_cake",
new CandleCakeBlock(BISEXUAL_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
new CandleCakeBlock(BISEXUAL_CANDLE, copy(Blocks.CANDLE_CAKE)));
public static final Block MLM_CANDLE_CAKE = registerBlock("mlm_candle_cake",
new CandleCakeBlock(MLM_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
new CandleCakeBlock(MLM_CANDLE, copy(Blocks.CANDLE_CAKE)));
public static final Block ACE_CANDLE_CAKE = registerBlock("ace_candle_cake",
new CandleCakeBlock(ACE_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
new CandleCakeBlock(ACE_CANDLE, copy(Blocks.CANDLE_CAKE)));
public static final Block ARO_CANDLE_CAKE = registerBlock("aro_candle_cake",
new CandleCakeBlock(ARO_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
new CandleCakeBlock(ARO_CANDLE, copy(Blocks.CANDLE_CAKE)));
public static final Block APLATONIC_CANDLE_CAKE = registerBlock("aplatonic_candle_cake",
new CandleCakeBlock(APLATONIC_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
new CandleCakeBlock(APLATONIC_CANDLE, copy(Blocks.CANDLE_CAKE)));
public static final Block GENDER_FLUID_CANDLE_CAKE = registerBlock("gender_fluid_candle_cake",
new CandleCakeBlock(GENDER_FLUID_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
new CandleCakeBlock(GENDER_FLUID_CANDLE, copy(Blocks.CANDLE_CAKE)));
public static final Block PAN_CANDLE_CAKE = registerBlock("pan_candle_cake",
new CandleCakeBlock(PAN_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
new CandleCakeBlock(PAN_CANDLE, copy(Blocks.CANDLE_CAKE)));
public static final Block TRANS_CANDLE_CAKE = registerBlock("trans_candle_cake",
new CandleCakeBlock(TRANS_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
new CandleCakeBlock(TRANS_CANDLE, copy(Blocks.CANDLE_CAKE)));
public static final Block AROACE_CANDLE_CAKE = registerBlock("aroace_candle_cake",
new CandleCakeBlock(AROACE_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
new CandleCakeBlock(AROACE_CANDLE, copy(Blocks.CANDLE_CAKE)));
public static final Block LESBIAN_CANDLE_CAKE = registerBlock("lesbian_candle_cake",
new CandleCakeBlock(LESBIAN_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
new CandleCakeBlock(LESBIAN_CANDLE, copy(Blocks.CANDLE_CAKE)));
public static final Block PROGRESS_CANDLE_CAKE = registerBlock("progress_candle_cake",
new CandleCakeBlock(PROGRESS_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
new CandleCakeBlock(PROGRESS_CANDLE, copy(Blocks.CANDLE_CAKE)));
// endregion
public static final Block PRIDE_CAKE = registerBlock("pride_cake",
new CakeBlock(AbstractBlock.Settings.copy(Blocks.CAKE)));
new CakeBlock(copy(Blocks.CAKE)));
public static final Block
PINK_ALLIUM = registerFlower("pink_allium", Blocks.ALLIUM),
BLUE_ALLIUM = registerFlower("blue_allium", Blocks.ALLIUM),
WHITE_ALLIUM = registerFlower("white_allium", Blocks.ALLIUM),
TRANS_ALLIUM = registerFlower("trans_allium", Blocks.ALLIUM),
POTTED_PINK_ALLIUM = registerFlowerPot(PINK_ALLIUM, Blocks.POTTED_ALLIUM),
POTTED_BLUE_ALLIUM = registerFlowerPot(BLUE_ALLIUM, Blocks.POTTED_ALLIUM),
POTTED_WHITE_ALLIUM = registerFlowerPot(WHITE_ALLIUM, Blocks.POTTED_ALLIUM),
POTTED_TRANS_ALLIUM = registerFlowerPot(TRANS_ALLIUM, Blocks.POTTED_ALLIUM);
// region Registration Helpers
private static Block registerFlower(String name, Block block) {
if (!(block instanceof FlowerBlock flower)) {
throw new AssertionError(block + " not flower");
}
return registerBlock(name, new FlowerBlock(flower.getStewEffects(), copy(flower)));
}
private static Block registerFlowerPot(Block flower, Block block) {
final String name = "potted_" + Registries.BLOCK.getId(flower).getPath();
return register(name, new FlowerPotBlock(flower, copy(block)));
}
private static Block registerBlock(String name, Block block) {
registerBlockItem(name, block);
return Pivot.INSTANCE.register(RegistryKeys.BLOCK, name, block);
}
private static Block register(String name, Block block) {
return Pivot.INSTANCE.register(RegistryKeys.BLOCK, name, block);
}
private static Item registerBlockItem(String name, Block block) {
// FIXME: This should have a permanent reference in JoyItems.
return Pivot.INSTANCE.register(RegistryKeys.ITEM, name, new BlockItem(block, new Item.Settings()));

View File

@ -104,6 +104,16 @@ public final class JoyItemGroups {
JoyItems.PROGRESS_BUNDLE::getDefaultStack,
(ctx, entries) -> JoyItems.BUNDLES.forEach(entries::add));
public static final ItemGroup FLOWERS = register("flowers",
() -> new ItemStack(JoyBlocks.TRANS_ALLIUM),
(ctx, entries) -> {
entries.add(JoyBlocks.PINK_ALLIUM);
entries.add(JoyBlocks.BLUE_ALLIUM);
entries.add(JoyBlocks.WHITE_ALLIUM);
entries.add(JoyBlocks.TRANS_ALLIUM);
}
);
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

@ -6,6 +6,7 @@
"itemgroup.joy.hajs": "Håjs",
"itemgroup.joy.misc": "Joy Misc",
"itemgroup.joy.food": "Joy Food",
"itemgroup.joy.flowers": "Joy Flowers",
"block.joy.gay_bed": "Gay Bed",
"block.joy.enby_bed": "Enby Bed",
@ -44,6 +45,15 @@
"block.joy.pride_cake": "Pride Cake",
"block.joy.pink_allium": "Pink Allium",
"block.joy.blue_allium": "Blue Allium",
"block.joy.white_allium": "White Allium",
"block.joy.trans_allium": "Trans Allium",
"block.joy.potted_pink_allium": "Potted Pink Allium",
"block.joy.potted_blue_allium": "Potted Blue Allium",
"block.joy.potted_white_allium": "Potted White Allium",
"block.joy.potted_trans_allium": "Potted Trans Allium",
"item.joy.pride_elytra": "Pride Elytra",
"item.joy.totem_of_pride": "Totem of Pride",
"item.joy.pride_brush": "Pride Brush",