Irineu3737 Postado Agosto 22, 2018 Denunciar Compartilhar Postado Agosto 22, 2018 Uso Mcreator,pois não sei forge nem java,e parece que no programa não tem essa opção,então vou ter q mecher na parte de codigo.Eu criei um mod pelo Mcreator que até agora só tem um mob , "vampiro",e vou adicionar estaca de madeira,e quero que o vampiro só morra se quem estiver tentando matar ele esteja com estaca de madeira na mão.Qual seria o codigo pra isso? E em qual parte do codigo do mob colocar?Esse é o codigo do mob: package mod.mcreator; import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.common.registry.EntityRegistry; import net.minecraftforge.fml.common.event.FMLServerStartingEvent; 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.EnumHand; import net.minecraft.util.DamageSource; import net.minecraft.item.ItemStack; import net.minecraft.item.Item; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.effect.EntityLightningBolt; 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.SharedMonsterAttributes; import net.minecraft.entity.EnumCreatureType; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.Entity; import net.minecraft.client.renderer.entity.RenderBiped; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.Minecraft; import java.util.Random; import java.util.Iterator; import java.util.ArrayList; @SuppressWarnings("unchecked") public class mcreator_vampiro { public int mobid = 3; public static Object instance; public void load(FMLInitializationEvent event) { } public void generateNether(World world, Random random, int chunkX, int chunkZ) { } public void generateSurface(World world, Random random, int chunkX, int chunkZ) { } public int addFuel(ItemStack fuel) { return 0; } @SideOnly(Side.CLIENT) public void registerRenderers() { RenderBiped customRender = new RenderBiped(Minecraft.getMinecraft().getRenderManager(), new ModelBiped(), 0) { protected ResourceLocation getEntityTexture(Entity par1Entity) { return new ResourceLocation("angel.png"); } }; customRender.addLayer(new net.minecraft.client.renderer.entity.layers.LayerHeldItem(customRender)); customRender.addLayer(new net.minecraft.client.renderer.entity.layers.LayerBipedArmor(customRender) { protected void initArmor() { this.modelLeggings = new ModelBiped(); this.modelArmor = new ModelBiped(); } }); RenderingRegistry.registerEntityRenderingHandler(mcreator_vampiro.Entityvampiro.class, customRender); } public void serverLoad(FMLServerStartingEvent event) { } public void preInit(FMLPreInitializationEvent event) { EntityRegistry.registerModEntity(new ResourceLocation("testenvironmentmod:vampiro"), mcreator_vampiro.Entityvampiro.class, "vampiro", mobid, instance, 64, 1, true, (255 << 16) + (255 << ? + 255, (255 << 16) + (255 << ? + 255); EntityRegistry.addSpawn(mcreator_vampiro.Entityvampiro.class, 20, 3, 30, EnumCreatureType.MONSTER, allbiomes(Biome.REGISTRY)); } public static 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()]); } public static class Entityvampiro extends EntityMob { World world = null; public Entityvampiro(World var1) { super(var1); world = var1; experienceValue = 5; this.isImmuneToFire = false; addRandomArmor(); setNoAI(!true); 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, true)); } protected void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(1.0D); this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(10D); if (this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE) != null) this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(3D); } protected void addRandomArmor() { } @Override protected Item getDropItem() { return null; } @Override protected net.minecraft.util.SoundEvent getAmbientSound() { return (net.minecraft.util.SoundEvent) net.minecraft.util.SoundEvent.REGISTRY.getObject(new ResourceLocation("")); } @Override protected net.minecraft.util.SoundEvent getHurtSound(DamageSource ds) { return (net.minecraft.util.SoundEvent) net.minecraft.util.SoundEvent.REGISTRY.getObject(new ResourceLocation("game.neutral.hurt")); } @Override protected net.minecraft.util.SoundEvent getDeathSound() { return (net.minecraft.util.SoundEvent) net.minecraft.util.SoundEvent.REGISTRY.getObject(new ResourceLocation("game.neutral.die")); } @Override public void onStruckByLightning(EntityLightningBolt entityLightningBolt) { super.onStruckByLightning(entityLightningBolt); int i = (int) this.posX; int j = (int) this.posY; int k = (int) this.posZ; Entity entity = this; } @Override public void fall(float l, float d) { super.fall(l, d); int i = (int) this.posX; int j = (int) this.posY; int k = (int) this.posZ; Entity entity = this; } /** * Called when the entity is attacked. */ @Override public boolean attackEntityFrom(DamageSource source, float amount) { boolean retval = super.attackEntityFrom(source, amount); int i = (int) this.posX; int j = (int) this.posY; int k = (int) this.posZ; Entity entity = this; return retval; } @Override public void onDeath(DamageSource source) { super.onDeath(source); int i = (int) this.posX; int j = (int) this.posY; int k = (int) this.posZ; Entity entity = this; } @Override public boolean processInteract(EntityPlayer entity, EnumHand hand) { boolean retval = super.processInteract(entity, hand); int i = (int) this.posX; int j = (int) this.posY; int k = (int) this.posZ; ItemStack itemstack = entity.getHeldItem(hand); return retval; } @Override public void onKillEntity(EntityLivingBase entity) { super.onKillEntity(entity); int i = (int) this.posX; int j = (int) this.posY; int k = (int) this.posZ; } @Override public void onEntityUpdate() { super.onEntityUpdate(); int i = (int) this.posX; int j = (int) this.posY; int k = (int) this.posZ; Entity entity = this; } @Override public void onCollideWithPlayer(EntityPlayer entity) { super.onCollideWithPlayer(entity); int i = (int) this.posX; int j = (int) this.posY; int k = (int) this.posZ; } @Override protected float getSoundVolume() { return 1.0F; } } } Link para o comentário Compartilhar em outros sites More sharing options...
Reset Postado Dezembro 18, 2018 Denunciar Compartilhar Postado Dezembro 18, 2018 Seu tópico foi marcado como Inativo. Para reverter está ação, entre em contato com a equipe de Moderação. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados