[add] Capybara

[fix] exedently delete MonkeyModel rendere Event
This commit is contained in:
2026-09-29 16:58:34 +02:00
parent 2f6b269895
commit a78ebd94c8
17 changed files with 60 additions and 16 deletions
@@ -31,6 +31,7 @@ public class ModCreativeModeTabs {
output.accept(ModItems.BUTTERFLY_SPAWN_EGG);
output.accept(ModItems.RACCOON_SPAWN_EGG);
output.accept(ModItems.MONKEY_SPAWN_EGG);
output.accept(ModItems.CAPYBARA_SPAWN_EGG);
}).build());
@@ -52,6 +52,9 @@ public class ModItems {
public static final DeferredItem<Item> MONKEY_SPAWN_EGG = ITEMS.register("monkey_spawn_egg",
() -> new DeferredSpawnEggItem(ModEntities.MONKEY, 0x795136, 0x9e9178,
new Item.Properties()));
public static final DeferredItem<Item> CAPYBARA_SPAWN_EGG = ITEMS.register("capybara_spawn_egg",
() -> new DeferredSpawnEggItem(ModEntities.CAPYBARA, 0x372a21, 0x9e9178,
new Item.Properties()));
public static void register(IEventBus eventBus) {
ITEMS.register(eventBus);
@@ -25,6 +25,7 @@ import ovh.glitchlabs.masterwild.entity.client.Raccoon.RaccoonRenderer;
import ovh.glitchlabs.masterwild.entity.client.Rooster.RoosterRenderer;
import ovh.glitchlabs.masterwild.entity.client.Shark.SharkRenderer;
import ovh.glitchlabs.masterwild.entity.client.butterfly.ButterflyRenderer;
import ovh.glitchlabs.masterwild.entity.client.capibara.CapybaraRenderer;
import ovh.glitchlabs.masterwild.entity.client.firefly.FireflyRenderer;
import ovh.glitchlabs.masterwild.entity.client.hedgehog.HedgehogRenderer;
import ovh.glitchlabs.masterwild.entity.client.red_panda.Red_PandaRenderer;
@@ -84,6 +85,7 @@ public class Masterwild {
EntityRenderers.register(ModEntities.BUTTERFLY.get(), ButterflyRenderer::new);
EntityRenderers.register(ModEntities.RACCOON.get(), RaccoonRenderer::new);
EntityRenderers.register(ModEntities.MONKEY.get(), MonkeyRenderer::new);
EntityRenderers.register(ModEntities.CAPYBARA.get(), CapybaraRenderer::new);
}
}
}
@@ -30,5 +30,6 @@ public class ModItemModelProvider extends ItemModelProvider {
withExistingParent(ModItems.BUTTERFLY_SPAWN_EGG.getId().getPath(), mcLoc("item/template_spawn_egg"));
withExistingParent(ModItems.RACCOON_SPAWN_EGG.getId().getPath(), mcLoc("item/template_spawn_egg"));
withExistingParent(ModItems.MONKEY_SPAWN_EGG.getId().getPath(), mcLoc("item/template_spawn_egg"));
withExistingParent(ModItems.CAPYBARA_SPAWN_EGG.getId().getPath(), mcLoc("item/template_spawn_egg"));
}
}
@@ -26,6 +26,7 @@ public class ModLanguageProvider extends LanguageProvider {
add(ModEntities.BUTTERFLY.get(), "Butterfly");
add(ModEntities.RACCOON.get(), "Raccoon");
add(ModEntities.MONKEY.get(), "Monkey");
add(ModEntities.CAPYBARA.get(), "Capybara");
add(ModItems.PINGUIN_SPAWN_EGG.get(), "Pinguin Spawn Egg");
add(ModItems.FIREFLY_SPAWN_EGG.get(), "Firefly Spawn Egg");
@@ -36,6 +37,7 @@ public class ModLanguageProvider extends LanguageProvider {
add(ModItems.BUTTERFLY_SPAWN_EGG.get(), "Butterfly Spawn Egg");
add(ModItems.RACCOON_SPAWN_EGG.get(), "Raccoon Spawn Egg");
add(ModItems.MONKEY_SPAWN_EGG.get(), "Monkey Spawn Egg");
add(ModItems.CAPYBARA_SPAWN_EGG.get(), "Capybara Spawn Egg");
add("creativetab.masterwild.masterwild", "MasterWild");
@@ -48,24 +48,24 @@ public class CapybaraModel<T extends CapybaraEntity> extends HierarchicalModel<T
PartDefinition body2 = body.addOrReplaceChild("body2", CubeListBuilder.create(), PartPose.offset(1.0F, -0.375F, -1.0F));
PartDefinition cube_r1 = body2.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(-18, -14).addBox(-5.0F, -10.0F, -1.0F, 10.0F, 10.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0436F, 0.0F, 0.0F));
PartDefinition cube_r1 = body2.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-5.0F, -10.0F, -1.0F, 10.0F, 10.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0436F, 0.0F, 0.0F));
PartDefinition legs = body.addOrReplaceChild("legs", CubeListBuilder.create(), PartPose.offset(-1.0F, 0.375F, 1.0F));
PartDefinition R_front_Leg = legs.addOrReplaceChild("R_front_Leg", CubeListBuilder.create().texOffs(-1, -1).mirror().addBox(-1.5F, 0.0F, -1.5F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(-0.5F, -1.0F, 0.5F));
PartDefinition R_front_Leg = legs.addOrReplaceChild("R_front_Leg", CubeListBuilder.create().texOffs(0, 44).addBox(-1.5F, 0.0F, -1.5F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -1.0F, 0.5F));
PartDefinition R_back_Leg = legs.addOrReplaceChild("R_back_Leg", CubeListBuilder.create().texOffs(0, 0).mirror().addBox(-1.5F, 0.5F, -1.5F, 3.0F, 5.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(-0.75F, -2.5F, 10.5F));
PartDefinition R_back_Leg = legs.addOrReplaceChild("R_back_Leg", CubeListBuilder.create().texOffs(36, 26).addBox(-1.5F, 0.5F, -1.5F, 3.0F, 5.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.75F, -2.5F, 10.5F));
PartDefinition L_back_Leg = legs.addOrReplaceChild("L_back_Leg", CubeListBuilder.create().texOffs(-1, -1).addBox(-1.5F, 0.5F, -1.5F, 3.0F, 5.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(4.75F, -2.5F, 10.5F));
PartDefinition L_back_Leg = legs.addOrReplaceChild("L_back_Leg", CubeListBuilder.create().texOffs(36, 34).addBox(-1.5F, 0.5F, -1.5F, 3.0F, 5.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(4.75F, -2.5F, 10.5F));
PartDefinition L_front_Leg = legs.addOrReplaceChild("L_front_Leg", CubeListBuilder.create().texOffs(-1, -1).addBox(-1.5F, 0.0F, -1.5F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(4.5F, -1.0F, 0.5F));
PartDefinition L_front_Leg = legs.addOrReplaceChild("L_front_Leg", CubeListBuilder.create().texOffs(36, 42).addBox(-1.5F, 0.0F, -1.5F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(4.5F, -1.0F, 0.5F));
PartDefinition head = capybara.addOrReplaceChild("head", CubeListBuilder.create().texOffs(-12, -9).addBox(-3.5F, -5.1825F, -9.311F, 7.0F, 7.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -11.5675F, -6.689F));
PartDefinition head = capybara.addOrReplaceChild("head", CubeListBuilder.create().texOffs(0, 26).addBox(-3.5F, -5.1825F, -9.311F, 7.0F, 7.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -11.5675F, -6.689F));
PartDefinition cube_r2 = head.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(1, 0).addBox(0.0F, -2.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F))
.texOffs(0, 0).mirror().addBox(7.0F, -2.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-4.0F, -4.1825F, -1.311F, -0.2182F, 0.0F, 0.0F));
PartDefinition cube_r2 = head.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(12, 44).addBox(0.0F, -2.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F))
.texOffs(18, 44).addBox(7.0F, -2.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-4.0F, -4.1825F, -1.311F, -0.2182F, 0.0F, 0.0F));
return LayerDefinition.create(meshdefinition, 16, 16);
return LayerDefinition.create(meshdefinition, 64, 64);
}
@Override
@@ -9,8 +9,8 @@ import ovh.glitchlabs.masterwild.entity.custom.CapybaraEntity;
public class CapybaraRenderer extends MobRenderer<CapybaraEntity, CapybaraModel<CapybaraEntity>> {
private static final ResourceLocation TEXTURE =
ResourceLocation.fromNamespaceAndPath(Masterwild.MODID, "textures/entity/capibara.png");
private static final float ADULT_SCALE = 1.5f;
ResourceLocation.fromNamespaceAndPath(Masterwild.MODID, "textures/entity/capybara.png");
private static final float ADULT_SCALE = 1.0f;
private static final float BABY_SCALE = 0.5f;
private static final float SHADOW = 0.45f;
@@ -6,6 +6,7 @@ import net.neoforged.neoforge.client.event.EntityRenderersEvent;
import net.neoforged.neoforge.event.entity.EntityAttributeCreationEvent;
import ovh.glitchlabs.masterwild.Masterwild;
import ovh.glitchlabs.masterwild.entity.ModEntities;
import ovh.glitchlabs.masterwild.entity.client.Monkey.MonkeyModel;
import ovh.glitchlabs.masterwild.entity.client.Pinguin.PinguinModel;
import ovh.glitchlabs.masterwild.entity.client.Raccoon.RaccoonModel;
import ovh.glitchlabs.masterwild.entity.client.Rooster.RoosterModel;
@@ -29,7 +30,8 @@ public class ModEventBusEvents {
event.registerLayerDefinition(Red_PandaModel.LAYER_LOCATION, Red_PandaModel::createBodyLayer);
event.registerLayerDefinition(ButterflyModel.LAYER_LOCATION, ButterflyModel::createBodyLayer);
event.registerLayerDefinition(RaccoonModel.LAYER_LOCATION, RaccoonModel::createBodyLayer);
event.registerLayerDefinition(CapybaraModel.LAYER_LOCATION, RaccoonModel::createBodyLayer);
event.registerLayerDefinition(MonkeyModel.LAYER_LOCATION, MonkeyModel::createBodyLayer);
event.registerLayerDefinition(CapybaraModel.LAYER_LOCATION, CapybaraModel::createBodyLayer);
}
@SubscribeEvent
@@ -41,6 +43,7 @@ public class ModEventBusEvents {
event.put(ModEntities.HEDGEHOG.get(), HedgehogEntity.createAttributes().build());
event.put(ModEntities.RED_PANDA.get(), Red_PandaEntity.createAttributes().build());
event.put(ModEntities.RACCOON.get(), RaccoonEntity.createAttributes().build());
event.put(ModEntities.MONKEY.get(), MonkeyEntity.createAttributes().build());
event.put(ModEntities.CAPYBARA.get(), CapybaraEntity.createAttributes().build());
}
}
@@ -33,6 +33,9 @@ public class ModSpawnPlacements {
event.register(ModEntities.MONKEY.get(), SpawnPlacementTypes.ON_GROUND,
Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules,
RegisterSpawnPlacementsEvent.Operation.REPLACE);
event.register(ModEntities.CAPYBARA.get(), SpawnPlacementTypes.ON_GROUND,
Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, Animal::checkAnimalSpawnRules,
RegisterSpawnPlacementsEvent.Operation.REPLACE);
event.register(ModEntities.SHARK.get(), SpawnPlacementTypes.IN_WATER,
Heightmap.Types.OCEAN_FLOOR, WaterAnimal::checkSurfaceWaterAnimalSpawnRules,
@@ -29,6 +29,7 @@ public class ModBiomeModifiers {
public static final ResourceKey<BiomeModifier> SPAWN_RED_PANDA = registerKey("spawn_red_panda");
public static final ResourceKey<BiomeModifier> SPAWN_BUTTERFLY = registerKey("spawn_butterfly");
public static final ResourceKey<BiomeModifier> SPAWN_MONKEY = registerKey("spawn_monkey");
public static final ResourceKey<BiomeModifier> SPAWN_CAPYBARA = registerKey("spawn_capybara");
public static void bootstrap(BootstrapContext<BiomeModifier> context) {
var placedFeatures = context.lookup(Registries.PLACED_FEATURE);
@@ -95,6 +96,13 @@ public class ModBiomeModifiers {
biomes.getOrThrow(Biomes.PLAINS),
biomes.getOrThrow(Biomes.CHERRY_GROVE)),
ModEntities.BUTTERFLY.get(), 10, 3, 6);
addSpawn(context, SPAWN_CAPYBARA,
HolderSet.direct(
biomes.getOrThrow(Biomes.MANGROVE_SWAMP),
biomes.getOrThrow(Biomes.SWAMP),
biomes.getOrThrow(Biomes.SAVANNA)),
ModEntities.CAPYBARA.get(), 5, 3, 4);
}
private static void addSpawn(BootstrapContext<BiomeModifier> context, ResourceKey<BiomeModifier> key,