Jump to content

Recommended Posts

Posted

Hi,

I have been trying to make a block sot of like the slime block from the 1.8 snapshots. I cannot get the "bouncy" effect to work, however, and I cannot figure out the obfuscated code from 1.8. Here is the class:

package com.chaosmodders.chaosbeasts.blocks;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World;

import com.chaosmodders.chaosbeasts.generic.ChaosTabs;

public class BlockTrampoline extends Block
{

public BlockTrampoline() {
	super(Material.glass);
	this.setCreativeTab(ChaosTabs.tabChaosBlocks);
	this.setBlockName("trampoline");
	this.setBlockTextureName("chaosbeasts:trampoline");
	this.setHardness(0.1F);
	this.setResistance(0.1F);
	this.setHarvestLevel("sword", 10);
}

public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_)
    {
        float f = 0.0625F;
        return AxisAlignedBB.getAABBPool().getAABB((double)((float)p_149668_2_ + f), (double)p_149668_3_, (double)((float)p_149668_4_ + f), (double)((float)(p_149668_2_ + 1) - f), (double)((float)(p_149668_3_ + 1) - f), (double)((float)(p_149668_4_ + 1) - f));
    }

public void onEntityCollidedWithBlock(EntityPlayerMP par1entityplayer)
{
	par1entityplayer.motionX *= -5.0D;
	par1entityplayer.motionY *= -5.0D;
	par1entityplayer.motionZ *= -5.0D;

}
}

Thanks

Check out my mod, Realms of Chaos, here.

 

If I helped you, be sure to press the "Thank You" button!

Posted

^^ Exactly. This is why you should ALWAYS put in the @Override annotation when using vanilla methods, especially if you are not familiar with the code. It will error-check for you and let you know when you are using the incorrect method signature.

 

Also, if you want your player to bounce only when jumping on the trampoline, you might want to consider using the Block.onFallenUpon method instead.

Posted

Or better yet, always use @Override when overriding any method, Minecraft or not. As well as telling you if you did the overload wrong (mispelt name, incorrect parameters etc.) it will help you if the base class/interface changes in an update.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

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