Jump to content

Egietje

Forge Modder
  • Posts

    388
  • 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. Thanks man!
  8. IT ASKS FOR YOUR MODS INSTANCE
  9. Thanks, fixed it!
  10. 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
  11. 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
  12. I have that
  13. 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(); } ?
  14. Well, I copied it directly from the EntityMob class so...
  15. You need to use the src/main/java and src/main/resources not src/
  16. 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(); }
  17. Will that work
  18. It is if you hit it 'mad' but I just copied the isValidLightLevel from the entitymob class
  19. But it can't extend EntityMob
  20. Hello, I wonder how to spawn a mob in a cave/ under a specific light-level
  21. DUDE CLICK ANYWHERE IN YOUR PROJECT EXPLORER THEN TRY TO RUN IT
  22. Please?
  23. Anyone?
×
×
  • Create New...

Important Information

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