Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Need more info buddy.

-Mitchellbrine

 

Minecraft can do ANYTHING, it's coded in Java and you got the full power of Java behind you when you code. So nothing is impossible.

It may be freaking fucking hard though, but still possible ;)

 

If you create a topic on Modder Support, live by this motto:

I don't want your charity, I want your information
  • Author

I have a generator that set a boolean isActive to true or false but I want to change a texture depending on boolean how can I do this

I'd say register the two icons first and with

 

    public IIcon getIcon(IBlockAccess blockAccess, int x, int y, int z, int side)

 

check for the tile entity (where I'd put the boolean), and if it is active, use the active icon.

 

- - -

 

Optionally, you can pull "a furnace" and create two separate blocks with different icons, but I'd try the former way first.

 

Hope that helps!

-Mitchellbrine

 

Minecraft can do ANYTHING, it's coded in Java and you got the full power of Java behind you when you code. So nothing is impossible.

It may be freaking fucking hard though, but still possible ;)

 

If you create a topic on Modder Support, live by this motto:

I don't want your charity, I want your information
  • Author

Im sorry I dont under stand that function if you could expand on how it should be ran that would be great but please dont just give me the entire code

Those parameters allow you to check the block access for a tile entity at the coordinates, so you can do:

 

TileEntity te = blockAccess.getTileEntity(x,y,z);

 

You can check if it's an instance of your tile entity and if so, cast it and then you can use the boolean and if it is active you

 

return activeIcon;

 

else at the end of the getIcon method (after everything), you would

 

return blockIcon;

 

- - -

 

You will need to register those icons in the registerIcons method first, but after that, it should work.

 

Hope that helps!

-Mitchellbrine

 

Minecraft can do ANYTHING, it's coded in Java and you got the full power of Java behind you when you code. So nothing is impossible.

It may be freaking fucking hard though, but still possible ;)

 

If you create a topic on Modder Support, live by this motto:

I don't want your charity, I want your information

Oh and "activeIcon" and "blockIcon" are private IIcon fields you set in registerIcons and access/return in getIcon

-Mitchellbrine

 

Minecraft can do ANYTHING, it's coded in Java and you got the full power of Java behind you when you code. So nothing is impossible.

It may be freaking fucking hard though, but still possible ;)

 

If you create a topic on Modder Support, live by this motto:

I don't want your charity, I want your information
  • Author

couldnt I do this and it would do that samething basicly just return the texture

 

    public IIcon getIcon(IIconRegister reg, int side){
    	if(TileEntityAirGeneratorBlock.isActive == true){
    		return this.icons[side] = reg.registerIcon(RefStrings.MODID + ":airGeneratorFrontActivated");	
    	}
	return this.icons[side] = reg.registerIcon(RefStrings.MODID + ":airGeneratorFrontDeactivated");	
}

  • Author

so far this is what I got

 

public void registerBlockIcons(IIconRegister reg, IBlockAccess blockAccess, int x, int y, int z) {
    activeIcon = reg.registerIcon(RefStrings.MODID + ":airGeneratorFrontActivated");
    unactiveIcon = reg.registerIcon(RefStrings.MODID + ":airGeneratorFrontDeactivated");

	for (int side = 0; side < 6; side ++) {
        //this.icons[side] = reg.registerIcon(this.textureName + "_" + i);
        if(side == 0 || side == 1) {
        	//return topIcon;
	        this.icons[side] = reg.registerIcon(RefStrings.MODID + ":airGeneratorTop");
        } else if(side == 1 || side == 4 || side == 3 || side == 5) {
        	//return sideIcon;
	        this.icons[side] = reg.registerIcon(RefStrings.MODID + ":airGeneratorSide");
        } else if(side == 2){
        	this.icons[side] = getIcon();
        }
    }
}


    public IIcon getIcon(){
    	if(TileEntityAirGeneratorBlock.isActive == true){
    		return activeIcon;
    	}
	return unactiveIcon;
}

What the f*** are you doing?

 

registerBlockIcons

doesn't have those parameters.

getIcon

doesn't have those parameters.

Its a

void

method, so you don't return anything.

Read up what

static

means.

And a lot more...

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

No no no, that's NOT what I was saying. You need to learn Java properly. THEN take a look at the Minecraft code and Forge code and make mods. It'll all make sense, once you do so.

-Mitchellbrine

 

Minecraft can do ANYTHING, it's coded in Java and you got the full power of Java behind you when you code. So nothing is impossible.

It may be freaking fucking hard though, but still possible ;)

 

If you create a topic on Modder Support, live by this motto:

I don't want your charity, I want your information

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...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.