Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Egietje

Forge Modder
  • Joined

  • Last visited

Everything posted by Egietje

  1. Well, it's a nullpointer exception: [20:04:03] [Client thread/FATAL]: Reported exception thrown! net.minecraft.util.ReportedException: Updating screen events at net.minecraft.client.Minecraft.runTick(Minecraft.java:1810) ~[Minecraft.class:?] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1118) ~[Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:406) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_77] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_77] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_77] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_77] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_77] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_77] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_77] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_77] at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?] at GradleStart.main(GradleStart.java:26) [start/:?] Caused by: java.lang.NullPointerException at com.Egietje.degeweldigemod.gui.CheeseCookieGui.actionPerformed(CheeseCookieGui.java:53) ~[CheeseCookieGui.class:?] at net.minecraft.client.gui.GuiScreen.mouseClicked(GuiScreen.java:500) ~[GuiScreen.class:?] at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:615) ~[GuiScreen.class:?] at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:581) ~[GuiScreen.class:?] at net.minecraft.client.Minecraft.runTick(Minecraft.java:1797) ~[Minecraft.class:?] ... 15 more
  2. Still crashes, the whole code: https://github.com/Egietje/DeGeweldigeMod
  3. So this: int i = cookies.getValueInt(); buttonList.add(cookies = new GuiSlider(8, width / 2 - 100, height / 4 + 42 + -16, 200, 20, "Ik wil ", " koekjes(" + String.valueOf(i) + ")", 1, 10, 5, true, true)); or this: buttonList.add(cookies = new GuiSlider(8, width / 2 - 100, height / 4 + 42 + -16, 200, 20, "Ik wil ", " koekjes(" + String.valueOf(cookies.getValueInt()) + ")", 1, 10, 5, true, true));
  4. So, I have made a block with a gui but it crashes when it reaches this: case 6 : buttonList.removeAll(buttonList); buttonList.add(cookies = new GuiSlider(8, width / 2 - 100, height / 4 + 42 + -16, 200, 20, "Ik wil ", " koekjes(" + cookies.getValueInt() + ")", 1, 10, 5, true, true)); buttonList.add(new GuiButtonExt(10, width / 2 - 100, height / 4 + 72 + -16, 200, 20, "Ok")); break; and I know that is because of this: " koekjes(" + cookies.getValueInt() + ")" but how should I convert an int into a string part?
  5. Hello, is there a way of creating an array of all the biomes, so I don't have to type all the biomes?
  6. So now I have this: protected boolean isValidLightLevel() { BlockPos blockpos = new BlockPos(this.posX, this.getEntityBoundingBox().minY, this.posZ); if (this.worldObj.getLightFor(EnumSkyBlock.SKY, blockpos) > this.rand.nextInt(32)) { return false; } else { int i = this.worldObj.getLightFromNeighbors(blockpos); if (this.worldObj.isThundering()) { int j = this.worldObj.getSkylightSubtracted(); this.worldObj.setSkylightSubtracted(10); i = this.worldObj.getLightFromNeighbors(blockpos); this.worldObj.setSkylightSubtracted(j); } return i <= this.rand.nextInt(; } } @Override public boolean getCanSpawnHere() { return this.worldObj.getDifficulty() != EnumDifficulty.PEACEFUL && this.isValidLightLevel() && super.getCanSpawnHere() && this.worldObj.canBlockSeeSky(this.getPosition()); } Will this work?
  7. IT ASKS FOR YOUR MODS INSTANCE
  8. There is a lot in the log: [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at java.lang.reflect.Constructor.newInstance(Unknown Source) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at net.minecraft.entity.EntityList.createEntityByName(EntityList.java:149) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at net.minecraft.entity.EntityList.createEntityByIDFromName(EntityList.java:238) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:217) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:100) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at net.minecraftforge.common.ForgeHooks.onPlaceItemIntoWorld(ForgeHooks.java:746) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:158) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at net.minecraft.server.management.PlayerInteractionManager.processRightClickBlock(PlayerInteractionManager.java:509) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at net.minecraft.network.NetHandlerPlayServer.processRightClickBlock(NetHandlerPlayServer.java:706) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.processPacket(CPacketPlayerTryUseItemOnBlock.java:68) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.processPacket(CPacketPlayerTryUseItemOnBlock.java:13) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at java.util.concurrent.FutureTask.run(Unknown Source) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at net.minecraft.util.Util.runTask(Util.java:25) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:742) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:687) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:156) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:536) [16:00:35] [server thread/INFO] [sTDERR]: [net.minecraft.entity.EntityList:createEntityByName:154]: at java.lang.Thread.run(Unknown Source) [16:00:35] [server thread/INFO] [sTDERR]: [java.lang.Throwable:printStackTrace:-1]: Caused by: java.lang.IllegalArgumentException: Attribute is already registered! [16:00:35] [server thread/INFO] [sTDERR]: [java.lang.Throwable:printStackTrace:-1]: at net.minecraft.entity.ai.attributes.AbstractAttributeMap.registerAttribute(AbstractAttributeMap.java:34) [16:00:35] [server thread/INFO] [sTDERR]: [java.lang.Throwable:printStackTrace:-1]: at net.minecraft.entity.ai.attributes.AttributeMap.registerAttribute(AttributeMap.java:36) [16:00:35] [server thread/INFO] [sTDERR]: [java.lang.Throwable:printStackTrace:-1]: at com.Egietje.KokkieMod.mobs.rots.EntityRotsKokkie.applyEntityAttributes(EntityRotsKokkie.java:96) [16:00:35] [server thread/INFO] [sTDERR]: [java.lang.Throwable:printStackTrace:-1]: at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:193) [16:00:35] [server thread/INFO] [sTDERR]: [java.lang.Throwable:printStackTrace:-1]: at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:100) [16:00:35] [server thread/INFO] [sTDERR]: [java.lang.Throwable:printStackTrace:-1]: at net.minecraft.entity.EntityCreature.<init>(EntityCreature.java:26) [16:00:35] [server thread/INFO] [sTDERR]: [java.lang.Throwable:printStackTrace:-1]: at net.minecraft.entity.monster.EntityMob.<init>(EntityMob.java:28) [16:00:35] [server thread/INFO] [sTDERR]: [java.lang.Throwable:printStackTrace:-1]: at com.Egietje.KokkieMod.mobs.rots.EntityRotsKokkie.<init>(EntityRotsKokkie.java:78) [16:00:35] [server thread/INFO] [sTDERR]: [java.lang.Throwable:printStackTrace:-1]: ... 23 more
  9. Hello, I have added a mob but when I try to spawn it with a spawnegg it spawns a pig, when I try to summon it it tells me: Unable to summon object Please help! Entity: package com.Egietje.KokkieMod.mobs.rots; import java.util.UUID; import javax.annotation.Nullable; import com.google.common.base.Predicate; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityAgeable; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.EntityAIAttackMelee; import net.minecraft.entity.ai.EntityAIBeg; import net.minecraft.entity.ai.EntityAIFollowOwner; import net.minecraft.entity.ai.EntityAIFollowParent; import net.minecraft.entity.ai.EntityAIHurtByTarget; import net.minecraft.entity.ai.EntityAILeapAtTarget; import net.minecraft.entity.ai.EntityAILookIdle; import net.minecraft.entity.ai.EntityAIMate; import net.minecraft.entity.ai.EntityAINearestAttackableTarget; import net.minecraft.entity.ai.EntityAIOwnerHurtByTarget; import net.minecraft.entity.ai.EntityAIOwnerHurtTarget; import net.minecraft.entity.ai.EntityAIPanic; import net.minecraft.entity.ai.EntityAISit; import net.minecraft.entity.ai.EntityAISwimming; import net.minecraft.entity.ai.EntityAITargetNonTamed; import net.minecraft.entity.ai.EntityAITempt; import net.minecraft.entity.ai.EntityAIWander; import net.minecraft.entity.ai.EntityAIWatchClosest; import net.minecraft.entity.ai.EntityAIZombieAttack; import net.minecraft.entity.monster.EntityCreeper; import net.minecraft.entity.monster.EntityGhast; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.monster.EntitySkeleton; import net.minecraft.entity.passive.EntityAnimal; import net.minecraft.entity.passive.EntityChicken; import net.minecraft.entity.passive.EntityHorse; import net.minecraft.entity.passive.EntityRabbit; import net.minecraft.entity.passive.EntitySheep; import net.minecraft.entity.passive.EntityTameable; import net.minecraft.entity.passive.EntityWolf; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.init.Items; import net.minecraft.init.SoundEvents; import net.minecraft.item.EnumDyeColor; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.datasync.DataParameter; import net.minecraft.network.datasync.DataSerializers; import net.minecraft.network.datasync.EntityDataManager; import net.minecraft.util.DamageSource; import net.minecraft.util.EnumHand; import net.minecraft.util.EnumParticleTypes; import net.minecraft.util.ResourceLocation; import net.minecraft.util.SoundEvent; import net.minecraft.util.datafix.DataFixer; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; import net.minecraft.world.EnumDifficulty; import net.minecraft.world.EnumSkyBlock; import net.minecraft.world.World; import net.minecraft.world.storage.loot.LootTableList; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; public class EntityRotsKokkie extends EntityMob { private static final DataParameter<Float> DATA_HEALTH_ID = EntityDataManager .<Float>createKey(EntityRotsKokkie.class, DataSerializers.FLOAT); private float headRotationCourse; private float headRotationCourseOld; public EntityRotsKokkie(World worldIn) { super(worldIn); this.setSize(0.4F, 0.6F); } protected void initEntityAI() { this.tasks.addTask(1, new EntityAISwimming(this)); this.tasks.addTask(2, new EntityAIAttackMelee(this, 1.0D, true)); this.tasks.addTask(3, new EntityAIWander(this, 1.0D)); this.tasks.addTask(4, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); this.tasks.addTask(5, new EntityAILookIdle(this)); this.tasks.addTask(6, new EntityAILeapAtTarget(this, 0.4F)); this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true, new Class[0])); } protected void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.30000001192092896D); this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(2.0D); this.getAttributeMap().registerAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(0.5D); } protected void updateAITasks() { this.dataManager.set(DATA_HEALTH_ID, Float.valueOf(this.getHealth())); } protected void entityInit() { super.entityInit(); this.dataManager.register(DATA_HEALTH_ID, Float.valueOf(this.getHealth())); } protected void playStepSound(BlockPos pos, Block blockIn) { this.playSound(SoundEvents.ENTITY_WOLF_STEP, 0.15F, 1.0F); } public static void func_189788_b(DataFixer p_189788_0_) { EntityLiving.func_189752_a(p_189788_0_, "RotsKokkie"); } protected SoundEvent getAmbientSound() { return (this.rand.nextInt(2) == 0 ? SoundEvents.ENTITY_WOLF_AMBIENT : SoundEvents.ENTITY_WOLF_PANT); } protected SoundEvent getHurtSound() { return SoundEvents.ENTITY_WOLF_HURT; } protected SoundEvent getDeathSound() { return SoundEvents.ENTITY_WOLF_DEATH; } /** * Returns the volume for the sounds this mob makes. */ protected float getSoundVolume() { return 0.4F; } /** * Called to update the entity's position/logic. */ public void onUpdate() { super.onUpdate(); this.headRotationCourseOld = this.headRotationCourse; this.headRotationCourse += (0.0F - this.headRotationCourse) * 0.4F; } @SideOnly(Side.CLIENT) public float getInterestedAngle(float p_70917_1_) { return (this.headRotationCourseOld + (this.headRotationCourse - this.headRotationCourseOld) * p_70917_1_) * 0.15F * (float) Math.PI; } public float getEyeHeight() { return this.height; } public int getVerticalFaceSpeed() { return super.getVerticalFaceSpeed(); } public boolean attackEntityAsMob(Entity entityIn) { boolean flag = entityIn.attackEntityFrom(DamageSource.causeMobDamage(this), (float) ((int) this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).getAttributeValue())); if (flag) { this.applyEnchantments(this, entityIn); } return flag; } public boolean shouldAttackEntity(EntityLivingBase p_142018_1_, EntityLivingBase p_142018_2_) { if (!(p_142018_1_ instanceof EntityCreeper) && !(p_142018_1_ instanceof EntityGhast)) { return p_142018_1_ instanceof EntityPlayer && p_142018_2_ instanceof EntityPlayer && !((EntityPlayer) p_142018_2_).canAttackPlayer((EntityPlayer) p_142018_1_) ? false : !(p_142018_1_ instanceof EntityHorse) || !((EntityHorse) p_142018_1_).isTame(); } else { return false; } } @Override public boolean getCanSpawnHere() { return this.worldObj.getDifficulty() != EnumDifficulty.PEACEFUL && this.isValidLightLevel() && super.getCanSpawnHere(); } } Model: package com.Egietje.KokkieMod.mobs.rots; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.entity.Entity; import net.minecraft.util.math.MathHelper; public class ModelRotsKokkie extends ModelBase { ModelRenderer Head; ModelRenderer Body; ModelRenderer RightArm; ModelRenderer LeftArm; ModelRenderer RightLeg; ModelRenderer LeftLeg; public ModelRotsKokkie() { textureWidth = 64; textureHeight = 64; Head = new ModelRenderer(this, 0, 0); Head.addBox(-2F, -3F, -1.5F, 4, 3, 3); Head.setRotationPoint(0F, 18F, 0F); Head.setTextureSize(64, 64); Head.mirror = true; setRotation(Head, 0F, 0F, 0F); Body = new ModelRenderer(this, 32, 16); Body.addBox(-2.5F, 0F, -1F, 5, 5, 2); Body.setRotationPoint(0F, 18F, 0F); Body.setTextureSize(64, 64); Body.mirror = true; setRotation(Body, 0F, 0F, 0F); RightArm = new ModelRenderer(this, 43, 0); RightArm.addBox(-1.5F, -1F, -2F, 2, 1, 3); RightArm.setRotationPoint(-3F, 19.5F, 0F); RightArm.setTextureSize(64, 64); RightArm.mirror = true; setRotation(RightArm, 0F, 0F, 0F); LeftArm = new ModelRenderer(this, 43, 0); LeftArm.addBox(-0.5F, -1F, -2F, 2, 1, 3); LeftArm.setRotationPoint(3F, 19.5F, 0F); LeftArm.setTextureSize(64, 64); LeftArm.mirror = true; setRotation(LeftArm, 0F, 0F, 0F); RightLeg = new ModelRenderer(this, 43, 0); RightLeg.addBox(-1F, 0F, -2F, 2, 1, 3); RightLeg.setRotationPoint(-2F, 23F, 0F); RightLeg.setTextureSize(64, 64); RightLeg.mirror = true; setRotation(RightLeg, 0F, 0F, 0F); LeftLeg = new ModelRenderer(this, 43, 0); LeftLeg.addBox(-1F, 0F, -2F, 2, 1, 3); LeftLeg.setRotationPoint(2F, 23F, 0F); LeftLeg.setTextureSize(64, 64); LeftLeg.mirror = true; setRotation(LeftLeg, 0F, 0F, 0F); } public void render(Entity entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scale) { super.render(entityIn, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scale); setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scale, entityIn); Head.render(scale); Body.render(scale); RightArm.render(scale); LeftArm.render(scale); RightLeg.render(scale); LeftLeg.render(scale); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor, Entity entityIn) { Head.rotateAngleX = headPitch / (180F / (float) Math.PI); Head.rotateAngleY = netHeadYaw / (180F / (float) Math.PI); LeftLeg.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; RightLeg.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F + (float) Math.PI) * 1.4F * limbSwingAmount; LeftArm.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F + (float) Math.PI) * 1.4F * limbSwingAmount; RightArm.rotateAngleX = MathHelper.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount; super.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor, entityIn); } } Render: package com.Egietje.KokkieMod.mobs.rots; import com.Egietje.KokkieMod.Reference; import com.Egietje.KokkieMod.mobs.grot.EntityGrotKokkie; import net.minecraft.client.model.ModelBase; import net.minecraft.client.renderer.entity.RenderLiving; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class RenderRotsKokkie extends RenderLiving<EntityRotsKokkie> { private static final ResourceLocation ROTS_KOKKIE_TEXTURES = new ResourceLocation(Reference.ID + ":textures/entity/rots_kokkie.png"); public RenderRotsKokkie(RenderManager renderManagerIn, ModelBase modelBaseIn, float shadowSizeIn) { super(renderManagerIn, modelBaseIn, shadowSizeIn); } protected ResourceLocation getEntityTexture(EntityRotsKokkie entity) { return ROTS_KOKKIE_TEXTURES; } } RenderingHandler: package com.Egietje.KokkieMod.mobs.rots; import net.minecraft.client.renderer.entity.Render; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraftforge.fml.client.registry.IRenderFactory; public class RenderingHandlerRotsKokkie implements IRenderFactory { @Override public Render createRenderFor(RenderManager manager) { return new RenderRotsKokkie(manager, new ModelRotsKokkie(), 0.5F); } } Mobs: package com.Egietje.KokkieMod.init; import com.Egietje.KokkieMod.KokkieMod; import com.Egietje.KokkieMod.mobs.boom.EntityBoomKokkie; import com.Egietje.KokkieMod.mobs.grond.EntityGrondKokkie; import com.Egietje.KokkieMod.mobs.grot.EntityGrotKokkie; import com.Egietje.KokkieMod.mobs.rots.EntityRotsKokkie; import net.minecraft.entity.EnumCreatureType; import net.minecraft.entity.passive.EntityBat; import net.minecraft.init.Biomes; import net.minecraft.world.biome.Biome; import net.minecraftforge.fml.common.registry.EntityRegistry; public class KokkieMobs { public KokkieMobs() { register(); addSpawn(); } public void register() { EntityRegistry.registerModEntity(EntityGrondKokkie.class, "GrondKokkie", 300, KokkieMod.KMInstance, 80, 3, true, 0xEAC169, 0xDAB565); EntityRegistry.registerModEntity(EntityBoomKokkie.class, "BoomKokkie", 301, KokkieMod.KMInstance, 80, 3, true, 0xCDAB67, 0x59CCBA); EntityRegistry.registerModEntity(EntityGrotKokkie.class, "GrotKokkie", 302, KokkieMod.KMInstance, 80, 3, true, 0x9F7A30, 0x1D5128); EntityRegistry.registerModEntity(EntityRotsKokkie.class, "RotsKokkie", 303, KokkieMod.KMInstance, 80, 3, true, 0x867865, 0x5B5B5B); } public void addSpawn() { EntityRegistry.addSpawn(EntityGrondKokkie.class, 6, 5, 10, EnumCreatureType.CREATURE, Biomes.PLAINS, Biomes.FOREST, Biomes.BEACH, Biomes.JUNGLE, Biomes.SAVANNA, Biomes.ROOFED_FOREST, Biomes.SWAMPLAND); EntityRegistry.addSpawn(EntityBoomKokkie.class, 6, 5, 10, EnumCreatureType.CREATURE, Biomes.BIRCH_FOREST, Biomes.FOREST, Biomes.FOREST_HILLS, Biomes.BIRCH_FOREST_HILLS, Biomes.ROOFED_FOREST); EntityRegistry.addSpawn(EntityGrotKokkie.class, 6, 5, 10, EnumCreatureType.CREATURE, Biomes.PLAINS, Biomes.FOREST, Biomes.BEACH, Biomes.JUNGLE, Biomes.SAVANNA, Biomes.ROOFED_FOREST, Biomes.SWAMPLAND); EntityRegistry.addSpawn(EntityRotsKokkie.class, 6, 5, 10, EnumCreatureType.MONSTER, Biomes.EXTREME_HILLS, Biomes.EXTREME_HILLS_EDGE, Biomes.EXTREME_HILLS_WITH_TREES, Biomes.STONE_BEACH); } } ClientProxy: package com.Egietje.KokkieMod.proxy; import com.Egietje.KokkieMod.mobs.boom.EntityBoomKokkie; import com.Egietje.KokkieMod.mobs.boom.RenderingHandlerBoomKokkie; import com.Egietje.KokkieMod.mobs.grond.EntityGrondKokkie; import com.Egietje.KokkieMod.mobs.grond.RenderingHandlerGrondKokkie; import com.Egietje.KokkieMod.mobs.grot.EntityGrotKokkie; import com.Egietje.KokkieMod.mobs.grot.RenderingHandlerGrotKokkie; import com.Egietje.KokkieMod.mobs.rots.EntityRotsKokkie; import com.Egietje.KokkieMod.mobs.rots.RenderingHandlerRotsKokkie; import net.minecraftforge.fml.client.registry.RenderingRegistry; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class ClientProxy extends CommonProxy { public void renderKokkies() { RenderingRegistry.registerEntityRenderingHandler(EntityGrondKokkie.class, new RenderingHandlerGrondKokkie()); RenderingRegistry.registerEntityRenderingHandler(EntityBoomKokkie.class, new RenderingHandlerBoomKokkie()); RenderingRegistry.registerEntityRenderingHandler(EntityGrotKokkie.class, new RenderingHandlerGrotKokkie()); RenderingRegistry.registerEntityRenderingHandler(EntityRotsKokkie.class, new RenderingHandlerRotsKokkie()); } } Spawn: package com.Egietje.KokkieMod.init; import java.util.Map; import com.Egietje.KokkieMod.mobs.boom.EntityBoomKokkie; import com.Egietje.KokkieMod.mobs.grond.EntityGrondKokkie; import com.Egietje.KokkieMod.mobs.grot.EntityGrotKokkie; import com.Egietje.KokkieMod.mobs.rots.EntityRotsKokkie; import com.google.common.collect.Maps; import net.minecraft.entity.EntityLiving; public class KokkieSpawnPlacementRegistry { private final Map < Class<?>, EntityLiving.SpawnPlacementType > ENTITY_PLACEMENTS = Maps. < Class<?>, EntityLiving.SpawnPlacementType > newHashMap(); public KokkieSpawnPlacementRegistry() { ENTITY_PLACEMENTS.put(EntityGrondKokkie.class, EntityLiving.SpawnPlacementType.ON_GROUND); ENTITY_PLACEMENTS.put(EntityBoomKokkie.class, EntityLiving.SpawnPlacementType.ON_GROUND); ENTITY_PLACEMENTS.put(EntityGrotKokkie.class, EntityLiving.SpawnPlacementType.ON_GROUND); ENTITY_PLACEMENTS.put(EntityRotsKokkie.class, EntityLiving.SpawnPlacementType.ON_GROUND); } } Note: the others work fine
  10. I have that
  11. Is this OK: protected boolean isValidLightLevel() { BlockPos blockpos = new BlockPos(this.posX, this.getEntityBoundingBox().minY, this.posZ); if (this.worldObj.getLightFor(EnumSkyBlock.SKY, blockpos) > 10) { return false; } else { int i = this.worldObj.getLightFromNeighbors(blockpos); if (this.worldObj.isThundering()) { int j = this.worldObj.getSkylightSubtracted(); this.worldObj.setSkylightSubtracted(10); i = this.worldObj.getLightFromNeighbors(blockpos); this.worldObj.setSkylightSubtracted(j); this.worldObj.canBlockSeeSky(blockpos); } return i <= this.rand.nextInt(; } } @Override public boolean getCanSpawnHere() { return this.worldObj.getDifficulty() != EnumDifficulty.PEACEFUL && this.isValidLightLevel() && super.getCanSpawnHere(); } ?
  12. Well, I copied it directly from the EntityMob class so...
  13. You need to use the src/main/java and src/main/resources not src/
  14. protected boolean isValidLightLevel() { BlockPos blockpos = new BlockPos(this.posX, this.getEntityBoundingBox().minY, this.posZ); if (this.worldObj.getLightFor(EnumSkyBlock.SKY, blockpos) > this.rand.nextInt(32)) { return false; } else { int i = this.worldObj.getLightFromNeighbors(blockpos); if (this.worldObj.isThundering()) { int j = this.worldObj.getSkylightSubtracted(); this.worldObj.setSkylightSubtracted(10); i = this.worldObj.getLightFromNeighbors(blockpos); this.worldObj.setSkylightSubtracted(j); } return i <= this.rand.nextInt(; } } @Override public boolean getCanSpawnHere() { return this.worldObj.getDifficulty() != EnumDifficulty.PEACEFUL && this.isValidLightLevel() && super.getCanSpawnHere(); }
  15. Will that work
  16. It is if you hit it 'mad' but I just copied the isValidLightLevel from the entitymob class
  17. But it can't extend EntityMob
  18. Hello, I wonder how to spawn a mob in a cave/ under a specific light-level
  19. DUDE CLICK ANYWHERE IN YOUR PROJECT EXPLORER THEN TRY TO RUN IT

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.