Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Создание моба лучника MCreator 1.12.2

Тема в разделе "Помощь", создана пользователем Is3ngrim, 25 июн 2021.

  1. Автор темы
    Is3ngrim

    Is3ngrim Ньюби

    Баллы:
    1
    Имя в Minecraft:
    Is3ngrim
    Столкнулся с проблемой при создании лучника на на базе скелета.Дело в том что моб издает звуки скелета при движении и мне хотелось бы это исключить.Если подскажите что и куда дописать/изменить в коде,буду признателен.

    package net.mcreator.relentless_mobs.entity;

    import net.minecraftforge.fml.relauncher.SideOnly;
    import net.minecraftforge.fml.relauncher.Side;
    import net.minecraftforge.fml.common.registry.EntityRegistry;
    import net.minecraftforge.fml.common.registry.EntityEntryBuilder;
    import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
    import net.minecraftforge.fml.common.event.FMLInitializationEvent;
    import net.minecraftforge.fml.client.registry.RenderingRegistry;

    import net.minecraft.world.biome.Biome;
    import net.minecraft.world.World;
    import net.minecraft.util.ResourceLocation;
    import net.minecraft.util.DamageSource;
    import net.minecraft.item.ItemStack;
    import net.minecraft.item.Item;
    import net.minecraft.inventory.EntityEquipmentSlot;
    import net.minecraft.init.Items;
    import net.minecraft.entity.monster.EntitySkeleton;
    import net.minecraft.entity.ai.EntityAIWander;
    import net.minecraft.entity.ai.EntityAISwimming;
    import net.minecraft.entity.ai.EntityAIPanic;
    import net.minecraft.entity.ai.EntityAILookIdle;
    import net.minecraft.entity.ai.EntityAILeapAtTarget;
    import net.minecraft.entity.ai.EntityAIHurtByTarget;
    import net.minecraft.entity.ai.EntityAIBreakDoor;
    import net.minecraft.entity.SharedMonsterAttributes;
    import net.minecraft.entity.EnumCreatureType;
    import net.minecraft.entity.EnumCreatureAttribute;
    import net.minecraft.entity.Entity;
    import net.minecraft.client.renderer.entity.RenderBiped;
    import net.minecraft.client.model.ModelBiped;

    import net.mcreator.relentless_mobs.item.ItemCoins;
    import net.mcreator.relentless_mobs.ElementsRelentlessmobs;

    import java.util.Iterator;
    import java.util.ArrayList;

    @ElementsRelentlessmobs.ModElement.Tag
    public class EntityBrigand extends ElementsRelentlessmobs.ModElement {
    public static final int ENTITYID = 5;
    public static final int ENTITYID_RANGED = 6;
    public EntityBrigand(ElementsRelentlessmobs instance) {
    super(instance, 1);
    }

    @Override
    public void initElements() {
    elements.entities.add(() -> EntityEntryBuilder.create().entity(EntityCustom.class)
    .id(new ResourceLocation("relentless_mobs", "brigand"), ENTITYID).name("brigand").tracker(64, 3, true).egg(-1, -1).build());
    }

    @Override
    public void init(FMLInitializationEvent event) {
    Biome[] spawnBiomes = allbiomes(Biome.REGISTRY);
    EntityRegistry.addSpawn(EntityCustom.class, 20, 1, 3, EnumCreatureType.CREATURE, spawnBiomes);
    }

    private Biome[] allbiomes(net.minecraft.util.registry.RegistryNamespaced<ResourceLocation, Biome> in) {
    Iterator<Biome> itr = in.iterator();
    ArrayList<Biome> ls = new ArrayList<Biome>();
    while (itr.hasNext())
    ls.add(itr.next());
    return ls.toArray(new Biome[ls.size()]);
    }

    @SideOnly(Side.CLIENT)
    @Override
    public void preInit(FMLPreInitializationEvent event) {
    RenderingRegistry.registerEntityRenderingHandler(EntityCustom.class, renderManager -> {
    RenderBiped customRender = new RenderBiped(renderManager, new ModelBiped(), 0.5f) {
    protected ResourceLocation getEntityTexture(Entity entity) {
    return new ResourceLocation("relentless_mobs:textures/rigand.png");
    }
    };
    customRender.addLayer(new net.minecraft.client.renderer.entity.layers.LayerBipedArmor(customRender) {
    protected void initArmor() {
    this.modelLeggings = new ModelBiped(0.5f);
    this.modelArmor = new ModelBiped(1);
    }
    });
    return customRender;
    });
    }
    public static class EntityCustom extends EntitySkeleton {
    public EntityCustom(World world) {
    super(world);
    setSize(0.6f, 1.8f);
    experienceValue = 5;
    this.isImmuneToFire = true;
    setNoAI(!true);
    enablePersistence();
    this.setItemStackToSlot(EntityEquipmentSlot.MAINHAND, new ItemStack(Items.BOW, (int) (1)));
    }

    @Override
    protected void initEntityAI() {
    super.initEntityAI();
    this.tasks.addTask(1, new EntityAIWander(this, 1));
    this.tasks.addTask(2, new EntityAILookIdle(this));
    this.tasks.addTask(3, new EntityAISwimming(this));
    this.tasks.addTask(4, new EntityAILeapAtTarget(this, (float) 0.8));
    this.tasks.addTask(5, new EntityAIPanic(this, 1.2));
    this.targetTasks.addTask(6, new EntityAIHurtByTarget(this, false));
    this.tasks.addTask(7, new EntityAIBreakDoor(this));
    }

    @Override
    public EnumCreatureAttribute getCreatureAttribute() {
    return EnumCreatureAttribute.ILLAGER;
    }

    @Override
    protected boolean canDespawn() {
    return false;
    }

    @Override
    protected Item getDropItem() {
    return new ItemStack(ItemCoins.block, (int) (1)).getItem();
    }

    @Override
    public net.minecraft.util.SoundEvent getAmbientSound() {
    return (net.minecraft.util.SoundEvent) net.minecraft.util.SoundEvent.REGISTRY.getObject(new ResourceLocation(""));
    }

    @Override
    public net.minecraft.util.SoundEvent getHurtSound(DamageSource ds) {
    return (net.minecraft.util.SoundEvent) net.minecraft.util.SoundEvent.REGISTRY.getObject(new ResourceLocation("entity.generic.hurt"));
    }

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

    @Override
    protected float getSoundVolume() {
    return 1.0F;
    }

    @Override
    protected void applyEntityAttributes() {
    super.applyEntityAttributes();
    if (this.getEntityAttribute(SharedMonsterAttributes.ARMOR) != null)
    this.getEntityAttribute(SharedMonsterAttributes.ARMOR).setBaseValue(0D);
    if (this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED) != null)
    this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.3D);
    if (this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH) != null)
    this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(10D);
    if (this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE) != null)
    this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(3D);
    }
    }
    }
     
  2. Хостинг MineCraft
    <

Поделиться этой страницей