Minecraft Blogs / Other

Tapir Mod- Tapir Code

  • 299 views, 2 today
  • 5
  • 4
MCTapir's Avatar MCTapir
Level 39 : Artisan Sus
24
If someone intrest here is the code for the Tapir in the Tapir Mod:

package net.mcreator.tapire.entity;

import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.fml.network.NetworkHooks;
import net.minecraftforge.fml.network.FMLPlayMessages;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.event.world.BiomeLoadingEvent;
import net.minecraftforge.event.entity.EntityAttributeCreationEvent;
import net.minecraftforge.common.MinecraftForge;

import net.minecraft.world.gen.Heightmap;
import net.minecraft.world.biome.MobSpawnInfo;
import net.minecraft.world.World;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.DamageSource;
import net.minecraft.network.IPacket;
import net.minecraft.item.SpawnEggItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.Item;
import net.minecraft.entity.monster.MonsterEntity;
import net.minecraft.entity.ai.attributes.Attributes;
import net.minecraft.entity.ai.attributes.AttributeModifierMap;
import net.minecraft.entity.MobEntity;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.EntitySpawnPlacementRegistry;
import net.minecraft.entity.EntityClassification;
import net.minecraft.entity.CreatureEntity;
import net.minecraft.entity.CreatureAttribute;

import net.mcreator.tapire.item.TapirleatherItem;
import net.mcreator.tapire.entity.renderer.MalayantapirRenderer;
import net.mcreator.tapire.TapireModElements;

@TapireModElements.ModElement.Tag
public class MalayantapirEntity extends TapireModElements.ModElement {
public static EntityType entity = (EntityType.Builder.<CustomEntity>create(CustomEntity::new, EntityClassification.MONSTER)
.setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(CustomEntity::new)
.size(0.9f, 0.9f)).build("malayantapir").setRegistryName("malayantapir");
public MalayantapirEntity(TapireModElements instance) {
super(instance, 4);
FMLJavaModLoadingContext.get().getModEventBus().register(new MalayantapirRenderer.ModelRegisterHandler());
FMLJavaModLoadingContext.get().getModEventBus().register(new EntityAttributesRegisterHandler());
MinecraftForge.EVENT_BUS.register(this);
}

@Override
public void initElements() {
elements.entities.add(() -> entity);
elements.items
.add(() -> new SpawnEggItem(entity, -1, -1, new Item.Properties().group(ItemGroup.MISC)).setRegistryName("malayantapir_spawn_egg"));
}

@SubscribeEvent
public void addFeatureToBiomes(BiomeLoadingEvent event) {
boolean biomeCriteria = false;
if (new ResourceLocation("tapire:tapir_forest").equals(event.getName()))
biomeCriteria = true;
if (new ResourceLocation("jungle").equals(event.getName()))
biomeCriteria = true;
if (!biomeCriteria)
return;
event.getSpawns().getSpawner(EntityClassification.MONSTER).add(new MobSpawnInfo.Spawners(entity, 20, 4, 4));
}

@Override
public void init(FMLCommonSetupEvent event) {
EntitySpawnPlacementRegistry.register(entity, EntitySpawnPlacementRegistry.PlacementType.ON_GROUND, Heightmap.Type.MOTION_BLOCKING_NO_LEAVES,
MonsterEntity::canMonsterSpawn);
}
private static class EntityAttributesRegisterHandler {
@SubscribeEvent
public void onEntityAttributeCreation(EntityAttributeCreationEvent event) {
AttributeModifierMap.MutableAttribute ammma = MobEntity.func_233666_p_();
ammma = ammma.createMutableAttribute(Attributes.MOVEMENT_SPEED, 0.3);
ammma = ammma.createMutableAttribute(Attributes.MAX_HEALTH, 10);
ammma = ammma.createMutableAttribute(Attributes.ARMOR, 0);
ammma = ammma.createMutableAttribute(Attributes.ATTACK_DAMAGE, 3);
event.put(entity, ammma.create());
}
}

public static class CustomEntity extends CreatureEntity {
public CustomEntity(FMLPlayMessages.SpawnEntity packet, World world) {
this(entity, world);
}

public CustomEntity(EntityType<CustomEntity> type, World world) {
super(type, world);
experienceValue = 0;
setNoAI(true);
}

@Override
public IPacket<?> createSpawnPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}

@Override
public CreatureAttribute getCreatureAttribute() {
return CreatureAttribute.UNDEFINED;
}

protected void dropSpecialItems(DamageSource source, int looting, boolean recentlyHitIn) {
super.dropSpecialItems(source, looting, recentlyHitIn);
this.entityDropItem(new ItemStack(TapirleatherItem.block, (int) (1)));
}

@Override
public net.minecraft.util.SoundEvent getHurtSound(DamageSource ds) {
return (net.minecraft.util.SoundEvent) ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("entity.horse.death"));
}

@Override
public net.minecraft.util.SoundEvent getDeathSound() {
return (net.minecraft.util.SoundEvent) ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("entity.generic.death"));
}

@Override
public boolean attackEntityFrom(DamageSource source, float amount) {
if (source == DamageSource.DROWN)
return false;
return super.attackEntityFrom(source, amount);
}
}
}
Tags

Create an account or sign in to comment.

Planet Minecraft

Website

© 2010 - 2024
www.planetminecraft.com

Welcome