Change PrideBiis to be Biis, add Pride Enbees, update lang, update to 1.21.1, and fix up some other stuff

This commit is contained in:
blryface 2024-09-12 19:46:34 -03:00
parent 68f9cd9c61
commit 06aa5f3ab7
26 changed files with 236 additions and 27 deletions

View File

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

View File

@ -81,7 +81,12 @@ public class Joy implements ModInitializer {
.add(EntityAttributes.GENERIC_FOLLOW_RANGE, 32.0)
.add(EntityAttributes.GENERIC_MOVEMENT_SPEED, 0.3));
FabricDefaultAttributeRegistry.register(ModEntities.PRIDE_BII, MobEntity.createMobAttributes()
FabricDefaultAttributeRegistry.register(ModEntities.BII, MobEntity.createMobAttributes()
.add(EntityAttributes.GENERIC_ATTACK_DAMAGE, 2.0)
.add(EntityAttributes.GENERIC_FLYING_SPEED, 0.6)
.add(EntityAttributes.GENERIC_FOLLOW_RANGE, 48.0));
FabricDefaultAttributeRegistry.register(ModEntities.ENBEE, MobEntity.createMobAttributes()
.add(EntityAttributes.GENERIC_ATTACK_DAMAGE, 2.0)
.add(EntityAttributes.GENERIC_FLYING_SPEED, 0.6)
.add(EntityAttributes.GENERIC_FOLLOW_RANGE, 48.0));

View File

@ -55,7 +55,8 @@ public class JoyClient implements ClientModInitializer {
private static void registerEntityRenderers() {
EntityRendererRegistry.register(ModEntities.THIGH_HIGH_FOX, ThighHighFoxRenderer::new);
EntityRendererRegistry.register(ModEntities.PRIDE_BII, PrideBiiRenderer::new);
EntityRendererRegistry.register(ModEntities.BII, BiiRenderer::new);
EntityRendererRegistry.register(ModEntities.ENBEE, EnbeeRenderer::new);
EntityRendererRegistry.register(ModEntities.PRIDE_AXOLOTL, PrideAxolotlRenderer::new);
EntityRendererRegistry.register(ModEntities.PRIDE_FROG, PrideFrogRenderer::new);
EntityRendererRegistry.register(ModEntities.PRIDE_SLIME, PrideSlimeRenderer::new);

View File

@ -43,15 +43,24 @@ public class ModEntities {
.build()
);
public static final EntityType<CustomBeeEntity.PrideBiiEntity> PRIDE_BII = Registry.register(
public static final EntityType<CustomBeeEntity.BiiEntity> BII = Registry.register(
Registries.ENTITY_TYPE,
Identifier.of(Joy.MOD_ID, "pride_bii"),
EntityType.Builder.create(CustomBeeEntity.PrideBiiEntity::new, EntityType.BEE.getSpawnGroup())
Identifier.of(Joy.MOD_ID, "bii"),
EntityType.Builder.create(CustomBeeEntity.BiiEntity::new, EntityType.BEE.getSpawnGroup())
.dimensions(0.7f, 0.6f)
.maxTrackingRange(8)
.build()
);
public static final EntityType<CustomBeeEntity.EnbeeEntity> ENBEE = Registry.register(
Registries.ENTITY_TYPE,
Identifier.of(Joy.MOD_ID, "enbee"),
EntityType.Builder.create(CustomBeeEntity.EnbeeEntity::new, EntityType.BEE.getSpawnGroup())
.dimensions(0.7f, 0.6f)
.maxTrackingRange(8)
.build()
);
public static final EntityType<CustomAxolotlEntity.PrideAxolotlEntity> PRIDE_AXOLOTL = Registry.register(
Registries.ENTITY_TYPE,
Identifier.of(Joy.MOD_ID, "pride_axolotl"),

View File

@ -10,9 +10,16 @@ public class CustomBeeEntity extends BeeEntity {
super(entityType, world);
}
public static class PrideBiiEntity extends CustomBeeEntity {
public PrideBiiEntity(EntityType<? extends PrideBiiEntity> entityType, World world) {
public static class BiiEntity extends CustomBeeEntity {
public BiiEntity(EntityType<? extends BiiEntity> entityType, World world) {
super(entityType, world);
}
}
public static class EnbeeEntity extends CustomBeeEntity {
public EnbeeEntity(EntityType<? extends EnbeeEntity> entityType, World world) {
super(entityType, world);
}
}
}

View File

@ -56,7 +56,8 @@ public class ModItemGroups {
entries.add(ModItems.PRIDE_SLIME_BALL);
entries.add(ModItems.PRIDE_ELYTRA);
entries.add(ModItems.THIGH_HIGH_FOX_SPAWN_EGG);
entries.add(ModItems.PRIDE_BII_SPAWN_EGG);
entries.add(ModItems.BII_SPAWN_EGG);
entries.add(ModItems.ENBEE_SPAWN_EGG);
entries.add(ModItems.PRIDE_AXOLOTL_SPAWN_EGG);
entries.add(ModItems.PRIDE_FROG_SPAWN_EGG);
entries.add(ModItems.PRIDE_SLIME_SPAWN_EGG);

View File

@ -20,7 +20,8 @@ public class ModItems {
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 PRIDE_BII_SPAWN_EGG = registerItem("pride_bii_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_BII, 15582019, 0xFF69B4, 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.BII, 16577588, 0x9C59D1, new Item.Settings()));
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 Item.Settings()));
public static final Item PRIDE_SLIME_SPAWN_EGG = registerItem("pride_slime_spawn_egg", new RainbowSpawnEggItem(ModEntities.PRIDE_SLIME, 5349438, 0xff80bf, new Item.Settings()));

View File

@ -2,7 +2,7 @@ package gay.pridecraft.joy.renderer.entity;
import gay.pridecraft.joy.Joy;
import gay.pridecraft.joy.entity.custom.living.CustomBeeEntity;
import gay.pridecraft.joy.renderer.model.PrideBiiEntityModel;
import gay.pridecraft.joy.renderer.model.BiiEntityModel;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.render.entity.EntityRendererFactory;
@ -11,18 +11,18 @@ import net.minecraft.client.render.entity.model.EntityModelLayers;
import net.minecraft.util.Identifier;
@Environment(EnvType.CLIENT)
public class PrideBiiRenderer extends MobEntityRenderer<CustomBeeEntity.PrideBiiEntity, PrideBiiEntityModel<CustomBeeEntity.PrideBiiEntity>> {
private static final Identifier ANGRY_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/pride_bii_angry.png");
private static final Identifier ANGRY_NECTAR_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/pride_bii_angry_nectar.png");
private static final Identifier PASSIVE_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/pride_bii.png");
private static final Identifier NECTAR_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/pride_bii_nectar.png");
public class BiiRenderer extends MobEntityRenderer<CustomBeeEntity.BiiEntity, BiiEntityModel<CustomBeeEntity.BiiEntity>> {
private static final Identifier ANGRY_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/bii_angry.png");
private static final Identifier ANGRY_NECTAR_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/bii_angry_nectar.png");
private static final Identifier PASSIVE_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/bii.png");
private static final Identifier NECTAR_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/bii_nectar.png");
public PrideBiiRenderer(EntityRendererFactory.Context context) {
super(context, new PrideBiiEntityModel<>(context.getPart(EntityModelLayers.BEE)), 0.4F);
public BiiRenderer(EntityRendererFactory.Context context) {
super(context, new BiiEntityModel<>(context.getPart(EntityModelLayers.BEE)), 0.4F);
}
@Override
public Identifier getTexture(CustomBeeEntity.PrideBiiEntity entity) {
public Identifier getTexture(CustomBeeEntity.BiiEntity entity) {
if (entity.hasAngerTime()) {
return entity.hasNectar() ? ANGRY_NECTAR_TEXTURE : ANGRY_TEXTURE;
} else {

View File

@ -0,0 +1,32 @@
package gay.pridecraft.joy.renderer.entity;
import gay.pridecraft.joy.Joy;
import gay.pridecraft.joy.entity.custom.living.CustomBeeEntity;
import gay.pridecraft.joy.renderer.model.EnbeeEntityModel;
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.util.Identifier;
@Environment(EnvType.CLIENT)
public class EnbeeRenderer extends MobEntityRenderer<CustomBeeEntity.EnbeeEntity, EnbeeEntityModel<CustomBeeEntity.EnbeeEntity>> {
private static final Identifier ANGRY_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/enbee_angry.png");
private static final Identifier ANGRY_NECTAR_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/enbee_angry_nectar.png");
private static final Identifier PASSIVE_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/enbee.png");
private static final Identifier NECTAR_TEXTURE = Identifier.of(Joy.MOD_ID, "textures/entity/bee/enbee_nectar.png");
public EnbeeRenderer(EntityRendererFactory.Context context) {
super(context, new EnbeeEntityModel<>(context.getPart(EntityModelLayers.BEE)), 0.4F);
}
@Override
public Identifier getTexture(CustomBeeEntity.EnbeeEntity entity) {
if (entity.hasAngerTime()) {
return entity.hasNectar() ? ANGRY_NECTAR_TEXTURE : ANGRY_TEXTURE;
} else {
return entity.hasNectar() ? NECTAR_TEXTURE : PASSIVE_TEXTURE;
}
}
}

View File

@ -9,7 +9,7 @@ import net.minecraft.entity.passive.BeeEntity;
import net.minecraft.util.math.MathHelper;
@Environment(EnvType.CLIENT)
public class PrideBiiEntityModel<T extends BeeEntity> extends AnimalModel<T> {
public class BiiEntityModel<T extends BeeEntity> extends AnimalModel<T> {
private static final float BONE_BASE_Y_PIVOT = 19.0F;
private static final String BONE = "bone";
private static final String STINGER = "stinger";
@ -29,7 +29,7 @@ public class PrideBiiEntityModel<T extends BeeEntity> extends AnimalModel<T> {
private final ModelPart rightAntenna;
private float bodyPitch;
public PrideBiiEntityModel(ModelPart root) {
public BiiEntityModel(ModelPart root) {
super(false, 24.0F, 0.0F);
this.bone = root.getChild("bone");
ModelPart modelPart = this.bone.getChild("body");

View File

@ -0,0 +1,149 @@
package gay.pridecraft.joy.renderer.model;
import com.google.common.collect.ImmutableList;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.model.*;
import net.minecraft.client.render.entity.model.AnimalModel;
import net.minecraft.entity.passive.BeeEntity;
import net.minecraft.util.math.MathHelper;
@Environment(EnvType.CLIENT)
public class EnbeeEntityModel<T extends BeeEntity> extends AnimalModel<T> {
private static final float BONE_BASE_Y_PIVOT = 19.0F;
private static final String BONE = "bone";
private static final String STINGER = "stinger";
private static final String LEFT_ANTENNA = "left_antenna";
private static final String RIGHT_ANTENNA = "right_antenna";
private static final String FRONT_LEGS = "front_legs";
private static final String MIDDLE_LEGS = "middle_legs";
private static final String BACK_LEGS = "back_legs";
private final ModelPart bone;
private final ModelPart rightWing;
private final ModelPart leftWing;
private final ModelPart frontLegs;
private final ModelPart middleLegs;
private final ModelPart backLegs;
private final ModelPart stinger;
private final ModelPart leftAntenna;
private final ModelPart rightAntenna;
private float bodyPitch;
public EnbeeEntityModel(ModelPart root) {
super(false, 24.0F, 0.0F);
this.bone = root.getChild("bone");
ModelPart modelPart = this.bone.getChild("body");
this.stinger = modelPart.getChild("stinger");
this.leftAntenna = modelPart.getChild("left_antenna");
this.rightAntenna = modelPart.getChild("right_antenna");
this.rightWing = this.bone.getChild("right_wing");
this.leftWing = this.bone.getChild("left_wing");
this.frontLegs = this.bone.getChild("front_legs");
this.middleLegs = this.bone.getChild("middle_legs");
this.backLegs = this.bone.getChild("back_legs");
}
public static TexturedModelData getTexturedModelData() {
float f = 19.0F;
ModelData modelData = new ModelData();
ModelPartData modelPartData = modelData.getRoot();
ModelPartData modelPartData2 = modelPartData.addChild("bone", ModelPartBuilder.create(), ModelTransform.pivot(0.0F, 19.0F, 0.0F));
ModelPartData modelPartData3 = modelPartData2.addChild(
"body", ModelPartBuilder.create().uv(0, 0).cuboid(-3.5F, -4.0F, -5.0F, 7.0F, 7.0F, 10.0F), ModelTransform.NONE
);
modelPartData3.addChild("stinger", ModelPartBuilder.create().uv(26, 7).cuboid(0.0F, -1.0F, 5.0F, 0.0F, 1.0F, 2.0F), ModelTransform.NONE);
modelPartData3.addChild(
"left_antenna", ModelPartBuilder.create().uv(2, 0).cuboid(1.5F, -2.0F, -3.0F, 1.0F, 2.0F, 3.0F), ModelTransform.pivot(0.0F, -2.0F, -5.0F)
);
modelPartData3.addChild(
"right_antenna", ModelPartBuilder.create().uv(2, 3).cuboid(-2.5F, -2.0F, -3.0F, 1.0F, 2.0F, 3.0F), ModelTransform.pivot(0.0F, -2.0F, -5.0F)
);
Dilation dilation = new Dilation(0.001F);
modelPartData2.addChild(
"right_wing",
ModelPartBuilder.create().uv(0, 18).cuboid(-9.0F, 0.0F, 0.0F, 9.0F, 0.0F, 6.0F, dilation),
ModelTransform.of(-1.5F, -4.0F, -3.0F, 0.0F, -0.2618F, 0.0F)
);
modelPartData2.addChild(
"left_wing",
ModelPartBuilder.create().uv(0, 18).mirrored().cuboid(0.0F, 0.0F, 0.0F, 9.0F, 0.0F, 6.0F, dilation),
ModelTransform.of(1.5F, -4.0F, -3.0F, 0.0F, 0.2618F, 0.0F)
);
modelPartData2.addChild(
"front_legs", ModelPartBuilder.create().cuboid("front_legs", -5.0F, 0.0F, 0.0F, 7, 2, 0, 26, 1), ModelTransform.pivot(1.5F, 3.0F, -2.0F)
);
modelPartData2.addChild(
"middle_legs", ModelPartBuilder.create().cuboid("middle_legs", -5.0F, 0.0F, 0.0F, 7, 2, 0, 26, 3), ModelTransform.pivot(1.5F, 3.0F, 0.0F)
);
modelPartData2.addChild(
"back_legs", ModelPartBuilder.create().cuboid("back_legs", -5.0F, 0.0F, 0.0F, 7, 2, 0, 26, 5), ModelTransform.pivot(1.5F, 3.0F, 2.0F)
);
return TexturedModelData.of(modelData, 64, 64);
}
public void animateModel(T beeEntity, float f, float g, float h) {
super.animateModel(beeEntity, f, g, h);
this.bodyPitch = beeEntity.getBodyPitch(h);
this.stinger.visible = !beeEntity.hasStung();
}
public void setAngles(T beeEntity, float f, float g, float h, float i, float j) {
this.rightWing.pitch = 0.0F;
this.leftAntenna.pitch = 0.0F;
this.rightAntenna.pitch = 0.0F;
this.bone.pitch = 0.0F;
boolean bl = beeEntity.isOnGround() && beeEntity.getVelocity().lengthSquared() < 1.0E-7;
if (bl) {
this.rightWing.yaw = -0.2618F;
this.rightWing.roll = 0.0F;
this.leftWing.pitch = 0.0F;
this.leftWing.yaw = 0.2618F;
this.leftWing.roll = 0.0F;
this.frontLegs.pitch = 0.0F;
this.middleLegs.pitch = 0.0F;
this.backLegs.pitch = 0.0F;
} else {
float k = h * 120.32113F * (float) (Math.PI / 180.0);
this.rightWing.yaw = 0.0F;
this.rightWing.roll = MathHelper.cos(k) * (float) Math.PI * 0.15F;
this.leftWing.pitch = this.rightWing.pitch;
this.leftWing.yaw = this.rightWing.yaw;
this.leftWing.roll = -this.rightWing.roll;
this.frontLegs.pitch = (float) (Math.PI / 4);
this.middleLegs.pitch = (float) (Math.PI / 4);
this.backLegs.pitch = (float) (Math.PI / 4);
this.bone.pitch = 0.0F;
this.bone.yaw = 0.0F;
this.bone.roll = 0.0F;
}
if (!beeEntity.hasAngerTime()) {
this.bone.pitch = 0.0F;
this.bone.yaw = 0.0F;
this.bone.roll = 0.0F;
if (!bl) {
float k = MathHelper.cos(h * 0.18F);
this.bone.pitch = 0.1F + k * (float) Math.PI * 0.025F;
this.leftAntenna.pitch = k * (float) Math.PI * 0.03F;
this.rightAntenna.pitch = k * (float) Math.PI * 0.03F;
this.frontLegs.pitch = -k * (float) Math.PI * 0.1F + (float) (Math.PI / 8);
this.backLegs.pitch = -k * (float) Math.PI * 0.05F + (float) (Math.PI / 4);
this.bone.pivotY = 19.0F - MathHelper.cos(h * 0.18F) * 0.9F;
}
}
if (this.bodyPitch > 0.0F) {
this.bone.pitch = ModelUtil.interpolateAngle(this.bone.pitch, 3.0915928F, this.bodyPitch);
}
}
@Override
protected Iterable<ModelPart> getHeadParts() {
return ImmutableList.of();
}
@Override
protected Iterable<ModelPart> getBodyParts() {
return ImmutableList.of(this.bone);
}
}

View File

@ -39,9 +39,13 @@
"item.joy.pride_brush": "Pride Brush",
"item.joy.pride_slime_ball": "Pride Slime Ball",
"item.joy.thigh_high_fox_spawn_egg": "Thigh-High Fox Spawn Egg",
"item.joy.pride_bii_spawn_egg": "Pride Bii Spawn Egg",
"item.joy.bii_spawn_egg": "Bii Spawn Egg",
"item.joy.enbee_spawn_egg": "Enbee Spawn Egg",
"item.joy.pride_axolotl_spawn_egg": "Pride Axolotl Spawn Egg",
"item.joy.pride_frog_spawn_egg": "Pride Frog Spawn Egg",
"item.joy.pride_slime_spawn_egg": "Pride Slime Spawn Egg",
"item.joy.pride_sniffer_spawn_egg": "Pride Sniffer Spawn Egg"
"item.joy.pride_sniffer_spawn_egg": "Pride Sniffer Spawn Egg",
"entity.joy.bii": "Bii",
"entity.joy.enbee": "Enbee"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 B

View File

Before

Width:  |  Height:  |  Size: 1003 B

After

Width:  |  Height:  |  Size: 1003 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1003 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 989 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB