Jump to content

Recommended Posts

Posted

I'm trying to make a block that, when it gets a redstone signal, it makes the creeper sound to the nearest player. This works, but when the redstone wire that is powering it is getting its power from through a block, the block plays the sound upon receiving the redstone signal, but plays it again and much louder upon losing the signal. Here is the block code that makes the sound:

 

@SideOnly(Side.CLIENT)
@Override
public void onNeighborBlockChange(World world, int x,int y, int z, Block block) {
	if (!world.isRemote && world.isBlockIndirectlyGettingPowered(x, y, z)) {
		world.playSoundAtEntity(world.getClosestPlayer(x, y, z, 20), "creeper.primed", 1.0F, 0.5F);
		return;
	} else {
		return;
	}
}

Posted

Have you tried

world.getStrongestIndirectPower(x,y,z) > 0

? The "isIndirectly..." method doesn't always work as intuitively as you (or, rather I) might think.

Posted

Hi

 

Having @SideOnly(Side.Client) and if (!world.isRemote) doesn't make any sense together.  onNeighbourBlockChange does some unusual things too.  Did you look at a vanilla block such as the iron door or the piston or the note block?

 

-TGG

Posted

Originally I only had !world.isRemote, but when I found the bug I added the @SideOnly annotation. And I'll check those vanilla blocks in a moment, but I thought they used onNeighborBlockChange as well.

 

EDIT:

 

I looked at BlockPistonBase and BlockNote, but I noticed something in BlockNote. There's something tracking the previous redstone state of the block. I wonder if this was because Mojang had a similar issue when making Note Blocks? I'm gonna try that.

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.

Announcements



×
×
  • Create New...

Important Information

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