Jump to content

Recommended Posts

Posted

If you have a custom class for your item, make it extend

ItemSimpleFoiled

instead of

Item

. If you don't have a custom class for it, use

ItemSimpleFoiled

instead of

Item

when creating the item.

 

The key here is making

public boolean hasEffect(ItemStack stack)

return true with your item.

  • Like 1
Posted

As mentioned above, but you don't need to bother with ItemSimpleFoiled or anything else, just override #hasEffect in your Item class and return true. If you don't have a custom class, instantiate your Item using an anonymous class and override it from there.

 

While it doesn't make any difference right now, I think it's good practice to extend

ItemSimpleFoiled

. That way, if

ItemSimpleFoiled

gets changed in the future, the mod is more likely to continue to work as intended.

Posted

While it doesn't make any difference right now, I think it's good practice to extend

ItemSimpleFoiled

. That way, if

ItemSimpleFoiled

gets changed in the future, the mod is more likely to continue to work as intended.

Except the OP's item probably isn't an ItemSimpleFoiled - you should only extend a class when your object is specifically related to that class. One wouldn't extend ItemSword to make a chair just because one wanted an attack damage attribute modifier.

 

If ItemSimpleFoiled were a class that only dealt with the enchanted item glow and that was its sole purpose, and everyone understood that anything that glows should extend from that class, then I would agree with you.

Posted

Thanks guys, I made a few changes to my mod to get it to work, I did use that "extends ItemSimpleFoiled" and made a new class for enchanted items themselves, may not have been the best way but it seems to work, so thanks again. :)

Posted

Except the OP's item probably isn't an ItemSimpleFoiled - you should only extend a class when your object is specifically related to that class. One wouldn't extend ItemSword to make a chair just because one wanted an attack damage attribute modifier.

 

If ItemSimpleFoiled were a class that only dealt with the enchanted item glow and that was its sole purpose, and everyone understood that anything that glows should extend from that class, then I would agree with you.

 

Sorry, you are correct. I thought that

SimpleItemFoiled

was a generic class for items that had the enchantment effect, but it appears that other such items (

ItemExpBottle

,

ItemEnchantedBook

, etc.) merely override

hasEffect()

.

 

Thanks guys, I made a few changes to my mod to get it to work, I did use that "extends ItemSimpleFoiled" and made a new class for enchanted items themselves, may not have been the best way but it seems to work, so thanks again. :)

 

As mentioned by coolAlias above, don't extend

ItemSimpleFoiled

, just insert this into your class:

 

    @SideOnly(Side.CLIENT)
    @Override
    public boolean hasEffect(ItemStack stack)
    {
        return true;
    }

Posted

How would I specify what items to have the glow on though, without making a new class?

If your glowing items would normally be extending Item anyway, you can make one class e.g. ItemGlowing that the only thing it does is override #hasEffect to return true. Then any item you want to glow, you use that class.

 

If you have multiple glowing items that would all be different classes, e.g. one that is an ItemTool, one an ItemFood, etc., then you either have to make separate classes for each of them (which you'd probably be doing anyway), or use an anonymous class.

 

If you have some glowing items and some not using the same class, then you can use a final class field e.g. 'boolean glows' that is set via the constructor, and return that field from #hasEffect. That way, each item can specify whether or not it glows.

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.