From ef8722ce0a1b575d984ef95f7da6796a655f4d4b Mon Sep 17 00:00:00 2001 From: Wolren <86470291+Wolren@users.noreply.github.com> Date: Tue, 30 Apr 2024 22:34:43 +0200 Subject: [PATCH] Changed splashes author retrieving & added item textures for spawn eggs --- .../models/item/thigh_high_fox_spawn_egg.json | 6 ----- .../gay/pridecraft/joymod/JoyModClient.java | 1 + .../gay/pridecraft/joymod/config/Config.java | 25 ++++++++++++++++++- .../joymod/datagen/ModModelProvider.java | 3 ++- .../gay/pridecraft/joymod/item/ModItems.java | 13 +++++----- .../SplashTextResourceSupplierMixin.java | 21 ++++++++++------ .../assets/joymod/models/item/ace_bed.json | 7 ++++++ .../models/item/pride_axolotl_spawn_egg.json | 3 +++ .../models/item/pride_bii_spawn_egg.json | 3 +++ .../models/item/pride_frog_spawn_egg.json | 3 +++ .../models/item/pride_slime_spawn_egg.json | 3 +++ .../models/item/pride_sniffer_spawn_egg.json | 3 +++ .../models/item/thigh_high_fox_spawn_egg.json | 3 +++ src/main/resources/fabric.mod.json | 4 +-- 14 files changed, 73 insertions(+), 25 deletions(-) delete mode 100644 src/main/generated/assets/joymod/models/item/thigh_high_fox_spawn_egg.json create mode 100644 src/main/resources/assets/joymod/models/item/ace_bed.json create mode 100644 src/main/resources/assets/joymod/models/item/pride_axolotl_spawn_egg.json create mode 100644 src/main/resources/assets/joymod/models/item/pride_bii_spawn_egg.json create mode 100644 src/main/resources/assets/joymod/models/item/pride_frog_spawn_egg.json create mode 100644 src/main/resources/assets/joymod/models/item/pride_slime_spawn_egg.json create mode 100644 src/main/resources/assets/joymod/models/item/pride_sniffer_spawn_egg.json create mode 100644 src/main/resources/assets/joymod/models/item/thigh_high_fox_spawn_egg.json diff --git a/src/main/generated/assets/joymod/models/item/thigh_high_fox_spawn_egg.json b/src/main/generated/assets/joymod/models/item/thigh_high_fox_spawn_egg.json deleted file mode 100644 index c3405c3..0000000 --- a/src/main/generated/assets/joymod/models/item/thigh_high_fox_spawn_egg.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:item/generated", - "textures": { - "layer0": "joymod:item/thigh_high_fox_spawn_egg" - } -} \ No newline at end of file diff --git a/src/main/java/gay/pridecraft/joymod/JoyModClient.java b/src/main/java/gay/pridecraft/joymod/JoyModClient.java index 70062ea..5390bf3 100644 --- a/src/main/java/gay/pridecraft/joymod/JoyModClient.java +++ b/src/main/java/gay/pridecraft/joymod/JoyModClient.java @@ -13,6 +13,7 @@ import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; import net.fabricmc.fabric.api.client.particle.v1.ParticleFactoryRegistry; import net.fabricmc.fabric.api.client.rendering.v1.EntityRendererRegistry; import net.fabricmc.fabric.api.client.rendering.v1.LivingEntityFeatureRendererRegistrationCallback; +import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.render.RenderLayer; import net.minecraft.client.render.block.entity.BlockEntityRendererFactories; import net.minecraft.util.Identifier; diff --git a/src/main/java/gay/pridecraft/joymod/config/Config.java b/src/main/java/gay/pridecraft/joymod/config/Config.java index 6df2e31..5f05559 100644 --- a/src/main/java/gay/pridecraft/joymod/config/Config.java +++ b/src/main/java/gay/pridecraft/joymod/config/Config.java @@ -1,12 +1,26 @@ package gay.pridecraft.joymod.config; import eu.midnightdust.lib.config.MidnightConfig; +import net.minecraft.block.entity.BeehiveBlockEntity; public class Config extends MidnightConfig { @Entry(category = "spawn", name = "Enable Mob Spawning") public static boolean mobSpawning = true; @Comment(category = "spawn") public static Comment spacer0; + @Entry(category = "spawn", name = "Enable Pride Axolotl Spawning") + public static boolean axolotlNaturalSpawn = true; + + @Entry(category = "spawn", name = "Pride Axolotl Weight", min = 0) + public static int axolotlWeight = 10; + + @Entry(category = "spawn", name = "Pride Axolotl Group Size", min = 0) + public static int axolotlMinGroupSize = 4; + + @Entry(category = "spawn", name = "Pride Axolotl Group Size", min = 0) + public static int axolotlMaxGroupSize = 6; + + @Comment(category = "spawn") public static Comment spacer1; @Entry(category = "spawn", name = "Enable Thigh High Fox Spawning") public static boolean foxNaturalSpawn = true; @@ -20,5 +34,14 @@ public class Config extends MidnightConfig { @Entry(category = "spawn", name = "Thigh High Fox Maximum Group Size", min = 0) public static int foxMaxGroupSize = 4; - @Comment(category = "spawn") public static Comment spacer1; + @Comment(category = "spawn") public static Comment spacer2; + + @Entry(category = "spawn", name = "Pride Frog Weight", min = 0) + public static int frogWeight = 10; + + @Entry(category = "spawn", name = "Pride Frog Group Size", min = 0) + public static int frogMinGroupSize = 2; + + @Entry(category = "spawn", name = "Pride Frog Group Size", min = 0) + public static int frogMaxGroupSize = 5; } diff --git a/src/main/java/gay/pridecraft/joymod/datagen/ModModelProvider.java b/src/main/java/gay/pridecraft/joymod/datagen/ModModelProvider.java index cb6dd4e..7f01b98 100644 --- a/src/main/java/gay/pridecraft/joymod/datagen/ModModelProvider.java +++ b/src/main/java/gay/pridecraft/joymod/datagen/ModModelProvider.java @@ -4,9 +4,11 @@ import gay.pridecraft.joymod.block.ModBlocks; import gay.pridecraft.joymod.item.ModItems; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricModelProvider; +import net.minecraft.block.Blocks; import net.minecraft.data.client.BlockStateModelGenerator; import net.minecraft.data.client.ItemModelGenerator; import net.minecraft.data.client.Models; +import net.minecraft.item.Item; public class ModModelProvider extends FabricModelProvider { public ModModelProvider(FabricDataOutput output) { @@ -39,6 +41,5 @@ public class ModModelProvider extends FabricModelProvider { itemModelGenerator.register(ModItems.PRIDE_ELYTRA, Models.GENERATED); itemModelGenerator.register(ModItems.PRIDE_BRUSH, Models.GENERATED); itemModelGenerator.register(ModItems.PRIDE_SLIME_BALL, Models.GENERATED); - itemModelGenerator.register(ModItems.THIGH_HIGH_FOX_SPAWN_EGG, Models.GENERATED); } } \ No newline at end of file diff --git a/src/main/java/gay/pridecraft/joymod/item/ModItems.java b/src/main/java/gay/pridecraft/joymod/item/ModItems.java index 4fcf81e..def0a93 100644 --- a/src/main/java/gay/pridecraft/joymod/item/ModItems.java +++ b/src/main/java/gay/pridecraft/joymod/item/ModItems.java @@ -20,16 +20,15 @@ public class ModItems { new Item(new FabricItemSettings().maxCount(1))); public static final Item PRIDE_BRUSH = registerItem("pride_brush", new BrushItem(new FabricItemSettings())); public static final Item PRIDE_SLIME_BALL = registerItem("pride_slime_ball", new Item(new FabricItemSettings())); - public static final Item THIGH_HIGH_FOX_SPAWN_EGG = registerItem("thigh_high_fox_spawn_egg", new RainbowSpawnEggItem(ModEntities.THIGH_HIGH_FOX, 0xFFFFFF, 0xFF69B4, new FabricItemSettings())); - public static final Item PRIDE_BII_SPAWN_EGG = registerItem("pride_bii_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_BII, 0xFFFFFF, 0xFF69B4, new FabricItemSettings())); - public static final Item PRIDE_AXOLOTL_SPAWN_EGG = registerItem("pride_axolotl_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_AXOLOTL, 0xFFFFFF, 0xFF69B4, new FabricItemSettings())); - public static final Item PRIDE_FROG_SPAWN_EGG = registerItem("pride_frog_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_FROG, 0xFFFFFF, 0xFF69B4, new FabricItemSettings())); - public static final Item PRIDE_SLIME_SPAWN_EGG = registerItem("pride_slime_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_SLIME, 0xFFFFFF, 0xFF69B4, new FabricItemSettings())); - public static final Item PRIDE_SNIFFER_SPAWN_EGG = registerItem("pride_sniffer_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_SNIFFER, 0xFFFFFF, 0xFF69B4, new FabricItemSettings())); + public static final Item THIGH_HIGH_FOX_SPAWN_EGG = registerItem("thigh_high_fox_spawn_egg", new RainbowSpawnEggItem(ModEntities.THIGH_HIGH_FOX, 14005919, 0xff80bf, new FabricItemSettings())); + public static final Item PRIDE_BII_SPAWN_EGG = registerItem("pride_bii_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_BII, 15582019, 0xFF69B4, new FabricItemSettings())); + public static final Item PRIDE_AXOLOTL_SPAWN_EGG = registerItem("pride_axolotl_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_AXOLOTL, 16499171, 0xff80bf, new FabricItemSettings())); + public static final Item PRIDE_FROG_SPAWN_EGG = registerItem("pride_frog_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_FROG, 13661252, 0xff80bf, new FabricItemSettings())); + public static final Item PRIDE_SLIME_SPAWN_EGG = registerItem("pride_slime_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_SLIME, 5349438, 0xff80bf, new FabricItemSettings())); + public static final Item PRIDE_SNIFFER_SPAWN_EGG = registerItem("pride_sniffer_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_SNIFFER, 8855049, 0xff80bf, new FabricItemSettings())); private static Item registerItem(String name, Item item) { return Registry.register(Registries.ITEM, new Identifier(JoyMod.MOD_ID, name), item); - } public static void registerModItems() { diff --git a/src/main/java/gay/pridecraft/joymod/mixin/SplashTextResourceSupplierMixin.java b/src/main/java/gay/pridecraft/joymod/mixin/SplashTextResourceSupplierMixin.java index 38a1ac2..134cd55 100644 --- a/src/main/java/gay/pridecraft/joymod/mixin/SplashTextResourceSupplierMixin.java +++ b/src/main/java/gay/pridecraft/joymod/mixin/SplashTextResourceSupplierMixin.java @@ -1,11 +1,12 @@ package gay.pridecraft.joymod.mixin; +import gay.pridecraft.joymod.JoyMod; +import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.resource.SplashTextResourceSupplier; import org.spongepowered.asm.mixin.Mixin; import net.minecraft.resource.ResourceManager; import net.minecraft.util.profiler.Profiler; -import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @@ -14,19 +15,25 @@ import java.util.List; @Mixin(SplashTextResourceSupplier.class) public class SplashTextResourceSupplierMixin { - @Unique - private static final List AUTHORS = List.of("Wolren", "Blurryface", "Sake", "Ampflower", "Pridecraft Studios", "UnlikePaladin"); //Honestly Wolren should be first as they did... literally all the mod apart from textures - @Inject(method = "prepare*", at = @At("RETURN"), cancellable = true) private void onPrepare(ResourceManager resourceManager, Profiler profiler, CallbackInfoReturnable> cir) { List splashes = cir.getReturnValue(); - for (String author : AUTHORS) { - splashes.add("Made by " + author + "!"); - } + FabricLoader + .getInstance() + .getModContainer(JoyMod.MOD_ID) + .ifPresent(modContainer -> + modContainer + .getMetadata() + .getAuthors() + .forEach(author -> + splashes.add("Made by " + author.getName() + "!") + ) + ); cir.setReturnValue(splashes); } } //Thanks for helping us so much Wolren, we couldn't have made any of this without you. +// Answer: Thanks, hope more people will be interested in working on it once we get the first release ;) diff --git a/src/main/resources/assets/joymod/models/item/ace_bed.json b/src/main/resources/assets/joymod/models/item/ace_bed.json new file mode 100644 index 0000000..3d22676 --- /dev/null +++ b/src/main/resources/assets/joymod/models/item/ace_bed.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/template_bed", + "textures": { + "layer0": "joymod:block/ace_bed", + "particle": "minecraft:block/oak_planks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/joymod/models/item/pride_axolotl_spawn_egg.json b/src/main/resources/assets/joymod/models/item/pride_axolotl_spawn_egg.json new file mode 100644 index 0000000..fb8b11e --- /dev/null +++ b/src/main/resources/assets/joymod/models/item/pride_axolotl_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} diff --git a/src/main/resources/assets/joymod/models/item/pride_bii_spawn_egg.json b/src/main/resources/assets/joymod/models/item/pride_bii_spawn_egg.json new file mode 100644 index 0000000..fb8b11e --- /dev/null +++ b/src/main/resources/assets/joymod/models/item/pride_bii_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} diff --git a/src/main/resources/assets/joymod/models/item/pride_frog_spawn_egg.json b/src/main/resources/assets/joymod/models/item/pride_frog_spawn_egg.json new file mode 100644 index 0000000..fb8b11e --- /dev/null +++ b/src/main/resources/assets/joymod/models/item/pride_frog_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} diff --git a/src/main/resources/assets/joymod/models/item/pride_slime_spawn_egg.json b/src/main/resources/assets/joymod/models/item/pride_slime_spawn_egg.json new file mode 100644 index 0000000..fb8b11e --- /dev/null +++ b/src/main/resources/assets/joymod/models/item/pride_slime_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} diff --git a/src/main/resources/assets/joymod/models/item/pride_sniffer_spawn_egg.json b/src/main/resources/assets/joymod/models/item/pride_sniffer_spawn_egg.json new file mode 100644 index 0000000..fb8b11e --- /dev/null +++ b/src/main/resources/assets/joymod/models/item/pride_sniffer_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} diff --git a/src/main/resources/assets/joymod/models/item/thigh_high_fox_spawn_egg.json b/src/main/resources/assets/joymod/models/item/thigh_high_fox_spawn_egg.json new file mode 100644 index 0000000..fb8b11e --- /dev/null +++ b/src/main/resources/assets/joymod/models/item/thigh_high_fox_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index eed26a9..8baafa2 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -5,9 +5,7 @@ "name": "JoyMod", "description": "This is an LGBT pride-themed Fabric mod made by Pridecraft Studios.", "authors": [ - "Blurryface", - "Wolren", - "UnlikePaladin" + "Wolren", "Blurryface", "Sake", "Ampflower", "Pridecraft Studios", "UnlikePaladin" ], "contact": { "homepage": "https://pridecraft.gay/",