feat: update to 1.21

Broken:
* `ModPaintings`: no paintings in the game appear if the mod is installed even having the painting completely disabled, I have reverted my 1.21 port for them, and commented out the current code.
* `TotemOfPrideParticle`: doesn't work
This commit is contained in:
TheClashFruit 2024-06-19 08:28:04 +02:00
parent bee5c57579
commit a24cfc824e
No known key found for this signature in database
GPG Key ID: 09BB24C34C2F3204
22 changed files with 170 additions and 167 deletions

View File

@ -50,7 +50,7 @@ processResources {
} }
tasks.withType(JavaCompile).configureEach { tasks.withType(JavaCompile).configureEach {
it.options.release = 17 it.options.release = 21
} }
java { java {
@ -59,8 +59,8 @@ java {
// If you remove this line, sources will not be generated. // If you remove this line, sources will not be generated.
withSourcesJar() withSourcesJar()
sourceCompatibility = JavaVersion.VERSION_17 sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_21
} }
jar { jar {

View File

@ -1,14 +1,14 @@
org.gradle.jvmargs=-Xmx2G org.gradle.jvmargs=-Xmx2G
org.gradle.parallel=true org.gradle.parallel=true
minecraft_version=1.20.4 minecraft_version=1.21
yarn_mappings=1.20.4+build.3 yarn_mappings=1.21+build.2
loader_version=0.15.10 loader_version=0.15.11
mod_version = 1.0.0-1.20.4 mod_version = 1.0.0+mc1.21
maven_group = gay.pridecraft maven_group = gay.pridecraft
archives_base_name = joymod archives_base_name = joymod
fabric_version=0.92.1+1.20.4 fabric_version=0.100.1+1.21
midnightlib_version=1.5.3-fabric midnightlib_version=1.5.7-fabric
badges_lib=2023.6.1 badges_lib=2023.6.1

View File

@ -7,7 +7,6 @@ import gay.pridecraft.joymod.entity.ModEntities;
import gay.pridecraft.joymod.entity.spawn.SpawnModifier; import gay.pridecraft.joymod.entity.spawn.SpawnModifier;
import gay.pridecraft.joymod.item.ModItemGroups; import gay.pridecraft.joymod.item.ModItemGroups;
import gay.pridecraft.joymod.item.ModItems; import gay.pridecraft.joymod.item.ModItems;
import gay.pridecraft.joymod.painting.ModPaintings;
import gay.pridecraft.joymod.particle.ModParticles; import gay.pridecraft.joymod.particle.ModParticles;
import net.fabricmc.api.ModInitializer; import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
@ -16,8 +15,7 @@ import net.minecraft.client.sound.PositionedSoundInstance;
import net.minecraft.client.sound.SoundInstance; import net.minecraft.client.sound.SoundInstance;
import net.minecraft.entity.attribute.EntityAttributes; import net.minecraft.entity.attribute.EntityAttributes;
import net.minecraft.entity.mob.MobEntity; import net.minecraft.entity.mob.MobEntity;
import net.minecraft.registry.Registries; import net.minecraft.registry.*;
import net.minecraft.registry.Registry;
import net.minecraft.sound.SoundEvent; import net.minecraft.sound.SoundEvent;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -28,7 +26,7 @@ import java.util.Random;
public class JoyMod implements ModInitializer { public class JoyMod implements ModInitializer {
public static final String MOD_ID = "joymod"; public static final String MOD_ID = "joymod";
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
public static final Identifier MUSIC_GAME = new Identifier(MOD_ID, "music.ambient"); public static final Identifier MUSIC_GAME = Identifier.of(MOD_ID, "music.ambient");
public static SoundEvent MUSIC_GAME_EVENT = SoundEvent.of(MUSIC_GAME); public static SoundEvent MUSIC_GAME_EVENT = SoundEvent.of(MUSIC_GAME);
private int tickCounter = 0; private int tickCounter = 0;
private final Random random = new Random(); private final Random random = new Random();
@ -40,7 +38,9 @@ public class JoyMod implements ModInitializer {
ModItems.registerModItems(); ModItems.registerModItems();
ModBlocks.registerModBlocks(); ModBlocks.registerModBlocks();
ModEntities.registerBlockEntities(); ModEntities.registerBlockEntities();
ModPaintings.registerPaintings();
// TODO: fix
// ModPaintings.registerPaintings();
if (Config.mobSpawning) { if (Config.mobSpawning) {
SpawnModifier.modifySpawning(); SpawnModifier.modifySpawning();

View File

@ -27,11 +27,11 @@ public class JoyModClient implements ClientModInitializer {
registerEntityRenderers(); registerEntityRenderers();
LivingEntityFeatureRendererRegistrationCallback.EVENT.register((entityType, entityRenderer, registrationHelper, context) -> { LivingEntityFeatureRendererRegistrationCallback.EVENT.register((entityType, entityRenderer, registrationHelper, context) -> {
Identifier elytra = new Identifier("minecraft:textures/entity/elytra.png"); Identifier elytra = Identifier.ofVanilla("textures/entity/elytra.png");
registrationHelper.register(new CustomElytraFeatureRenderer<>(entityRenderer, context.getModelLoader(), elytra)); registrationHelper.register(new CustomElytraFeatureRenderer<>(entityRenderer, context.getModelLoader(), elytra));
}); });
ParticleFactoryRegistry.getInstance().register(ModParticles.TOTEM_OF_PRIDE_PARTICLE, TotemOfPrideParticle.Factory::new); // ParticleFactoryRegistry.getInstance().register(ModParticles.TOTEM_OF_PRIDE_PARTICLE, TotemOfPrideParticle.Factory::new);
} }
private static void registerBedBlockRenderLayers() { private static void registerBedBlockRenderLayers() {

View File

@ -2,12 +2,7 @@ package gay.pridecraft.joymod.block;
import gay.pridecraft.joymod.JoyMod; import gay.pridecraft.joymod.JoyMod;
import gay.pridecraft.joymod.block.custom.CustomBedBlock; import gay.pridecraft.joymod.block.custom.CustomBedBlock;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings; import net.minecraft.block.*;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.Block;
import net.minecraft.block.Blocks;
import net.minecraft.block.CandleBlock;
import net.minecraft.block.CandleCakeBlock;
import net.minecraft.item.BlockItem; import net.minecraft.item.BlockItem;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.registry.Registries; import net.minecraft.registry.Registries;
@ -17,161 +12,159 @@ import net.minecraft.util.Identifier;
public class ModBlocks { public class ModBlocks {
public static final Block GAY_BED = registerBlock("gay_bed", public static final Block GAY_BED = registerBlock("gay_bed",
new CustomBedBlock(FabricBlockSettings.copyOf(Blocks.RED_BED))); new CustomBedBlock(AbstractBlock.Settings.copy(Blocks.RED_BED)));
public static final Block ENBY_BED = registerBlock("enby_bed", public static final Block ENBY_BED = registerBlock("enby_bed",
new CustomBedBlock(FabricBlockSettings.copyOf(Blocks.BLACK_BED))); new CustomBedBlock(AbstractBlock.Settings.copy(Blocks.BLACK_BED)));
public static final Block INTERSEX_BED = registerBlock("intersex_bed", public static final Block INTERSEX_BED = registerBlock("intersex_bed",
new CustomBedBlock(FabricBlockSettings.copyOf(Blocks.GREEN_BED))); new CustomBedBlock(AbstractBlock.Settings.copy(Blocks.GREEN_BED)));
public static final Block AGENDER_BED = registerBlock("agender_bed", public static final Block AGENDER_BED = registerBlock("agender_bed",
new CustomBedBlock(FabricBlockSettings.copyOf(Blocks.BROWN_BED))); new CustomBedBlock(AbstractBlock.Settings.copy(Blocks.BROWN_BED)));
public static final Block BIGENDER_BED = registerBlock("bigender_bed", public static final Block BIGENDER_BED = registerBlock("bigender_bed",
new CustomBedBlock(FabricBlockSettings.copyOf(Blocks.BLUE_BED))); new CustomBedBlock(AbstractBlock.Settings.copy(Blocks.BLUE_BED)));
public static final Block BISEXUAL_BED = registerBlock("bisexual_bed", public static final Block BISEXUAL_BED = registerBlock("bisexual_bed",
new CustomBedBlock(FabricBlockSettings.copyOf(Blocks.PURPLE_BED))); new CustomBedBlock(AbstractBlock.Settings.copy(Blocks.PURPLE_BED)));
public static final Block MLM_BED = registerBlock("mlm_bed", public static final Block MLM_BED = registerBlock("mlm_bed",
new CustomBedBlock(FabricBlockSettings.copyOf(Blocks.CYAN_BED))); new CustomBedBlock(AbstractBlock.Settings.copy(Blocks.CYAN_BED)));
public static final Block ACE_BED = registerBlock("ace_bed", public static final Block ACE_BED = registerBlock("ace_bed",
new CustomBedBlock(FabricBlockSettings.copyOf(Blocks.LIGHT_GRAY_BED))); new CustomBedBlock(AbstractBlock.Settings.copy(Blocks.LIGHT_GRAY_BED)));
public static final Block ARO_BED = registerBlock("aro_bed", public static final Block ARO_BED = registerBlock("aro_bed",
new CustomBedBlock(FabricBlockSettings.copyOf(Blocks.GRAY_BED))); new CustomBedBlock(AbstractBlock.Settings.copy(Blocks.GRAY_BED)));
public static final Block APLATONIC_BED = registerBlock("aplatonic_bed", public static final Block APLATONIC_BED = registerBlock("aplatonic_bed",
new CustomBedBlock(FabricBlockSettings.copyOf(Blocks.PINK_BED))); new CustomBedBlock(AbstractBlock.Settings.copy(Blocks.PINK_BED)));
public static final Block GENDER_FLUID_BED = registerBlock("gender_fluid_bed", public static final Block GENDER_FLUID_BED = registerBlock("gender_fluid_bed",
new CustomBedBlock(FabricBlockSettings.copyOf(Blocks.LIME_BED))); new CustomBedBlock(AbstractBlock.Settings.copy(Blocks.LIME_BED)));
public static final Block PAN_BED = registerBlock("pan_bed", public static final Block PAN_BED = registerBlock("pan_bed",
new CustomBedBlock(FabricBlockSettings.copyOf(Blocks.YELLOW_BED))); new CustomBedBlock(AbstractBlock.Settings.copy(Blocks.YELLOW_BED)));
public static final Block TRANS_BED = registerBlock("trans_bed", public static final Block TRANS_BED = registerBlock("trans_bed",
new CustomBedBlock(FabricBlockSettings.copyOf(Blocks.LIGHT_BLUE_BED))); new CustomBedBlock(AbstractBlock.Settings.copy(Blocks.LIGHT_BLUE_BED)));
public static final Block AROACE_BED = registerBlock("aroace_bed", public static final Block AROACE_BED = registerBlock("aroace_bed",
new CustomBedBlock(FabricBlockSettings.copyOf(Blocks.MAGENTA_BED))); new CustomBedBlock(AbstractBlock.Settings.copy(Blocks.MAGENTA_BED)));
public static final Block LESBIAN_BED = registerBlock("lesbian_bed", public static final Block LESBIAN_BED = registerBlock("lesbian_bed",
new CustomBedBlock(FabricBlockSettings.copyOf(Blocks.ORANGE_BED))); new CustomBedBlock(AbstractBlock.Settings.copy(Blocks.ORANGE_BED)));
public static final Block PROGRESS_BED = registerBlock("progress_bed", public static final Block PROGRESS_BED = registerBlock("progress_bed",
new CustomBedBlock(FabricBlockSettings.copyOf(Blocks.WHITE_BED))); new CustomBedBlock(AbstractBlock.Settings.copy(Blocks.WHITE_BED)));
public static final Block GAY_CANDLE = registerBlock("gay_candle", public static final Block GAY_CANDLE = registerBlock("gay_candle",
new CandleBlock(FabricBlockSettings.copyOf(Blocks.CANDLE))); new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
public static final Block ENBY_CANDLE = registerBlock("enby_candle", public static final Block ENBY_CANDLE = registerBlock("enby_candle",
new CandleBlock(FabricBlockSettings.copyOf(Blocks.CANDLE))); new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
public static final Block INTERSEX_CANDLE = registerBlock("intersex_candle", public static final Block INTERSEX_CANDLE = registerBlock("intersex_candle",
new CandleBlock(FabricBlockSettings.copyOf(Blocks.CANDLE))); new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
public static final Block AGENDER_CANDLE = registerBlock("agender_candle", public static final Block AGENDER_CANDLE = registerBlock("agender_candle",
new CandleBlock(FabricBlockSettings.copyOf(Blocks.CANDLE))); new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
public static final Block BIGENDER_CANDLE = registerBlock("bigender_candle", public static final Block BIGENDER_CANDLE = registerBlock("bigender_candle",
new CandleBlock(FabricBlockSettings.copyOf(Blocks.CANDLE))); new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
public static final Block BISEXUAL_CANDLE = registerBlock("bisexual_candle", public static final Block BISEXUAL_CANDLE = registerBlock("bisexual_candle",
new CandleBlock(FabricBlockSettings.copyOf(Blocks.CANDLE))); new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
public static final Block MLM_CANDLE = registerBlock("mlm_candle", public static final Block MLM_CANDLE = registerBlock("mlm_candle",
new CandleBlock(FabricBlockSettings.copyOf(Blocks.CANDLE))); new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
public static final Block ACE_CANDLE = registerBlock("ace_candle", public static final Block ACE_CANDLE = registerBlock("ace_candle",
new CandleBlock(FabricBlockSettings.copyOf(Blocks.CANDLE))); new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
public static final Block ARO_CANDLE = registerBlock("aro_candle", public static final Block ARO_CANDLE = registerBlock("aro_candle",
new CandleBlock(FabricBlockSettings.copyOf(Blocks.CANDLE))); new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
public static final Block APLATONIC_CANDLE = registerBlock("aplatonic_candle", public static final Block APLATONIC_CANDLE = registerBlock("aplatonic_candle",
new CandleBlock(FabricBlockSettings.copyOf(Blocks.CANDLE))); new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
public static final Block GENDER_FLUID_CANDLE = registerBlock("gender_fluid_candle", public static final Block GENDER_FLUID_CANDLE = registerBlock("gender_fluid_candle",
new CandleBlock(FabricBlockSettings.copyOf(Blocks.CANDLE))); new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
public static final Block PAN_CANDLE = registerBlock("pan_candle", public static final Block PAN_CANDLE = registerBlock("pan_candle",
new CandleBlock(FabricBlockSettings.copyOf(Blocks.CANDLE))); new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
public static final Block TRANS_CANDLE = registerBlock("trans_candle", public static final Block TRANS_CANDLE = registerBlock("trans_candle",
new CandleBlock(FabricBlockSettings.copyOf(Blocks.CANDLE))); new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
public static final Block AROACE_CANDLE = registerBlock("aroace_candle", public static final Block AROACE_CANDLE = registerBlock("aroace_candle",
new CandleBlock(FabricBlockSettings.copyOf(Blocks.CANDLE))); new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
public static final Block LESBIAN_CANDLE = registerBlock("lesbian_candle", public static final Block LESBIAN_CANDLE = registerBlock("lesbian_candle",
new CandleBlock(FabricBlockSettings.copyOf(Blocks.CANDLE))); new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
public static final Block PROGRESS_CANDLE = registerBlock("progress_candle", public static final Block PROGRESS_CANDLE = registerBlock("progress_candle",
new CandleBlock(FabricBlockSettings.copyOf(Blocks.CANDLE))); new CandleBlock(AbstractBlock.Settings.copy(Blocks.CANDLE)));
public static final Block GAY_CANDLE_CAKE = registerBlock("gay_candle_cake", public static final Block GAY_CANDLE_CAKE = registerBlock("gay_candle_cake",
new CandleCakeBlock(GAY_CANDLE, FabricBlockSettings.copyOf(Blocks.CANDLE_CAKE))); new CandleCakeBlock(GAY_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
public static final Block ENBY_CANDLE_CAKE = registerBlock("enby_candle_cake", public static final Block ENBY_CANDLE_CAKE = registerBlock("enby_candle_cake",
new CandleCakeBlock(ENBY_CANDLE, FabricBlockSettings.copyOf(Blocks.CANDLE_CAKE))); new CandleCakeBlock(ENBY_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
public static final Block INTERSEX_CANDLE_CAKE = registerBlock("intersex_candle_cake", public static final Block INTERSEX_CANDLE_CAKE = registerBlock("intersex_candle_cake",
new CandleCakeBlock(INTERSEX_CANDLE, FabricBlockSettings.copyOf(Blocks.CANDLE_CAKE))); new CandleCakeBlock(INTERSEX_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
public static final Block AGENDER_CANDLE_CAKE = registerBlock("agender_candle_cake", public static final Block AGENDER_CANDLE_CAKE = registerBlock("agender_candle_cake",
new CandleCakeBlock(AGENDER_CANDLE, FabricBlockSettings.copyOf(Blocks.CANDLE_CAKE))); new CandleCakeBlock(AGENDER_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
public static final Block BIGENDER_CANDLE_CAKE = registerBlock("bigender_candle_cake", public static final Block BIGENDER_CANDLE_CAKE = registerBlock("bigender_candle_cake",
new CandleCakeBlock(BIGENDER_CANDLE, FabricBlockSettings.copyOf(Blocks.CANDLE_CAKE))); new CandleCakeBlock(BIGENDER_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
public static final Block BISEXUAL_CANDLE_CAKE = registerBlock("bisexual_candle_cake", public static final Block BISEXUAL_CANDLE_CAKE = registerBlock("bisexual_candle_cake",
new CandleCakeBlock(BISEXUAL_CANDLE, FabricBlockSettings.copyOf(Blocks.CANDLE_CAKE))); new CandleCakeBlock(BISEXUAL_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
public static final Block MLM_CANDLE_CAKE = registerBlock("mlm_candle_cake", public static final Block MLM_CANDLE_CAKE = registerBlock("mlm_candle_cake",
new CandleCakeBlock(MLM_CANDLE, FabricBlockSettings.copyOf(Blocks.CANDLE_CAKE))); new CandleCakeBlock(MLM_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
public static final Block ACE_CANDLE_CAKE = registerBlock("ace_candle_cake", public static final Block ACE_CANDLE_CAKE = registerBlock("ace_candle_cake",
new CandleCakeBlock(ACE_CANDLE, FabricBlockSettings.copyOf(Blocks.CANDLE_CAKE))); new CandleCakeBlock(ACE_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
public static final Block ARO_CANDLE_CAKE = registerBlock("aro_candle_cake", public static final Block ARO_CANDLE_CAKE = registerBlock("aro_candle_cake",
new CandleCakeBlock(ARO_CANDLE, FabricBlockSettings.copyOf(Blocks.CANDLE_CAKE))); new CandleCakeBlock(ARO_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
public static final Block APLATONIC_CANDLE_CAKE = registerBlock("aplatonic_candle_cake", public static final Block APLATONIC_CANDLE_CAKE = registerBlock("aplatonic_candle_cake",
new CandleCakeBlock(APLATONIC_CANDLE, FabricBlockSettings.copyOf(Blocks.CANDLE_CAKE))); new CandleCakeBlock(APLATONIC_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
public static final Block GENDER_FLUID_CANDLE_CAKE = registerBlock("gender_fluid_candle_cake", public static final Block GENDER_FLUID_CANDLE_CAKE = registerBlock("gender_fluid_candle_cake",
new CandleCakeBlock(GENDER_FLUID_CANDLE, FabricBlockSettings.copyOf(Blocks.CANDLE_CAKE))); new CandleCakeBlock(GENDER_FLUID_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
public static final Block PAN_CANDLE_CAKE = registerBlock("pan_candle_cake", public static final Block PAN_CANDLE_CAKE = registerBlock("pan_candle_cake",
new CandleCakeBlock(PAN_CANDLE, FabricBlockSettings.copyOf(Blocks.CANDLE_CAKE))); new CandleCakeBlock(PAN_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
public static final Block TRANS_CANDLE_CAKE = registerBlock("trans_candle_cake", public static final Block TRANS_CANDLE_CAKE = registerBlock("trans_candle_cake",
new CandleCakeBlock(TRANS_CANDLE, FabricBlockSettings.copyOf(Blocks.CANDLE_CAKE))); new CandleCakeBlock(TRANS_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
public static final Block AROACE_CANDLE_CAKE = registerBlock("aroace_candle_cake", public static final Block AROACE_CANDLE_CAKE = registerBlock("aroace_candle_cake",
new CandleCakeBlock(AROACE_CANDLE, FabricBlockSettings.copyOf(Blocks.CANDLE_CAKE))); new CandleCakeBlock(AROACE_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
public static final Block LESBIAN_CANDLE_CAKE = registerBlock("lesbian_candle_cake", public static final Block LESBIAN_CANDLE_CAKE = registerBlock("lesbian_candle_cake",
new CandleCakeBlock(LESBIAN_CANDLE, FabricBlockSettings.copyOf(Blocks.CANDLE_CAKE))); new CandleCakeBlock(LESBIAN_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
public static final Block PROGRESS_CANDLE_CAKE = registerBlock("progress_candle_cake", public static final Block PROGRESS_CANDLE_CAKE = registerBlock("progress_candle_cake",
new CandleCakeBlock(PROGRESS_CANDLE, FabricBlockSettings.copyOf(Blocks.CANDLE_CAKE))); new CandleCakeBlock(PROGRESS_CANDLE, AbstractBlock.Settings.copy(Blocks.CANDLE_CAKE)));
private static Block registerBlock(String name, Block block) { private static Block registerBlock(String name, Block block) {
registerBlockItem(name, block); registerBlockItem(name, block);
return Registry.register(Registries.BLOCK, new Identifier(JoyMod.MOD_ID, name), block); return Registry.register(Registries.BLOCK, Identifier.of(JoyMod.MOD_ID, name), block);
} }
private static Item registerBlockItem(String name, Block block) { private static Item registerBlockItem(String name, Block block) {
return Registry.register(Registries.ITEM, Identifier.of(JoyMod.MOD_ID, name),
return Registry.register(Registries.ITEM, new Identifier(JoyMod.MOD_ID, name), new BlockItem(block, new Item.Settings()));
new BlockItem(block, new FabricItemSettings()));
} }
public static void registerModBlocks() { public static void registerModBlocks() {

View File

@ -2,10 +2,13 @@ package gay.pridecraft.joymod.datagen;
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider;
import net.minecraft.registry.RegistryWrapper;
import java.util.concurrent.CompletableFuture;
public class ModLootTableProvider extends FabricBlockLootTableProvider { public class ModLootTableProvider extends FabricBlockLootTableProvider {
public ModLootTableProvider(FabricDataOutput dataOutput) { public ModLootTableProvider(FabricDataOutput dataOutput, CompletableFuture<RegistryWrapper.WrapperLookup> registryLookup) {
super(dataOutput); super(dataOutput, registryLookup);
} }
@Override @Override

View File

@ -3,11 +3,14 @@ package gay.pridecraft.joymod.datagen;
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider;
import net.minecraft.data.server.recipe.RecipeExporter; import net.minecraft.data.server.recipe.RecipeExporter;
import net.minecraft.registry.RegistryWrapper;
import java.util.concurrent.CompletableFuture;
public class ModRecipeProvider extends FabricRecipeProvider { public class ModRecipeProvider extends FabricRecipeProvider {
public ModRecipeProvider(FabricDataOutput output) { public ModRecipeProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) {
super(output); super(output, registriesFuture);
} }
@Override @Override

View File

@ -4,10 +4,7 @@ import gay.pridecraft.joymod.JoyMod;
import gay.pridecraft.joymod.entity.custom.CustomBedBlockEntity; import gay.pridecraft.joymod.entity.custom.CustomBedBlockEntity;
import gay.pridecraft.joymod.block.ModBlocks; import gay.pridecraft.joymod.block.ModBlocks;
import gay.pridecraft.joymod.entity.custom.living.*; import gay.pridecraft.joymod.entity.custom.living.*;
import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder;
import net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder;
import net.minecraft.block.entity.BlockEntityType; import net.minecraft.block.entity.BlockEntityType;
import net.minecraft.entity.EntityDimensions;
import net.minecraft.entity.EntityType; import net.minecraft.entity.EntityType;
import net.minecraft.registry.Registries; import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry; import net.minecraft.registry.Registry;
@ -16,8 +13,8 @@ import net.minecraft.util.Identifier;
public class ModEntities { public class ModEntities {
public static final BlockEntityType<CustomBedBlockEntity> CUSTOM_BED_BLOCK_ENTITY = Registry.register( public static final BlockEntityType<CustomBedBlockEntity> CUSTOM_BED_BLOCK_ENTITY = Registry.register(
Registries.BLOCK_ENTITY_TYPE, Registries.BLOCK_ENTITY_TYPE,
new Identifier(JoyMod.MOD_ID, "pride_blocks"), Identifier.of(JoyMod.MOD_ID, "pride_blocks"),
FabricBlockEntityTypeBuilder.create(CustomBedBlockEntity::new, BlockEntityType.Builder.create(CustomBedBlockEntity::new,
ModBlocks.ACE_BED, ModBlocks.ACE_BED,
ModBlocks.AGENDER_BED, ModBlocks.AGENDER_BED,
ModBlocks.APLATONIC_BED, ModBlocks.APLATONIC_BED,
@ -38,51 +35,57 @@ public class ModEntities {
); );
public static final EntityType<CustomFoxEntity.ThighHighFoxEntity> THIGH_HIGH_FOX = Registry.register( public static final EntityType<CustomFoxEntity.ThighHighFoxEntity> THIGH_HIGH_FOX = Registry.register(
Registries.ENTITY_TYPE, Registries.ENTITY_TYPE,
new Identifier(JoyMod.MOD_ID, "thigh_high_fox"), Identifier.of(JoyMod.MOD_ID, "thigh_high_fox"),
FabricEntityTypeBuilder.create(EntityType.FOX.getSpawnGroup(), CustomFoxEntity.ThighHighFoxEntity::new) EntityType.Builder.create(CustomFoxEntity.ThighHighFoxEntity::new, EntityType.FOX.getSpawnGroup())
.dimensions(EntityDimensions.fixed(0.6f, 0.7f)) .dimensions(0.6f, 0.7f)
.trackRangeBlocks(8).build() .maxTrackingRange(8)
.build()
); );
public static final EntityType<CustomBeeEntity.PrideBiiEntity> PRIDE_BII = Registry.register( public static final EntityType<CustomBeeEntity.PrideBiiEntity> PRIDE_BII = Registry.register(
Registries.ENTITY_TYPE, Registries.ENTITY_TYPE,
new Identifier(JoyMod.MOD_ID, "pride_bii"), Identifier.of(JoyMod.MOD_ID, "pride_bii"),
FabricEntityTypeBuilder.create(EntityType.BEE.getSpawnGroup(), CustomBeeEntity.PrideBiiEntity::new) EntityType.Builder.create(CustomBeeEntity.PrideBiiEntity::new, EntityType.BEE.getSpawnGroup())
.dimensions(EntityDimensions.fixed(0.7f, 0.6f)) .dimensions(0.7f, 0.6f)
.trackRangeBlocks(8).build() .maxTrackingRange(8)
.build()
); );
public static final EntityType<CustomAxolotlEntity.PrideAxolotlEntity> PRIDE_AXOLOTL = Registry.register( public static final EntityType<CustomAxolotlEntity.PrideAxolotlEntity> PRIDE_AXOLOTL = Registry.register(
Registries.ENTITY_TYPE, Registries.ENTITY_TYPE,
new Identifier(JoyMod.MOD_ID, "pride_axolotl"), Identifier.of(JoyMod.MOD_ID, "pride_axolotl"),
FabricEntityTypeBuilder.create(EntityType.AXOLOTL.getSpawnGroup(), CustomAxolotlEntity.PrideAxolotlEntity::new) EntityType.Builder.create(CustomAxolotlEntity.PrideAxolotlEntity::new, EntityType.AXOLOTL.getSpawnGroup())
.dimensions(EntityDimensions.fixed(0.75F, 0.42F)) .dimensions(0.75F, 0.42F)
.trackRangeBlocks(10).build() .maxTrackingRange(10)
.build()
); );
public static final EntityType<CustomFrogEntity.PrideFrogEntity> PRIDE_FROG = Registry.register( public static final EntityType<CustomFrogEntity.PrideFrogEntity> PRIDE_FROG = Registry.register(
Registries.ENTITY_TYPE, Registries.ENTITY_TYPE,
new Identifier(JoyMod.MOD_ID, "pride_frog"), Identifier.of(JoyMod.MOD_ID, "pride_frog"),
FabricEntityTypeBuilder.create(EntityType.FROG.getSpawnGroup(), CustomFrogEntity.PrideFrogEntity::new) EntityType.Builder.create(CustomFrogEntity.PrideFrogEntity::new, EntityType.FROG.getSpawnGroup())
.dimensions(EntityDimensions.fixed(0.5F, 0.5f)) .dimensions(0.5F, 0.5f)
.trackRangeBlocks(10).build() .maxTrackingRange(10)
.build()
); );
public static final EntityType<CustomSlimeEntity.PrideSlimeEntity> PRIDE_SLIME = Registry.register( public static final EntityType<CustomSlimeEntity.PrideSlimeEntity> PRIDE_SLIME = Registry.register(
Registries.ENTITY_TYPE, Registries.ENTITY_TYPE,
new Identifier(JoyMod.MOD_ID, "pride_slime"), Identifier.of(JoyMod.MOD_ID, "pride_slime"),
FabricEntityTypeBuilder.create(EntityType.SLIME.getSpawnGroup(), CustomSlimeEntity.PrideSlimeEntity::new) EntityType.Builder.create(CustomSlimeEntity.PrideSlimeEntity::new, EntityType.SLIME.getSpawnGroup())
.dimensions(EntityDimensions.changing(2.04F, 2.04F)) .dimensions(0.5f, 0.5f)
.trackRangeBlocks(10).build() .maxTrackingRange(10)
.build()
); );
public static final EntityType<CustomSnifferEntity.PrideSnifferEntity> PRIDE_SNIFFER = Registry.register( public static final EntityType<CustomSnifferEntity.PrideSnifferEntity> PRIDE_SNIFFER = Registry.register(
Registries.ENTITY_TYPE, Registries.ENTITY_TYPE,
new Identifier(JoyMod.MOD_ID, "pride_sniffer"), Identifier.of(JoyMod.MOD_ID, "pride_sniffer"),
FabricEntityTypeBuilder.create(EntityType.SNIFFER.getSpawnGroup(), CustomSnifferEntity.PrideSnifferEntity::new) EntityType.Builder.create(CustomSnifferEntity.PrideSnifferEntity::new, EntityType.SNIFFER.getSpawnGroup())
.dimensions(EntityDimensions.fixed(1.9F, 1.75F)) .dimensions(1.9F, 1.75F)
.trackRangeBlocks(10).build() .maxTrackingRange(10)
.build()
); );
public static void registerBlockEntities() { public static void registerBlockEntities() {

View File

@ -13,7 +13,7 @@ import net.minecraft.util.Identifier;
public class ModItemGroups { public class ModItemGroups {
public static final ItemGroup JOYMOD_GROUP = Registry.register(Registries.ITEM_GROUP, public static final ItemGroup JOYMOD_GROUP = Registry.register(Registries.ITEM_GROUP,
new Identifier(JoyMod.MOD_ID, "joymod"), Identifier.of(JoyMod.MOD_ID, "joymod"),
FabricItemGroup.builder().displayName(Text.translatable("itemgroup.joymod_group")) FabricItemGroup.builder().displayName(Text.translatable("itemgroup.joymod_group"))
.icon(() -> new ItemStack(ModItems.PRIDE_BRUSH)).entries((displayContext, entries) -> { .icon(() -> new ItemStack(ModItems.PRIDE_BRUSH)).entries((displayContext, entries) -> {

View File

@ -5,7 +5,6 @@ import gay.pridecraft.joymod.JoyMod;
import gay.pridecraft.joymod.entity.ModEntities; import gay.pridecraft.joymod.entity.ModEntities;
import gay.pridecraft.joymod.item.custom.CustomElytraItem; import gay.pridecraft.joymod.item.custom.CustomElytraItem;
import gay.pridecraft.joymod.item.custom.RainbowSpawnEggItem; import gay.pridecraft.joymod.item.custom.RainbowSpawnEggItem;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.minecraft.item.BrushItem; import net.minecraft.item.BrushItem;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.registry.Registries; import net.minecraft.registry.Registries;
@ -14,21 +13,21 @@ import net.minecraft.util.Identifier;
public class ModItems { public class ModItems {
public static final Item PRIDE_ELYTRA = registerItem("pride_elytra", public static final Item PRIDE_ELYTRA = registerItem("pride_elytra",
new CustomElytraItem(new FabricItemSettings().maxCount(1))); new CustomElytraItem(new Item.Settings().maxCount(1)));
public static final Item TOTEM_OF_PRIDE = registerItem("totem_of_pride", public static final Item TOTEM_OF_PRIDE = registerItem("totem_of_pride",
new Item(new FabricItemSettings().maxCount(1))); new Item(new Item.Settings().maxCount(1)));
public static final Item PRIDE_BRUSH = registerItem("pride_brush", new BrushItem(new FabricItemSettings())); public static final Item PRIDE_BRUSH = registerItem("pride_brush", new BrushItem(new Item.Settings()));
public static final Item PRIDE_SLIME_BALL = registerItem("pride_slime_ball", new Item(new FabricItemSettings())); public static final Item PRIDE_SLIME_BALL = registerItem("pride_slime_ball", new Item(new Item.Settings()));
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 THIGH_HIGH_FOX_SPAWN_EGG = registerItem("thigh_high_fox_spawn_egg", new RainbowSpawnEggItem(ModEntities.THIGH_HIGH_FOX, 14005919, 0xff80bf, new Item.Settings()));
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_BII_SPAWN_EGG = registerItem("pride_bii_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_BII, 15582019, 0xFF69B4, new Item.Settings()));
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_AXOLOTL_SPAWN_EGG = registerItem("pride_axolotl_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_AXOLOTL, 16499171, 0xff80bf, new Item.Settings()));
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_FROG_SPAWN_EGG = registerItem("pride_frog_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_FROG, 13661252, 0xff80bf, new Item.Settings()));
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_SLIME_SPAWN_EGG = registerItem("pride_slime_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_SLIME, 5349438, 0xff80bf, new Item.Settings()));
public static final Item PRIDE_SNIFFER_SPAWN_EGG = registerItem("pride_sniffer_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_SNIFFER, 8855049, 0xff80bf, new FabricItemSettings())); public static final Item PRIDE_SNIFFER_SPAWN_EGG = registerItem("pride_sniffer_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_SNIFFER, 8855049, 0xff80bf, new Item.Settings()));
private static Item registerItem(String name, Item item) { private static Item registerItem(String name, Item item) {
return Registry.register(Registries.ITEM, new Identifier(JoyMod.MOD_ID, name), item); return Registry.register(Registries.ITEM, Identifier.of(JoyMod.MOD_ID, name), item);
} }
public static void registerModItems() { public static void registerModItems() {

View File

@ -7,6 +7,7 @@ import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
public class ModPaintings { public class ModPaintings {
/* TODO: Properly update to 1.21
public static final PaintingVariant ACE = registerPainting("ace", new PaintingVariant(32, 16)); public static final PaintingVariant ACE = registerPainting("ace", new PaintingVariant(32, 16));
public static final PaintingVariant AGENDER = registerPainting("agender", new PaintingVariant(16, 16)); public static final PaintingVariant AGENDER = registerPainting("agender", new PaintingVariant(16, 16));
public static final PaintingVariant ARO = registerPainting("aro", new PaintingVariant(32, 16)); public static final PaintingVariant ARO = registerPainting("aro", new PaintingVariant(32, 16));
@ -25,10 +26,11 @@ public class ModPaintings {
public static final PaintingVariant TRANS = registerPainting("trans", new PaintingVariant(32, 32)); public static final PaintingVariant TRANS = registerPainting("trans", new PaintingVariant(32, 32));
private static PaintingVariant registerPainting(String name, PaintingVariant paintingVariant) { private static PaintingVariant registerPainting(String name, PaintingVariant paintingVariant) {
return Registry.register(Registries.PAINTING_VARIANT, new Identifier(JoyMod.MOD_ID, name), paintingVariant); return Registry.register(Registries.PAINTING_VARIANT, Identifier.of(JoyMod.MOD_ID, name), paintingVariant);
} }
public static void registerPaintings() { public static void registerPaintings() {
JoyMod.LOGGER.info("Registering Paintings for " + JoyMod.MOD_ID); JoyMod.LOGGER.info("Registering Paintings for " + JoyMod.MOD_ID);
} }
*/
} }

View File

@ -2,16 +2,16 @@ package gay.pridecraft.joymod.particle;
import gay.pridecraft.joymod.JoyMod; import gay.pridecraft.joymod.JoyMod;
import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes; import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes;
import net.minecraft.particle.DefaultParticleType; import net.minecraft.particle.SimpleParticleType;
import net.minecraft.registry.Registries; import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry; import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
public class ModParticles { public class ModParticles {
public static final DefaultParticleType TOTEM_OF_PRIDE_PARTICLE = FabricParticleTypes.simple(); public static final SimpleParticleType TOTEM_OF_PRIDE_PARTICLE = FabricParticleTypes.simple();
public static void registerParticles() { public static void registerParticles() {
Registry.register(Registries.PARTICLE_TYPE, new Identifier(JoyMod.MOD_ID, "totem_of_pride_particle"), Registry.register(Registries.PARTICLE_TYPE, Identifier.of(JoyMod.MOD_ID, "totem_of_pride_particle"),
TOTEM_OF_PRIDE_PARTICLE); TOTEM_OF_PRIDE_PARTICLE);
} }
} }

View File

@ -4,9 +4,10 @@ import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment; import net.fabricmc.api.Environment;
import net.minecraft.client.particle.*; import net.minecraft.client.particle.*;
import net.minecraft.client.world.ClientWorld; import net.minecraft.client.world.ClientWorld;
import net.minecraft.particle.DefaultParticleType;
import net.minecraft.client.particle.AnimatedParticle; import net.minecraft.client.particle.AnimatedParticle;
import net.minecraft.client.particle.SpriteProvider; import net.minecraft.client.particle.SpriteProvider;
import net.minecraft.particle.ParticleEffect;
import net.minecraft.particle.SimpleParticleType;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@ -52,7 +53,7 @@ public class TotemOfPrideParticle extends AnimatedParticle {
} }
@Environment(EnvType.CLIENT) @Environment(EnvType.CLIENT)
public static class Factory implements ParticleFactory<DefaultParticleType> { public static class Factory implements ParticleFactory<SimpleParticleType> {
private static int colorCounter = 0; private static int colorCounter = 0;
private final SpriteProvider spriteProvider; private final SpriteProvider spriteProvider;
@ -61,7 +62,7 @@ public class TotemOfPrideParticle extends AnimatedParticle {
} }
public Particle createParticle( public Particle createParticle(
DefaultParticleType defaultParticleType, ClientWorld clientWorld, double d, double e, double f, double g, double h, double i SimpleParticleType defaultParticleType, ClientWorld clientWorld, double d, double e, double f, double g, double h, double i
) { ) {
int colorIndex = colorCounter % LGBT_COLORS.size(); int colorIndex = colorCounter % LGBT_COLORS.size();
colorCounter++; colorCounter++;

View File

@ -19,11 +19,11 @@ public class PrideAxolotlRenderer extends MobEntityRenderer<CustomAxolotlEntity.
private static final Map<AxolotlEntity.Variant, Identifier> TEXTURES = new HashMap<>(); private static final Map<AxolotlEntity.Variant, Identifier> TEXTURES = new HashMap<>();
static { static {
TEXTURES.put(AxolotlEntity.Variant.BLUE, new Identifier(JoyMod.MOD_ID, "textures/entity/axolotl/pride_axolotl_blue.png")); TEXTURES.put(AxolotlEntity.Variant.BLUE, Identifier.of(JoyMod.MOD_ID, "textures/entity/axolotl/pride_axolotl_blue.png"));
TEXTURES.put(AxolotlEntity.Variant.GOLD, new Identifier(JoyMod.MOD_ID, "textures/entity/axolotl/pride_axolotl_gold.png")); TEXTURES.put(AxolotlEntity.Variant.GOLD, Identifier.of(JoyMod.MOD_ID, "textures/entity/axolotl/pride_axolotl_gold.png"));
TEXTURES.put(AxolotlEntity.Variant.CYAN, new Identifier(JoyMod.MOD_ID, "textures/entity/axolotl/pride_axolotl_cyan.png")); TEXTURES.put(AxolotlEntity.Variant.CYAN, Identifier.of(JoyMod.MOD_ID, "textures/entity/axolotl/pride_axolotl_cyan.png"));
TEXTURES.put(AxolotlEntity.Variant.LUCY, new Identifier(JoyMod.MOD_ID, "textures/entity/axolotl/pride_axolotl_lucy.png")); TEXTURES.put(AxolotlEntity.Variant.LUCY, Identifier.of(JoyMod.MOD_ID, "textures/entity/axolotl/pride_axolotl_lucy.png"));
TEXTURES.put(AxolotlEntity.Variant.WILD, new Identifier(JoyMod.MOD_ID, "textures/entity/axolotl/pride_axolotl_wild.png")); TEXTURES.put(AxolotlEntity.Variant.WILD, Identifier.of(JoyMod.MOD_ID, "textures/entity/axolotl/pride_axolotl_wild.png"));
} }
public PrideAxolotlRenderer(EntityRendererFactory.Context context) { public PrideAxolotlRenderer(EntityRendererFactory.Context context) {

View File

@ -12,10 +12,10 @@ import net.minecraft.util.Identifier;
@Environment(EnvType.CLIENT) @Environment(EnvType.CLIENT)
public class PrideBiiRenderer extends MobEntityRenderer<CustomBeeEntity.PrideBiiEntity, PrideBiiEntityModel<CustomBeeEntity.PrideBiiEntity>> { public class PrideBiiRenderer extends MobEntityRenderer<CustomBeeEntity.PrideBiiEntity, PrideBiiEntityModel<CustomBeeEntity.PrideBiiEntity>> {
private static final Identifier ANGRY_TEXTURE = new Identifier(JoyMod.MOD_ID, "textures/entity/bee/pride_bii_angry.png"); private static final Identifier ANGRY_TEXTURE = Identifier.of(JoyMod.MOD_ID, "textures/entity/bee/pride_bii_angry.png");
private static final Identifier ANGRY_NECTAR_TEXTURE = new Identifier(JoyMod.MOD_ID, "textures/entity/bee/pride_bii_angry_nectar.png"); private static final Identifier ANGRY_NECTAR_TEXTURE = Identifier.of(JoyMod.MOD_ID, "textures/entity/bee/pride_bii_angry_nectar.png");
private static final Identifier PASSIVE_TEXTURE = new Identifier(JoyMod.MOD_ID, "textures/entity/bee/pride_bii.png"); private static final Identifier PASSIVE_TEXTURE = Identifier.of(JoyMod.MOD_ID, "textures/entity/bee/pride_bii.png");
private static final Identifier NECTAR_TEXTURE = new Identifier(JoyMod.MOD_ID, "textures/entity/bee/pride_bii_nectar.png"); private static final Identifier NECTAR_TEXTURE = Identifier.of(JoyMod.MOD_ID, "textures/entity/bee/pride_bii_nectar.png");
public PrideBiiRenderer(EntityRendererFactory.Context context) { public PrideBiiRenderer(EntityRendererFactory.Context context) {
super(context, new PrideBiiEntityModel<>(context.getPart(EntityModelLayers.BEE)), 0.4F); super(context, new PrideBiiEntityModel<>(context.getPart(EntityModelLayers.BEE)), 0.4F);

View File

@ -12,9 +12,9 @@ import net.minecraft.util.Identifier;
@Environment(EnvType.CLIENT) @Environment(EnvType.CLIENT)
public class PrideFrogRenderer extends MobEntityRenderer<CustomFrogEntity.PrideFrogEntity, PrideFrogEntityModel<CustomFrogEntity.PrideFrogEntity>> { public class PrideFrogRenderer extends MobEntityRenderer<CustomFrogEntity.PrideFrogEntity, PrideFrogEntityModel<CustomFrogEntity.PrideFrogEntity>> {
private static final Identifier TEMPERATE_TEXTURE = new Identifier(JoyMod.MOD_ID, "textures/entity/frog/pride_temperate_frog.png"); private static final Identifier TEMPERATE_TEXTURE = Identifier.of(JoyMod.MOD_ID, "textures/entity/frog/pride_temperate_frog.png");
private static final Identifier WARM_TEXTURE = new Identifier(JoyMod.MOD_ID, "textures/entity/frog/pride_warm_frog.png"); private static final Identifier WARM_TEXTURE = Identifier.of(JoyMod.MOD_ID, "textures/entity/frog/pride_warm_frog.png");
private static final Identifier COLD_TEXTURE = new Identifier(JoyMod.MOD_ID, "textures/entity/frog/pride_cold_frog.png"); private static final Identifier COLD_TEXTURE = Identifier.of(JoyMod.MOD_ID, "textures/entity/frog/pride_cold_frog.png");
public PrideFrogRenderer(EntityRendererFactory.Context context) { public PrideFrogRenderer(EntityRendererFactory.Context context) {
super(context, new PrideFrogEntityModel<>(context.getPart(EntityModelLayers.FROG)), 0.3F); super(context, new PrideFrogEntityModel<>(context.getPart(EntityModelLayers.FROG)), 0.3F);
@ -22,13 +22,12 @@ public class PrideFrogRenderer extends MobEntityRenderer<CustomFrogEntity.PrideF
@Override @Override
public Identifier getTexture(CustomFrogEntity.PrideFrogEntity entity) { public Identifier getTexture(CustomFrogEntity.PrideFrogEntity entity) {
String fullTexturePath = entity.getVariant().texture().toString().toLowerCase(); if (entity.getVariant().getKey().isEmpty())
String variant = fullTexturePath.substring(fullTexturePath.lastIndexOf("/") + 1); return TEMPERATE_TEXTURE;
variant = variant.substring(0, variant.lastIndexOf("."));
return switch (variant) { return switch (entity.getVariant().getKey().get().getValue().getPath()) {
case "warm_frog" -> WARM_TEXTURE; case "warm" -> WARM_TEXTURE;
case "cold_frog" -> COLD_TEXTURE; case "cold" -> COLD_TEXTURE;
default -> TEMPERATE_TEXTURE; default -> TEMPERATE_TEXTURE;
}; };
} }

View File

@ -16,7 +16,7 @@ import net.minecraft.util.math.MathHelper;
@Environment(EnvType.CLIENT) @Environment(EnvType.CLIENT)
public class PrideSlimeRenderer extends MobEntityRenderer<CustomSlimeEntity.PrideSlimeEntity, PrideSlimeEntityModel<CustomSlimeEntity.PrideSlimeEntity>> { public class PrideSlimeRenderer extends MobEntityRenderer<CustomSlimeEntity.PrideSlimeEntity, PrideSlimeEntityModel<CustomSlimeEntity.PrideSlimeEntity>> {
private static final Identifier TEXTURE = new Identifier(JoyMod.MOD_ID, "textures/entity/slime/pride_slime.png"); private static final Identifier TEXTURE = Identifier.of(JoyMod.MOD_ID, "textures/entity/slime/pride_slime.png");
public PrideSlimeRenderer(EntityRendererFactory.Context context) { public PrideSlimeRenderer(EntityRendererFactory.Context context) {
super(context, new PrideSlimeEntityModel<>(context.getPart(EntityModelLayers.SLIME)), 0.25F); super(context, new PrideSlimeEntityModel<>(context.getPart(EntityModelLayers.SLIME)), 0.25F);

View File

@ -12,7 +12,7 @@ import net.minecraft.util.Identifier;
@Environment(EnvType.CLIENT) @Environment(EnvType.CLIENT)
public class PrideSnifferRenderer extends MobEntityRenderer<CustomSnifferEntity.PrideSnifferEntity, PrideSnifferEntityModel<CustomSnifferEntity.PrideSnifferEntity>> { public class PrideSnifferRenderer extends MobEntityRenderer<CustomSnifferEntity.PrideSnifferEntity, PrideSnifferEntityModel<CustomSnifferEntity.PrideSnifferEntity>> {
private static final Identifier TEXTURE = new Identifier(JoyMod.MOD_ID, "textures/entity/sniffer/pride_sniffer.png"); private static final Identifier TEXTURE = Identifier.of(JoyMod.MOD_ID, "textures/entity/sniffer/pride_sniffer.png");
public PrideSnifferRenderer(EntityRendererFactory.Context context) { public PrideSnifferRenderer(EntityRendererFactory.Context context) {
super(context, new PrideSnifferEntityModel<>(context.getPart(EntityModelLayers.SNIFFER)), 1.1F); super(context, new PrideSnifferEntityModel<>(context.getPart(EntityModelLayers.SNIFFER)), 1.1F);

View File

@ -17,20 +17,20 @@ import net.minecraft.util.math.RotationAxis;
@Environment(EnvType.CLIENT) @Environment(EnvType.CLIENT)
public class ThighHighFoxRenderer extends MobEntityRenderer<CustomFoxEntity.ThighHighFoxEntity, ThighHighFoxEntityModel<CustomFoxEntity.ThighHighFoxEntity>> { public class ThighHighFoxRenderer extends MobEntityRenderer<CustomFoxEntity.ThighHighFoxEntity, ThighHighFoxEntityModel<CustomFoxEntity.ThighHighFoxEntity>> {
private static final Identifier TEXTURE = new Identifier(JoyMod.MOD_ID, "textures/entity/fox/thigh_high_fox.png"); private static final Identifier TEXTURE = Identifier.of(JoyMod.MOD_ID, "textures/entity/fox/thigh_high_fox.png");
private static final Identifier SLEEPING_TEXTURE = new Identifier(JoyMod.MOD_ID, "textures/entity/fox/thigh_high_fox_sleep.png"); private static final Identifier SLEEPING_TEXTURE = Identifier.of(JoyMod.MOD_ID, "textures/entity/fox/thigh_high_fox_sleep.png");
private static final Identifier SNOW_TEXTURE = new Identifier(JoyMod.MOD_ID, "textures/entity/fox/thigh_high_snow_fox.png"); private static final Identifier SNOW_TEXTURE = Identifier.of(JoyMod.MOD_ID, "textures/entity/fox/thigh_high_snow_fox.png");
private static final Identifier SLEEPING_SNOW_TEXTURE = new Identifier(JoyMod.MOD_ID, "textures/entity/fox/thigh_high_snow_fox_sleep.png"); private static final Identifier SLEEPING_SNOW_TEXTURE = Identifier.of(JoyMod.MOD_ID, "textures/entity/fox/thigh_high_snow_fox_sleep.png");
public ThighHighFoxRenderer(EntityRendererFactory.Context context) { public ThighHighFoxRenderer(EntityRendererFactory.Context context) {
super(context, new ThighHighFoxEntityModel<>(context.getPart(EntityModelLayers.FOX)), 0.4F); super(context, new ThighHighFoxEntityModel<>(context.getPart(EntityModelLayers.FOX)), 0.4F);
this.addFeature(new ThighHighFoxHeldItemFeatureRenderer(this, context.getHeldItemRenderer())); this.addFeature(new ThighHighFoxHeldItemFeatureRenderer(this, context.getHeldItemRenderer()));
} }
protected void setupTransforms(CustomFoxEntity.ThighHighFoxEntity thighHighFoxEntity, MatrixStack matrixStack, float f, float g, float h) { protected void setupTransforms(CustomFoxEntity.ThighHighFoxEntity thighHighFoxEntity, MatrixStack matrixStack, float animationProgress, float bodyYaw, float tickDelta, float scale) {
super.setupTransforms(thighHighFoxEntity, matrixStack, f, g, h); super.setupTransforms(thighHighFoxEntity, matrixStack, animationProgress, bodyYaw, tickDelta, scale);
if (thighHighFoxEntity.isChasing() || thighHighFoxEntity.isWalking()) { if (thighHighFoxEntity.isChasing() || thighHighFoxEntity.isWalking()) {
float i = -MathHelper.lerp(h, thighHighFoxEntity.prevPitch, thighHighFoxEntity.getPitch()); float i = -MathHelper.lerp(tickDelta, thighHighFoxEntity.prevPitch, thighHighFoxEntity.getPitch());
matrixStack.multiply(RotationAxis.POSITIVE_X.rotationDegrees(i)); matrixStack.multiply(RotationAxis.POSITIVE_X.rotationDegrees(i));
} }
} }

View File

@ -36,7 +36,7 @@ public class CustomElytraFeatureRenderer<T extends LivingEntity, M extends Entit
super(context); super(context);
this.defaultElytraTexture = defaultElytraTexture; this.defaultElytraTexture = defaultElytraTexture;
this.elytraTextures = new HashMap<>(); this.elytraTextures = new HashMap<>();
this.elytraTextures.put(ModItems.PRIDE_ELYTRA, new Identifier(JoyMod.MOD_ID + ":textures/entity/pride_elytra.png")); this.elytraTextures.put(ModItems.PRIDE_ELYTRA, Identifier.of(JoyMod.MOD_ID + ":textures/entity/pride_elytra.png"));
this.elytra = new ElytraEntityModel<>(loader.getModelPart(EntityModelLayers.ELYTRA)); this.elytra = new ElytraEntityModel<>(loader.getModelPart(EntityModelLayers.ELYTRA));
} }
@ -53,9 +53,9 @@ public class CustomElytraFeatureRenderer<T extends LivingEntity, M extends Entit
this.getContextModel().copyStateTo(this.elytra); this.getContextModel().copyStateTo(this.elytra);
this.elytra.setAngles(livingEntity, f, g, j, k, l); this.elytra.setAngles(livingEntity, f, g, j, k, l);
VertexConsumer vertexConsumer = ItemRenderer.getArmorGlintConsumer( VertexConsumer vertexConsumer = ItemRenderer.getArmorGlintConsumer(
vertexConsumerProvider, RenderLayer.getArmorCutoutNoCull(elytraTexture), false, itemStack.hasGlint() vertexConsumerProvider, RenderLayer.getArmorCutoutNoCull(elytraTexture), false
); );
this.elytra.render(matrixStack, vertexConsumer, i, OverlayTexture.DEFAULT_UV, 1.0F, 1.0F, 1.0F, 1.0F); this.elytra.render(matrixStack, vertexConsumer, i, OverlayTexture.DEFAULT_UV);
matrixStack.pop(); matrixStack.pop();
} }
} }

View File

@ -41,7 +41,7 @@ public class PrideSlimeOverlayFeatureRenderer<T extends LivingEntity> extends Fe
this.getContextModel().copyStateTo(this.model); this.getContextModel().copyStateTo(this.model);
this.model.animateModel(livingEntity, f, g, h); this.model.animateModel(livingEntity, f, g, h);
this.model.setAngles(livingEntity, f, g, j, k, l); this.model.setAngles(livingEntity, f, g, j, k, l);
this.model.render(matrixStack, vertexConsumer, i, LivingEntityRenderer.getOverlay(livingEntity, 0.0F), 1.0F, 1.0F, 1.0F, 1.0F); this.model.render(matrixStack, vertexConsumer, i, LivingEntityRenderer.getOverlay(livingEntity, 0.0F));
} }
} }
} }

View File

@ -40,11 +40,11 @@ public class BedTextureProvider {
} }
} }
public static final Identifier BEDS_ATLAS_TEXTURE = new Identifier("textures/atlas/beds.png"); public static final Identifier BEDS_ATLAS_TEXTURE = Identifier.of("textures/atlas/beds.png");
public static final SpriteIdentifier[] BED_TEXTURES = BEDS.stream() public static final SpriteIdentifier[] BED_TEXTURES = BEDS.stream()
.map(bedBlock -> { .map(bedBlock -> {
Identifier bedTextureId = new Identifier(JoyMod.MOD_ID, "entity/bed/" + extractBedName(bedBlock.getTranslationKey())); Identifier bedTextureId = Identifier.of(JoyMod.MOD_ID, "entity/bed/" + extractBedName(bedBlock.getTranslationKey()));
return new SpriteIdentifier(BEDS_ATLAS_TEXTURE, bedTextureId); return new SpriteIdentifier(BEDS_ATLAS_TEXTURE, bedTextureId);
}) })
.toArray(SpriteIdentifier[]::new); .toArray(SpriteIdentifier[]::new);