Jump to content

MikeDark

Members
  • Posts

    54
  • Joined

  • Last visited

Posts posted by MikeDark

  1. Please, just rename your methods - you will see it right away. (If I am right - because I don't see full code).

     

    You are making (at least what it seems like, because I don't see neither whole class, nor its super class which you call with super.method()) infinite loop in your method callings.

     

    Ohh... Sorry, the full code it's in down

    I remove the super, but the error continued... ( same error)

     

    Full Render Code:

     

     

     

    @SideOnly(Side.CLIENT)
    public class ECRenderEntityDeadWarrior extends RenderLiving{
    
        private static final ResourceLocation mobTextures = new ResourceLocation(ECReference.MOD_ID + ":" + "textures/entity/DeadWarrior.png");
        private static final ResourceLocation mobTextures2 = new ResourceLocation(ECReference.MOD_ID + ":" + "textures/entity/DeadWarrior2.png");
    
        private ECModelDeadWarrior modeldeadwarrior;
    
        public ECRenderEntityDeadWarrior() {
    
    super(new ECModelDeadWarrior(), 0.5F);
        }
        
        protected ResourceLocation getEntityTexture(ECEntityDeadWarrior par1ECEntityDeadWarrior) {
    
    if (par1ECEntityDeadWarrior.texture == 1) {
    
        return mobTextures2;
    } else {
    
        return mobTextures;
    }
        }
    
        @Override
        protected ResourceLocation getEntityTexture(Entity par1Entity) {
    
    return this.getEntityTexture((ECEntityDeadWarrior) par1Entity);
        }
    
        @Override
        protected void preRenderCallback(EntityLivingBase par1EntityLiving, float par2) {
    
    this.renderPlayerScale((ECEntityDeadWarrior) par1EntityLiving, par2);
        }
    
        protected void renderPlayerScale(ECEntityDeadWarrior par1EntityDeadWarrior, float par2) {
    
    final float f = 1.0375F;
    GL11.glScalef(f, f, f);
        }
    
        @Override
        protected void rotateCorpse(EntityLivingBase par1EntityLiving, float par2, float par3, float par4) {
    
    GL11.glRotatef(180F - par3, 0.0F, 1.0F, 0.0F);
    
    if (par1EntityLiving.deathTime > 0) {
    
        float f = (par1EntityLiving.deathTime + par4 - 1.0F) / 20F * 1.6F;
        f = MathHelper.sqrt_float(f);
    
        if (f > 1.0F) {
    
    	f = 1.0F;
        }
    
        GL11.glRotatef(f * this.getDeathMaxRotation(par1EntityLiving), 1.0F, 0.0F, 0.0F);
    }
        }
        
        @Override
        protected void renderEquippedItems(EntityLivingBase entitylivingbase, float var2) {
        	ItemStack itemstack = entitylivingbase.getHeldItem();
        	Item item;
        	
        	if(itemstack != null && itemstack.getItem() != null){
        		GL11.glPushMatrix();
    		this.modeldeadwarrior.rightarm.postRender(0.0625F);
    		GL11.glTranslatef(-0.0625F, 0.4375F, 0.0625F);
    		IItemRenderer var5 = MinecraftForgeClient.getItemRenderer(itemstack, IItemRenderer.ItemRenderType.EQUIPPED);
    		boolean var6 = (var5 != null) && (var5.shouldUseRenderHelper(IItemRenderer.ItemRenderType.EQUIPPED, itemstack, IItemRenderer.ItemRendererHelper.BLOCK_3D));
        	
    		item = itemstack.getItem();
    
    		if(item.isFull3D()){
    			 float f9 = 0.625F;
    			 if(((ECEntityDeadWarrior)entitylivingbase).isSpinning)
                    {
    	                GL11.glTranslatef(0.0F, 0.2875F, -0.1F);
    	                GL11.glScalef(f9, -f9, f9);
    	                GL11.glRotatef(190F, 1.0F, 0.0F, 0.0F);
    	                GL11.glRotatef(310F, 0.0F, 1.0F, 0.0F);
                    }else
                    {
    	                GL11.glTranslatef(0.0F, 0.1875F, 0.0F);
    	                GL11.glScalef(f9, -f9, f9);
    	                GL11.glRotatef(-100F, 1.0F, 0.0F, 0.0F);
    	                GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); 	
                    }
    
    			 if(((ECEntityDeadWarrior)entitylivingbase).doIdleAnim && ((ECEntityDeadWarrior)entitylivingbase).animTick <= 95)
                    {             
                    	GL11.glRotatef(((float)((ECEntityDeadWarrior)entitylivingbase).animTick* 40), 1, 0.3F, -0.4F); 
                    }
    			 renderManager.itemRenderer.renderItem(entitylivingbase, itemstack, 0);
    
    	            if (itemstack.getItem().requiresMultipleRenderPasses())
    	            {
    	                renderManager.itemRenderer.renderItem(entitylivingbase, itemstack, 1);
    	            }
    	}
    	GL11.glPopMatrix();
        	}
        }
    
    }
    

     

     

     

    @edit

     

    thanks for your help, I changed the "extended" and modified the model class... thanks...

  2. Infinite loop?

     

    Please - rename variables, methods and make it readable.

     

    EDIT

    I feel the need to point out that is not question - this IS the answer.

     

    Sorry, but i don't understand your reply. Rename the methods and variables will solve the problem? If yes, which metodos and variables?

  3. Hello guys. I come here to ask for help to resolve the "GL ERROR". This has occurred after enable the "RenderEquippedItems" method... The video show the problem after enable the "render" and the "solution" after disable the "render".

     

    Render Code:

     

     

     

    protected void renderEquippedItems(EntityLiving var1, float var2) {
        	super.renderEquippedItems(var1, var2);
        	ItemStack var3 = var1.getHeldItem();
        	ItemStack itemstack1 = var1.func_130225_q(3);
        	Item item;
        	
        	if(var3 != null && var3.getItem() != null){
        		GL11.glPushMatrix();
    		this.modeldeadwarrior.rightarm.postRender(0.0625F);
    		GL11.glTranslatef(-0.0625F, 0.4375F, 0.0625F);
    		IItemRenderer var5 = MinecraftForgeClient.getItemRenderer(var3, IItemRenderer.ItemRenderType.EQUIPPED);
    		boolean var6 = (var5 != null) && (var5.shouldUseRenderHelper(IItemRenderer.ItemRenderType.EQUIPPED, var3, IItemRenderer.ItemRendererHelper.BLOCK_3D));
        	
    		item = itemstack1.getItem();
    
    		if(item.isFull3D()){
    			 float f9 = 0.625F;
    			 if(((ECEntityDeadWarrior)var1).isSpinning)
                    {
    	                GL11.glTranslatef(0.0F, 0.2875F, -0.1F);
    	                GL11.glScalef(f9, -f9, f9);
    	                GL11.glRotatef(190F, 1.0F, 0.0F, 0.0F);
    	                GL11.glRotatef(310F, 0.0F, 1.0F, 0.0F);
                    }else
                    {
    	                GL11.glTranslatef(0.0F, 0.1875F, 0.0F);
    	                GL11.glScalef(f9, -f9, f9);
    	                GL11.glRotatef(-100F, 1.0F, 0.0F, 0.0F);
    	                GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); 	
                    }
    
    			 if(((ECEntityDeadWarrior)var1).doIdleAnim && ((ECEntityDeadWarrior)var1).animTick <= 95)
                    {             
                    	GL11.glRotatef(((float)((ECEntityDeadWarrior)var1).animTick* 40), 1, 0.3F, -0.4F); 
                    }
    			 renderManager.itemRenderer.renderItem(var1, var3, 0);
    
    	            if (var3.getItem().requiresMultipleRenderPasses())
    	            {
    	                renderManager.itemRenderer.renderItem(var1, var3, 1);
    	            }
    			}
        	GL11.glPopMatrix();
        	}
        }
    
    @Override
    protected void renderEquippedItems(EntityLivingBase p_77029_1_, float p_77029_2_)
    {
       this.renderEquippedItems((EntityLiving)p_77029_1_, p_77029_2_);
    }
    

     

     

     

    Error:

     

     

     

    [14:26:50] [Client thread/ERROR]: ########## GL ERROR ##########
    [14:26:50] [Client thread/ERROR]: @ Post render
    [14:26:50] [Client thread/ERROR]: 1283: Stack overflow
    [14:26:50] [Client thread/ERROR]: Couldn't render entity
    java.lang.NullPointerException
    at com.themathe1.eternalCraft.client.renderer.entity.ECRenderEntityDeadWarrior.renderEquippedItems(ECRenderEntityDeadWarrior.java:98) ~[ECRenderEntityDeadWarrior.class:?]
    at com.themathe1.eternalCraft.client.renderer.entity.ECRenderEntityDeadWarrior.renderEquippedItems(ECRenderEntityDeadWarrior.java:139) ~[ECRenderEntityDeadWarrior.class:?]
    at net.minecraft.client.renderer.entity.RendererLivingEntity.doRender(RendererLivingEntity.java:229) [RendererLivingEntity.class:?]
    at net.minecraft.client.renderer.entity.RenderLiving.doRender(RenderLiving.java:39) [RenderLiving.class:?]
    at net.minecraft.client.renderer.entity.RenderLiving.doRender(RenderLiving.java:162) [RenderLiving.class:?]
    at net.minecraft.client.renderer.entity.RenderManager.doRenderEntity(RenderManager.java:300) [RenderManager.class:?]
    at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:278) [RenderManager.class:?]
    at net.minecraft.client.renderer.entity.RenderManager.renderEntitySimple(RenderManager.java:251) [RenderManager.class:?]
    at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:527) [RenderGlobal.class:?]
    at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1300) [EntityRenderer.class:?]
    at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1091) [EntityRenderer.class:?]
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1068) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:963) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_60]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_60]
    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 net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
    at GradleStart.main(Unknown Source) [start/:?]
    [14:26:50] [Client thread/ERROR]: ########## GL ERROR ##########
    [14:26:50] [Client thread/ERROR]: @ Post render
    [14:26:50] [Client thread/ERROR]: 1283: Stack overflow
    [14:26:50] [Client thread/ERROR]: Couldn't render entity
    java.lang.NullPointerException
    at com.themathe1.eternalCraft.client.renderer.entity.ECRenderEntityDeadWarrior.renderEquippedItems(ECRenderEntityDeadWarrior.java:98) ~[ECRenderEntityDeadWarrior.class:?]
    at com.themathe1.eternalCraft.client.renderer.entity.ECRenderEntityDeadWarrior.renderEquippedItems(ECRenderEntityDeadWarrior.java:139) ~[ECRenderEntityDeadWarrior.class:?]
    at net.minecraft.client.renderer.entity.RendererLivingEntity.doRender(RendererLivingEntity.java:229) [RendererLivingEntity.class:?]
    at net.minecraft.client.renderer.entity.RenderLiving.doRender(RenderLiving.java:39) [RenderLiving.class:?]
    at net.minecraft.client.renderer.entity.RenderLiving.doRender(RenderLiving.java:162) [RenderLiving.class:?]
    at net.minecraft.client.renderer.entity.RenderManager.doRenderEntity(RenderManager.java:300) [RenderManager.class:?]
    at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:278) [RenderManager.class:?]
    at net.minecraft.client.renderer.entity.RenderManager.renderEntitySimple(RenderManager.java:251) [RenderManager.class:?]
    at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:527) [RenderGlobal.class:?]
    at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1300) [EntityRenderer.class:?]
    at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1091) [EntityRenderer.class:?]
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1068) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:963) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_60]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_60]
    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 net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
    at GradleStart.main(Unknown Source) [start/:?]
    [14:26:50] [Client thread/ERROR]: ########## GL ERROR ##########
    [14:26:50] [Client thread/ERROR]: @ Post render
    [14:26:50] [Client thread/ERROR]: 1283: Stack overflow
    [14:26:50] [Client thread/ERROR]: Couldn't render entity
    java.lang.NullPointerException
    at com.themathe1.eternalCraft.client.renderer.entity.ECRenderEntityDeadWarrior.renderEquippedItems(ECRenderEntityDeadWarrior.java:98) ~[ECRenderEntityDeadWarrior.class:?]
    at com.themathe1.eternalCraft.client.renderer.entity.ECRenderEntityDeadWarrior.renderEquippedItems(ECRenderEntityDeadWarrior.java:139) ~[ECRenderEntityDeadWarrior.class:?]
    at net.minecraft.client.renderer.entity.RendererLivingEntity.doRender(RendererLivingEntity.java:229) [RendererLivingEntity.class:?]
    at net.minecraft.client.renderer.entity.RenderLiving.doRender(RenderLiving.java:39) [RenderLiving.class:?]
    at net.minecraft.client.renderer.entity.RenderLiving.doRender(RenderLiving.java:162) [RenderLiving.class:?]
    at net.minecraft.client.renderer.entity.RenderManager.doRenderEntity(RenderManager.java:300) [RenderManager.class:?]
    at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:278) [RenderManager.class:?]
    at net.minecraft.client.renderer.entity.RenderManager.renderEntitySimple(RenderManager.java:251) [RenderManager.class:?]
    at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:527) [RenderGlobal.class:?]
    at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1300) [EntityRenderer.class:?]
    at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1091) [EntityRenderer.class:?]
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1068) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:963) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_60]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_60]
    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 net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
    

     

     

     

    Video:

     

    https://www.youtube.com/watch?v=fkn2sYTYjSw

  4. I am creating a tent and she is already fully ready, but I'm suffering from a little bug at bedtime where the player is flying, I tried to give a search but could not find where make the change and would your help...

     

    Bug

     

     

     

    3W5biT5.png

     

     

     

    My tent code:

     

     

     

     

    package mike.scoutcraft.blocks;
    
    import java.util.Iterator;
    import java.util.List;
    import java.util.Random;
    
    import mike.scoutcraft.main.ScoutCraft;
    import mike.scoutcraft.tileentity.TileEntityBarracaVermelha;
    import net.minecraft.block.Block;
    import net.minecraft.block.BlockContainer;
    import net.minecraft.block.BlockDirectional;
    import net.minecraft.block.material.Material;
    import net.minecraft.entity.Entity;
    import net.minecraft.entity.EntityLivingBase;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemStack;
    import net.minecraft.tileentity.TileEntity;
    import net.minecraft.util.AxisAlignedBB;
    import net.minecraft.util.ChatComponentTranslation;
    import net.minecraft.util.ChunkCoordinates;
    import net.minecraft.util.IChatComponent;
    import net.minecraft.util.MathHelper;
    import net.minecraft.world.IBlockAccess;
    import net.minecraft.world.World;
    import net.minecraft.world.biome.BiomeGenBase;
    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.relauncher.SideOnly;
    
    public class BlocoBarracaVermelha extends BlockContainer {
    
    public BlocoBarracaVermelha() {
    	super(Material.cloth);
    	this.setBlockName("BarracaVermelha");
        this.setResistance(1);
        this.setHardness(0.3F);
        this.setStepSound(soundTypeCloth);
        this.setCreativeTab(ScoutCraft.scoutcraft);
        this.setBlockTextureName("Minecraft" + ":" + "wool_colored_red");
        this.setBlockBounds(0F, 0F, 0F, 1F, 1.3F, 1F);
    }
    
    public boolean onBlockActivated(final World world, int x, final int y, int z, final EntityPlayer entityplayer, final int p_149727_6_, final float p_149727_7_, final float p_149727_8_, final float p_149727_9_){
    	if (world.isRemote) {
                return true;
    	}
    	int i1 = world.getBlockMetadata(x, y, z);
                if (world.getBlock(x, y, z) != this) {
                    return true;
            }
            if (!world.provider.canRespawnHere() || world.getBiomeGenForCoords(x, z) == BiomeGenBase.hell) {
                double d2 = x + 0.5;
                d2 = y + 0.1;
                double d3 = z + 0.5;
                world.setBlockToAir(x, y, z);
                final int k1 = BlockDirectional.getDirection(i1);
                if (world.getBlock(x, y, z) == this) {
                    world.setBlockToAir(x, y, z);
                    d2 = (d2 + x + 0.5) / 2.0;
                    d2 = (d2 + y + 0.1) / 2.0;
                    d3 = (d3 + z + 0.5) / 2.0;
                }
                world.newExplosion((Entity)null, (double)(x + 0.5f), (double)( + 0.5f), (double)(z + 0.5f), 5.0f, true, true);
                return true;
            }
            if (func_149976_c(i1)) {
                EntityPlayer entityplayer1 = null;
                Iterator iterator = world.playerEntities.iterator();
                while (iterator.hasNext())
                {
                	EntityPlayer entityplayer2 = (EntityPlayer)iterator.next();
                    if (entityplayer2.isPlayerSleeping()) {
                        final ChunkCoordinates chunkcoordinates = entityplayer2.playerLocation;
                        if (chunkcoordinates.posX != x || chunkcoordinates.posY != y || chunkcoordinates.posZ != z) {
                            continue;
                        }
                        entityplayer1 = entityplayer2;
                    }
                }
                if (entityplayer1 != null) {
                    entityplayer.addChatComponentMessage((IChatComponent)new ChatComponentTranslation("tile.bed.occupied", new Object[0]));
                    return true;
                }
                func_149979_a(world, x, y, z, false);
            }
            final EntityPlayer.EnumStatus enumstatus = entityplayer.sleepInBedAt(x, y, z);
            if (enumstatus == EntityPlayer.EnumStatus.OK) {
                func_149979_a(world, x, y, z, true);
                return true;
            }
            if (enumstatus == EntityPlayer.EnumStatus.NOT_POSSIBLE_NOW) {
                entityplayer.addChatComponentMessage((IChatComponent)new ChatComponentTranslation("tile.bed.noSleep", new Object[0]));
            }
            else if (enumstatus == EntityPlayer.EnumStatus.NOT_SAFE) {
                entityplayer.addChatComponentMessage((IChatComponent)new ChatComponentTranslation("tile.bed.notSafe", new Object[0]));
            }
            return true;
        }
    
      public int getRenderType() {
            return -1;
        }
        
        public boolean renderAsNormalBlock() {
            return false;
        }
        
        public boolean isOpaqueCube() {
            return false;
        }
        
        public void onNeighborBlockChange(final World world, final int x, final int y, final int z, final Block block) {
            final int l = world.getBlockMetadata(x, y, z);
            final int i1 = BlockDirectional.getDirection(l);
            if (world.getBlock(x, y, z) != this) {
            	world.setBlockToAir(x, y, z);
                if (!world.isRemote) {
                    this.dropBlockAsItem(world, x, y, z, l, 0);
                }
            }
        }
        
        public Item getItemDropped(final int p_149650_1_, final Random p_149650_2_, final int p_149650_3_) {
            return Item.getItemFromBlock(SCBlocos.BlocoBarracaVermelha);
        }
        
        public static boolean func_149976_c(final int p_149976_0_) {
            return (p_149976_0_ & 0x4) != 0x0;
        }
        
        public static void func_149979_a(final World p_149979_0_, final int p_149979_1_, final int p_149979_2_, final int p_149979_3_, final boolean p_149979_4_) {
            int l = p_149979_0_.getBlockMetadata(p_149979_1_, p_149979_2_, p_149979_3_);
            if (p_149979_4_) {	
                l |= 0x4;
            }
            else {
                l &= 0xFFFFFFFB;
            }
            p_149979_0_.setBlockMetadataWithNotify(p_149979_1_, p_149979_2_, p_149979_3_, l, 4);
        }
        
        public static ChunkCoordinates func_149977_a(final World p_149977_0_, final int p_149977_1_, final int p_149977_2_, final int p_149977_3_, int p_149977_4_) {
            final int i1 = p_149977_0_.getBlockMetadata(p_149977_1_, p_149977_2_, p_149977_3_);	        
            return null;
        }
        
        public int getMobilityFlag() {
            return 1;
        }
        
        @SideOnly(Side.CLIENT)
        public Item getItem(final World p_149694_1_, final int p_149694_2_, final int p_149694_3_, final int p_149694_4_) {
            return Item.getItemFromBlock(SCBlocos.BlocoBarracaVermelha);
        }
        
        public boolean isBed(final IBlockAccess world, final int x, final int y, final int z, final EntityLivingBase player) {
            return this == SCBlocos.BlocoBarracaVermelha;
        }
        
        public TileEntity createNewTileEntity(World world, int var2){
    		return new TileEntityBarracaVermelha();
    	}
        
        @Override
        public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entity, ItemStack stack){
        	if(entity == null){
        		return;
        	}	    		    	
        	int direction = MathHelper.floor_double((double) (entity.rotationYaw * 4.0F / 360) + 0.5D) & 3;
        	world.setBlockMetadataWithNotify(x, y, z, direction, 0);
        }
    }
    
    

     

     

     

     

  5. I'm not sure if you attached the picture you meant to attach -- does that picture have a bunch of bears in it?

     

    Anyway, I think the problem is that you add the spawns for all your bear types each time you register an individual bear.  For example, you call createEntity() for EntityUrsoMarrom but in the createEntity() code you add spawns for UrsoPreto, etc.

     

    I think you should remove the add spawn code to a separate method and only call it once after you've registered all the entities.

     

    Well actually the image was not very clear, but I discovered that the problem was in the plains as in mountainous or forest biomes it they appears in smaller quantities... Good but after solving this problem I came across one that I had not realized, the collision box that it is too big for the sides, however is perfect on the front and top, how can I fix?

     

    68z6isG.png

  6. Hello everyone, I'm suffering from a problem on the spawn of my mobs, even putting a low rate, spawn limit per chunk, among others, and many of them are appearing and that ends up being bad, and would like to ask help to solve this problem...

     

    The Problem:

     

    rEbSHDe.jpg

     

    My Bear Entity:

     

    package mike.scoutcraft.entity;
    
    import mike.scoutcraft.items.SCItems;
    import net.minecraft.entity.SharedMonsterAttributes;
    import net.minecraft.entity.ai.EntityAIAttackOnCollide;
    import net.minecraft.entity.ai.EntityAIHurtByTarget;
    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.player.EntityPlayer;
    import net.minecraft.item.Item;
    import net.minecraft.world.World;
    
    public class EntityUrsoPreto extends EntityMob {
    
    public EntityUrsoPreto(World world) {
    	super(world);
    	this.experienceValue=5;
    	this.setSize(1.8F, 1.25F);
    	this.tasks.addTask(0, new EntityAISwimming(this));
            this.tasks.addTask(1, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, true));
            this.tasks.addTask(1, new EntityAIAttackOnCollide(this, EntityVillager.class, 1.0D, false));
            this.tasks.addTask(3, new EntityAIWander(this, 1.0D));
            this.tasks.addTask(4, new EntityAIWatchClosest(this, EntityPlayer.class, 12.0F));
            this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true));
            this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true));
            this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this, EntityVillager.class, 0, false));
    }
    
    @Override
        protected void applyEntityAttributes()
        {
            
            super.applyEntityAttributes();
            this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(5.0D);
            this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(16.0D);
            this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.30D);
            this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D);
            
        }
    protected boolean isAIEnabled()
        {
            return true;
        }
    
    @Override
    public int getMaxSpawnedInChunk() {
       return 2;
    }
    
    @Override
    protected boolean isValidLightLevel()
    {
    	 return true;
    }
    
     @Override
     public boolean getCanSpawnHere()
     {
    	 return true;
     }
    
     protected Item getDropItem(){
    	return SCItems.CouroDeUrso;
    }
    
     protected void dropRareDrop(int par1){
    		switch (this.rand.nextInt(3)){
    
    		case 0:
    
    
    		}
    	}
    
     protected String getLivingSound()
     {
      return "scoutcraft:rugidourso";
     }
    
       
     protected String getHurtSound()
     {
       return "scoutcraft:machucarurso";
     }
    
      
     protected String getDeathSound()
     {
       return "scoutcraft:matarurso";
     }	
    }
    
    

     

    My entity registration and the spawn registry:

     

    package mike.scoutcraft.entity;
    
    import mike.scoutcraft.main.ScoutCraft;
    import net.minecraft.entity.EntityList;
    import net.minecraft.entity.EnumCreatureType;
    import net.minecraft.world.biome.BiomeGenBase;
    import cpw.mods.fml.common.registry.EntityRegistry;
    
    public class SCMobs {
    
    public static void mainRegistry(){
    	registerEntity();
    }
    
    public static void registerEntity(){
    
    	createEntity(EntityUrsoMarrom.class, "UrsoMarrom", 0xD62727, 0x27A2D6);
    	createEntity(EntityUrsoPreto.class, "UrsoPreto", 0xD62727, 0x27A2D6);
    	createEntity(EntityFormiga.class, "Formiga", 0xD62727, 0x27A2D6);
    	createEntity(EntityCupim.class, "Cupim", 0xD62727, 0x27A2D6);
    	createEntity(EntityGuaxinim.class, "Guaxinim", 0xD62727, 0x27A2D6);
    	createEntity(EntityGuaxinimLadrao.class, "GuaxinimLadrao", 0xD62727, 0x27A2D6);
    
    }
    
    public static void createEntity(Class entityClass, String entityName, int solidColour, int spotColour){
    	int randomId = EntityRegistry.findGlobalUniqueEntityId();
    
    	EntityRegistry.registerGlobalEntityID(entityClass, entityName, randomId);
    	EntityRegistry.registerModEntity(entityClass, entityName, randomId, ScoutCraft.Instance, 64, 1, true);
    	createEgg(randomId, solidColour, spotColour);
    	EntityRegistry.addSpawn(EntityUrsoMarrom.class, 2, 1, 1, EnumCreatureType.monster, BiomeGenBase.beach, BiomeGenBase.birchForest, BiomeGenBase.birchForestHills, BiomeGenBase.coldBeach, BiomeGenBase.coldTaiga, BiomeGenBase.coldTaigaHills, BiomeGenBase.extremeHills, BiomeGenBase.extremeHillsEdge, BiomeGenBase.extremeHillsPlus, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.frozenRiver, BiomeGenBase.iceMountains, BiomeGenBase.icePlains, BiomeGenBase.jungle, BiomeGenBase.jungleEdge, BiomeGenBase.jungleHills, BiomeGenBase.megaTaiga, BiomeGenBase.megaTaigaHills, BiomeGenBase.mesa, BiomeGenBase.mesaPlateau, BiomeGenBase.mesaPlateau_F, BiomeGenBase.mushroomIsland, BiomeGenBase.mushroomIslandShore, BiomeGenBase.plains, BiomeGenBase.river, BiomeGenBase.roofedForest, BiomeGenBase.savanna, BiomeGenBase.savannaPlateau, BiomeGenBase.stoneBeach, BiomeGenBase.swampland, BiomeGenBase.taiga, BiomeGenBase.taigaHills);
    	EntityRegistry.addSpawn(EntityUrsoPreto.class, 2, 1, 1, EnumCreatureType.monster, BiomeGenBase.beach, BiomeGenBase.birchForest, BiomeGenBase.birchForestHills, BiomeGenBase.coldBeach, BiomeGenBase.coldTaiga, BiomeGenBase.coldTaigaHills, BiomeGenBase.extremeHills, BiomeGenBase.extremeHillsEdge, BiomeGenBase.extremeHillsPlus, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.frozenRiver, BiomeGenBase.iceMountains, BiomeGenBase.icePlains, BiomeGenBase.jungle, BiomeGenBase.jungleEdge, BiomeGenBase.jungleHills, BiomeGenBase.megaTaiga, BiomeGenBase.megaTaigaHills, BiomeGenBase.mesa, BiomeGenBase.mesaPlateau, BiomeGenBase.mesaPlateau_F, BiomeGenBase.mushroomIsland, BiomeGenBase.mushroomIslandShore, BiomeGenBase.plains, BiomeGenBase.river, BiomeGenBase.roofedForest, BiomeGenBase.savanna, BiomeGenBase.savannaPlateau, BiomeGenBase.stoneBeach, BiomeGenBase.swampland, BiomeGenBase.taiga, BiomeGenBase.taigaHills);
    	EntityRegistry.addSpawn(EntityGuaxinim.class, 3, 1, 2, EnumCreatureType.creature, BiomeGenBase.beach, BiomeGenBase.birchForest, BiomeGenBase.birchForestHills, BiomeGenBase.coldBeach, BiomeGenBase.coldTaiga, BiomeGenBase.coldTaigaHills, BiomeGenBase.extremeHills, BiomeGenBase.extremeHillsEdge, BiomeGenBase.extremeHillsPlus, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.frozenRiver, BiomeGenBase.iceMountains, BiomeGenBase.icePlains, BiomeGenBase.jungle, BiomeGenBase.jungleEdge, BiomeGenBase.jungleHills, BiomeGenBase.megaTaiga, BiomeGenBase.megaTaigaHills, BiomeGenBase.mesa, BiomeGenBase.mesaPlateau, BiomeGenBase.mesaPlateau_F, BiomeGenBase.mushroomIsland, BiomeGenBase.mushroomIslandShore, BiomeGenBase.plains, BiomeGenBase.river, BiomeGenBase.roofedForest, BiomeGenBase.savanna, BiomeGenBase.savannaPlateau, BiomeGenBase.stoneBeach, BiomeGenBase.swampland, BiomeGenBase.taiga, BiomeGenBase.taigaHills);
    	EntityRegistry.addSpawn(EntityGuaxinimLadrao.class, 1, 1, 1, EnumCreatureType.creature, BiomeGenBase.beach, BiomeGenBase.birchForest, BiomeGenBase.birchForestHills, BiomeGenBase.coldBeach, BiomeGenBase.coldTaiga, BiomeGenBase.coldTaigaHills, BiomeGenBase.extremeHills, BiomeGenBase.extremeHillsEdge, BiomeGenBase.extremeHillsPlus, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.frozenRiver, BiomeGenBase.iceMountains, BiomeGenBase.icePlains, BiomeGenBase.jungle, BiomeGenBase.jungleEdge, BiomeGenBase.jungleHills, BiomeGenBase.megaTaiga, BiomeGenBase.megaTaigaHills, BiomeGenBase.mesa, BiomeGenBase.mesaPlateau, BiomeGenBase.mesaPlateau_F, BiomeGenBase.mushroomIsland, BiomeGenBase.mushroomIslandShore, BiomeGenBase.plains, BiomeGenBase.river, BiomeGenBase.roofedForest, BiomeGenBase.savanna, BiomeGenBase.savannaPlateau, BiomeGenBase.stoneBeach, BiomeGenBase.swampland, BiomeGenBase.taiga, BiomeGenBase.taigaHills);
    
    }
    
    private static void createEgg(int randomId, int solidColour, int spotColour) {
    	EntityList.entityEggs.put(Integer.valueOf(randomId), new EntityList.EntityEggInfo(randomId, solidColour, spotColour));
    }
    }
    
    

  7. Use onNeighbourBlockChanged, check if the block below you is air. If so, remove the block.

     

    Thank you friend,  for those who have the same doubts I used the following code:

     

    @Override
     public void onNeighborBlockChange(World world, int x, int y, int z, Block block)
     {
    	 if(world.getBlock(x, y - 1,z) == Blocks.air)
     {
    	 world.setBlockToAir(x, y, z);
     }
    
     super.onNeighborBlockChange(world, x, y, z, block);
     }
    

  8. Basic Java, if you don't know it then you shouldn't be here.

     

    for (int i = 0; i < 32; i++) {
        // Spawn entity
    }
    

     

    Good friend, I would first like to thank you. I believe should treat me better, I have head full of problems and simply forgot this detail, then came to the support, to ask a simple question...

     

    Well, leveraging the same topic, could help me make my block spawn randomly my termites, if not is much ...

  9. Hello, i would like to spawn many entitys on break block, but could only do spawn one:

     

    My onBlockDestroyedByPlayer:

     

    public void onBlockDestroyedByPlayer(World par1World, int par2, int par3, int par4, int par5)
        {
        if (!par1World.isRemote)
        {
        	EntityCupim entitycupim = new EntityCupim(par1World);
        	entitycupim.setLocationAndAngles((double)par2 + 0.5D, (double)par3, (double)par4 + 0.5D, 0.0F, 0.0F);
    	    par1World.spawnEntityInWorld(entitycupim);
    	    entitycupim.spawnExplosionParticle();
        }
    
        super.onBlockDestroyedByPlayer(par1World, par2, par3, par4, par5);
        }
    

  10. Show your new main class.

     

    The client.registerRender(); is there, but nothing to direct the Client class ...

     

    Main Class

     

    package mike.scoutcraft.main;
    
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.init.Items;
    import net.minecraft.item.Item;
    import net.minecraft.stats.Achievement;
    import net.minecraftforge.common.AchievementPage;
    import net.minecraftforge.common.MinecraftForge;
    import net.minecraftforge.common.config.Configuration;
    import mike.scoutcraft.achievement.SCConquistas;
    import mike.scoutcraft.blocks.SCBlocos;
    import mike.scoutcraft.craft.CraftingHandler;
    import mike.scoutcraft.craft.DropDaGrama;
    import mike.scoutcraft.craft.FuelHandler;
    import mike.scoutcraft.craft.ReceitasCraftTable;
    import mike.scoutcraft.craft.ReceitasFornalha;
    import mike.scoutcraft.handler.LivingEventHandler;
    import mike.scoutcraft.items.SCItems;
    import mike.scoutcraft.lib.Strings;
    import mike.scoutcraft.proxy.Client;
    import mike.scoutcraft.proxy.CommonProxy;
    import cpw.mods.fml.common.FMLCommonHandler;
    import cpw.mods.fml.common.Mod;
    import cpw.mods.fml.common.Mod.EventHandler;
    import cpw.mods.fml.common.Mod.Instance;
    import cpw.mods.fml.common.SidedProxy;
    import cpw.mods.fml.common.event.FMLInitializationEvent;
    import cpw.mods.fml.common.event.FMLPostInitializationEvent;
    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
    import cpw.mods.fml.common.registry.GameRegistry;
    import cpw.mods.fml.relauncher.SideOnly;
    
    @Mod(modid = Strings.MODID, version = Strings.VERSION, name = Strings.MODNAME)
    public class ScoutCraft {
    
    @Instance(Strings.MODID)
    public static ScoutCraft Instance;
    
    @SidedProxy(clientSide = mike.scoutcraft.lib.Strings.CLIENT, serverSide = mike.scoutcraft.lib.Strings.COMMONPROXY)	
    public static CommonProxy proxy;
    
    public static final int GuiIdFogueira = 0;
    
    public static Achievement QuebrandoCoisas;
    public static Achievement VamosEsquentar;
    public static Achievement PoFacil;
    public static Achievement FazerFogueira;
    public static Achievement TochasPassado;
    
    private static Configuration configuration;
    public static int lightRange;
    public static int targetLightValue;
    public static int handLightValue;
    public static int lightInterval;
    public static int serverLightInterval;
    
    public static CreativeTabs scoutcraft = new CreativeTabs("ScoutCraft") {
    
    	public Item getTabIconItem() {			
    		return SCItems.InicializadorDeChamas;
    	}
    };
    
    @EventHandler
    public static void preLoad(FMLPreInitializationEvent event)
    {		
    	configuration = new Configuration(event.getSuggestedConfigurationFile());
        configuration.load();
        lightRange = configuration.get("config", "Range/Distancia", 20).getInt();
        targetLightValue = configuration.get("config", "Target Light/Alvo Da Luz", 15).getInt();
        handLightValue = configuration.get("config", "Hand Light/Luz Emitida", .getInt();
        lightInterval = configuration.get("config", "Light Interval/Intervalo Da Luz", 1).getInt();
        serverLightInterval = configuration.get("config", "Server Light Interval/Intervalo Da Luz Em Servidor", 5).getInt();
        configuration.save();
        lightRange = lightRange > 40 ? 40 : (lightRange < 0 ? 0 : lightRange);
            targetLightValue = targetLightValue > 15 ? 15 : (targetLightValue < 0 ? 0 : targetLightValue);
            handLightValue = handLightValue > 15 ? 15 : (handLightValue < 0 ? 0 : handLightValue);		
    	        
    	SCBlocos.init();
    	SCItems.init();
    	ReceitasCraftTable.register();
    	ReceitasFornalha.register();
    	DropDaGrama.Register();
    	GameRegistry.registerFuelHandler(new FuelHandler());
    	MinecraftForge.EVENT_BUS.register(new CraftingHandler());	
    	MinecraftForge.EVENT_BUS.register(new LivingEventHandler());
    
    }
    
    @EventHandler
    public static void load(FMLInitializationEvent event)
    {
    	client.registerRender();
    	proxy.registerGuiHandler();
    	proxy.LanguageRegistry();
    	proxy.registerTileEntity();
    }
    
    @EventHandler 
    public static void postLoad(FMLPostInitializationEvent event)
    {
    
    	QuebrandoCoisas = new Achievement("achievement.QuebrandoCoisas", "QuebrandoCoisas", 0, 0, SCItems.MarteloDeMadeira, (Achievement)null).initIndependentStat().registerStat();
    	VamosEsquentar = new Achievement("achievement.VamosEsquentar", "VamosEsquentar", 2, 1, SCItems.InicializadorDeChamas, QuebrandoCoisas).registerStat().setSpecial();
    	PoFacil = new Achievement("achievement.PoFacil", "PoFacil", 3, 1, SCItems.PoDeCarvao, QuebrandoCoisas).registerStat().setSpecial();
    	FazerFogueira = new Achievement("achievement.FazerFogueira", "FazerFogueira", 4, 2, SCBlocos.Fogueira, VamosEsquentar).registerStat().setSpecial();
    	TochasPassado = new Achievement("achievement.TochasPassado", "TochasPassado", 5, 3, SCBlocos.Lampiao, PoFacil).registerStat().setSpecial();
    
    	AchievementPage.registerAchievementPage(new AchievementPage("ScoutCraft", new Achievement[]{QuebrandoCoisas, VamosEsquentar, PoFacil, FazerFogueira, TochasPassado}));
    
    }
    
    }
    
    

  11. Your main class code is not complete. Also why is your load method static?

     

    ohh sorry, I sent a piece: p

     

    My Main Class

     

    package mike.scoutcraft.main;
    
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.init.Items;
    import net.minecraft.item.Item;
    import net.minecraft.stats.Achievement;
    import net.minecraftforge.common.AchievementPage;
    import net.minecraftforge.common.MinecraftForge;
    import net.minecraftforge.common.config.Configuration;
    import mike.scoutcraft.achievement.SCConquistas;
    import mike.scoutcraft.blocks.SCBlocos;
    import mike.scoutcraft.craft.CraftingHandler;
    import mike.scoutcraft.craft.DropDaGrama;
    import mike.scoutcraft.craft.FuelHandler;
    import mike.scoutcraft.craft.ReceitasCraftTable;
    import mike.scoutcraft.craft.ReceitasFornalha;
    import mike.scoutcraft.handler.LivingEventHandler;
    import mike.scoutcraft.items.SCItems;
    import mike.scoutcraft.lib.Strings;
    import mike.scoutcraft.proxy.Client;
    import mike.scoutcraft.proxy.CommonProxy;
    import cpw.mods.fml.common.FMLCommonHandler;
    import cpw.mods.fml.common.Mod;
    import cpw.mods.fml.common.Mod.EventHandler;
    import cpw.mods.fml.common.Mod.Instance;
    import cpw.mods.fml.common.SidedProxy;
    import cpw.mods.fml.common.event.FMLInitializationEvent;
    import cpw.mods.fml.common.event.FMLPostInitializationEvent;
    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
    import cpw.mods.fml.common.registry.GameRegistry;
    import cpw.mods.fml.relauncher.SideOnly;
    
    @Mod(modid = Strings.MODID, version = Strings.VERSION, name = Strings.MODNAME)
    public class ScoutCraft {
    
    @Instance(Strings.MODID)
    public static ScoutCraft Instance;
    
    @SidedProxy(clientSide = mike.scoutcraft.lib.Strings.CLIENT, serverSide = mike.scoutcraft.lib.Strings.COMMONPROXY)	
    public static CommonProxy proxy;
    public static Client client;
    
    public static final int GuiIdFogueira = 0;
    
    public static Achievement QuebrandoCoisas;
    public static Achievement VamosEsquentar;
    public static Achievement PoFacil;
    public static Achievement FazerFogueira;
    public static Achievement TochasPassado;
    
    private static Configuration configuration;
    public static int lightRange;
    public static int targetLightValue;
    public static int handLightValue;
    public static int lightInterval;
    public static int serverLightInterval;
    
    public static CreativeTabs scoutcraft = new CreativeTabs("ScoutCraft") {
    
    	public Item getTabIconItem() {			
    		return SCItems.InicializadorDeChamas;
    	}
    };
    
    @EventHandler
    public static void preLoad(FMLPreInitializationEvent event)
    {		
    	configuration = new Configuration(event.getSuggestedConfigurationFile());
        configuration.load();
        lightRange = configuration.get("config", "Range/Distancia", 20).getInt();
        targetLightValue = configuration.get("config", "Target Light/Alvo Da Luz", 15).getInt();
        handLightValue = configuration.get("config", "Hand Light/Luz Emitida", .getInt();
        lightInterval = configuration.get("config", "Light Interval/Intervalo Da Luz", 1).getInt();
        serverLightInterval = configuration.get("config", "Server Light Interval/Intervalo Da Luz Em Servidor", 5).getInt();
        configuration.save();
        lightRange = lightRange > 40 ? 40 : (lightRange < 0 ? 0 : lightRange);
            targetLightValue = targetLightValue > 15 ? 15 : (targetLightValue < 0 ? 0 : targetLightValue);
            handLightValue = handLightValue > 15 ? 15 : (handLightValue < 0 ? 0 : handLightValue);		
    	        
    	SCBlocos.init();
    	SCItems.init();
    	ReceitasCraftTable.register();
    	ReceitasFornalha.register();
    	DropDaGrama.Register();
    	GameRegistry.registerFuelHandler(new FuelHandler());
    	MinecraftForge.EVENT_BUS.register(new CraftingHandler());	
    	MinecraftForge.EVENT_BUS.register(new LivingEventHandler());
    
    }
    
    @EventHandler
    public static void load(FMLInitializationEvent event)
    {
    	client.registerRender();
    	proxy.registerGuiHandler();
    	proxy.LanguageRegistry();
    	proxy.registerTileEntity();
    }
    
    @EventHandler 
    public static void postLoad(FMLPostInitializationEvent event)
    {
    
    	QuebrandoCoisas = new Achievement("achievement.QuebrandoCoisas", "QuebrandoCoisas", 0, 0, SCItems.MarteloDeMadeira, (Achievement)null).initIndependentStat().registerStat();
    	VamosEsquentar = new Achievement("achievement.VamosEsquentar", "VamosEsquentar", 2, 1, SCItems.InicializadorDeChamas, QuebrandoCoisas).registerStat().setSpecial();
    	PoFacil = new Achievement("achievement.PoFacil", "PoFacil", 3, 1, SCItems.PoDeCarvao, QuebrandoCoisas).registerStat().setSpecial();
    	FazerFogueira = new Achievement("achievement.FazerFogueira", "FazerFogueira", 4, 2, SCBlocos.Fogueira, VamosEsquentar).registerStat().setSpecial();
    	TochasPassado = new Achievement("achievement.TochasPassado", "TochasPassado", 5, 3, SCBlocos.Lampiao, PoFacil).registerStat().setSpecial();
    
    	AchievementPage.registerAchievementPage(new AchievementPage("ScoutCraft", new Achievement[]{QuebrandoCoisas, VamosEsquentar, PoFacil, FazerFogueira, TochasPassado}));
    
    }
    
    }
    
    

     

    My Client Class

     

    package mike.scoutcraft.proxy;
    
    import cpw.mods.fml.client.registry.ClientRegistry;
    import cpw.mods.fml.relauncher.Side;
    import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
    import net.minecraft.item.Item;
    import net.minecraftforge.client.IItemRenderer;
    import net.minecraftforge.client.MinecraftForgeClient;
    import mike.scoutcraft.blocks.SCBlocos;
    import mike.scoutcraft.items.SCItems;
    import mike.scoutcraft.render.ItemRenderFogueira;
    import mike.scoutcraft.render.ItemRenderLampiao;
    import mike.scoutcraft.render.RenderFogueira;
    import mike.scoutcraft.render.RenderLampiao;
    import mike.scoutcraft.render.RenderLanternaDesligada;
    import mike.scoutcraft.render.RenderLanternaLigada;
    import mike.scoutcraft.render.RenderMarteloDeDiamante;
    import mike.scoutcraft.render.RenderMarteloDeFerro;
    import mike.scoutcraft.render.RenderMarteloDeMadeira;
    import mike.scoutcraft.render.RenderMarteloDeOuro;
    import mike.scoutcraft.render.RenderMarteloDePedra;
    import mike.scoutcraft.render.RenderToco;
    import mike.scoutcraft.tileentity.TileEntityFogueira;
    import mike.scoutcraft.tileentity.TileEntityLampiao;
    
    
    public class Client extends CommonProxy
    {
    
    public void registerRender(){	
    	TileEntitySpecialRenderer render1 = new RenderFogueira();
    	TileEntitySpecialRenderer render2 = new RenderToco();
    	TileEntitySpecialRenderer render3 = new RenderLampiao();
    	ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFogueira.class, render1);
    	ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLampiao.class, render3);
    	MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(SCBlocos.Fogueira), new ItemRenderFogueira(render1, new TileEntityFogueira()));
    	MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(SCBlocos.FogueiraAcesa), new ItemRenderFogueira(render1, new TileEntityFogueira()));
    	MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(SCBlocos.Lampiao), new ItemRenderLampiao(render3, new TileEntityLampiao()));
    	MinecraftForgeClient.registerItemRenderer(SCItems.MarteloDePedra, (IItemRenderer)new RenderMarteloDePedra());
    	MinecraftForgeClient.registerItemRenderer(SCItems.MarteloDeMadeira, (IItemRenderer)new RenderMarteloDeMadeira());
    	MinecraftForgeClient.registerItemRenderer(SCItems.MarteloDeFerro, (IItemRenderer)new RenderMarteloDeFerro());
    	MinecraftForgeClient.registerItemRenderer(SCItems.MarteloDeOuro, (IItemRenderer)new RenderMarteloDeOuro());
    	MinecraftForgeClient.registerItemRenderer(SCItems.MarteloDeDiamante, (IItemRenderer)new RenderMarteloDeDiamante());
    	MinecraftForgeClient.registerItemRenderer(SCItems.LanternaLigada, (IItemRenderer)new RenderLanternaLigada());
    	MinecraftForgeClient.registerItemRenderer(SCItems.LanternaDesligada, (IItemRenderer)new RenderLanternaDesligada());
    
    }
    }
    
    

     

    My Common Class

     

    package mike.scoutcraft.proxy;
    
    import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
    import net.minecraft.item.Item;
    import net.minecraftforge.client.IItemRenderer;
    import net.minecraftforge.client.MinecraftForgeClient;
    import mike.scoutcraft.blocks.SCBlocos;
    import mike.scoutcraft.gui.GuiHandler;
    import mike.scoutcraft.items.SCItems;
    import mike.scoutcraft.main.ScoutCraft;
    import mike.scoutcraft.render.ItemRenderFogueira;
    import mike.scoutcraft.render.ItemRenderLampiao;
    import mike.scoutcraft.render.RenderFogueira;
    import mike.scoutcraft.render.RenderLampiao;
    import mike.scoutcraft.render.RenderLanternaDesligada;
    import mike.scoutcraft.render.RenderLanternaLigada;
    import mike.scoutcraft.render.RenderMarteloDeDiamante;
    import mike.scoutcraft.render.RenderMarteloDeFerro;
    import mike.scoutcraft.render.RenderMarteloDeMadeira;
    import mike.scoutcraft.render.RenderMarteloDeOuro;
    import mike.scoutcraft.render.RenderMarteloDePedra;
    import mike.scoutcraft.render.RenderToco;
    import mike.scoutcraft.tileentity.TileEntityFogueira;
    import mike.scoutcraft.tileentity.TileEntityLampiao;
    import cpw.mods.fml.client.registry.ClientRegistry;
    import cpw.mods.fml.common.network.NetworkRegistry;
    import cpw.mods.fml.common.registry.GameRegistry;
    import cpw.mods.fml.common.registry.LanguageRegistry;
    
    public class CommonProxy{
    
    public void registerTileEntity() {
    
    	GameRegistry.registerTileEntity(TileEntityFogueira.class, "Fogueira");
    	GameRegistry.registerTileEntity(TileEntityLampiao.class, "Lampiao");
    
    }
    
    public void registerGuiHandler(){
    
    	NetworkRegistry.INSTANCE.registerGuiHandler(ScoutCraft.Instance, new GuiHandler());
    
    }
    
    public void LanguageRegistry(){
    
    	LanguageRegistry.instance().addStringLocalization("container.Fogueira", "Fogueira");
    
    }
    }
    
    

  12. I removed the image :P,the error changed to the rendererregister of the client, how to solve?

     

    Main Class

     

    @EventHandler
    public static void load(FMLInitializationEvent event)
    {
    	client.registerRender();
    	proxy.registerGuiHandler();
    	proxy.LanguageRegistry();
    	proxy.registerTileEntity();
    }
    

     

    Client

     

    package mike.scoutcraft.proxy;
    
    import cpw.mods.fml.client.registry.ClientRegistry;
    import cpw.mods.fml.relauncher.Side;
    import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
    import net.minecraft.item.Item;
    import net.minecraftforge.client.IItemRenderer;
    import net.minecraftforge.client.MinecraftForgeClient;
    import mike.scoutcraft.blocks.SCBlocos;
    import mike.scoutcraft.items.SCItems;
    import mike.scoutcraft.render.ItemRenderFogueira;
    import mike.scoutcraft.render.ItemRenderLampiao;
    import mike.scoutcraft.render.RenderFogueira;
    import mike.scoutcraft.render.RenderLampiao;
    import mike.scoutcraft.render.RenderLanternaDesligada;
    import mike.scoutcraft.render.RenderLanternaLigada;
    import mike.scoutcraft.render.RenderMarteloDeDiamante;
    import mike.scoutcraft.render.RenderMarteloDeFerro;
    import mike.scoutcraft.render.RenderMarteloDeMadeira;
    import mike.scoutcraft.render.RenderMarteloDeOuro;
    import mike.scoutcraft.render.RenderMarteloDePedra;
    import mike.scoutcraft.render.RenderToco;
    import mike.scoutcraft.tileentity.TileEntityFogueira;
    import mike.scoutcraft.tileentity.TileEntityLampiao;
    
    
    public class Client extends CommonProxy
    {
    
    public void registerRender(){	
    	TileEntitySpecialRenderer render1 = new RenderFogueira();
    	TileEntitySpecialRenderer render2 = new RenderToco();
    	TileEntitySpecialRenderer render3 = new RenderLampiao();
    	ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFogueira.class, render1);
    	ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLampiao.class, render3);
    	MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(SCBlocos.Fogueira), new ItemRenderFogueira(render1, new TileEntityFogueira()));
    	MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(SCBlocos.FogueiraAcesa), new ItemRenderFogueira(render1, new TileEntityFogueira()));
    	MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(SCBlocos.Lampiao), new ItemRenderLampiao(render3, new TileEntityLampiao()));
    	MinecraftForgeClient.registerItemRenderer(SCItems.MarteloDePedra, (IItemRenderer)new RenderMarteloDePedra());
    	MinecraftForgeClient.registerItemRenderer(SCItems.MarteloDeMadeira, (IItemRenderer)new RenderMarteloDeMadeira());
    	MinecraftForgeClient.registerItemRenderer(SCItems.MarteloDeFerro, (IItemRenderer)new RenderMarteloDeFerro());
    	MinecraftForgeClient.registerItemRenderer(SCItems.MarteloDeOuro, (IItemRenderer)new RenderMarteloDeOuro());
    	MinecraftForgeClient.registerItemRenderer(SCItems.MarteloDeDiamante, (IItemRenderer)new RenderMarteloDeDiamante());
    	MinecraftForgeClient.registerItemRenderer(SCItems.LanternaLigada, (IItemRenderer)new RenderLanternaLigada());
    	MinecraftForgeClient.registerItemRenderer(SCItems.LanternaDesligada, (IItemRenderer)new RenderLanternaDesligada());
    
    }
    }
    
    

     

    Client e Sever Crash

     

    ---- Minecraft Crash Report ----
    // Oops.
    
    Time: 26/01/15 14:53
    Description: Initializing game
    
    java.lang.NullPointerException: Initializing game
    at mike.scoutcraft.main.ScoutCraft.load(ScoutCraft.java:94)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
    at cpw.mods.fml.common.Loader.initializeMods(Loader.java:691)
    at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:288)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:541)
    at net.minecraft.client.Minecraft.run(Minecraft.java:867)
    at net.minecraft.client.main.Main.main(SourceFile:148)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:78)
    at GradleStart.main(GradleStart.java:45)
    
    
    A detailed walkthrough of the error, its code path and all known details is as follows:
    ---------------------------------------------------------------------------------------
    
    -- Head --
    Stacktrace:
    at mike.scoutcraft.main.ScoutCraft.load(ScoutCraft.java:94)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
    at cpw.mods.fml.common.Loader.initializeMods(Loader.java:691)
    at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:288)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:541)
    
    -- Initialization --
    Details:
    Stacktrace:
    at net.minecraft.client.Minecraft.run(Minecraft.java:867)
    at net.minecraft.client.main.Main.main(SourceFile:148)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:78)
    at GradleStart.main(GradleStart.java:45)
    
    -- System Details --
    Details:
    Minecraft Version: 1.7.10
    Operating System: Windows 8.1 (amd64) version 6.3
    Java Version: 1.8.0_25, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 710768576 bytes (677 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)
    JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
    AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP v9.05 FML v7.10.85.1236 Minecraft Forge 10.13.2.1236 8 mods loaded, 8 mods active
    mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized
    FML{7.10.85.1236} [Forge Mod Loader] (forgeBin-1.7.10-10.13.2.1236.jar) Unloaded->Constructed->Pre-initialized->Initialized
    Forge{10.13.2.1236} [Minecraft Forge] (forgeBin-1.7.10-10.13.2.1236.jar) Unloaded->Constructed->Pre-initialized->Initialized
    CodeChickenCore{1.0.4.29} [CodeChicken Core] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized
    NotEnoughItems{1.0.3.74} [Not Enough Items] (NotEnoughItems-1.7.10-1.0.3.74-dev.jar) Unloaded->Constructed->Pre-initialized->Initialized
    scoutcraft{beta 1.2.0} [scoutCraft] (bin) Unloaded->Constructed->Pre-initialized->Errored
    DamageIndicatorsMod{3.2.0} [Damage Indicators] ([1.7.10]DamageIndicatorsMod-3.2.0.jar) Unloaded->Constructed->Pre-initialized->Initialized
    ShowDurability2{1.3.0} [showDurability2] (ShowDurability2-1.7.10-1.4.0.jar) Unloaded->Constructed->Pre-initialized->Initialized
    Launched Version: 1.7.10
    LWJGL: 2.9.1
    OpenGL: AMD Radeon HD 7700 Series GL version 4.4.13092 Compatibility Profile Context 14.301.0.0, ATI Technologies Inc.
    GL Caps: Using GL 1.3 multitexturing.
    Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
    Anisotropic filtering is supported and maximum anisotropy is 16.
    Shaders are available because OpenGL 2.1 is supported.
    
    Is Modded: Definitely; Client brand changed to 'fml,forge'
    Type: Client (map_client.txt)
    Resource Packs: []
    Current Language: Português (Brasil)
    Profiler Position: N/A (disabled)
    Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    Anisotropic Filtering: Off (1)
    

  13. No, this is not how proxies work. Never ever should you type out "CommonProxy" or "ClientProxy" when calling methods in them. Never should your methods in your proxies be static.

    Then only ever interact with the proxy through the @SidedProxy field in your main mod class.

     

    I put the @SidedProxy in my main class, directing the strings, that direct the client and the common, I did something wrong?

     

    Main Class Part

     

    @Mod(modid = Strings.MODID, version = Strings.VERSION, name = Strings.MODNAME)
    public class ScoutCraft {
    
    @Instance(Strings.MODID)
    public static ScoutCraft Instance;
    
    @SidedProxy(clientSide = mike.scoutcraft.lib.Strings.CLIENT, serverSide = mike.scoutcraft.lib.Strings.COMMONPROXY)	
    public static CommonProxy proxy;	
    
    

     

    Strings

     

    package mike.scoutcraft.lib;
    
    public class Strings {
    
    public static final String MODID = "scoutcraft";
    public static final String VERSION = "beta 1.2.0";
    public static final String MODNAME = "ScoutCraft";
    
    
    public static final String COMMONPROXY = "mike.scoutcraft.proxy.CommonProxy";
    public static final String CLIENT = "mike.scoutcraft.proxy.Client";
    }
    
    

  14. Good afternoon, I'm having some problems with creating server using my mod, it happens that the server attempts to load the TileEntitySpecialRenderer of the Clientproxy resulting in a crash, do not know why this is happening and would like to ask your help...

     

    My Main Class

     

    package mike.scoutcraft.main;
    
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.init.Items;
    import net.minecraft.item.Item;
    import net.minecraft.stats.Achievement;
    import net.minecraftforge.common.AchievementPage;
    import net.minecraftforge.common.MinecraftForge;
    import net.minecraftforge.common.config.Configuration;
    import mike.scoutcraft.achievement.SCConquistas;
    import mike.scoutcraft.blocks.SCBlocos;
    import mike.scoutcraft.craft.CraftingHandler;
    import mike.scoutcraft.craft.DropDaGrama;
    import mike.scoutcraft.craft.FuelHandler;
    import mike.scoutcraft.craft.ReceitasCraftTable;
    import mike.scoutcraft.craft.ReceitasFornalha;
    import mike.scoutcraft.handler.LivingEventHandler;
    import mike.scoutcraft.items.SCItems;
    import mike.scoutcraft.lib.Strings;
    import mike.scoutcraft.proxy.Client;
    import mike.scoutcraft.proxy.CommonProxy;
    import cpw.mods.fml.common.FMLCommonHandler;
    import cpw.mods.fml.common.Mod;
    import cpw.mods.fml.common.Mod.EventHandler;
    import cpw.mods.fml.common.Mod.Instance;
    import cpw.mods.fml.common.SidedProxy;
    import cpw.mods.fml.common.event.FMLInitializationEvent;
    import cpw.mods.fml.common.event.FMLPostInitializationEvent;
    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
    import cpw.mods.fml.common.registry.GameRegistry;
    import cpw.mods.fml.relauncher.SideOnly;
    
    @Mod(modid = Strings.MODID, version = Strings.VERSION, name = Strings.MODNAME)
    public class ScoutCraft {
    
    @Instance(Strings.MODID)
    public static ScoutCraft Instance;
    
    @SidedProxy(clientSide = mike.scoutcraft.lib.Strings.CLIENT, serverSide = mike.scoutcraft.lib.Strings.COMMONPROXY)	
    public static CommonProxy proxy;	
    
    public static final int GuiIdFogueira = 0;
    
    public static Achievement QuebrandoCoisas;
    public static Achievement VamosEsquentar;
    public static Achievement PoFacil;
    public static Achievement FazerFogueira;
    public static Achievement TochasPassado;
    
    private static Configuration configuration;
    public static int lightRange;
    public static int targetLightValue;
    public static int handLightValue;
    public static int lightInterval;
    public static int serverLightInterval;
    
    public static CreativeTabs scoutcraft = new CreativeTabs("ScoutCraft") {
    
    	public Item getTabIconItem() {			
    		return SCItems.InicializadorDeChamas;
    	}
    };
    
    @EventHandler
    public static void preLoad(FMLPreInitializationEvent event)
    {		
    	configuration = new Configuration(event.getSuggestedConfigurationFile());
        configuration.load();
        lightRange = configuration.get("config", "Range/Distancia", 20).getInt();
        targetLightValue = configuration.get("config", "Target Light/Alvo Da Luz", 15).getInt();
        handLightValue = configuration.get("config", "Hand Light/Luz Emitida", .getInt();
        lightInterval = configuration.get("config", "Light Interval/Intervalo Da Luz", 1).getInt();
        serverLightInterval = configuration.get("config", "Server Light Interval/Intervalo Da Luz Em Servidor", 5).getInt();
        configuration.save();
        lightRange = lightRange > 40 ? 40 : (lightRange < 0 ? 0 : lightRange);
            targetLightValue = targetLightValue > 15 ? 15 : (targetLightValue < 0 ? 0 : targetLightValue);
            handLightValue = handLightValue > 15 ? 15 : (handLightValue < 0 ? 0 : handLightValue);		
    	        
    	SCBlocos.init();
    	SCItems.init();
    	ReceitasCraftTable.register();
    	ReceitasFornalha.register();
    	DropDaGrama.Register();
    	GameRegistry.registerFuelHandler(new FuelHandler());
    	MinecraftForge.EVENT_BUS.register(new CraftingHandler());	
    	MinecraftForge.EVENT_BUS.register(new LivingEventHandler());
    
    }
    
    @EventHandler
    public static void load(FMLInitializationEvent event)
    {
    	Client.registerRender();	
    	CommonProxy.registerGuiHandler();
    	CommonProxy.LanguageRegistry();
    	CommonProxy.registerTileEntity();
    }
    
    @EventHandler 
    public static void postLoad(FMLPostInitializationEvent event)
    {
    
    	QuebrandoCoisas = new Achievement("achievement.QuebrandoCoisas", "QuebrandoCoisas", 0, 0, SCItems.MarteloDeMadeira, (Achievement)null).initIndependentStat().registerStat();
    	VamosEsquentar = new Achievement("achievement.VamosEsquentar", "VamosEsquentar", 2, 1, SCItems.InicializadorDeChamas, QuebrandoCoisas).registerStat().setSpecial();
    	PoFacil = new Achievement("achievement.PoFacil", "PoFacil", 3, 1, SCItems.PoDeCarvao, QuebrandoCoisas).registerStat().setSpecial();
    	FazerFogueira = new Achievement("achievement.FazerFogueira", "FazerFogueira", 4, 2, SCBlocos.Fogueira, VamosEsquentar).registerStat().setSpecial();
    	TochasPassado = new Achievement("achievement.TochasPassado", "TochasPassado", 5, 3, SCBlocos.Lampiao, PoFacil).registerStat().setSpecial();
    
    	AchievementPage.registerAchievementPage(new AchievementPage("ScoutCraft", new Achievement[]{QuebrandoCoisas, VamosEsquentar, PoFacil, FazerFogueira, TochasPassado}));
    
    }
    
    }
    

     

    My ClientProxy Class

     

    package mike.scoutcraft.proxy;
    
    import cpw.mods.fml.client.registry.ClientRegistry;
    import cpw.mods.fml.relauncher.Side;
    import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
    import net.minecraft.item.Item;
    import net.minecraftforge.client.IItemRenderer;
    import net.minecraftforge.client.MinecraftForgeClient;
    import mike.scoutcraft.blocks.SCBlocos;
    import mike.scoutcraft.items.SCItems;
    import mike.scoutcraft.render.ItemRenderFogueira;
    import mike.scoutcraft.render.ItemRenderLampiao;
    import mike.scoutcraft.render.RenderFogueira;
    import mike.scoutcraft.render.RenderLampiao;
    import mike.scoutcraft.render.RenderLanternaDesligada;
    import mike.scoutcraft.render.RenderLanternaLigada;
    import mike.scoutcraft.render.RenderMarteloDeDiamante;
    import mike.scoutcraft.render.RenderMarteloDeFerro;
    import mike.scoutcraft.render.RenderMarteloDeMadeira;
    import mike.scoutcraft.render.RenderMarteloDeOuro;
    import mike.scoutcraft.render.RenderMarteloDePedra;
    import mike.scoutcraft.render.RenderToco;
    import mike.scoutcraft.tileentity.TileEntityFogueira;
    import mike.scoutcraft.tileentity.TileEntityLampiao;
    
    
    public class Client extends CommonProxy
    {
    
    public static void registerRender(){	
    	TileEntitySpecialRenderer render1 = new RenderFogueira();
    	TileEntitySpecialRenderer render2 = new RenderToco();
    	TileEntitySpecialRenderer render3 = new RenderLampiao();
    	ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFogueira.class, render1);
    	ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLampiao.class, render3);
    	MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(SCBlocos.Fogueira), new ItemRenderFogueira(render1, new TileEntityFogueira()));
    	MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(SCBlocos.FogueiraAcesa), new ItemRenderFogueira(render1, new TileEntityFogueira()));
    	MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(SCBlocos.Lampiao), new ItemRenderLampiao(render3, new TileEntityLampiao()));
    	MinecraftForgeClient.registerItemRenderer(SCItems.MarteloDePedra, (IItemRenderer)new RenderMarteloDePedra());
    	MinecraftForgeClient.registerItemRenderer(SCItems.MarteloDeMadeira, (IItemRenderer)new RenderMarteloDeMadeira());
    	MinecraftForgeClient.registerItemRenderer(SCItems.MarteloDeFerro, (IItemRenderer)new RenderMarteloDeFerro());
    	MinecraftForgeClient.registerItemRenderer(SCItems.MarteloDeOuro, (IItemRenderer)new RenderMarteloDeOuro());
    	MinecraftForgeClient.registerItemRenderer(SCItems.MarteloDeDiamante, (IItemRenderer)new RenderMarteloDeDiamante());
    	MinecraftForgeClient.registerItemRenderer(SCItems.LanternaLigada, (IItemRenderer)new RenderLanternaLigada());
    	MinecraftForgeClient.registerItemRenderer(SCItems.LanternaDesligada, (IItemRenderer)new RenderLanternaDesligada());
    
    }
    }
    
    

     

    My CommonProxy Class

     

    package mike.scoutcraft.proxy;
    
    import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
    import net.minecraft.item.Item;
    import net.minecraftforge.client.IItemRenderer;
    import net.minecraftforge.client.MinecraftForgeClient;
    import mike.scoutcraft.blocks.SCBlocos;
    import mike.scoutcraft.gui.GuiHandler;
    import mike.scoutcraft.items.SCItems;
    import mike.scoutcraft.main.ScoutCraft;
    import mike.scoutcraft.render.ItemRenderFogueira;
    import mike.scoutcraft.render.ItemRenderLampiao;
    import mike.scoutcraft.render.RenderFogueira;
    import mike.scoutcraft.render.RenderLampiao;
    import mike.scoutcraft.render.RenderLanternaDesligada;
    import mike.scoutcraft.render.RenderLanternaLigada;
    import mike.scoutcraft.render.RenderMarteloDeDiamante;
    import mike.scoutcraft.render.RenderMarteloDeFerro;
    import mike.scoutcraft.render.RenderMarteloDeMadeira;
    import mike.scoutcraft.render.RenderMarteloDeOuro;
    import mike.scoutcraft.render.RenderMarteloDePedra;
    import mike.scoutcraft.render.RenderToco;
    import mike.scoutcraft.tileentity.TileEntityFogueira;
    import mike.scoutcraft.tileentity.TileEntityLampiao;
    import cpw.mods.fml.client.registry.ClientRegistry;
    import cpw.mods.fml.common.network.NetworkRegistry;
    import cpw.mods.fml.common.registry.GameRegistry;
    import cpw.mods.fml.common.registry.LanguageRegistry;
    
    public class CommonProxy{
    
    public static void registerTileEntity() {
    
    	GameRegistry.registerTileEntity(TileEntityFogueira.class, "Fogueira");
    	GameRegistry.registerTileEntity(TileEntityLampiao.class, "Lampiao");
    
    }
    
    public static void registerGuiHandler(){
    
    	NetworkRegistry.INSTANCE.registerGuiHandler(ScoutCraft.Instance, new GuiHandler());
    
    }
    
    public static void LanguageRegistry(){
    
    	LanguageRegistry.instance().addStringLocalization("container.Fogueira", "Fogueira");
    
    }
    }
    
    

     

    Server Crash

     

    ---- Minecraft Crash Report ----
    // My bad.
    
    Time: 26/01/15 13:59
    Description: Exception in server tick loop
    
    cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: net/minecraft/client/renderer/tileentity/TileEntitySpecialRenderer
    at cpw.mods.fml.common.LoadController.transition(LoadController.java:162)
    at cpw.mods.fml.common.Loader.initializeMods(Loader.java:692)
    at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:97)
    at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:319)
    at net.minecraft.server.dedicated.DedicatedServer.startServer(DedicatedServer.java:210)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:387)
    at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)
    Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/renderer/tileentity/TileEntitySpecialRenderer
    at mike.scoutcraft.main.ScoutCraft.load(ScoutCraft.java:93)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118)
    at cpw.mods.fml.common.Loader.initializeMods(Loader.java:691)
    ... 5 more
    Caused by: java.lang.ClassNotFoundException: net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 33 more
    Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/renderer/tileentity/TileEntitySpecialRenderer for invalid side SERVER
    at cpw.mods.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:50)
    at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279)
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176)
    ... 35 more
    
    
    A detailed walkthrough of the error, its code path and all known details is as follows:
    ---------------------------------------------------------------------------------------
    
    -- System Details --
    Details:
    Minecraft Version: 1.7.10
    Operating System: Windows 8.1 (amd64) version 6.3
    Java Version: 1.8.0_25, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 983136824 bytes (937 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)
    JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
    AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP v9.05 FML v7.10.85.1236 Minecraft Forge 10.13.2.1236 4 mods loaded, 4 mods active
    mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized
    FML{7.10.85.1236} [Forge Mod Loader] (forgeBin-1.7.10-10.13.2.1236.jar) Unloaded->Constructed->Pre-initialized->Initialized
    Forge{10.13.2.1236} [Minecraft Forge] (forgeBin-1.7.10-10.13.2.1236.jar) Unloaded->Constructed->Pre-initialized->Initialized
    scoutcraft{beta 1.2.0} [scoutCraft] (bin) Unloaded->Constructed->Pre-initialized->Errored
    Profiler Position: N/A (disabled)
    Is Modded: Definitely; Server brand changed to 'fml,forge'
    Type: Dedicated Server (map_server.txt)
    

  15. I tried some things but none worked, could you +/- tell  me about what to add or remove?

     

    My updateEntity:

     

    public void updateEntity(){
    	boolean flag = this.hasPower();
    	boolean flag1= false;
    
    	if(hasPower() && this.isFogueira()) {
    		this.power--;
    
    	}
    
    	if(!worldObj.isRemote) {
    		if (this.hasItemPower(this.slots[1]) && this.power < (this.maxPower - this.getItempower(this.slots[1]))) {
    			this.power += getItempower(this.slots[1]);
    
    			if(this.slots[1] != null) {
    				flag1 = true;
    
    				this.slots[1].stackSize--;
    
    				if(this.slots[1].stackSize == 0) {
    					this.slots[1] = this.slots[1].getItem().getContainerItem(this.slots[1]);
    				}
    			}
    		}
    
    		if (hasPower() && canSmelt()) {
    			cookTime++;
    
    			if (this.cookTime == this.fogueiraSpeed) {
    				this.cookTime = 0;
    				this.smeltItem();
    				flag1 = true;
    			}
    		}else{
    			cookTime = 0;
    		}
    
    		if (flag != this.isFogueira()) {
    			flag1 = true;
    			Fogueira.updateFogueiraBlockState(this.isFogueira(), this.worldObj, this.xCoord, this.yCoord, this.zCoord);
    		}
    		if(this.cookTime > 0){
    			flag1 = true;
    			Fogueira.updateFogueiraBlockState(this.isFogueira(), this.worldObj, this.xCoord, this.yCoord, this.zCoord);
    		}else{
    			flag1 = true;
    			Fogueira.updateFogueiraBlockState(this.isFogueira(), this.worldObj, this.xCoord, this.yCoord, this.zCoord);
    		}
    	}
    
    	if (flag1) {
    		this.markDirty();
    
    	}
        }
    

×
×
  • Create New...

Important Information

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