-
Bonjour,
Me suis remis a coder un truc et après plusieurs tentative infructueuse je me dirige vers vous je cherche a faire spawner un mob hostile qui étend la class EntityMob en plein jour Mais voila quoi que je fasse mon mob spawn sans problème de nuit sauf si je lui met l’attribut créature ou ambiant la plus rien ne spawn nuit ou jour j’ai aussi essayer de override getCanSpawnHere() ou isValidLightLevel() sans resultatimport net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.EntityAIAttackOnCollide; import net.minecraft.entity.ai.EntityAIHurtByTarget; import net.minecraft.entity.ai.EntityAILookIdle; import net.minecraft.entity.ai.EntityAIMoveThroughVillage; import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction; import net.minecraft.entity.ai.EntityAINearestAttackableTarget; import net.minecraft.entity.ai.EntityAISwimming; import net.minecraft.entity.ai.EntityAIWander; import net.minecraft.entity.ai.EntityAIWatchClosest; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.passive.EntityVillager; import net.minecraft.entity.passive.IAnimals; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.world.EnumDifficulty; import net.minecraft.world.World; import net.minecraftforge.common.ForgeModContainer; public class EntityZeds extends EntityMob implements IAnimals { public EntityZeds(World world) { super(world); this.getNavigator().setBreakDoors(true); this.tasks.addTask(0, new EntityAISwimming(this)); this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false)); this.tasks.addTask(4, new EntityAIAttackOnCollide(this, EntityVillager.class, 1.0D, true)); this.tasks.addTask(5, new EntityAIMoveTowardsRestriction(this, 1.0D)); this.tasks.addTask(6, new EntityAIMoveThroughVillage(this, 1.0D, false)); this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); this.tasks.addTask(8, new EntityAILookIdle(this)); this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityVillager.class, 0, false)); this.setSize(0.6F, 1.8F); } public void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(40.0D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.23000000417232513D); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); } @Override public boolean getCanSpawnHere() { return super.getCanSpawnHere(); } @Override protected boolean isValidLightLevel(){ return true; } protected boolean canDespawn() { return false; } public Item getDropItem() { return Items.apple; } } === ===group@EventHandler public void init(FMLInitializationEvent event) { EntityRegistry.addSpawn(EntityZeds.class, ProbaSpawn, min, max, EnumCreatureType.monster, BiomeGenBase.ocean,BiomeGenBase.plains,BiomeGenBase.desert,BiomeGenBase.extremeHills, BiomeGenBase.forest,BiomeGenBase.taiga,BiomeGenBase.swampland,BiomeGenBase.river,BiomeGenBase.hell,BiomeGenBase.sky,BiomeGenBase.frozenOcean,BiomeGenBase.frozenRiver, BiomeGenBase.icePlains,BiomeGenBase.iceMountains,BiomeGenBase.mushroomIsland,BiomeGenBase.mushroomIslandShore,BiomeGenBase.beach,BiomeGenBase.desertHills,BiomeGenBase.forestHills, BiomeGenBase.taigaHills,BiomeGenBase.extremeHillsEdge,BiomeGenBase.jungle,BiomeGenBase.beach,BiomeGenBase.jungleHills,BiomeGenBase.jungleEdge,BiomeGenBase.deepOcean,BiomeGenBase.stoneBeach, BiomeGenBase.coldBeach,BiomeGenBase.birchForest,BiomeGenBase.birchForestHills,BiomeGenBase.roofedForest,BiomeGenBase.coldTaiga,BiomeGenBase.coldTaigaHills,BiomeGenBase.megaTaiga, BiomeGenBase.megaTaigaHills,BiomeGenBase.extremeHillsPlus,BiomeGenBase.savanna,BiomeGenBase.savannaPlateau,BiomeGenBase.mesa,BiomeGenBase.mesaPlateau_F,BiomeGenBase.mesaPlateau); MinecraftForge.EVENT_BUS.register(new EntityJoinEvent()); EntityRegistry.registerGlobalEntityID(EntityZeds.class, "zeds", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 0, 255).getRGB(), new Color(255, 0, 0).getRGB()); EntityRegistry.registerModEntity(EntityZeds.class, "zeds", 420, this.instance, 40, 2, true); //new EntityRegister(); MinecraftForge.EVENT_BUS.register(new EntityJoinEvent()); proxy.registerRender(); }du coup si vous trouvez un solution je suis prêt a tout essayer au passage c’est sous forge-1.7.10-10.13.4.1558-1.7.10 des fois que ça ai une importance Merci d’avance
-
@Override public boolean getCanSpawnHere() { //int i = MathHelper.floor_double(posX); //int j = MathHelper.floor_double(boundingBox.minY); //int k = MathHelper.floor_double(posZ); return (this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox)); } @Override protected boolean isValidLightLevel(){ return true; } protected boolean canDespawn() { return false; }ce code semble fonctionner pour ceux qui cherche comment faire en sorte de régler le probleme
Bonjour ! Vous semblez intéressé par cette conversation, mais vous n’avez pas encore de compte.
Marre de refaire défiler les mêmes messages ? Créez un compte pour retrouver votre position, recevoir des notifications des nouvelles réponses, sauvegarder vos favoris et voter pour les messages que vous appréciez.
Grâce à votre participation, ce message peut devenir encore meilleur 💗
S'inscrire Se connecter