Jump to content

Recommended Posts

Posted

Hey guys,

I know how to make a block emit a redstone signal by using

public int isProvidingStrongPower(IBlockAccess p_149709_1_, int p_149709_2_, int p_149709_3_, int p_149709_4_, int p_149709_5_) {
        return 15;
}

but that emits a signal from all 6 sides of the block as if it was a redstone block. How do I make it only emit a signal from one side of the block like repeaters do (I have looked through the repeater's code in BlockRedstoneDiode.java and BlockRedstoneRepeater.java and found nothing). There also seems to be nothing online about this topic (no tutorials, etc) or topics asking the same question with no answers.

-Toastrackenigma

Posted

I believe the last parameter there is the side being checked. 0: down (your block on top, powering the block below), 1: up, etc.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

Looking more closely at it in Eclipse so do I, but I don't know how to set it because if I do any of the following it doesn't work:

public int isProvidingStrongPower(IBlockAccess p_149709_1_, int p_149709_2_, int p_149709_3_, int p_149709_4_, int side 2)

public int isProvidingStrongPower(IBlockAccess p_149709_1_, int p_149709_2_, int p_149709_3_, int p_149709_4_, int 2 )

public int isProvidingStrongPower(IBlockAccess p_149709_1_, int p_149709_2_, int p_149709_3_, int p_149709_4_, int side) {
side = 2;
return 15;
}

public int side = 2;
public int isProvidingStrongPower(IBlockAccess p_149709_1_, int p_149709_2_, int p_149709_3_, int p_149709_4_, side)

public int side = 2;
public int isProvidingStrongPower(IBlockAccess p_149709_1_, int p_149709_2_, int p_149709_3_, int p_149709_4_, int side)

etc.

Any tips or am I just making some noobish mistake :P

-Toastrackenigma

 

Posted

*Facepalm*

 

Seriously dude.  Seriously?

 

I...I just can't even.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

*Facepalm*

 

Seriously dude.  Seriously?

 

I...I just can't even.

I'm taking that my issue is the the latter (i.e. a noobish mistake). To be honest I'm only "fairly decent" with Java (not with programming, I'm great with Javascript, PHP, Python, etc), I've been learning it over the holidays and part of that is making this mod. What have I done wrong? :P

Posted

You last parameter should be an int like "int side".

 

Then you run an if statement checking if thats the side you want and THEN return 15.

 

Eg:

if(side == 3) { //this makes side 3 emit redstone

return 15;

} else {

return 0; }

 

But seriously u need to learn how methods work...

Posted

Thanks for telling me that, I thought the params at the top of a method were what I was giving IT, rather than what IT was giving ME (big difference).

Although it worked for my other public boolean canConnectRedstone(IBlockAccess world, int x, int y, int z, int side) method, it didn't work for my actual isProvidingStrongPower block. (While it used to provide power to all 6 sides, it now provides power to none). Here's the code:

public int isProvidingStrongPower(IBlockAccess world, int x, int y, int z, int side) {
    	if (side==3) {
    		return 15;
    	}
    	else {
    		return 0;
    	}
}

Posted

Thanks for telling me that, I thought the params at the top of a method were what I was giving IT, rather than what IT was giving ME (big difference).

 

Technically both are true.  You're just not the one calling the function in this case.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

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.