diff --git a/src/main/java/gay/pridecraft/joy/Joy.java b/src/main/java/gay/pridecraft/joy/Joy.java index 8da200d..12881e4 100644 --- a/src/main/java/gay/pridecraft/joy/Joy.java +++ b/src/main/java/gay/pridecraft/joy/Joy.java @@ -76,7 +76,7 @@ public class Joy implements ModInitializer { } private void registerEntityAttributes() { - FabricDefaultAttributeRegistry.register(ModEntities.THIGH_HIGH_FOX, MobEntity.createMobAttributes() + FabricDefaultAttributeRegistry.register(ModEntities.SOCK_FOX, MobEntity.createMobAttributes() .add(EntityAttributes.GENERIC_ATTACK_DAMAGE, 2.0) .add(EntityAttributes.GENERIC_FOLLOW_RANGE, 32.0) .add(EntityAttributes.GENERIC_MOVEMENT_SPEED, 0.3)); diff --git a/src/main/java/gay/pridecraft/joy/JoyClient.java b/src/main/java/gay/pridecraft/joy/JoyClient.java index ddc0c3c..22d00de 100644 --- a/src/main/java/gay/pridecraft/joy/JoyClient.java +++ b/src/main/java/gay/pridecraft/joy/JoyClient.java @@ -54,7 +54,7 @@ public class JoyClient implements ClientModInitializer { } private static void registerEntityRenderers() { - EntityRendererRegistry.register(ModEntities.THIGH_HIGH_FOX, ThighHighFoxRenderer::new); + EntityRendererRegistry.register(ModEntities.SOCK_FOX, SockFoxRenderer::new); EntityRendererRegistry.register(ModEntities.BII, BiiRenderer::new); EntityRendererRegistry.register(ModEntities.ENBEE, EnbeeRenderer::new); EntityRendererRegistry.register(ModEntities.TREE, TreeRenderer::new); diff --git a/src/main/java/gay/pridecraft/joy/entity/ModEntities.java b/src/main/java/gay/pridecraft/joy/entity/ModEntities.java index eaa2435..cc6be14 100644 --- a/src/main/java/gay/pridecraft/joy/entity/ModEntities.java +++ b/src/main/java/gay/pridecraft/joy/entity/ModEntities.java @@ -34,10 +34,10 @@ public class ModEntities { ).build() ); - public static final EntityType THIGH_HIGH_FOX = Registry.register( + public static final EntityType SOCK_FOX = Registry.register( Registries.ENTITY_TYPE, - Identifier.of(Joy.MOD_ID, "thigh_high_fox"), - EntityType.Builder.create(CustomFoxEntity.ThighHighFoxEntity::new, EntityType.FOX.getSpawnGroup()) + Identifier.of(Joy.MOD_ID, "sock_fox"), + EntityType.Builder.create(CustomFoxEntity.SockFoxEntity::new, EntityType.FOX.getSpawnGroup()) .dimensions(0.6f, 0.7f) .maxTrackingRange(8) .build() diff --git a/src/main/java/gay/pridecraft/joy/entity/custom/living/CustomFoxEntity.java b/src/main/java/gay/pridecraft/joy/entity/custom/living/CustomFoxEntity.java index 8448b24..d454789 100644 --- a/src/main/java/gay/pridecraft/joy/entity/custom/living/CustomFoxEntity.java +++ b/src/main/java/gay/pridecraft/joy/entity/custom/living/CustomFoxEntity.java @@ -9,8 +9,8 @@ public class CustomFoxEntity extends FoxEntity { super(entityType, world); } - public static class ThighHighFoxEntity extends CustomFoxEntity { - public ThighHighFoxEntity(EntityType entityType, World world) { + public static class SockFoxEntity extends CustomFoxEntity { + public SockFoxEntity(EntityType entityType, World world) { super(entityType, world); } } diff --git a/src/main/java/gay/pridecraft/joy/entity/spawn/SpawnModifier.java b/src/main/java/gay/pridecraft/joy/entity/spawn/SpawnModifier.java index b1f9d63..bb2564f 100644 --- a/src/main/java/gay/pridecraft/joy/entity/spawn/SpawnModifier.java +++ b/src/main/java/gay/pridecraft/joy/entity/spawn/SpawnModifier.java @@ -16,8 +16,8 @@ public class SpawnModifier { BiomeKeys.SNOWY_TAIGA, BiomeKeys.OLD_GROWTH_PINE_TAIGA, BiomeKeys.OLD_GROWTH_SPRUCE_TAIGA), - ModEntities.THIGH_HIGH_FOX.getSpawnGroup(), - ModEntities.THIGH_HIGH_FOX, + ModEntities.SOCK_FOX.getSpawnGroup(), + ModEntities.SOCK_FOX, Config.foxWeight, Config.foxMinGroupSize, Config.foxMaxGroupSize diff --git a/src/main/java/gay/pridecraft/joy/item/ModItemGroups.java b/src/main/java/gay/pridecraft/joy/item/ModItemGroups.java index 4b0cacd..0dc75af 100644 --- a/src/main/java/gay/pridecraft/joy/item/ModItemGroups.java +++ b/src/main/java/gay/pridecraft/joy/item/ModItemGroups.java @@ -56,7 +56,7 @@ public class ModItemGroups { entries.add(ModItems.PRIDE_BRUSH); entries.add(ModItems.PRIDE_SLIME_BALL); entries.add(ModItems.PRIDE_ELYTRA); - entries.add(ModItems.THIGH_HIGH_FOX_SPAWN_EGG); + entries.add(ModItems.SOCK_FOX_SPAWN_EGG); entries.add(ModItems.BII_SPAWN_EGG); entries.add(ModItems.ENBEE_SPAWN_EGG); entries.add(ModItems.TREE_SPAWN_EGG); diff --git a/src/main/java/gay/pridecraft/joy/item/ModItems.java b/src/main/java/gay/pridecraft/joy/item/ModItems.java index 3900174..1c765a2 100644 --- a/src/main/java/gay/pridecraft/joy/item/ModItems.java +++ b/src/main/java/gay/pridecraft/joy/item/ModItems.java @@ -19,7 +19,7 @@ public class ModItems { new Item(new Item.Settings().maxCount(1))); 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 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 Item.Settings())); + public static final Item SOCK_FOX_SPAWN_EGG = registerItem("thigh_high_fox_spawn_egg", new RainbowSpawnEggItem(ModEntities.SOCK_FOX, 14005919, 0xff80bf, new Item.Settings())); public static final Item BII_SPAWN_EGG = registerItem("bii_spawn_egg", new RainbowSpawnEggItem(ModEntities.BII, 15582019, 0xFF69B4, new Item.Settings())); public static final Item ENBEE_SPAWN_EGG = registerItem("bii_spawn_egg", new RainbowSpawnEggItem(ModEntities.ENBEE, 16577588, 0x9C59D1, new Item.Settings())); public static final Item TREE_SPAWN_EGG = registerItem("tree_spawn_egg", new RainbowSpawnEggItem(ModEntities.TREE, 16577588, 0x9C59D1, new Item.Settings())); diff --git a/src/main/java/gay/pridecraft/joy/renderer/entity/SockFoxRenderer.java b/src/main/java/gay/pridecraft/joy/renderer/entity/SockFoxRenderer.java new file mode 100644 index 0000000..5c89339 --- /dev/null +++ b/src/main/java/gay/pridecraft/joy/renderer/entity/SockFoxRenderer.java @@ -0,0 +1,46 @@ +package gay.pridecraft.joy.renderer.entity; + +import gay.pridecraft.joy.Joy; +import gay.pridecraft.joy.entity.custom.living.CustomFoxEntity; +import gay.pridecraft.joy.renderer.feature.SockFoxHeldItemFeatureRenderer; +import gay.pridecraft.joy.renderer.model.SockFoxEntityModel; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.client.render.entity.EntityRendererFactory; +import net.minecraft.client.render.entity.MobEntityRenderer; +import net.minecraft.client.render.entity.model.EntityModelLayers; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.entity.passive.FoxEntity; +import net.minecraft.util.Identifier; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.RotationAxis; + +@Environment(EnvType.CLIENT) +public class SockFoxRenderer extends MobEntityRenderer> { + private static final Identifier TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/fox/sock_fox.png"); + private static final Identifier SLEEPING_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/fox/sock_fox_sleep.png"); + private static final Identifier SNOW_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/fox/snow_sock_fox.png"); + private static final Identifier SLEEPING_SNOW_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/fox/snow_sock_fox_sleep.png"); + + public SockFoxRenderer(EntityRendererFactory.Context context) { + super(context, new SockFoxEntityModel<>(context.getPart(EntityModelLayers.FOX)), 0.4F); + this.addFeature(new SockFoxHeldItemFeatureRenderer(this, context.getHeldItemRenderer())); + } + + protected void setupTransforms(CustomFoxEntity.SockFoxEntity sockFoxEntity, MatrixStack matrixStack, float animationProgress, float bodyYaw, float tickDelta, float scale) { + super.setupTransforms(sockFoxEntity, matrixStack, animationProgress, bodyYaw, tickDelta, scale); + if (sockFoxEntity.isChasing() || sockFoxEntity.isWalking()) { + float i = -MathHelper.lerp(tickDelta, sockFoxEntity.prevPitch, sockFoxEntity.getPitch()); + matrixStack.multiply(RotationAxis.POSITIVE_X.rotationDegrees(i)); + } + } + + @Override + public Identifier getTexture(CustomFoxEntity.SockFoxEntity entity) { + if (entity.getVariant() == FoxEntity.Type.RED) { + return entity.isSleeping() ? SLEEPING_TEXTURE : TEXTURE; + } else { + return entity.isSleeping() ? SLEEPING_SNOW_TEXTURE : SNOW_TEXTURE; + } + } +} diff --git a/src/main/java/gay/pridecraft/joy/renderer/entity/ThighHighFoxRenderer.java b/src/main/java/gay/pridecraft/joy/renderer/entity/ThighHighFoxRenderer.java deleted file mode 100644 index 86052c6..0000000 --- a/src/main/java/gay/pridecraft/joy/renderer/entity/ThighHighFoxRenderer.java +++ /dev/null @@ -1,46 +0,0 @@ -package gay.pridecraft.joy.renderer.entity; - -import gay.pridecraft.joy.Joy; -import gay.pridecraft.joy.entity.custom.living.CustomFoxEntity; -import gay.pridecraft.joy.renderer.feature.ThighHighFoxHeldItemFeatureRenderer; -import gay.pridecraft.joy.renderer.model.ThighHighFoxEntityModel; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.render.entity.EntityRendererFactory; -import net.minecraft.client.render.entity.MobEntityRenderer; -import net.minecraft.client.render.entity.model.EntityModelLayers; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.entity.passive.FoxEntity; -import net.minecraft.util.Identifier; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.RotationAxis; - -@Environment(EnvType.CLIENT) -public class ThighHighFoxRenderer extends MobEntityRenderer> { - private static final Identifier TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/fox/thigh_high_fox.png"); - private static final Identifier SLEEPING_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/fox/thigh_high_fox_sleep.png"); - private static final Identifier SNOW_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/fox/thigh_high_snow_fox.png"); - private static final Identifier SLEEPING_SNOW_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/fox/thigh_high_snow_fox_sleep.png"); - - public ThighHighFoxRenderer(EntityRendererFactory.Context context) { - super(context, new ThighHighFoxEntityModel<>(context.getPart(EntityModelLayers.FOX)), 0.4F); - this.addFeature(new ThighHighFoxHeldItemFeatureRenderer(this, context.getHeldItemRenderer())); - } - - protected void setupTransforms(CustomFoxEntity.ThighHighFoxEntity thighHighFoxEntity, MatrixStack matrixStack, float animationProgress, float bodyYaw, float tickDelta, float scale) { - super.setupTransforms(thighHighFoxEntity, matrixStack, animationProgress, bodyYaw, tickDelta, scale); - if (thighHighFoxEntity.isChasing() || thighHighFoxEntity.isWalking()) { - float i = -MathHelper.lerp(tickDelta, thighHighFoxEntity.prevPitch, thighHighFoxEntity.getPitch()); - matrixStack.multiply(RotationAxis.POSITIVE_X.rotationDegrees(i)); - } - } - - @Override - public Identifier getTexture(CustomFoxEntity.ThighHighFoxEntity entity) { - if (entity.getVariant() == FoxEntity.Type.RED) { - return entity.isSleeping() ? SLEEPING_TEXTURE : TEXTURE; - } else { - return entity.isSleeping() ? SLEEPING_SNOW_TEXTURE : SNOW_TEXTURE; - } - } -} diff --git a/src/main/java/gay/pridecraft/joy/renderer/feature/ThighHighFoxHeldItemFeatureRenderer.java b/src/main/java/gay/pridecraft/joy/renderer/feature/SockFoxHeldItemFeatureRenderer.java similarity index 84% rename from src/main/java/gay/pridecraft/joy/renderer/feature/ThighHighFoxHeldItemFeatureRenderer.java rename to src/main/java/gay/pridecraft/joy/renderer/feature/SockFoxHeldItemFeatureRenderer.java index 43769bb..cd6b0b4 100644 --- a/src/main/java/gay/pridecraft/joy/renderer/feature/ThighHighFoxHeldItemFeatureRenderer.java +++ b/src/main/java/gay/pridecraft/joy/renderer/feature/SockFoxHeldItemFeatureRenderer.java @@ -1,7 +1,7 @@ package gay.pridecraft.joy.renderer.feature; import gay.pridecraft.joy.entity.custom.living.CustomFoxEntity; -import gay.pridecraft.joy.renderer.model.ThighHighFoxEntityModel; +import gay.pridecraft.joy.renderer.model.SockFoxEntityModel; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.render.VertexConsumerProvider; @@ -15,10 +15,10 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.math.RotationAxis; @Environment(EnvType.CLIENT) -public class ThighHighFoxHeldItemFeatureRenderer extends FeatureRenderer> { +public class SockFoxHeldItemFeatureRenderer extends FeatureRenderer> { private final HeldItemRenderer heldItemRenderer; - public ThighHighFoxHeldItemFeatureRenderer(FeatureRendererContext> context, HeldItemRenderer heldItemRenderer) { + public SockFoxHeldItemFeatureRenderer(FeatureRendererContext> context, HeldItemRenderer heldItemRenderer) { super(context); this.heldItemRenderer = heldItemRenderer; } @@ -27,7 +27,7 @@ public class ThighHighFoxHeldItemFeatureRenderer extends FeatureRenderer extends AnimalModel { +public class SockFoxEntityModel extends AnimalModel { public final ModelPart head; private final ModelPart body; private final ModelPart rightHindLeg; @@ -22,7 +22,7 @@ public class ThighHighFoxEntityModel extends AnimalMo private static final float LEG_Y_PIVOT = 17.5F; private float legPitchModifier; - public ThighHighFoxEntityModel(ModelPart root) { + public SockFoxEntityModel(ModelPart root) { super(true, 8.0F, 3.35F); this.head = root.getChild("head"); this.body = root.getChild("body"); diff --git a/src/main/resources/assets/joy/textures/entity/fox/thigh_high_snow_fox.png b/src/main/resources/assets/joy/textures/entity/fox/snow_sock_fox.png similarity index 100% rename from src/main/resources/assets/joy/textures/entity/fox/thigh_high_snow_fox.png rename to src/main/resources/assets/joy/textures/entity/fox/snow_sock_fox.png diff --git a/src/main/resources/assets/joy/textures/entity/fox/thigh_high_fox.png b/src/main/resources/assets/joy/textures/entity/fox/sock_fox.png similarity index 100% rename from src/main/resources/assets/joy/textures/entity/fox/thigh_high_fox.png rename to src/main/resources/assets/joy/textures/entity/fox/sock_fox.png