• 0

    posted a message on [1.2.5...Solved] need some input for bubble effect
    worldObj.spawnParticle(String "bubble", posX, posY, posZ, 0.0D, 0.0D, 1.0D);

    That is the chasis of th code. You then have to apply what uses it, like a creature, i.e
    public void onDeath(){
       worldObj.spawnParticle("bubble", posX, posY, posZ, 0.0D, 0.0D, 1.0D);
       super.onDeath(); //it spawns bubble particles on death
    }

    To apply to a block, you'd have to do something else. I'm not sure if this is what you meant, but I tried to help.
    Posted in: Modification Development
  • 0

    posted a message on Mob Model Problem (Awkward Looking)
    EDIT: Actually, that was the problem; I was missing that whole function, wow. Giant Miss there.
    Posted in: Modification Development
  • 0

    posted a message on Mob Model Problem (Awkward Looking)
    Anybody? I really need a little help with this.
    Posted in: Modification Development
  • 0

    posted a message on Help with mac modding
    I mod on a mac too. However things would be a lot easier for you if you used eclipse. Check out this tutorial on setting it up. (It's for mac)

    Then you can just hit run and it test it out.
    Posted in: Modification Development
  • 0

    posted a message on Changing player skin with ModLoader?
    Texturepack? Just use the default minecraft or another one and in the mob folder replace char.png with your skin renamed to char.png
    Posted in: Modification Development
  • 0

    posted a message on Mob Model Problem (Awkward Looking)
    I'm having a problem with my Water Spirit Mob. It has the same code as ModelBlaze, of course with Name changes, but it assembles it as a biped. Here is what I mean:



    Here is my modelWaterSpirit.java

    package net.minecraft.src;
    public class ModelWaterSpirit extends ModelBase
    {
        private ModelRenderer[] field_78106_a = new ModelRenderer[12];
        private ModelRenderer field_78105_b;
        public ModelWaterSpirit()
        {
    	    for (int var1 = 0; var1 < this.field_78106_a.length; ++var1)
    	    {
    		    this.field_78106_a[var1] = new ModelRenderer(this, 0, 16);
    		    this.field_78106_a[var1].addBox(0.0F, 0.0F, 0.0F, 2, 8, 2);
    	    }
    	    this.field_78105_b = new ModelRenderer(this, 0, 0);
    	    this.field_78105_b.addBox(-4.0F, -4.0F, -4.0F, 8, 8, 8);
        }
        public int func_78104_a()
        {
    	    return 8;
        }
        /**
    	 * Sets the models various rotation angles then renders the model.
    	 */
        public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7)
        {
    	    this.setRotationAngles(par2, par3, par4, par5, par6, par7);
    	    this.field_78105_b.render(par7);
    	    ModelRenderer[] var8 = this.field_78106_a;
    	    int var9 = var8.length;
    	    for (int var10 = 0; var10 < var9; ++var10)
    	    {
    		    ModelRenderer var11 = var8[var10];
    		    var11.render(par7);
    	    }
        }
        /**
    	 * Sets the models various rotation angles.
    	 */
        public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6)
        {
    	    float var7 = par3 * (float)Math.PI * -0.1F;
    	    int var8;
    	    for (var8 = 0; var8 < 4; ++var8)
    	    {
    		    this.field_78106_a[var8].rotationPointY = -2.0F + MathHelper.cos(((float)(var8 * 2) + par3) * 0.25F);
    		    this.field_78106_a[var8].rotationPointX = MathHelper.cos(var7) * 9.0F;
    		    this.field_78106_a[var8].rotationPointZ = MathHelper.sin(var7) * 9.0F;
    		    ++var7;
    	    }
    	    var7 = ((float)Math.PI / 4F) + par3 * (float)Math.PI * 0.03F;
    	    for (var8 = 4; var8 < 8; ++var8)
    	    {
    		    this.field_78106_a[var8].rotationPointY = 2.0F + MathHelper.cos(((float)(var8 * 2) + par3) * 0.25F);
    		    this.field_78106_a[var8].rotationPointX = MathHelper.cos(var7) * 7.0F;
    		    this.field_78106_a[var8].rotationPointZ = MathHelper.sin(var7) * 7.0F;
    		    ++var7;
    	    }
    	    var7 = 0.47123894F + par3 * (float)Math.PI * -0.05F;
    	    for (var8 = 8; var8 < 12; ++var8)
    	    {
    		    this.field_78106_a[var8].rotationPointY = 11.0F + MathHelper.cos(((float)var8 * 1.5F + par3) * 0.5F);
    		    this.field_78106_a[var8].rotationPointX = MathHelper.cos(var7) * 5.0F;
    		    this.field_78106_a[var8].rotationPointZ = MathHelper.sin(var7) * 5.0F;
    		    ++var7;
    	    }
    	    this.field_78105_b.rotateAngleY = par4 / (180F / (float)Math.PI);
    	    this.field_78105_b.rotateAngleX = par5 / (180F / (float)Math.PI);
        }
    }

    If it's needed I have the EntityWaterSpirit and RenderWaterSpirit files.

    package net.minecraft.src;
    public class EntityWaterSpirit extends EntityMob
    {
        /** Random offset used in floating behaviour */
        private float heightOffset = 0.5F;
        /** ticks until heightOffset is randomized */
        private int heightOffsetUpdateTime;
        private int field_70846_g;
        public EntityWaterSpirit(World par1World)
        {
    	    super(par1World);
    	    this.texture = "/Mirridium/WaterSpirit.png";
    	    this.isImmuneToFire = false;
    	    this.attackStrength = 3;
    	    this.experienceValue = 10;
        }
        public int getMaxHealth()
        {
    	    return 20;
        }
        protected void entityInit()
        {
    	    super.entityInit();
    	    this.dataWatcher.addObject(16, new Byte((byte)0));
        }
        /**
    	 * Returns the sound this mob makes while it's alive.
    	 */
        protected String getLivingSound()
        {
    	    return "liquid.water";
        }
        /**
    	 * Returns the sound this mob makes when it is hurt.
    	 */
        protected String getHurtSound()
        {
    	    return "liquid.splash";
        }
        /**
    	 * Returns the sound this mob makes on death.
    	 */
        protected String getDeathSound()
        {
    	    return "random.break";
        }
        public int getBrightnessForRender(float par1)
        {
    	    return 15728880;
        }
        /**
    	 * Gets how bright this entity is.
    	 */
        public float getBrightness(float par1)
        {
    	    return 1.0F;
        }
        /**
    	 * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons
    	 * use this to react to sunlight and start to burn.
    	 */
        public void onLivingUpdate()
        {
    	    if (!this.worldObj.isRemote)
    	    {
    		    --this.heightOffsetUpdateTime;
    		    if (this.heightOffsetUpdateTime <= 0)
    		    {
    			    this.heightOffsetUpdateTime = 100;
    			    this.heightOffset = 0.5F + (float)this.rand.nextGaussian() * 3.0F;
    		    }
    		    if (this.getEntityToAttack() != null && this.getEntityToAttack().posY + (double)this.getEntityToAttack().getEyeHeight() > this.posY + (double)this.getEyeHeight() + (double)this.heightOffset)
    		    {
    			    this.motionY += (0.30000001192092896D - this.motionY) * 0.30000001192092896D;
    		    }
    	    }
    	    if (this.rand.nextInt(24) == 0)
    	    {
    		    this.worldObj.playSoundEffect(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D, "fire.fire", 1.0F + this.rand.nextFloat(), this.rand.nextFloat() * 0.7F + 0.3F);
    	    }
    	    if (!this.onGround && this.motionY < 0.0D)
    	    {
    		    this.motionY *= 0.6D;
    	    }
    	    for (int var1 = 0; var1 < 2; ++var1)
    	    {
    		    this.worldObj.spawnParticle("enchantmenttable", this.posX + (this.rand.nextDouble() - 0.5D) * (double)this.width, this.posY + this.rand.nextDouble() * (double)this.height, this.posZ + (this.rand.nextDouble() - 0.5D) * (double)this.width, 0.0D, 0.0D, 0.0D);
    	    }
    	    super.onLivingUpdate();
        }
        /**
    	 * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack.
    	 */
        protected void attackEntity(Entity par1Entity, float par2)
        {
    	    if (this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY)
    	    {
    		    this.attackTime = 20;
    		    this.attackEntityAsMob(par1Entity);
    	    }
    	    else if (par2 < 30.0F)
    	    {
    		    double var3 = par1Entity.posX - this.posX;
    		    double var5 = par1Entity.boundingBox.minY + (double)(par1Entity.height / 2.0F) - (this.posY + (double)(this.height / 2.0F));
    		    double var7 = par1Entity.posZ - this.posZ;
    		    if (this.attackTime == 0)
    		    {
    			    ++this.field_70846_g;
    			    if (this.field_70846_g == 1)
    			    {
    				    this.attackTime = 60;
    				    this.func_70844_e(true);
    			    }
    			    else if (this.field_70846_g <= 4)
    			    {
    				    this.attackTime = 6;
    			    }
    			    else
    			    {
    				    this.attackTime = 100;
    				    this.field_70846_g = 0;
    				    this.func_70844_e(false);
    			    }
    			    if (this.field_70846_g > 1)
    			    {
    				    float var9 = MathHelper.sqrt_float(par2) * 0.5F;
    				    this.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1009, (int)this.posX, (int)this.posY, (int)this.posZ, 0);
    				    for (int var10 = 0; var10 < 1; ++var10)
    				    {
    					    EntitySmallFireball var11 = new EntitySmallFireball(this.worldObj, this, var3 + this.rand.nextGaussian() * (double)var9, var5, var7 + this.rand.nextGaussian() * (double)var9);
    					    var11.posY = this.posY + (double)(this.height / 2.0F) + 0.5D;
    					    this.worldObj.spawnEntityInWorld(var11);
    				    }
    			    }
    		    }
    		    this.rotationYaw = (float)(Math.atan2(var7, var3) * 180.0D / Math.PI) - 90.0F;
    		    this.hasAttacked = true;
    	    }
        }
        /**
    	 * Called when the mob is falling. Calculates and applies fall damage.
    	 */
        protected void fall(float par1) {}
        /**
    	 * Returns the item ID for the item the mob drops on death.
    	 */
        protected int getDropItemId()
        {
    	    return Item.bucketWater.shiftedIndex;
        }
        /**
    	 * Drop 0-2 items of this living's type
    	 */
        protected void dropFewItems(boolean par1, int par2)
        {
    	    if (par1)
    	    {
    		    int var3 = this.rand.nextInt(2 + par2);
    		    for (int var4 = 0; var4 < var3; ++var4)
    		    {
    			    this.dropItem(Item.bucketWater.shiftedIndex, 1);
    		    }
    	    }
        }
        public boolean func_70845_n()
        {
    	    return (this.dataWatcher.getWatchableObjectByte(16) & 1) != 0;
        }
        public void func_70844_e(boolean par1)
        {
    	    byte var2 = this.dataWatcher.getWatchableObjectByte(16);
    	    if (par1)
    	    {
    		    var2 = (byte)(var2 | 1);
    	    }
    	    else
    	    {
    		    var2 &= -2;
    	    }
    	    this.dataWatcher.updateObject(16, Byte.valueOf(var2));
        }
        /**
    	 * Checks to make sure the light is not too bright where the mob is spawning
    	 */
        protected boolean isValidLightLevel()
        {
    	    return true;
        }
    }


    package net.minecraft.src;
    public class RenderWaterSpirit extends RenderLiving
    {
    
    	    public RenderWaterSpirit(ModelBase modelbase, float f)
    	    {
    			    super(modelbase, f);
    	    }
    
    	    public void renderWaterSpirit(EntityWaterSpirit entityWaterSpirit, double d, double d1, double d2, float f, float f1)
    	    {
    			    super.doRenderLiving(entityWaterSpirit, d, d1, d2, f, f1);
    	    }
    
    	    public void doRenderLiving(EntityLiving entityliving, double d, double d1, double d2, float f, float f1)
    	    {
    			    renderWaterSpirit((EntityWaterSpirit)entityliving, d, d1, d2, f, f1);
    	    }
    
    	    public void doRender(Entity entity, double d, double d1, double d2, float f, float f1)
    	    {
    			    renderWaterSpirit((EntityWaterSpirit)entity, d, d1, d2, f, f1);
    	    }
    }


    And I don't believe it's needed so i won't post my mod_ file unless needed.
    Posted in: Modification Development
  • 0

    posted a message on Class name help?
    Thank you, this was extremely helpful. I aprecciate your time and gave a +1.
    EDIT:
    There is still a problem. In this section of code:
      entityspawning.d(entityplayer.o + 1.0D, entityplayer.p, entityplayer.q);
      world.a(entityspawning);
      itemstack.a--;
      return itemstack;

    The parts like entityplayer.o or world.a are throwing me errors, even after I replace them with proper names. The other parts work fine, however
    Posted in: Modification Development
  • 1

    posted a message on [UNSOLVED] World Generating
    Strength has an old, but great tutorial on structure generating found here. You can edit this to your whim, and better yet not edit any base classes. W00T! Don't forget to +1 if it helps.
    Posted in: Modification Development
  • 0

    posted a message on Class name help?
    Quote from Kovu

    Well, those are the obfuscated class names. In order to update it, you'll have to unobfuscate them. There are ways to do this automatically, but most of the time they fail. I usually just deobfuscate by hand.


    How is obfuscating done by hand? I am aware of the reobfuscate etc. in MCP but how do you do it. I'm sure I can search for it though...
    Posted in: Modification Development
  • 0

    posted a message on Class name help?
    So, updating a mod to 1.3 I'm finding things like ym, bR, aai, wz, yr, xn in the code. I believe these refer to old classnames. Can somebody help me out it please? Thanks in advance.
    Posted in: Modification Development
  • 1

    posted a message on Typical New Guy Question.... (Mac Mods)
    A really easy way that works is to use MCPatcher found here. From there follow his steps on installing other mods. If you would like to you can also use this, Minecraft Jar Tool, found here. That page also has info. Anyway, you could also set up a folder for mods for organization. Whatever works. I am a fellow Mac User and had this problem at first as well.
    Posted in: Mods Discussion
  • 0

    posted a message on Make an ITEM Smeltable...
    I understand how to make a block smeltable, but not an Item. I have searched on google, and no results. I would appreciate it much if somebody could give me an idea of how this works. Thanks in advance,
    ~11204
    Posted in: Modification Development
  • 0

    posted a message on [WIP] Warrior Cats Mod
    Ah, Hello again everybody who was following this thread, at least if you still are. I am so sorry i let this thread die, and i am sorry for giving up for a while. I forgot I made this and with new updates including cats, it made many parts easier. I am back to coding this mod, but it may take a prolonged amount of time as it is such a big project. If any of the offers for the map makers are still here, I'd appreciate them. I finished the series as well which has a couple of new features in store. Peace. I'll try to update my progress more often! AND This time I will NOT let it die.
    and at least if i do ill give a warning.
    Posted in: WIP Mods
  • 0

    posted a message on [REQ]Flashlight
    Interesting, but it should be cheaper. Instead, it could be
    :GoldBar: :GoldBar: :GP:
    where :GP: is glowstone dust.
    Posted in: Mods Discussion
  • To post a comment, please .